Tải bản đầy đủ (.pdf) (67 trang)

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

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.13 MB, 67 trang )

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

MỤC LỤC
LỜI CẢM ƠN ...................................................................................................... 4
MỞ ĐẦU .............................................................................................................. 5
CHƢƠNG I: CÁC KHÁI NIỆM CƠ BẢN ....................................................... 6
1.1 Các khái niệm toán học................................................................................. 6
1.1.1 Số nguyên tố và nguyên tố cùng nhau ................................................ 6
1.1.2 Đồng dư thức ........................................................................................ 6
1.1.3 Không gian Zn và Zn* ............................................................................ 7
1.1.4 Phần tử nghịch đảo .............................................................................. 7
1.1.5 Hàm băm ............................................................................................... 8
1.1.5.1 Giới thiệu ........................................................................................ 8
1.1.5.2 Cấu trúc của hàm băm .................................................................... 9
1.1.5.3 Một số loại hàm băm .................................................................... 10
1.2 Vấn đề mã hóa ............................................................................................. 15
1.2.1 Khái niệm mã hố .............................................................................. 15
1.2.2 Hệ mã hố khóa cơng khai ................................................................ 17
1.3 Vấn đề chữ ký điện tử ................................................................................. 18
1.3.1 Giới thiệu ............................................................................................ 18
1.3.2 Định nghĩa .......................................................................................... 18
1.3.3 Sơ đồ chữ ký RSA ............................................................................... 19
1.4 Xác thực........................................................................................................ 20
1.4.1 Khái niệm xác thực ............................................................................ 20
1.4.2 Các dạng xác thực .............................................................................. 20
1.4.2.1 Xác thực thực thể .......................................................................... 20
1.4.2.2 Xác thực trách nhiệm văn bản gốc ............................................... 21
1.4.3 Các phương pháp xác thực ................................................................ 21
1.4.4 Các giao thức xác thực....................................................................... 22
1.4.4.1 Giao thức thử thách và trả lời ...................................................... 22
1.4.4.2 Giao thức mật khẩu được chuyển đổi ........................................... 22


1.4.4.3 Giao thức mật khẩu sử dụng một lần ............................................ 22
1.4.4.4 Giao thức chứng chỉ số ................................................................. 23
1.5 Chứng thực điện tử ..................................................................................... 23
1.5.1 Chứng thực điện tử là gì? .................................................................. 23
Đồ án tốt nghiệp – Khoa công nghệ thông tin trường DHDL Hải Phòng

1

LUAN VAN CHAT LUONG download : add


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

1.5.2 Làm thế nào để có và sử dụng chứng thực điện tử? ........................ 23
1.6 Chứng thực chéo .......................................................................................... 24
CHƢƠNG II: CHỨNG CHỈ SỐ ...................................................................... 25
2.1 Vài nét về chứng chỉ số ............................................................................... 25
2.1.1 Chứng chỉ số là gì?............................................................................. 25
2.1.2 Chứng chỉ gốc là gì ? ......................................................................... 26
2.1.3 Chứng chỉ số làm việc như thế nào ? ................................................ 26
2.1.4 Tại sao cần một chứng chỉ số ? ......................................................... 26
2.1.5 Chứng chỉ số được áp dụng vào những cơng việc gì ? .................... 27
2.1.6 Kiểm tra và tạo chữ ký điện tử như thế nào ? .................................. 28
2.2 Cơ sở hạ tầng khóa cơng khai Public Key Infrastructure – PKI .......... 28
2.2.1 PKI là gì ? ........................................................................................... 28
2.2.2 PKI hoạt động như thế nào ? ............................................................ 30
2.2.3 Thành phần của PKI .......................................................................... 31
2.2.4 Phân phối khóa cơng khai ................................................................. 32
2.3 Thời hạn tồn tại và việc thu hồi chứng chỉ ............................................... 34
2.4 Nhà cấp chứng chỉ số (Certificate Authority - CA) ................................. 35

2.4.1 CA là gì ? ............................................................................................ 35
2.4.2 Mơ hình CA ........................................................................................ 35
2.4.3 Chữ ký của CA trên chứng chỉ số ..................................................... 37
2.5 Khuôn dạng chứng chỉ X.509 ..................................................................... 37
2.5.1 Khuôn dạng chứng chỉ số X.509 v1, v2 ............................................. 38
2.5.2 Đặt tên trong X.509 v1, v2 .................................................................. 39
2.5.3 Khuôn dạng chứng chỉ số X.509 v3 .................................................. 40
2.5.4 Đặt tên trong khuôn dạng chứng chỉ X.509 v3 ................................. 42
2.6 Đăng ký đối tƣợng ....................................................................................... 43
2.7 Quy trình xin cấp một chứng chỉ số .......................................................... 44
CHƢƠNG III: XÂY DỰNG HỆ THỐNG QUẢN LÝ CHỨNG CHỈ SỐ ... 46
3.1 Chức năng của chƣơng trình ..................................................................... 46
3.2 Mơ tả hoạt động và một số giao diện của chƣơng trình .......................... 46
3.2.1 Đăng ký cấp chứng chỉ....................................................................... 46
3.2.2 Lấy thông tin chứng chỉ ..................................................................... 47
3.2.3 Tìm thơng tin về chứng chỉ của một người khác .............................. 49

Đồ án tốt nghiệp – Khoa cơng nghệ thơng tin trường DHDL Hải Phịng

2

LUAN VAN CHAT LUONG download : add


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

3.2.4 Mã hóa và ký thơng điệp .................................................................... 49
3.2.5 Giải mã thông điệp ............................................................................. 51
3.2.6 Kiểm tra tính chính xác của chữ ký .................................................. 52
3.2.7 Thu hồi chứng chỉ .............................................................................. 53

3.3 Công cụ hỗ trợ và ngơn ngữ lập trình ....................................................... 54
3.3.1 Ngơn ngữ lập trình php5.................................................................... 54
3.3.2 OpenSSL trong PHP 5 ....................................................................... 58
3.3.2.1 Giới thiệu ...................................................................................... 58
3.3.2.2 Khóa và chứng chỉ ........................................................................ 58
3.3.2.3 Một số hàm trong OpenSSL .......................................................... 59
3.4 Một số đoạn mã quan trọng của chƣơng trình ......................................... 60
3.4.1 Tạo chứng chỉ ..................................................................................... 60
3.4.2 Mã hóa và ký ....................................................................................... 62
3.4.3 Giải mã ................................................................................................ 63
3.4.4 Kiểm tra chữ ký .................................................................................. 64
3.5 Những hạn chế và hƣớng phát triển .......................................................... 65
3.5.1 Hạn chế của chương trình ................................................................. 65
3.5.2 Hướng phát triển chương trình ......................................................... 65
KẾT LUẬN ........................................................................................................ 66
TÀI LIỆU THAM KHẢO ................................................................................ 67

Đồ án tốt nghiệp – Khoa công nghệ thông tin trường DHDL Hải Phòng

3

LUAN VAN CHAT LUONG download : add


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

LỜI CẢM ƠN
Em xin chân thành cám ơn Ths.Hồ Thị Hương Thơm – người luôn chỉ
bảo, hướng dẫn, cung cấp những tài liệu quý báu trong q trình học và hồn
thành đồ án này.

Em xin cám ơn các thầy cô giáo trong khoa công nghệ thông tin – trường
DHDL Hải Phịng và gia đình đã tạo điều kiện giúp đỡ về vật chất cũng như tinh
thần để em có thể học tập tốt và hồn thành đồ án này.

Sinh viên
Phùng Thế Phƣơng

Đồ án tốt nghiệp – Khoa cơng nghệ thơng tin trường DHDL Hải Phịng

4

LUAN VAN CHAT LUONG download : add


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

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 tồ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ải pháp được ra đời. Mã hóa, chữ ký điện tử đảm bảo được tính xác thực,
và an tồn của thơng tin nhưng vẫn chưa đủ để xác thự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 tố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.

Đồ án tốt nghiệp – Khoa công nghệ thông tin trường DHDL Hải Phòng

5

LUAN VAN CHAT LUONG download : add


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

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, a1, b, b1, 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 ≡ a1 mod n, b ≡ b1 mod n thì a+b ≡ a1 + b1 mod n và
ab ≡a1b1 mod n.

Đồ án tốt nghiệp – Khoa công nghệ thông tin trường DHDL Hải Phòng

6

LUAN VAN CHAT LUONG download : add


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

1.1.3 Không gian Zn và Zn*
Không gian Zn (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 Zn như cộng, trừ, nhân, chia đều được thực
hiện theo module n.
Ví dụ:

Z11 = {0,1,2,3,…,10}
Trong Z11: 6 + 7 = 2, bởi vì 6 + 7 = 13≡ 2 (mod 11).
Khơng gian Zn* là tập hợp các số nguyên pZn, nguyên tố cùng n.
Tức là: Zn* = { p  Zn | gcd (n,p) =1}
Φ(n) là số phần tử của Zn*
Nếu n là một số nguyên tố thì: Zn* = { p  Zn |1≤ p ≤ n - 1}
Ví dụ:
Z2 = {0,1} thì Z2*= {1} vì gcd(1,2) = 1.
1.1.4 Phần tử nghịch đảo
Định nghĩa:
Cho a  Zn. Nghịch đảo của a theo modulo n là số nguyên x  Zn 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 Zn. 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 Zn, a nghịch đảo khi và chỉ khi gcd(a, n) = 1.
 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)
Đồ án tốt nghiệp – Khoa công nghệ thơng tin trường DHDL Hải Phịng

7

LUAN VAN CHAT LUONG download : add



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

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).
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 tốn tính được trong thời gian đa thức giả bài tốn
“tìm x1 và x2 thuộc  sao cho x1 ≠ x2 và h(x1) = h(x2)”; 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ó.

Đồ án tốt nghiệp – Khoa công nghệ thông tin trường DHDL Hải Phòng

8

LUAN VAN CHAT LUONG download : add



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

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 tố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: M1, M2,....,Ms.
 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 H0 bằng một vector khởi tạo nào đó.
- H1 = f(Hi-1,Mi) với I = 1,2,3,….,s.

Đồ án tốt nghiệp – Khoa công nghệ thông tin trường DHDL Hải Phòng

9

LUAN VAN CHAT LUONG download : add


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

 Hs 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 tốn MD5:

Hình 1.4
Đồ án tốt nghiệp – Khoa công nghệ thông tin trường DHDL Hải Phòng

10

LUAN VAN CHAT LUONG download : add


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

Đầ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 232).

X<<(0 ≤ s <32).
Định nghĩa các hàm:

Hình 1.5
Với Mj là M[j] và hằng số ti xác định theo công thức:

ti = 232|sin(i)|, I tính bằng radian.
Đồ án tốt nghiệp – Khoa cơng nghệ thơng tin trường DHDL Hải Phịng

11

LUAN VAN CHAT LUONG download : add


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

Chu kỳ biến đổi trong MD5

Hình 1.6

Hình 1.7
Đồ án tốt nghiệp – Khoa cơng nghệ thơng tin trường DHDL Hải Phòng

12

LUAN VAN CHAT LUONG download : add


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

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:

Hình 1.8

Đồ án tốt nghiệp – Khoa cơng nghệ thơng tin trường DHDL Hải Phịng

13

LUAN VAN CHAT LUONG download : add


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

Hình 1.9
Mỗi thuật tố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:

Đồ án tốt nghiệp – Khoa công nghệ thơng tin trường DHDL Hải Phịng

14

LUAN VAN CHAT LUONG download : add


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

Hình 1.10: Các tính chất của các thuật tốn băm an tồn
1.2 Vấn đề mã hóa
1.2.1 Khái niệm mã hố
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 (q 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ã hố vàgiải mã
là hàm XOR, với K= 1010.
Mã hóa:

Đồ án tốt nghiệp – Khoa công nghệ thông tin trường DHDL Hải Phòng

15

LUAN VAN CHAT LUONG download : add


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

Giải mã:

Việc giao dịch thông tin trên mạng ngày càng trở nên phổ biến, vấn đề an
tồn thơng tin được đặt ra, làm thế nào để thông tin không bị đánh cắp. Nếu kẻ
cắp lấy được dữ liệu, nhưng “khó” lấy được thơng tin thực sự. Điều này có thể
thực hiện bằng cách mã hố, nghĩa là trước khi gửi thông điệp, thông điệp được
chuyển từ bản rõ sang bản mã, rồi mới gửi đi. Kẻ cắp có thể lấy được bản mã,
nhưng khơng có được bản rõ (nghĩa là không lấy được nội dung của thơng điệp).
Mã hố tn theo qui tắc nhất định gọi là Hệ mã hố. Hiện nay có hai loại
mã hố:
• Mã hố đối xứng.
• Mã hố khố cơng khai (phi đối xứng).
Hệ mã hoá được định nghĩa là bộ năm (P,C,K,E,D) trong đó:

P là một tập hữu hạn các bản rõ có thể.
C là một tập hữu hạn các bản mã có thể.
K là một tập hữu hạn các khố có thể.
E là tập các hàm lập mã.
D là tập các hàm giải mã. Với mỗi k  K, có một hàm lập mã ek  E.
ek : P→C, và một hàm giải mã dk: C→P sao cho dk(ek(x))=x  x  P.
Hệ mã hố khóa cơng khai sử dụng một cặp khóa. Một trong hai khóa
được gọi là khóa riêng (Private Key) và phải được giữ bí mật bởi người sở hữu.
Khóa cịn lại được gọi là khóa cơng khai (Public Key), nó được phổ biến cho tất
cả những ai muốn giao dịch với người giữ khóa riêng tương ứng. Cặp khóa này
có liên quan về mặt tốn học, và khơng thể sử dụng các thơng tin của khóa cơng
khai để tìm ra khóa riêng. Theo lý thuyết bất kỳ ai cũng có thể gửi cho người giữ
khóa riêng một thơng điệp được mã hóa bằng khóa cơng khai, và như vậy chỉ có

Đồ án tốt nghiệp – Khoa cơng nghệ thơng tin trường DHDL Hải Phịng

16

LUAN VAN CHAT LUONG download : add


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

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 tồ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 tồn vẹn hay khơng.
1.2.2 Hệ mã hố khóa cơng khai
RSA là hệ mã hố khố cơng khai, và độ an tồn của hệ dựa vào bài tố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à khố giải mã, giữ bí mật.
Lập mã:
Chọn P = C = Zn với n = p * q, Zn = {0, 1, 2, ..., n-1}
x  Zn → y = xb mod n  Zn
Giải mã:
y  Zn → x = ya mod n  Zn
Ví dụ: Giả sử ơng B cần gửi cho ơng A một thông điệp x=8 trên kênh
truyền công cộng. A và B muốn giữ bí mật tài liệu, hai bên thống nhất sử dụng
hệ mã khoá RSA.Sau đây là các bước thực hiện để A và B trao đổi thông điệp.
• Chuẩn bị:

Đồ án tốt nghiệp – Khoa cơng nghệ thơng tin trường DHDL Hải Phịng

17

LUAN VAN CHAT LUONG download : add


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


Lấy p = 3; q=5 (Đây là ví dụ minh họa, nên chọn p,q là hai số ngun tố
nhỏ để tiện cho việc tính tốn).
 n=p*q=3*5=15; Φ(n) = (p-1)*(q-1)=2*4= 8.
Chọn b=7 (thoả mãn gcd(7,8)=1),
 a= b-1mod Φ(n)=7 (thoả mãn 7*7=1 mod 8).
Khóa cơng khai b=7; n=15.
Khóa bí mật a = 7.
• Q trình mã hóa:
Cho x= 8; Mã hóa: y = xb mod n = 87 mod 15 = 2097152 mod 15 = 2.
• Q trình giải mã:
Nhận y = 2. Giải mã: x = ya 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 tồ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 tồn và tồ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ý.

Đồ án tốt nghiệp – Khoa công nghệ thông tin trường DHDL Hải Phòng


18

LUAN VAN CHAT LUONG download : add


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

- 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.
S là tập hàm ký.
V là tập hợp các hàm kiểm thử chữ ký.
Với mỗi k K thì tồn tại một thuật toán ký sigk S và thuật tốn xác nhận
là Verk V. Thơng điệp xP => yA sao cho y=sigk(x) và từ xA và yA thì ta
có Verk(x,y)=True  y=sigk(x)
Sử dụng khóa bí mật kết hợp với hàm giải mã để ký.
Kiểm tra chữ ký bằng cách sử dụng khóa cơng khai và hàm mã.
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à (1D=e-1mod Φ(N).
Công khai (N,e) và giữ bí mật (D,p,q).

2. Ký:
Thơng điệp x Zq ta có: y=sig(x)=xd mod n.
Gửi (x,y).
3. Kiểm tra chữ ký:

Đồ án tốt nghiệp – Khoa công nghệ thông tin trường DHDL Hải Phòng

19

LUAN VAN CHAT LUONG download : add


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

Ver(x,y)=True x=ye mod n.
1.4 Xác thực
1.4.1 Khái niệm xác thực
Xác thự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ác thực ln
là u cầu quan trọng trong các giao tiếp cần có sự tin cậy. Để đơn giản ta xét
mơ hình giao tiếp gồm 2 thực thể trao đổi thông tin A và B, họ cùng mục đích
trao đổi một thơng tin X nào đó. Khi đó, việc xác thực gồm:
- A cần xác minh B đúng là B và ngược lại
- Cả A và B cần xác minh tính an tồn của thơng tin X mà họ trao đổi.
Như vậy, xác thực bao gồm 2 việc chính:
- Xác thực tính hợp lệ của các thực thể tham gia giao tiếp
- Xác thực tính bảo mật của thông tin được trao đổi
Theo các phương pháp truyền thống, chúng ta có thể thấy việc xác thực
thự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ác thực tính an tồ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ác thực
Có hai dạng xác thực là sự xác thực thực thể và sự xác thực trách nhiệm
văn bản gốc.
1.4.2.1 Xác thực thực thể
Trong sự xác thực thực thể, người dùng yêu cầu được chấp nhận là người
chính thức hợp pháp của hệ thống. Dịch vụ xác thực thự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ác thực thực thể có thể một phía hoặc nhiều phía. Trong sự xác thực
một phía, chỉ một phía thực hiện sự xác thực tự bản thân mình khi liên lạc,
nhưng trái lại, trong sự xác thực thực thể đồng thời, cả hai bên phải xác thực lẫn
nhau. Khi một Web browser kết nối với một lớp nền bảo vệ (a secure socket
layer – SSL) có thể tới được trang chủ, ví dụ, nó ln ln thực hiện xác thực
Đồ án tốt nghiệp – Khoa công nghệ thông tin trường DHDL Hải Phòng

20

LUAN VAN CHAT LUONG download : add


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

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,tồ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.
- Xác thực khởi động (Pre boot)
Trên thực tế, đôi khi phải kết hợp nhiều phương pháp xác thực để đảm
bảo tính an tồn đến một mức độ nào đó, bởi mỗi phương pháp xác thực đều có
những ưu và nhược điểm riêng. Xác thự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

Đồ án tốt nghiệp – Khoa cơng nghệ thơng tin trường DHDL Hải Phịng

21

LUAN VAN CHAT LUONG download : add



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

nhập vào hệ thống máy tính và đọc file password, dự đoán password, vét cạn các
từ trong từ điển để tìm password, hoặc lừa người dùng để lộ password. Phương
pháp nhận dạng sinh học thì địi hỏi phải dựa trên hạ tầng thông tin tốt. Hiện nay
chứng chỉ số đang được xem là giải pháp xác thực điện tử hiện đại nhất và triệt
để nhất mà khắc phục các nhược điểm của các phương pháp khác. Chứng chỉ số
phải được dựa trên một hạ tầng là hạ tầng mật mã khóa cơng khai (PKI), cộng
với các thiết bị lưu trữ có tính năng xử lý như smart card, e-token,…
1.4.4 Các giao thức xác thực
1.4.4.1 Giao thức thử thách và trả lời
Giao thức thử thách và trả lời cho phép người truy nhập tự xác thực mình
với hệ thống bằng cách chứng minh hiểu biết của mình về giá trị mật mã bí mật
mà khơng u cầu người truy nhập tiết lộ bí mật. Hệ thống xác thực đưa ra cho
người truy nhập một số được tạo ra một cách ngẫu nhiên được gọi là thử thách.
Người truy nhập nhập số thử thách và giá trị mật để hàm mật mã tính ra câu trả
lời. Hệ thống xác thực nét nhận dạng của người truy nhập nếu câu trả lời là giá
trị mong đợi. Bởi vì thử thách là một số ngẫu nhiên, giao thức thử thách – trả lời
cung cấp một lá chắn có hiệu quả chống lại sự tấn công lặp lại.
1.4.4.2 Giao thức mật khẩu được chuyển đổi
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à

Đồ án tốt nghiệp – Khoa công nghệ thông tin trường DHDL Hải Phòng

22

LUAN VAN CHAT LUONG download : add


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

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,
thẻ hội viên câu lạc bộ…Để chứng tỏ sự hiện diện của mình trên mạng và tạo
được sự tin cậy đối với cá nhân hoặc tổ chức khác trong giao dịch điện tử thì bạn
cần được “tổ chức cấp chứng thực” cấp một chứng thực điện tử. Qua đó, bạn có
thể xuất trình chứng thực điện tử để các tổ chức, cá nhân khác nhận diện và cho
phép bạn tiến hành các giao dịch trực tuyến.

Chứng thực điện tử được sử dụng trong các ứng dụng giao dịch trên các
trang web thương mại điện tử và các ứng dụng của mơ hình “chính phủ điện tử”.
Các ứng dụng phổ biến nhất là các dịch vụ hành chính cơng điện tử: Hộ khẩu,
chứng minh thư điện tử, hải quan điện tử, đăng ký kinh doanh trực tuyến, công
chứng điện tử…Dịch vụ thanh tốn điện tử là một hình thức của thương mại
điện tử mà yêu cầu sử dụng chứng thực điện tử là hết sức rõ nét. Chứng thực
điện tử còn được sử dụng trong các ứng dụng thư tín điện tử, chứng thực này
cho phép người sử dụng chữ ký điện tử mã hố tồn bộ thơng tin được gửi đi và
người nhận tin sẽ xác định được nguồn gốc của thư điện tử, biết rằng nội dung
của thư đó có bị thay đổi hay khơng.
Ở Việt Nam hiện nay, 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ử?
Đồ án tốt nghiệp – Khoa công nghệ thông tin trường DHDL Hải Phòng

23

LUAN VAN CHAT LUONG download : add


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

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 hiện bởi các hệ thống phân phối. Người dùng có thể yêu
cầu về chứng thực điện tử bằng cách thực hiện yêu cầu trực tuyến hoặc tự thiết
lập các file mô tả đầy đủ các yêu cầu chứng thực, sau đó gửi cho nhà cung cấp
dịch vụ. Từ 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, khố 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 tố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ó
thể thực hiện các giao dịch điện tử đối với các đối tác không cùng một CA.

Đồ án tốt nghiệp – Khoa công nghệ thông tin trường DHDL Hải Phòng

24

LUAN VAN CHAT LUONG download : add



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

CHƢƠNG II: CHỨNG CHỈ SỐ
2.1 Vài nét về chứng chỉ số
2.1.1 Chứng chỉ số là gì?
Chứng chỉ số là một tệp tin điện tử được sử dụng để nhận diện một cá
nhân, một máy chủ, một công ty, hoặc một vài đối tượng khác và gắn chỉ danh
của đối tượng đó với một khố cơng khai (public key). Giống như bằng lái xe,
hộ chiếu, chứng minh thư hay những giấy tờ nhận diện cá nhân thông thường
khác, chứng chỉ số cung cấp bằng chứng cho sự nhận diện của một đối tượng.
Hệ mã khố cơng khai sử dụng chứng chỉ số để giải quyết vấn đề mạo danh.
Để lấy được bằng lái xe, bạn cần phải đăng ký với Phịng cảnh sát giao
thơng. Họ sẽ cấp cho bạn bằng lái xe sau khi đã xác định các thơng tin về bạn
như: có khả năng lái xe, họ và tên, địa chỉ, và những thông tin cần thiết khác. Để
lấy được chứng chỉ số bạn cũng cần phải thực hiện các công việc đăng ký tương
tự như vậy. Nơi có thể chứng nhận những thơng tin của bạn là chính xác được
gọi là Nhà cấp chứng chỉ số (Certificate Authority viết tắt là CA), một tổ chức
có thẩm quyền xác nhận chỉ danh và cấp các chứng chỉ số. Họ có thể là một
thành phần thứ ba đứng độc lập hoặc các tổ chức tự vận hành phần mềm cấp
chứng chỉ số của mình. Các phương pháp để xác định chỉ danh phụ thuộc vào
các chính sách mà CA đặt ra. Chính sách lập ra phải đảm bảo việc cấp chứng chỉ
số phải đúng đắn, ai được cấp và mục đích dùng vào việc gì. Thơng thường,
trước khi cấp một chứng chỉ số, CA sẽ công bố các thủ tục cần phải thực hiện
cho các loại chứng chỉ số.
Trong chứng chỉ số chứa một khố 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 khố cơng khai cho việc giả mạo. Chỉ có khố 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ố.

Ngồi khố 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
Đồ án tốt nghiệp – Khoa công nghệ thông tin trường DHDL Hải Phòng

25

LUAN VAN CHAT LUONG download : add


×