Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 65 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
65
Dung lượng
1,76 MB
Nội dung
Đồ ántốtnghiệp
Giải phápxácthựcsố
Giải phápxácthựcsố
Đồ ántốtnghiệp – Khoa công nghệ thông tin trường DHDL Hải Phòng 1
MỞ ĐẦU
Sự ra đời của internet, sự phát triển nhanh chóng của công nghệ thông tin
đã tạo ra một thay đổi lớn trong các lĩnh vực đời sống của con người. Internet ra
đời, nhu cầu truyền thông tin trên mạng là một nhu cầu tất yếu. Và đặc biệt với
sự ra đời của thương mại điện tử thì nhu cầu này càng rõ rệt và cấp thiết hơn.
Vấn đề đặt ra là phải tạo một phương pháp truy
ền thông tin an toàn, tránh sự phá
hoại, ăn cắp thông tin hay làm sai lệch thông tin. Cùng với nhu cầu này một loạt
các giảipháp được ra đời. Mã hóa, chữ ký điện tử đảm bảo được tính xác thực,
và an toàn của thông tin nhưng vẫn chưa đủ để xácthực khi người sử dụng các
cặp khóa công khai và bí mật chối bỏ các thông tin về khóa mình đã sử dụng. Từ
lý dođó mà người ta thấy cần phải có một bên thứ ba đứng ra xác nh
ận các
thông tin về khóa dùng để mã hóa gắn liền với chủ thể sử dụng. Chứng chỉ số ra
đời. Chứng chỉ số là một tệp tin điện tử do một cơ quan, tổ chức cấp trong đó
lưu trữ các thông tin về chủ thể sử dụng và các thông tin về khóa.
Đồ án đề cập đến chứng chỉ số và sử dụng chứng chỉ số để xác thự
c.
Đồ án gồm 3 chương.
• Chương I: Các khái niệm cơ bản
Trong chương này sẽ đề cập đến một số khái niệm toán học, vấn đề mã
hóa, chữ ký điện tử, xác thực, chứng thực điện tử.
• Chương II: Chứng chỉ số
Trong chương này sẽ trình bày chi tiết về chứng chỉ số.
• Chương III: Xây dựng hệ thống quản lý ch
ứng chỉ số
Trong chương này sẽ giới thiệu việc xây dựng một chương trình hệ
thống quản lý chứng chỉ số viết bằng ngôn ngữ PHP 5.
Giải phápxácthựcsố
Đồ ántốtnghiệ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
1
, c ∈ Z. Ta có các tính chất:
• a≡b mod n nếu và chỉ nếu a và b có cùng số dư khi chia cho n.
• Tính phản xạ: a ≡ a mod n.
• Tính đối xứng: Nếu a ≡ b mod n thì b ≡ a mod n.
• Tính giao hoán: Nếu a ≡ b mod n và b ≡ c mod n thì a ≡ c mod n.
• Nếu a ≡ a
1
mod n, b ≡ b
1
mod n thì a+b ≡ a
1
+ b
1
mod n và
Giải phápxácthựcsố
Đồ ántốtnghiệp – Khoa công nghệ thông tin trường DHDL Hải Phòng 3
ab ≡a
1
b
1
mod n.
1.1.3 Không gian Z
n
và Z
n
*
Không gian Z
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
*
= { p ∈ Z
n
|1≤ p ≤ n - 1}
Ví dụ:
Z
2
= {0,1} thì Z
2
*
= {1} vì gcd(1,2) = 1.
1.1.4 Phần tử nghịch đảo
Định nghĩa:
Cho a ∈ Z
n
. Nghịch đảo của a theo modulo n là số nguyên x ∈ Z
n
sao cho
ax ≡ 1 (mod n). Nếu x tồn tại thì đó là giá trị duy nhất, và a được gọi là khả
nghịch, nghịch đảo của a ký hiệu là a-1.
Tính chất:
• Cho a,b∈ Z
n
. Phép chia của a cho b theo modulo n là tích của a và
b−1 theo modulo n, và chỉ được xác định khi b có nghịch đảo theo
modulo n.
• Cho a∈ Z
n
, a nghịch đảo khi và chỉ khi gcd(a, n) = 1.
Giải phápxácthựcsố
Đồ ántốtnghiệ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ápxácthựcsố
Đồ ántốtnghiệ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
1
và x
2
thuộc Σ sao cho x
1
≠ x
2
và h(x
1
) = h(x
2
)”; nói cách
khác tìm hai văn bản khác nhau có cùng một đại diện là cực kỳ khó.
Danh sách các hàm băm:
Hình 1.2
1.1.5.2 Cấu trúc của hàm băm
Hầu hết các hàm băm mật mã đầu có cấu trúc giải thuật như sau:
• Cho trước một thông điệp M có độ dài bất kỳ. Tùy theo thuật toán
được sử dụng chúng ta có thể cần bổ sung một số bit vào thông điệp
này để nhận được thông điệp có d
ộ dài là bội số của một hằng số
cho trước. Chia nhỏ thông điệp thành từng khối có kích thước bằng
nhau: M
1
, M
2,
,M
s.
Giải phápxácthựcsố
Đồ ántốtnghiệ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
Hình 1.3
Đơn vị xử lý trog MD5 là các từ 32-bit nên dãy X sẽ được biểu diễn thành
dãy các tư X[i] 32 bit: X=X[0]X[1]………X[N-1] với N là bội số của 16.
Thuật toán MD5:
Giải phápxácthựcsố
Đồ ántốtnghiệp – Khoa công nghệ thông tin trường DHDL Hải Phòng 7
Hình 1.4
Đầu tiên bốn biến ABCD được khởi tạo. Những biến này được gọi là
chaining variables.
Bốn chu kỳ biến đổi trong MD5 hoàn toàn khác nhau và lần lượt sử dụng
các hàm F,G,H và I. Mỗi hàm có các tham số X,Y,Y là cá từ 32 bit và kết quả là
một từ 32 bit.
F(X,Y,Z)= (X
∧
Y)
∨
((
¬
X)
∧
Z)
G(X,Y,Z)= (X
∧
Z)
∨
(Y(
¬
Z))
H(X,Y,Z)= 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ápxácthựcsố
Đồ ántốtnghiệp – Khoa công nghệ thông tin trường DHDL Hải Phòng 8
(0 ≤ s <32).
Định nghĩa các hàm:
Hình 1.5
Với M
j
là M[j] và hằng số t
i
xác định theo công thức:
t
i
=
⎣
2
32
|sin(i)|
⎦
, I tính bằng radian.
Chu kỳ biến đổi trong MD5
Hình 1.6
Giải phápxácthựcsố
Đồ ántốtnghiệp – Khoa công nghệ thông tin trường DHDL Hải Phòng 9
Hình 1.7
Hàm băm mật mã SHA:
Trong các hàm băm SHA, chúng ta cần sử dụng thao tác quay phải một
từ, ký hiệu là ROTR, và thao tác dịch phải một từ, ký hiệu là SHR.
Khung thuật toán chung cho hàm băm SHA:
[...]... ta có thể thấy việc xácthựcthực thể thường được thực thi bằng các giấy tờ như chứng minh thư, giấy phép lái xe, hoặc các giấy tờ cá nhân khác Còn việc xácthực tính an toàn của thông tin trao đổi thường dựa trên chữ ký, con dấu 1.4.2 Các dạng xácthực Có hai dạng xácthực là sự xácthựcthực thể và sự xácthực trách nhiệm văn bản gốc 1.4.2.1 Xácthựcthực thể Trong sự xácthựcthực thể, người dùng... ta có: y=sig(x)=xd mod n Gửi (x,y) 3 Kiểm tra chữ ký: Đồántốtnghiệp – Khoa công nghệ thông tin trường DHDL Hải Phòng 16 Giải phápxácthựcsố Ver(x,y)=True x=ye mod n 1.4 Xácthực 1.4.1 Khái niệm xácthựcXácthực là việc xác minh, kiểm tra một thông tin hay một thực thể để công nhận hoặc bác bỏ tính hợp lệ của thông tin hay thực thể đóXácthực luôn là yêu cầu quan trọng trong các giao tiếp cần.. .Giải phápxácthựcsố Hình 1.8 Đồántốtnghiệp – Khoa công nghệ thông tin trường DHDL Hải Phòng 10 Giảiphápxácthựcsố Hì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ử... một lớp nền bảo vệ (a secure socket layer – SSL) có thể tới được trang chủ, ví dụ, nó luôn luôn thực hiện xácthựcĐồántốtnghiệp – Khoa công nghệ thông tin trường DHDL Hải Phòng 17 Giảiphápxácthựcsố 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ácthực đồng thời của browser Sự xácthự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... những sửa đổi khi tàiliệ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àiliệu 1.4.3 Các phương phápxácthực Có nhiều phương phápxácthực điện tử đã được phát triển Với mỗi yêu cầu xácthực lại có những phương pháp khác nhau Xácthựcthự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ácthực thông tin có... nhận là người chính thức hợp pháp của hệ thống Dịch vụ xácthựcthực thể đem đến sự đảm bảo sự công nhận hoặc bác bỏ nét nhận dạng của người truy nhập Sự xácthựcthực thể có thể một phía hoặc nhiều phía Trong sự xácthực một phía, chỉ một phía thực hiện sự xácthực tự bản thân mình khi liên lạc, nhưng trái lại, trong sự xácthựcthực thể đồng thời, cả hai bên phải xácthực lẫn nhau Khi một Web browser... phương phápxácthực đều có những ưu và nhược điểm riêng Xácthực bằng mật khẩu có nhược điểm lớn nhất là người dùng thường chọn mật khẩu dễ nhớ, do vậy dễ đoán, nên dễ bị tấn công Kẻ tấn công có thể có nhiều phương pháp để đạt được mật khẩu như thâm Đồántốtnghiệp – Khoa công nghệ thông tin trường DHDL Hải Phòng 18 Giải phápxácthựcsố nhập vào hệ thống máy tính và đọc file password, dự đoán password,... 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ácthự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ácthực người truy nhập nếu hai kết quả là Đồántốtnghiệp – Khoa công nghệ thông tin trường DHDL Hải Phòng 19 Giải phápxácthựcsố như nhau Trên cơ sở của sự xácthực thành công, cả hai... đã đượ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 Đồántốtnghiệp – Khoa công nghệ thông tin trường DHDL Hải Phòng 22 Giải phápxácthựcsố chữ ký số của CA đã cấp chứng chỉ sốđó Nó giống... một số chứng thực điện tử đã được triển khai như chữ ký điện tử, chứng từ điện tử trong hệ thống thanh toán liên ngân hàng, chữ ký điện tử trong khai báo hải quan điện tử 1.5.2 Làm thế nào để có và sử dụng chứng thực điện tử? Đồántốtnghiệp – Khoa công nghệ thông tin trường DHDL Hải Phòng 20 Giải phápxácthựcsố Việc cung cấp các chứng thực điện tử cho các tổ chức, doanh nghiệp, người dùng được thực .
Đồ án tốt nghiệp
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ệ. toán chung cho hàm băm SHA:
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 10
Hình 1.8
Giải pháp xác thực số