Tài liệu Đồ án tốt nghiệp Giải pháp xác thực số - Pdf 97



Đồ án tốt nghiệp
Giải pháp xác thực số


Giải pháp xác thực số

thống quản lý chứng chỉ số viết bằng ngôn ngữ PHP 5. Giải pháp xác thực số
Đồ án tốt nghiệp – Khoa công nghệ thông tin trường DHDL Hải Phòng 2
CHƯƠNG I: CÁC KHÁI NIỆM CƠ BẢN
1.1 Các khái niệm toán học
1.1.1 Số nguyên tố và nguyên tố cùng nhau
Số nguyên tố là số chỉ chia hết cho 1 và chính nó.
Ví dụ: 2, 3, 5, 7, 17, … là những số nguyên tố.
Hệ mật mã thường sử dụng các số nguyên tố ít nhất là lớn hơn 10150.
Hai số m và n được gọi là nguyên tố cùng nhau nếu ước số chung lớn
nhất của chúng bằng 1. Ký hiệu: gcd(m,n) = 1.
Ví dụ: 9 và 14 là nguyên tố cùng nhau.
1.1.2 Đồng dư thứ
c
Cho a và b là các số nguyên tố, n là số nguyên dương thì a được gọi là
đồng dư với b theo modulo n nếu n|a-b (tức a - b chia hết cho n, hay khi chia a
và b cho n được cùng một số dư như nhau). Số nguyên n được gọi là modulo của
đồng dư.
Kí hiệu: a ≡ b (mod n)
Ví dụ:
67 ≡ 11 (mod 7), bởi vì 67 (mod 7) = 4 và 11 (mod 7) = 4.
Tính chất của đồng dư:
Cho a, a
1
, b, b

n
(các số nguyên theo modulo n) là tập hợp các số nguyên
{0,1,2,…,n-1}. Các phép toán trong Z
n
như cộng, trừ, nhân, chia đều được thực
hiện theo module n.
Ví dụ:
Z
11
= {0,1,2,3,…,10}
Trong Z
11
: 6 + 7 = 2, bởi vì 6 + 7 = 13≡ 2 (mod 11).
Không gian Z
n
*
là tập hợp các số nguyên p∈Z
n
, nguyên tố cùng n.
Tức là: Z
n
*
= { p ∈ Z
n
| gcd (n,p) =1}
Φ(n) là số phần tử của Z
n
*
Nếu n là một số nguyên tố thì: Z
n

Đồ án tốt nghiệp – Khoa công nghệ thông tin trường DHDL Hải Phòng 4
• Giả sử d=gcd (a, n). Phương trình đồng dư ax ≡ b mod n có nghiệm
x nếu và chỉ nếu d chia hết cho b, trong trường hợp các nghiệm d
nằm trong khoảng 0 đến n - 1 thì các nghiệm đồng dư theo modulo
n/d.
Ví dụ: 4-1 = 7 (mod 9) vì 4.7 ≡1 (mod 9)
1.1.5 Hàm băm
1.1.5.1 Giới thiệu
Một hàm băm (hash function) hay một giải thuật băm là một phương
pháp sinh một địa chỉ trong phần bộ nhớ dành cho các khóa được sắp thứ tự. Các
hàm này cung cấp một cách tạo một "vân tay" số nhỏ từ bất kỳ loại dữ liệu nào.
Hàm này cắt và trộn (thay thế và chuyển vị) dữ liệu để tạo một giá trị thường
được gọi là giá trị băm. Giá trị băm thường được biểu diễn trong hệ cơ số 16.
Hàm bă
m tốt là hàm cho ra ít đụng độ băm (hash collision) trong các miền dữ
liệu trông đợi. Trong các bảng băm và việc xử lý dữ liệu, các đụng độ này dẫn
đến chi phí cao hơn cho việc tìm kiếm các bản ghi trong cơ sở dữ liệu.

Hình 1.1
Hai điều kiện sau đây được người ta cho là hai điều kiện chủ yếu cho một
hàm băm:
1. Hàm băm phải là hàm một phía nghĩa là cho x tính z=h(x) là vi
ệc dễ
nhưng ngược lại, biết z tính x là việc cực khó (có thể quy ước dễ
hay khó là có thể tính được trong thời gian đa thức hay không).
Giải pháp xác thực số
Đồ án tốt nghiệp – Khoa công nghệ thông tin trường DHDL Hải Phòng 5
2. Hàm băm phải là hàm không va chạm mạnh theo nghĩa sau đây:
không có thuật toán tính được trong thời gian đa thức giả bài toán
“tìm x


Giải pháp xác thực số
Đồ án tốt nghiệp – Khoa công nghệ thông tin trường DHDL Hải Phòng 6
• Gọi H là trạng thái có kích thước n bit, f là “hàm nén: thực hiện
thao tác trộn khối dữ liệu với trạng thái hiện hành.
- Khởi gán H
0
bằng một vector khởi tạo nào đó.
- H
1
= f(H
i-1
,M
i
) với I = 1,2,3,….,s.
• H
s
chính là thông điệp rút gọn của thông điệp M ban đầu.
1.1.5.3 Một số loại hàm băm
Hàm băm MD5:
Hàm băm MD4 (Message Digest 4) được giáo sư Rivest đề nghị vào năm
1990. Vào năm sau, phiên bản cải tiến.
Thông điệp ban đầu x sẽ được mở rộng thành dãy bit X có độ dài là bội số
của 512. Một bit 1 được thêm vào sau dãy bit x, tiếp đến là dãy gồm d bit 0 và
cuối cùng là dãy 64 bit l biểu diễn độ dài của thông đ
iệp x. Dãy gồm d bit 0
được thêm vào sao cho dãy X có độ dài là bội số của 512. Quy định này được
thể hiện bằng thuật toán sau:
Thuật toán xây dựng dãy bit X từ dãy bit x



Y

Z
I(X,Y,Z)= Y

(X

(
¬
Z))
Với quy ước:
X

Y: Phép toán AND trên bit giữa X và Y.
X

Y: Phép toán OR trên bit giữa X và Y.
X

Y: Phép toán XOR trên bit giữa X và Y.
¬
X: Phép toán NOT trên bit của X.
X+Y: Phép cộng (modulo 2
32
).
X<<<s: Các bit của X được dịch chuyển xoay vòng sang trái s vị trí
Giải pháp xác thực số
Đồ án tốt nghiệp – Khoa công nghệ thông tin trường DHDL Hải Phòng 8
(0 ≤ s <32).


Hình 1.8
Giải pháp xác thực số
Đồ án tốt nghiệp – Khoa công nghệ thông tin trường DHDL Hải Phòng 11Hình 1.9
Mỗi thuật toán có bảng hằng số phân bố thông điệp tương ứng. Kích
thước bảng hằng số thông điệp (ScheduleRound) của SHA-224 và SHA-256 là
64, kích thước bảng hằng số thông điệp của SHA-384 và SHA-512 là 80.
Trong phương pháp SHA-224 và SHA-256 sử dụng các hàm sau:

Trong phương pháp SHA-384 và SHA-512 sử dụng các hàm sau:
Giải pháp xác thực số
Đồ án tốt nghiệp – Khoa công nghệ thông tin trường DHDL Hải Phòng 12Hình 1.10: Các tính chất của các thuật toán băm an toàn
1.2 Vấn đề mã hóa
1.2.1 Khái niệm mã hoá
Mã hóa là phương pháp để biến thông tin (phim ảnh, văn bản, hình ảnh )
từ dạng bình thường sang dạng thông tin “khó” thể hiểu được, nếukhông có
phương tiện giải mã. Giải mã là phương pháp để chuyển thông tin đã được mã
hóa về dạng thông tin ban đầu (quá trình ngược của mã hóa).
Ví dụ:
Thông điệp cần mã hoá là chuỗi nhị phân M=1011, hàm mã hoá vàgiải mã
là hàm XOR, với K= 1010.
Mã hóa:

Giải pháp xác thực số

Giải pháp xác thực số
Đồ án tốt nghiệp – Khoa công nghệ thông tin trường DHDL Hải Phòng 14
người nào sở hữu khóa riêng mới có thể giải mã được. Đồng thời, người sở hữu
khóa riêng cũng chứng minh được tính toàn vẹn của dữ liệu mà anh ta gửi cho
người khác bằng chữ ký điện tử thông qua việc sử dụng khóa riêng để mã hóa.
Bất kỳ ai nhận được dữ liệu đó đều có thể sử dụng khóa công khai tương ứng để
kiểm tra xem nó do ai gửi và có còn toàn vẹn hay không.
1.2.2 Hệ
mã hoá khóa công khai
RSA là hệ mã hoá khoá công khai, và độ an toàn của hệ dựa vào bài toán
khó: ”phân tích số nguyên thành thừa số nguyên tố”, sau đây là chi tiết về hệ
mã hoá RSA.
Sơ đồ:
Chọn p, q là số nguyên tố rất lớn.
Tính: n = p * q, Φ(n) = (p-1)*(q-1).
Chọn b là số nguyên tố với Φ(n), để tồn tại phần tử nghịch đảo b-1,
nghĩa là gcd(b,Φ(n)) = 1.
Chọn a là nghịch đảo của b: a*b = 1 mod Φ(n) (nghị
ch đảo theo
modulo Φ(n)).
+ b là khoá lập mã, công khai.
+ a là khoá giải mã, giữ bí mật.
Lập mã:
Chọn P = C = Z
n
với n = p * q, Z
n
= {0, 1, 2, , n-1}
x ∈ Z
n

• Quá trình giải mã:
Nhận y = 2. Giải mã: x = y
a
mod n = 27 mod 15 = 128 mod 15=8.
1.3 Vấn đề chữ ký điện tử
1.3.1 Giới thiệu
Giống như chữ ký của bạn trên các tài liệu thì chữ ký điện tử cũng có một
ý nghĩa tương tự, đó là dùng chữ ký điện tử để ký lên một e-mail hoặc dữ liệu
điện tử. Chữ ký điện tử được tạo ra và được chứng thực do việc dùng chứng chỉ
số. Ngày nay, trên thế giới đã có nhiều quốc gia đã ban hành những điều luật
công nhận chữ ký điện tử có giá trị pháp lý như những chữ ký trên các văn bản,
giấy tờ trước đây vẫn dùng. Để ký, để tạo nên một giao dịch an toàn thì chứng
chỉ số của bạn là duy nhất.
Chữ ký điện tử mang lại cho bạn nhiều chức năng quan trọng nh
ư:
• Tính xác thực.
• An toàn và toàn vẹn dữ liệu.
• Không chối cãi nguồn gốc.
1.3.2 Định nghĩa
Một sơ đồ ký số thông thường gồm 2 thành phần tương ứng với 2 giai
đoạn:
- Thuật toán ký – tương ứng với giai đoạn ký.
Giải pháp xác thực số
Đồ án tốt nghiệp – Khoa công nghệ thông tin trường DHDL Hải Phòng 16
- Thuật toán xác minh – tương ứng với giai đoạn kiểm tra chữ ký.
Định nghĩa một cách hình thức sơ đồ ký số gồm 5 thành phần:
( P, A, K, S, V )
P là tập các thông điệp.
A là tập hữu hạn chữ ký.
K là tập các khóa.

1.3.3 Sơ đồ chữ ký RSA
Sơ đồ chữ ký RSA sử dụng thao tác sinh khóa của hệ mã RSA.
1. Tạo khóa:
Chọn hai số nguyên tố lớn p và q khác nhau.
N= p*q.
Φ(N)=(p-1)*(q-1).
Chọn e sao cho (e, Φ(N))=1 và (1<e< Φ(N)).
D=e
-1
mod Φ(N).
Công khai (N,e) và giữ bí mật (D,p,q).
2. Ký:
Thông điệp x

Z
q
ta có: y=sig(x)=x
d
mod n.
Gửi (x,y).
3. Kiểm tra chữ ký:
Giải pháp xác thực số
Đồ án tốt nghiệp – Khoa công nghệ thông tin trường DHDL Hải Phòng 17
Ver(x,y)=True
Ù
x=y
e
mod n.
1.4 Xác thực
1.4.1 Khái niệm xác thực

Giải pháp xác thực số
Đồ án tốt nghiệp – Khoa công nghệ thông tin trường DHDL Hải Phòng 18
một phía máy chủ; còn máy chủ có thể thực hiện có chọn lọc sự xác thực đồng
thời của browser. Sự xác thực đồng thời đóng vai trò quan trọng trong việc ngăn
cản sự tấn công ác ý, mà ở đó, một server lừa đảo lừa một Client (khách hàng)
vào trong một thông tin có cảm giác lộ ra ngoài, hoặc là một khách hàng lừa đảo
truy nhập trái phép vào nguồn thông tin của máy chủ.
1.4.2.2 Xác thực trách nhiệm văn bản gốc
S
ự xác thực văn bản gốc cung cấp bằng chứng để một đoạn dữ liệu, cũng
như một thư điện tử, trong thực tế được tạo bởi người sử dụng chính thức. Việc
xác thực này nhằm mục đích chứng tỏ sự không chối cãi được trách nhiệm của
người đã tạo ra tài liệu điện tử
đó. Và để chứng minh rằng tài liệu là của người
đó chứ không phải của ai khác. Việc xác thực này cũng đảm bảo phát hiện
những sửa đổi khi tài liệu được truyền trên các kênh truyền thông, đảm bảo tính
đúng đắn,toàn vẹn của tài liệu.
1.4.3 Các phương pháp xác thực
Có nhiều phương pháp xác thực điện tử đã được phát triển. Với mỗi yêu
cầu xác thực lại có những phươ
ng pháp khác nhau. Xác thực thực thể có thể sử
dụng các phương pháp nhận dạng sinh học như dấu vân tay, mẫu võng mạc, mẫu
giọng nói, chữ ký tay. Xác thực thông tin có thể sử dụng mật khẩu, đây là
phương pháp hiện đang được sử dụng rộng rãi nhất, chứng chỉ số và chữ ký điện
tử, thẻ thông minh, những phương pháp hiện đang được quan tâm nhất.
- Bằng mậ
t khẩu.
- Bằng chữ ký, Sơ đồ định danh (Công cụ: Chứng chỉ số, Thẻ thông
minh,…).
- Bằng nhận dạng sinh học.

Trong giao thức này, người truy nhập chế biến mật khẩu của mình qua
hàm băm rồi gửi kết quả tới hệ thống xác thực. Hệ thống so sánh giá trị băm vớ
i
giá trị băm chính xác của mình và xác thực nét nhận dạng của người sử dụng
nếu hai giá trị như nhau. Nếu hệ thống lưu giữ mật khẩu thay vì giá trị băm của
chúng, hệ thống sẽ tính giá trị băm của mật khẩu trước khi đưa ra so sánh. Giao
thức mật khẩu được chuyển đổi thể hiện mật khẩu dưới dạng hiện, nên nó dễ bị
tổn thương trước sự tấn công lặp lại.
1.4.4.3 Giao thức mật khẩu sử dụng một lần
Giao thức mật khẩu sử dụng một lần là một dạng quan trọng của giao thức
mật khẩu được chuyển đổi để che chắn chống lại sự tấn công lặp lại được thực
hiện bởi kẻ nghe trộm. Giao thức này yêu cầu người truy nh
ập và hệ thống xác
thực chia một số bí mật nhỏ n. Người truy nhập băm mật khẩu của mình n lần để
tạo ra mật khẩu sử dụng một lần và xác thực người truy nhập nếu hai kết quả là
Giải pháp xác thực số
Đồ án tốt nghiệp – Khoa công nghệ thông tin trường DHDL Hải Phòng 20
như nhau. Trên cơ sở của sự xác thực thành công, cả hai bên giảm lượng n. Một
kẻ trộm không thể thực hiện việc tấn công lặp lại bởi vì mật khẩu sử dụng một
lần tiếp theo là khác và nó không thể xác định từ giá trị trước đó. Trong giao
thức này, cần phải thay đổi mật khẩu của người dùng và lập lại n khi n tiến tới 0.
1.4.4.4 Giao th
ức chứng chỉ số
Giao thức chứng chỉ số là một dạng của giao thức thử thách – trả lời mà ở
đó giá trị mật mã bí mật là một khóa riêng và hệ thống xác thực dùng khóa công
khai tương ứng với khóa riêng để xác thực câu trả lời. Chúng ta sẽ nghiên cứu
kỹ vấn đề này ở chương sau.
1.5 Chứng thực điện tử
1.5.1 Chứng thực điện tử là gì?
Chứng thực điện tử là một loại chứng nhận điện tử giống như hộ chiếu,

ừ cơ sở đó, nhà cung cấp dịch vụ sẽ thực hiện các thủ tục chấp nhận.
Chứng thực sau khi được chấp nhận và được tổ chức cấp chứng chỉ (CA -
Certification Authority) tạo ra là một tập tin có cấu trúc đặc biệt, có thể được
chuyển tới cho người dùng trực tuyến từ địa chỉ của nhà cung cấp dịch vụ hoặc
được gửi tới cho ng
ười dùng thông qua một phương thức đảm bảo (chỉ có người
dùng đã đăng ký nhận được chứng thực). Chứng thực điện tử có tác dụng và thời
gian tồn tại phụ thuộc vào nhà cung cấp. Sau khi nhận được chứng thực điện tử,
người sử dụng phải cài đặt vào ứng dụng để sau đó có thể sử dụng chúng trong
giao dịch. Chứng thực đ
iện tử với khoá mã riêng được cài đặt tại ứng dụng trung
tâm, khoá mã công cộng được chuyển tải rộng rãi cho người dùng. Người dùng
thường sử dụng một chứng thực điện tử cho mỗi ứng dụng. Việc sử dụng nhiều
chứng thực cho nhiều ứng dụng khác nhau sẽ giúp cho người sử dụng dễ dàng
hơn trong việc quản lý cũng như tăng cường tính
độc lập và bảo mật của các ứng
dụng đó.
Hiện nay, Công ty Điện toán và Truyền số liệu-VDC đã ký thoả thuận
hợp tác với Công ty Trust Asia-đại diện Verisign tại khu vực Châu á-Thái Bình
Dương và trở thành công ty đại diện duy nhất tại Việt Nam cung cấp dịch vụ
chứng thực điện tử của Verisign. Khách hàng có thể đăng ký sử dụng dịch vụ
chứng thực đ
iện tử của Verisign thông qua VDC. Với chứng thực điện tử này,
khách hàng sẽ được xác nhận toàn cầu và được bảo vệ nghiêm ngặt khi thực
hiện các giao dịch trực tuyến.
1.6 Chứng thực chéo
Một khía cạnh rất quan trọng trong hoạt động chứng thực điện tử là hoạt
động chứng thực chéo. Chứng thực chéo là quá trình các CA hoặc các root CA
thiết lập quan hệ tin cậy lẫn nhau, nh
ờ đó cộng đồng những người sử dụng có

Trong chứng chỉ số chứa một khoá công khai được gắn với một tên duy
nhất của một đối tượng (như tên của một nhân viên hoặc server). Chứng chỉ số
giúp ngăn chặn việc sử dụng khoá công khai cho việc giả mạo. Chỉ có khoá công
khai đượ
c chứng thực bởi chứng chỉ số mới làm việc với khoá riêng (private
key) tương ứng được sở hữu bởi đối tượng mà có chỉ danh đã được chứng thực
nằm trong chứng chỉ số.
Ngoài khoá công khai, một chứng chỉ số còn chứa thêm tên của đối tượng
mà nó nhận diện, hạn dùng, tên của CA cấp chứng chỉ số đó, mã số thứ tự, và
những thông tin khác. Đ
iều quan trọng nhất là một chứng chỉ số luôn luôn chứa
Giải pháp xác thực số
Đồ án tốt nghiệp – Khoa công nghệ thông tin trường DHDL Hải Phòng 23
chữ ký số của CA đã cấp chứng chỉ số đó. Nó giống như con dấu ở trên bằng lái
xe hoặc chứng minh thư nhân dân của bạn khi được cấp. Nó cho phép chứng chỉ
số như đã được đóng dấu để cho người sử dụng biết và tin cậy vào CA.
2.1.2 Chứng chỉ gốc là gì ?
Chứng chỉ gốc là chữ ký điện tử của nhà cung cấp chứng ch
ỉ số. Public
key trong chứng chỉ được dùng để xác thực chữ ký của nhà cung cấp chứng chỉ
số. Tương ứng với public key là một private key được nhà cung cấp chứng chỉ
số ký trên tất cả các chứng chỉ số cung cấp cho khách hàng. Chứng chỉ gốc
chứng thực một public key gắn với một nhà cung cấp chứng chỉ số. Khi chấp
nhận chứng chỉ gốc của một nhà cung c
ấp chứng chỉ số tức bạn đã đặt sự tin
tưởng vào nhà cung cấp chứng chỉ số đó.
2.1.3 Chứng chỉ số làm việc như thế nào ?
Một chứng chỉ số gắn một public key với một cá nhân hay một tổ chức, sự
kết hợp này là duy nhất và tính xác thực của nó được đảm bảo bởi CA. Chứng
chỉ số được dựa trên thuật toán mã khoá công khai mà mô hình là vi

an toàn và bảo mật trong trao đổi thông tin qua mạng đã là một chính sách
không thể thiếu của họ. Với mỗi công ty mà sử dụng chứng chỉ số thì đã được
nhà cung cấp chứng chỉ số
thẩm định rõ ràng sự tồn tại của họ về cơ sở pháp lý,
điều này sẽ làm tăng sự tin tưởng của khách hàng vào doanh nghiệp đó. Và xa
hơn nữa là cung cấp mức pháp lý cho các khách hàng khi họ tham gia giao dịch
với các doanh nghiệp mà đã được CA chứng thực cho việc cấp chứng chỉ số.
2.1.5 Chứng chỉ số được áp dụng vào những công việc gì ?
Chứng chỉ số được áp dụng vào các vi
ệc sau đây:
- Sự riêng tư và bảo mật – Các tổ chức dùng chứng chỉ số để mã hoá và
giải mã thông tin.
- Tính toàn vẹn, xác thực và không thể chối cãi nguồn gốc – Dùng chứng
chỉ số để ký lên một thông điệp cần gửi đi là đã thiết lập một chỉ danh cho người
gửi, chứng minh nguồn gốc người gửi cũng như sự toàn vẹn của thông tin.
- Kiểm soát truy cậ
p – Sẽ yêu cầu các chứng chỉ số, dù nó ở trong các
trình duyệt, trên đĩa hay trong smart card thì việc kiểm soát truy cập vào các
trang Internet, các mạng Intranet và các mạng khác là dễ dàng.
- Bằng chứng việc truyền tài liệu (dấu thời gian) – Các tổ chức cần “con
dấu thời gian” trên những nguồn tin được gửi tới nhằm thẩm định lại tính hợp
pháp cũng như bất hợp pháp trong giao dịch thương mại cũng như những qui
định củ
a riêng họ.
- Lưu trữ tài liệu – Khi đó dùng chứng chỉ số để cung cấp quyền truy cập
cho từng cá nhân và xác định xem tài liệu lưu trữ có bị thay đổi hay không.

Trích đoạn Khuôn dạng chứng chỉ số X.509 Quy trình xin cấp một chứng chỉ số Ngôn ngữ lập trình php OpenSSL trong PHP
Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status