ĐẠI HỌC CÔNG NGHỆ
ĐẠI HỌC QUỐC GIA HÀ NỘI
VŨ VĂN TRIỆU
XÂY DỰNG HỆ THỐNG QUẢN LÝ CHỨNG CHỈ SỔ SỬ
DỤNG CÔNG NGHỆ IAIK VÀ SSL
LUẬN VĂN TH.S CÔNG NGHỆ THÔNG TIN
Ngưới hướng dẫn:PGS.TS Trịnh Nhật Tiến
Hà Nội 2007
2
MỤC LỤC
LỜI CẢM ƠN 4
CÁC THUẬT NGỮ VIẾT TẮT 5
MỞ ĐẦU 8
Chương 1. CÁC KHÁI NIỆM CƠ BẢN 10
1.1. HỆ MÃ HÓA KHÓA ĐỐI XỨNG (Symmetric Key Cryptosystems) 10
1.1.3 Hệ mã hóa RC2 14
1.1.4. Hệ mã hóa RC4 18
1.1.5. Hệ mã hóa IDEA 19
1.1.6. Giao thức trao đổi khóa 22
1.2. HỆ MÃ HÓA KHÓA CÔNG KHAI 24
1.2.1. Khái niệm mã hóa công khai 24
1.2.2. Hệ mã hóa RSA 28
1.2.3. Các vấn đề liên quan đến hệ mã hóa RSA 30
1.3. GIAO THỨC SSL 32
1.3.1. Giới thiệu giao thức SSL 32
1.3.2. Vị trí của tầng giao thức SSL 33
1.3.3. Hoạt động của giao thức SSL 34
Chương 2. VẤN ĐỀ CÔNG NGHỆ CỦA 41
CƠ SỞ HẠ TÂNG MẬT MÃ KHÓA CÔNG KHAI 41
2.1. GIỚI THIỆU 41
2.1.1. Khái niệm cơ sở hạ tầng mật mã khóa công khai. 41
2.1.2. Tình hình sử dụng chứng chỉ khóa công khai 43
2.2. CHỨNG CHỈ KHÓA CÔNG KHAI 50
2.2.1. Định dạng X.509 của chứng chỉ số 50
2.2.2. Đường chứng thực và sự tin tưởng 52
2.2.3. Các trường cơ bản của một chứng chỉ số 52
2.2.3.1 Trường tbsCertificate 53
2.2.3.2. Trường signatureAlgorithm 54
2.2.3.3. Trường signatureValue 54
2.2.3.4. Trường version 54
2.2.3.5. Trường serialNumber 54
2.2.3.6. Trường signature 54
2.2.3.7. Trường issuer 55
2.2.3.8. Trường validity 56
2.2.3.9. Trường subject 56
2.2.3.10. Trường subjectPublicKeyInfo 56
2.2.4. Định dạng PEM của chứng chỉ số 57
2.2.5. Mô hình quản lý chứng chỉ số 58
2.2.5.1. Đối tượng sử dụng 59
2.2.5.2. Thành phần CA 60
2.2.5.3. Thành phần RA 60
2.2.5.4. Kho thông tin 61
2.2.5.5. CRL Ủy quyền 61
2.2.6. Các chức năng quản lý chứng chỉ số 61
3
2.2.6.1. Đăng ký 61
2.2.6.2. Khởi tạo 62
2.2.6.3. Chứng thực 62
2.2.6.4. Phục hồi cặp khóa 62
2.2.6.5. Cập nhật cặp khóa 62
2.2.6.6. Yêu cầu thu hồi 63
2.2.6.7. Chứng thực chéo 63
2.2.6.8. Các chức năng thêm 63
2.2.7. Các giao thức quản lý chứng chỉ số 64
Chương 3. THỬ NGHIỆM XÂY DỰNG HỆ THỐNG QUẢN LÝ CHỨNG CHỈ SỐ 65
3.1. TỔNG QUAN 65
3.2. YÊU CẦU 68
3.3. PHÂN TÍCH 70
3.3.1. Hoạt động của hệ thống 70
3.3.2. Xem xét hệ thống dưới góc độ khách hàng sử dụng 71
3.3.3. Xem xét hệ thống dưới góc độ quản trị hệ thống 75
3.3.4. Hiện thực hoá hệ thống CA 78
3.4. Công cụ hỗ trợ PKI :IAIK 80
3.4.1. Giới thiệu chung về IAIK 80
3.4.2. Sử dụng IAIK xây dựng hệ thống 81
3.5 HỆ THỐNG QUẢN LÝ CHỨNG CHỈ SỐ 83
3.5.1. Mô hình phân cấp hệ thống 84
3.5.2. Một số chức năng chính của hệ thống 85
3.5.2.1. Cấp mới 85
3.5.2.2. Gia hạn hoặc thay thế 86
3.5.2.3. Xem trạng thái yêu cầu 87
3.5.2.4. Tìm kiếm, xem trạng thái và lấy chứng chỉ số 87
3.5.2.5. Xem và cài đặt chuỗi chứng thực 88
3.5.2.6. Xem và cài đặt danh sách chứng chỉ số bị thu hồi 88
3.5.2.7 Đăng ký thu hồi 89
3.5.2.8 Quản trị hệ thống 89
KẾT LUẬN 91
TÀI LIỆU THAM KHẢO 92
PHỤ LỤC 93
5
CÁC THUẬT NGỮ VIẾT TẮT
CA – Certification Authority
Thc th có thm quyn chng thc, là thc th duy nht trong PKI có chc
p chng ch s.
ASN.1 – Abstract Syntax Notation One
Là mt ngôn ng hình thc mô t i trong mt phm
vi rng gia các các dng Internet, mng thông minh, mng di
n t
BER – Basic Encoding Rules
Lun. Mt luc s dng trong thp k
gin, thô, nhng không có hiu qu.
CRL – Certificate Revocation List
Danh sách các chng ch s b thu hi hay không còn hp l.
DER – Distinguished Encoding Rules
Lut mã hóa phân bit. Lut mã hóa không có s tùy chn s n, thô
u qu. Lut mã hóa DER din gii c các thành phn tùy
chn, ví du dài hay không, la chn các kiu.
Digital Certificate
Chng ch s, là mt cu trúc d lic s d gn các thông
c xác thc ca mng vào mt khóa công khai cng
u cách gi khác: certificate, public key certificate.
Digital Signature
Ch n t, là mt k thut s dng mã khóa công khai cho phép không th
gi mo mp.
DSA – Digital Signature Algorithm
Mt thuc s dng cho công ngh ch n t i
NIST.
LDAP - Lightweight Directory Access Protocol
LDAP là dch v th mc cc dùng rng rãi trên Internet.
PEM - Privacy Enhanced Mail
PEM là mt chun c i bo mn t.
6
PKI – Public key Cryptography Infrastruture
h tng mã khóa công khai, là h thng s dng h mã khóa công khai
cho vic chng thm bo bí mt và toàn vn thông tin.
PKIX - Public key Cryptography Infrastruture X.509
h tng mã khóa công khai da trên X.509 do mt nhóm c
áp dng PKI cho Internet.
PKCS – Public key Cryptographic Standards
Các chun cn do RSA Laboratories
Private Key Khóa riêng, mt trong hai khóa trong cp khóa trong h mã hóa
bi xng.
Public Key Khóa công khai, khóa còn li trong cng vi Private
key.
Message Digest Dm d liu s dng
các thut toán mt chiu, t d li c d liu gc.
Chiu dài ca kt qu ng byte) là c i vi mi thut toán
RA – Registration Authority
Thc th c CA y quyn qun lý vi
RFC – Requests for Comments
,
1969
, ,
.
RSA
Mt trong h mã khóa công khc công b
3 nhà khoa hc Rivest, Shamir và Adleman tìm ra.
X.500
ch v c, bao gm c chng ch s.
X.501
ng và giá tr dch v c.
7
X.509
Chunh dng chng ch s, do ITU ban hành.
Ciphertext Bn mã.
Plaintext Bn rõ.
IAIK
Institute for Applied Information Processing and Communication : Cung cp
Crypto toolkit vit trên ngôn ng Java.
8
MỞ ĐẦU
Cuộc cách mạng công nghệ thông tin.
S i và phát trin nhanh chóng ca cuc cách mng công ngh thông tin
i mc phát trin mi cho xã hi. Mi s dng máy tính
và tng thành qu ca h thng truyn thông mt cách vô th c
ma mình mà hm nhn rõ rt s hin hu ca chúng.
u này khnh ảnh hưởng của cuộc cách mạng công nghệ thông tin là rất
sâu đậm, và để lại dấu ấn trên từng hành vi của mỗi cá nhân hàng ngày, hàng
giờ.
Xã hội số hoá.
Vai trò ch o ca mng nói chung và Internet nói riêng là quá rõ ràng trong
nn kinh t th gii mi. Trên nó, xã hội số hoá c bii tên gi
không gian điều khiển ng ln rng dn. Trong th
gii o này, các phương tiện, nghi thức, quy ước, luật lệ của loài người đang
dần được tái sáng tạo.
An toàn bảo mật.
Mt trong nhng thách thc ln nhi vi s m rng tm ng ca
xã hi s hoá trong thi gian g vấn đề an toàn bảo mật. Nói nôm na là
làm th a các hành vi truy nhp bt hp pháp hoc ch ng các
loi ti phm tin hu này có th d c bi mt xã hi không th
phát trin mà không da trên mt nn tng pháp lut). Chúng tn ti các
d nghe trm, si trái phép thn gi
mo, gian li
u bt ngun t bn cht phân tán ca mng Internet,
p xúc vt lý trc tip v
th gii thc) và thông tin giao dch buc phhuyn qua nhiu trm trung
chuyn không nm trong s kim soát cng
mt giao dch chuyn tin tr giá 1.000.000$ chc s c thc hin
qua mng nm bo là không ai có th xâm nh si hoc
nghe try, nhu cu an toàn bo mt trên kênh truyn tin là
rt thit thc và b thành mt v thi s i gii quyt
tri và có h thng.
9
Chứng chỉ số là mt trong các công c thc hin an toàn và bo mt
trong h thng thông tin .
Các mc tiêu chung ca h thng bo mt m bo:
Tính bí mt (Secrecy hay Confidential): Tài nguyên ch có th c truy
cp bi có thm quyn.
Tính toàn vn (Accuracy, Integrity, Authencity): Tài nguyên ch c
si bi có thm quyn.
Tính kh dng (Avaiability): Tài nguyên (thông tin, dch vc
si có thm quyn.
Vì vy vic xây dng Hệ Thống Quản Lý Chứng Chỉ Số là rt cn thit,
quan trng và tt yu. Trên th git nhiu t chc khác nhau xây dng
h th , RSASecurityDo tính tt yu cho nên
vic xây dng Hệ Thống Quản Lý Chứng Chỉ Số Vit Nam là vô cùng quan
tr mt trong nhng vai trò quy i vi s phát trin công
ngh thông tin cc nhà.
Luu xây dng h thng qun lý chng ch s da trên công
ngh ng tha ra các gii pháp v công ngh cho các
ng dng thc t n chng ch s.
Lum 3 chng:
Chương 1: Trình bày v các khái nin: i xng, mã hóa
khóa công khai, giao thc SSL.
Chương 2: Trình bày mt s v v công ngh c h tng mt mã
khóa công khai.
Chưong 3: Trình bày v vic th nghim xây dng h thng cung cp và
qun lý chng ch s.
10
Chương 1. CÁC KHÁI NIỆM CƠ BẢN
1.1. HỆ MÃ HÓA KHÓA ĐỐI XỨNG (Symmetric Key Cryptosystems)
1.1.1. Khái niệm mã hóa khóa đối xứng.
m bo tính bí mt, p trong kênh truyn tin cn phc
mã hoá. Mô hình v truyn tin có bo mt có th
Hình 1-1. Mô hình truyền tin có bảo mật
Cơ chế hoạt động:
i phát tin S mun gi mt thông tin X ti nhn R qua mt kênh
truyn tinng th E có th nghe tr ly c thông tin X.
S s dng mt phép mã hoá thông tin X, to ra n mã Y khó có th
c. Y u ni dung ca thông tin X. Khoá là thông s u khin
ca phép bii này. Gic li nhn thu
c thônu X t n mã Y.
Nu bit khóa lp mã, d c khóa gic li, h mã
i là h i xng( trong mt s h i xng,
khóa lp mã và khóa gii mã là trùng nhau)
Đối tượng thứ 3: truy cập bất hợp pháp
Mã hóa
Gii mã
Kênh
truyn tin
Người gửi
Người nhận
11
1.1.2. Hệ mã hóa DES (Data Encryption Standard)
Chun mã hoá d liu DES do hãng IBM xut nm 1974 gây ting vang
ln và nhanh chóng c s dng rng rãi, n nm 1977 c chp nhn là
chun liên bang M. Vi DES d liu c mã hoá theo tng khi 64-bits s
dng khoá 56-bits. Thut toán chuyn i 64-bits u vào qua mc
và -bits mã hoá.
Sơ đồ mã hóa DES:
Vic mã hoá trong DES c thc hin theo các pha vi hai u vào D liu
cn mã hoá và khoá. D liu vào phi là các khi 64-bits và khoá là 56-bits
(thc t 64 bits khoá c lý, tuy nhiên ch có 56 bits c s
dng cho mã hoá và 8 bits còn li s dng cho parity kim tra chn l). 64-bits
bn tin rõ (plaintext) c hoán v ban u (IP- initial
permutation) sau ó chúng phi i qua 16 vòng lp vi cùng chc nng bao gm
c hàm hoán v và thay th. Sau 16 vòng lp thu c 64-bits d liu là t hp
ca bn tin rõ và khóa và phi qua i ch 32-bit, tip theo là hoán v c (IP
-
1
) vi hoán v ban u c bn mã.
Hoán v ban u
Lp 1
Lp 2
Lp 16
i ch 32 -bit
Hoán v c
64-bit plaintext
Dch trái
Dchtrái
Dch trái
Dch trái
Hoán v chn 2
Hoán v chn 2
Hoán v chn 2
Hoán v chn
1
64-bit
ciphertext
56 bit key
Hình 1-2. Mã hóa trong DES
12
Trường hợp truyền không bị lỗi
Key 00000001 00000001 00000001 00000001 00000001 00000001
00000001 00000001
Plaintext: 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000
Ciphertext:10011000 10100110 01001101 11101001 11000001 10110011
00100011 10100111
Ciphertext:10011000 10100110 01001101 11101001 11000001 10110011
00100011 10100111
Plaintext: 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000
DES
Mã hoá
DES
13
Trường hợp truyền bị lỗi
Key 00000001 00000001 00000001 00000001 00000001 00000001
00000001 00000001
Plaintext: 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000
Ciphertext:10011000 10100110 01001101 11101001 11000001 10110011
00100011 10100111
Ciphertext:10011000 10100110 01001001 11101001 11000001 10110011
00100011 10100111
Plaintext: 00110101 10010101 10001101 11010011 11100110 00111100
01101100 01000011
Ta thy rng, ch sai s 1 bit ciphertext trong quá trình truyn, d liu gii mã
ã khác hoàn toàn plaintext ban u.
iu này tuy gây mt s phc tp trong quá trình hiu chnh li, i là
im c mã hoá DES bi vì nu mt thay i nh trong ciphertext
dn n mt thay i nh trong plaintext, thì s d tìm c mt th tc làm
vô hiu hoá quá trình.
H mã hoá DES t c nhng yêu cu sau i vi mt mã khi:
Confusion (Hn lon): S ph thuc ca mã i vi tin phi tht phc tp
gây rc ri hn lon i vi ng có ý nh tìm qui lut phá mã.
Quan h ca mã vi tin là phi tuyn.
Diffusion (khuych tán): Làm khuych tán vn bn mang tính th
vy ng th 3 khó có th phá mã nh da vào các mu có tn sut lp cao.
DES
Mã hoá
DES
Bit b li
14
1.1.3 Hệ mã hóa RC2
H mã hóa RC2 là h mã hoá khối vi các kh dài
64 bits, t mã hoá nhanh gp hai ln thut toán mã hoá chun DES (vi gi
thit thao tác m rc thc hin).
m ni bt ca Rc s dng rc
khoá vào bii (t t trong nhng yêu cu
quan trng ca các ng dng mã hoá áp di hin nay. Chính
vì nh m ni b ng ti ngay t khi thit k này mà RC2
c khuyn ngh thay th h mã hoá chu thành chun trong
p S/MIME. Hong ca RC2 gc.
Bước 1 : Mở rộng khoá.
c ca khoá bii trong khong t c
khi s d mã hoá và gii mã cn phi có thao tác chun hoá khoá gi là
m rng khoá (Key Expansion).
c khi mô t hong ca thut toán m rng khoá, c mt s
ký hiu. m khoá m rng theo byte và theo word.
- Nhìn theo byte, ta ký hiu b m khoá là mc 128
byte t L[0] ti L[127].
- Nhìn theo word, ta ký hiu b c 64 word t K[0]
ti K[63].
Chú ý ta s dng ký hiu mng K và L cùng ch ti b m khoá vào,
K[i] = L[2*i] + 256*L[2*i+1]
Gi thi dài ca khoá là T byte, vt toán m rng
t T byte khoá vào b m khoá t L[0] ti L[T-1]. Ký hiu s bit có hiu
lc ca khoá vào là T1, s u vào có hiu lc là T8 =
8/1T
và mt n bit
c tính theo công thc:
TM = 255 mod 2
8(1-T8)+T1
.
15
Thut toán
1. for i = T, T+1, 127 do
L[i] = PITABLE[(L[i-1]+L[i-T]) MOD 255]
2. L[128-T8] = PITABLE[L[128-T8] AND TM]
3. for i = 127 - T8, , 0 do
L[i] = PITABLE[L[i+1] XOR L[i+T8]]
T mt mng 256 byte ngu nhiên, hoán v ca các giá tr
t 0 ti 255.
Sau thut toán m rng khoá, mng K cha 64 word s dng trong quá trình
mã hoá và gii mã.
16
Bước 2 : Mã hoá.
Mc thc hin bi hai thao tác n là "mix" và "mash". R là mng
4 word, R[0] R[3] là b m d liu vc khi to
bc thao tác trên mng R, kt qu bn mã
trong mng R.
a) Các bước mix và mash được định nghĩa như sau:
Mix up R[i]:
R[i] = R[i]+K[j] + (R[i-1] AND R[i-2]) + (NOT(R[i-1]) AND R[i3]);
j = j+1; R[i] = R[i] rol s[i];
T s ca mc thc hin modulo 4 :
R[i] = R[i MOD 4], s[i] = s[i MOD 4]
mng có s[0] = 1; s[1] = 2; s[2] = 3; s[3] = 5;
Mixing round:
Mix up R[0], Mix up R[1], Mix up R[2], Mix up R[3]
Mash R[i]:
R[i] = R[i] + K[R[i-1] AND 63];
Mashing round:
Mash R[0], Mash R[1], Mash R[2], Mash R[3]
b) Mã hoá được thực hiện như sau:
1. Khi to mng R[0], , R[3] cha khi 64 bit bn rõ.
2. M rng khoá to mng khoá m rng K[0], , K[63].
3. Khi to j = 0.
4. Thc hin 5 ln Mixing round.
5. Thc hin 1 ln Mashing round.
6. Thc hin 6 ln Mixing round.
7. Thc hin 1 ln Mashing round.
8. Thc hin 5 ln Mixing round.
9. Bn mã trong mng R[0], , R[3].
17
Bước 3: Giải mã.
Gii mã thc hin các thao tác c vi quá trình "mix", "mash" trong quá
trình mã hoá, c ký hiu lt là "R-mix" và "R-mash".
a) Các bước R-mix và R-mash thực hiện như sau:
R-Mix up R[i]:
R[i] = R[i] ROR s[i];
R[i] = R[i]-K[j]-(((R[i-1] AND R[i-2]))-(NOT(R[i-1]) AND R[i3]));
j = j-1;
R-Mixing round:
R-Mix up R[3], R-Mix up R[2], R-Mix up R[1], R-Mix up R[0]
R-Mash R[i]:
R[i] = R[i] - K[R[i-1] AND 63];
R-Mashing round:
R-Mash R[3], R-Mash R[2], R-Mash R[1], R-Mash R[0]
b) Giải mã được thực hiện như sau:
1. Khi to mng R[0], , R[3] cha 64 bit bn mã.
2. M rng khoá to mng K[0], , K[63].
3. Khi to j = 63.
4. Thc hin 5 ln r-mixing round.
5. Thc hin 1 ln r-mashing round.
6. Thc hin 6 ln r-mixing round.
7. Thc hin 1 ln r-mashing round.
8. Thc hin 5 ln r-mixing round.
9. Bn rõ cha trong mng R[0], , R[3].
18
1.1.4. Hệ mã hóa RC4
RC4 là h mã hoá dòng, d li dài khoá bic phát trin vào
p 10 ln thut toán DES, d
thit k t. RC4 làm vic ch OFB (Output Feedback Mode). RC4
s dng 8x8 S-box t S
0
ti S
255
.
Các S-box khi t
for i = 0 to 255 do S(i) = i;
j = 0;
for i = 0 to 255 do
begin
j = (j+S(i)+K(i)) mod 256;
swap S(i) and S(j);
end;
y bng khoá vào
lp li.
Mi byte trong lung d liu lc mã hoá (gi
Khi to i = 0; j = 0.
To s ngu nhiên:
i = (i+1) mod 256;
j = (j+S
i
) mod 256;
swap S
i
and S
j
t = (S
i
+S
j
) mod 256
K = S
t
.
K XOR vi bn rõ thì to ra bn mã, K XOR vi bn mã thì to ra bn rõ.
19
1.1.5. Hệ mã hóa IDEA
c xem là hệ mã hoá khối mnh nht hin nay, nó thao tác trên các
khi 64 bit bc khoá vào là 128 bit, s dng cùng thu
mã hoá và gii mã.
Thut toán hong da trên s kt hp ca ba nhóm các phép bii
s. Các phép bii s này d t c v phn cng ln phn m
các phép bii:
+XOR.
+Cng theo module 2
16
.
+Nhân theo module 2
16
+1. (Thao tác này có th -box ca
IDEA).
Sơ đồ hệ mã hóa IDEA
Hình 1-3 mô t hong ca c chia thành các
khi khoá con 16 bit, mi khi 64 bit d lic chia thành 4 khi
con 16 bit X
1
, X
2
, X
3
và X
4
, các khi 16 bit con này tr u vào cho vòng
u tiên ca thut toán. Có tng cng 8 vòng, ti mi vòng 4 khi con 16 bit này
c XOR, cng, nhân vi nhau và vi 16 bit khoá con. Gia các vòng các khi
16 bit con hai và bi. Cui cùng, 4 khc kt hp vi
các khoá con u ra.
20
Hình 1-3. Sơ đồ IDEA
21
1. Nhân X
1
vi khoá con th nht.
2. Cng X
2
vi khoá con th hai.
3. Cng X
3
vi khoá con th ba.
4. Nhân X
4
vi khoá con th 3.
5. XOR kt qu cc 3.
XOR kt qu cc 4.
6. Nhân kt qu ci khoá con th 5.
7. Cng kt qu cc 7.
8. Nhân kt qu cc 8 vi khoá con th 8.
9. Cng kt qu cc 7 và 9.
10. XOR kt qu cc 1 và 9.
11. XOR kt qu cc 3 và 9.
12. XOR kt qu cc 2 và 10.
13. XOR kt qu cc 4 và 10.
Sau 8 vòng (thc hin 13 , thc hin tip:
1. Nhân X
1
vi khoá con th nht.
2. Cng X
2
vi khoá con th hai.
3. Cng X
3
vi khoá con th ba.
4. Nhân X
4
vi khoá con th
Các khc ni li v to thành bn mã. Các khoá con c
to ra t 128 bit khoá K u. K c chia thành 8 khi 16 bit khoá con,
c quay trái 25 bit và li chia thành 8 khoá con.
22
1.1.6. Giao thức trao đổi khóa
Trong các h mã hóa i xngi tác cn phi s dng chung mt
khoá (khoá này ch i tác c bió h phi thông
thit lp nên khoá này.
Cn phi nh rng truyo mt, bo mt
i khi thit lp nên khoá này? Có th thc hin qua mt s cách
sau:
Cách 1
i tác s dng mt kênh truyn tin bí mt b sung (chng hn
).
m ca cách này: tn kém, chm, an toàn vn b t du hi, ví
d tin cc không?
Cách 2
Trao chuyn khoá thông qua mt nhà thm quy
Mi user s liên lc bí mt vi S (nhà thm quyi user cn thit
lc vi S mt kênh liên lc bí mt, có th i xng vi khoá
c thit lp do gp g trc tip.
Sau này nu user A mun thit lp liên lc bí mt vi user B khác, thì A có th
gi yêu cu thit lp liên lc ti B qua S. Nh qua S mà khoc thit
lp gia A và B.
i phi có nhà thm quy
tin trên mng, vi i khá nhiu v n.
Ngoài ra nó còn to ra mm bottleneck (tht nút c trai) trên mng, tt c
các khu liên lc gia mt cp user u phi thông qua S, nên S d b quá ti
gây tc nghn.
23
Cách 3
S dng giao thc i khoá, ví d giao th i khóa Diffie-
Hellman.
Giao thc i khoá Diffie-Hellman
A và B thng nht chn mt s nguyên t p, mt phn t nguyên thy
(primitive element)
{
0
,
1
,
2
p-1
}={1, 2, 3, p-1}
A chn mt s ngu nhiên X
A
, 1
A
B chn mt s ngu nhiên X
B
, 1
X
B
.
A tính: Y
A
=
A
X
p
A gi cho B: Y
A
A gi bí mt X
A
B tính: Y
B
=
B
X
p
B gi cho A: Y
B
B gi bí mt X
B
A tính:
K=
A
X
B
Y )(
p =
BA
XX
p
B tính
K=
B
X
A
Y )(
p =
BA
XX
p
y hai bên A, B tri hai giá tr a ca i bc X
A
và X
B
)
t c s K là lu tha ci bc bng tích X
A
*X
B
.Vì
X
A
, X
B
c gi bí mt không truyt, tc là hai bên có th
thng nht chn s K chung này làm khoá bí mt.
Hacker ch có th nghe trm c Y
A
, Y
B
truyn qua m c K,
Hacker phi bit X
A
, X
B
c X
A
, X
B
t Y
A
, Y
B
là rt khó. an toàn
ca h thng quynh bi tính khó ca bài toán tính logarit ri rc.
24
1.2. HỆ MÃ HÓA KHÓA CÔNG KHAI
1.2.1. Khái niệm mã hóa công khai
Các h mc nghiên cu và phát trin t cui nhng
thp k 70. M bo mc bm b phc tp tính toán. Ý ng
n ca các h mt mã này là xây dng nhng h thng sao cho bit khoá
mã hoá P và thun rc cách
gii mãng là khó do phi khc phc m phc tp tính toán rt l
c khoá gi gii mã p là
khác nhau. Khoá P - khoá công khai , khóa p - khoá riêng và là khoá bí mt.
c gi là khoá công khai, vì vy h thc gi là
h mt mã khoá công khai (Public-Key Cryptosystem-PKC).
H mã khoá công khai c gii quyt hai vn khó khn tn ti
vi mã hoá truyn th i xng): ó là vn qun lý phân phi
khoá và vn ch ký in t. Khác vi mã hoá truyn thng ch s dng mt
khoá cho c hai b phn mã hoá và giy không cn iu
kin nào khác ngoài vic cung cp mt khoá duy nht và bí mt.
Quá trình mã hoá và gii mã vi khoá công khai c mô t trong hình 1-4:
Hình 1-4. Mã hoá dùng khoá công khai
Plaintext
Plaintext
Ciphertext
mã hoá
gii mã
User A
User B
Khoá
công khai
Khoá mt
ca B
25
1. H thng u cui trong mt network sinh ra mt cp khoá mã hoá
và gii mã thông tin.
2. Mi h thng công b khoá mã ca nó bng cách a mình
vào ngân hàng khoá.
3. Nu A mun gi thông ip bí mt cho B, vic mã hoá thông ip s
dng khoá công khai ca B.
4. Khi B nhn c thông ip, B thc hin gii mã bng khoá mt ca B.
Không mi nào khác có th gii c thông ip vì ch có B mi
bit c khoá mt ca mình.
Khoá mt c sinh ra mt cách cc b bi ti tham d và ch mình
i ó bit, khóa công khai c truy nhp bi tt c mi.
Gi s A mun gi mt thông ip X cho B, B sinh ra mt cp khoá vi:
khoá công khai Z
b
và khoá bí mt z
b
. Thông ip X c mã hoá bi khoá công
khai ca B:
Y=E(Z
b
, X)
Bên nhn thc hin gii mã vi khoá bí mt ca mình:
X=D(z
b
, Y)
ng hp A gi thông ip cho B và mã hoá bng khoá mt ca A
khi truyn i, B có th gii mã thông ip khi s dng khoá công khai ca A.
Ch có A mi có khoá mt ca A mã hoá bn tin y ch có A mi
sinh ra bn tin ó, ta có th coi chng thc cho bn tin. ây chính là
k thut to lp mt ch ký s.
26
ng hp:
Thông điệp được truyền và nhận bí mật:
Khi ó A mã hoá thông ip bng khoá công khai ca B (Z
b
) và gi cho B, B
nhn c thông ip s gii mã nó bng khoá mt z
b
ca B.
Hình 1-5. Mã hoá công khai – truyền bí mật
Chứng thực: (Authentication).
Khi ó A mã hoá bn tin bng khoá mt ca A truyn cho B và khi B nhn
c s gii mã bng khoá công khai ca A. Ch có A mi có th mã hoá bn tin
ó bng chính khoá mt ca A nên có th coi ó là s chng thc ca A i vi
bn tin.
Hình 1-6. Mã hoá công khai – chứng thực
X
X
Ngun
Mã hóa
Y
Cp khóa
za
Za
X
X
Ngun
Mã hóa
Y
Cp khóa
z
b
Z
b
A
B