
Ch ng 12ươ
ĐI U KHI N KHÓA VÀ GIAO Ề Ể TH C M T MÃỨ Ậ
12.1 Đi u khi n khóaề ể
12.1.1 T ng quan v đi u khi n khóaổ ề ề ể
C ch m t mã đ m b o hi u qu b o m t thông tin v i đi u ki n gi i quy t đ cơ ế ậ ả ả ệ ả ả ậ ớ ề ệ ả ế ượ
bài toán v đi u khi n khóa. Chúng ta th y, trong h m t mã c n ph i s d ng khóaề ề ể ấ ệ ậ ầ ả ử ụ
m t (ngo i tr hàm băm). Chi u dài khóa thì ph i đ l n, và b n thân khóa cũng ph iậ ạ ừ ề ả ủ ớ ả ả
đ c ch n l a ng u nhiên và phân b đ u t không gian khóa. N u đ m b o đ cượ ọ ự ẫ ố ề ừ ế ả ả ượ
đi u ki n này thì s tránh đ c t n công đ n gi n nh t, nh trên c s d đoán khóaề ệ ẽ ượ ấ ơ ả ấ ư ơ ở ự
m t hay trên c s véc c n khóa. Khi mà chi u dài khóa không đ l n thì h m t dù cóậ ơ ở ạ ề ủ ớ ệ ậ
ph c t p đ n đâu cũng không th đ m b o đ c đ an toàn cao. S d ng thu t toánứ ạ ế ể ả ả ượ ộ ử ụ ậ
m t mã an toàn là đi u c n thi t, nh ng ch a đ đ đ m b o đ an toàn cao c a hậ ề ầ ế ư ư ủ ể ả ả ộ ủ ệ
m t.ậ
Thông th ng thì thám mã th ng t n công lên h th ng khóa h n là t n công tr cườ ườ ấ ệ ố ơ ấ ự
ti p lên thu t toán c a h m t. Cho nên đi u khi n h th ng khóa là m t thành ph nế ậ ủ ệ ậ ề ể ệ ố ộ ầ
quan tr ng xác đ nh đ c đ an toàn c a h m t s d ng.ọ ị ượ ộ ủ ệ ậ ử ụ
Đi u khi n khóa trong h m t g m các ch c năng sau:ề ể ệ ậ ồ ứ
T o ra khóa m t mã;ạ ậ
Phân ph i và ch ng th c khóa m t;ố ứ ự ậ
Ch ng th c khóa công c ng;ứ ự ộ
S d ng khóa;ử ụ
B o qu n khóa;ả ả
Thay th khóa;ế
H y khóa;ủ
Xóa khóa;
M t trong các ch c năng (bài toán) trên ph i đ c gi i quy t hi u qu trên t t cộ ứ ả ượ ả ế ệ ả ấ ả
các giai đo n c a chu kỳ s ng khóa. Th i gian s ng c a khóa đ c chia ra làm 2 lo i:ạ ủ ố ờ ố ủ ượ ạ
Dài h n và ng n h n. Đi u khi n khóa có các m c đích sau:ạ ắ ạ ề ể ụ
Ngăn ch n đ c vi c s d ng khóa m t và khóa công khai b t h p pháp.ặ ượ ệ ử ụ ậ ấ ợ

Ch ng l i m i đe d a t n h i đ n khóa m t và t n h i đ n ch ng th c khóaố ạ ố ọ ổ ạ ế ậ ổ ạ ế ứ ự
công khai và khóa m t.ậ
T o khóa. Vi c t o khóa cho h m t b t đ i x ng đ c th c hi n sao cho đ m b oạ ệ ạ ệ ậ ấ ố ứ ượ ự ệ ả ả
đ c các tính ch t c a toán h c và đ ng th i khóa ph i đ c l a ch n ng u nhiên tượ ấ ủ ọ ồ ờ ả ượ ự ọ ẫ ừ
t p h p khóa r t l n, t p h p này cũng có nh ng tính ch t toán h c xác đ nh (chú ýậ ợ ấ ớ ậ ợ ữ ấ ọ ị
r ng trong m t s h m t b t đ i x ng quá trình l a ch n khóa có th ch n ng u nhiênằ ộ ố ệ ậ ấ ố ứ ự ọ ể ọ ẫ
và phân b đ u trên c s t p h p khóa có th , t c là không có m t s tính toán nào vố ề ơ ở ậ ợ ể ứ ố ự ề
tính ch t toán h c, m c d u trong h m t b t đ i x ng s d ng các tham s , mà cácấ ọ ặ ầ ệ ậ ấ ố ứ ử ụ ố
tham s này c n có nh ng tính ch t toán h c nh t đ nh). Ch t l ng khóa m t trong hố ầ ữ ấ ọ ấ ị ấ ượ ậ ệ
m t đ i x ng là dãy bít ng u nhiên v i chi u dài khóa cho tr c mà không c n tính toánậ ố ứ ẫ ớ ề ướ ầ
b t kỳ m t tính ch t toán h c nào. Nguyên t c c b n đ t o khóa là l a ch n đ u trênấ ộ ấ ọ ắ ơ ả ể ạ ự ọ ề
toàn b không gian khóa (t p h p có th c a khóa). Vi c t o khóa có ch t l ng có thộ ậ ợ ể ủ ệ ạ ấ ượ ể
s d ng m t trong các ph ng pháp sau: 1) S d ng ch ng trình v i vi c ng d ngử ụ ộ ươ ử ụ ươ ớ ệ ứ ụ
thu t toán bi n đ i ng u nhiên ; 2) S d ng thi t b đi n t v i s h tr b c m bi nậ ế ổ ẫ ử ụ ế ị ệ ử ớ ự ộ ợ ộ ả ế
nhi u.ễ
Phân b khóa m t mã d a trên các quy t t đ c bi t và s đ . Khi th c hi n bài toánố ậ ự ắ ặ ệ ơ ồ ự ệ
này s d ng kênh m t, các thu t toán m t mã b o v thông tin khóa (m t mã khóa) vàử ụ ậ ậ ậ ả ệ ậ
các giao th c chuy n khóa theo kênh m .ứ ể ở
Ch ng th c khóa. Dù khóa m t hay khóa công khai, h m t tr c khi b t đ u ho tứ ự ậ ệ ậ ướ ắ ầ ạ
đ ng thì các khóa này ph i đ c ch ng nh n, t c là xác đ nh đ c ai là ch c a khóa. ộ ả ượ ứ ậ ứ ị ượ ủ ủ
S d ng khóa- t c là ng d ng khóa đ i v i vi c th c hi n h m t c th v i m cử ụ ứ ứ ụ ố ớ ệ ự ệ ệ ậ ụ ể ớ ụ
đích b o v và/ho c ch ng nh n thông tin, cũng nh xác th c ch ký c a ng i dùng.ả ệ ặ ứ ậ ư ự ữ ủ ườ
B o qu n khóa. Vi c b o qu n khóa đ c th c hi n mà không dùng ph ng phápả ả ệ ả ả ượ ự ệ ươ
m t mã, tuy nhiên có th dùng ph ng pháp mã hóa nh c ch ph b o v khóa. Khóaậ ể ươ ư ơ ế ụ ả ệ
m t c n l u trong thi t b d i d ng m t mã đ tránh tr ng h p đ c và sao chép.ậ ầ ư ế ị ướ ạ ậ ể ườ ợ ọ
Không ch l u khóa d i d ng b n mã mà nh ng thông tin c a khóa cũng nh thông tinỉ ư ướ ạ ả ữ ủ ư
ng i s d ng khóa cũng nên l u d i d ng m t mã.ườ ử ụ ư ướ ạ ậ
Thay th khóa – vi c thay th khóa th c hi n sau khi th i h n ho t đ ng c a khóaế ệ ế ự ệ ờ ạ ạ ộ ủ
k t thúc. Ví d , khóa phiên đ c thay th sau khi k t thúc phiên giao d ch. M i khóa nênế ụ ượ ế ế ị ỗ
có m t chu kỳ nh t đ nh, tránh tr ng h p thám mã đã tìm ra đ c khóa mà vô tình taộ ấ ị ườ ợ ượ
không bi t. Thay th khóa liên quan đ n vi c b o đ m xóa khóa cũ và th c hi n mã v iế ế ế ệ ả ả ự ệ ớ
khóa m i.ớ

H y b khóa – Đây là quá trình ng ng ho t đ ng c a khóa, trong tr ng h p khóa bủ ỏ ừ ạ ộ ủ ườ ợ ị
t n công trong khi khóa v n còn th i h n ho t đ ng. Khi h y b khóa công khai thì c nấ ẫ ờ ạ ạ ộ ủ ỏ ầ
ph i thông báo cho các thành viên h m t.ả ệ ậ
Xóa khóa- Vi c xóa khóa c n đ m đ c không th khôi ph c thông tin khóa v i b tệ ầ ả ượ ể ụ ớ ấ
kỳ v t l u nào và không th b đánh c p trong quá trình xóa.ậ ư ể ị ắ
12.1.2 S đ t o khóa chu n ANSI X9.17ơ ồ ạ ẩ
S đ chu n ANSI dùng đ t o ra s ng u nhiên, trên c s ng d ng thu t toánơ ồ ẩ ể ạ ố ẫ ơ ở ứ ụ ậ
m t mã. S đ đ c miêu t trên hìnhậ ơ ồ ượ ả 12.1, đây E là mà thu t toán mã hóa DES, K làở ậ
khóa kh i t o hay còn g i là khóa châm ngòi, Vở ạ ọ 0 là giá tr kh i t o m t, Tị ở ạ ậ i là data time,
Ri là khóa phiên. Và rõ ràng đây ta có th ch n b t kỳ m t thu t toán mã kh i nàoở ể ọ ấ ộ ậ ố
khác v d nh chu n mã Liên Xô, Blowfish hay AES. Th t khóa phiên đ c hìnhị ụ ư ẩ ứ ự ượ
thành t ng ng v i ph ng trình sau:ươ ứ ớ ươ
)))(( iiKKi VTEER ⊕=
.
Giá tr m i c a Vi+1 đ c xác đ nh nh sau:ị ớ ủ ượ ị ư
))((
1iiKKi RTEEV ⊕=
+
E
K
T
i
V
i
E
K
E
K
V
i+1
R
i
Hình 12.1. S đ t o khóa chu n ANSI X9.17ơ ồ ạ ẩ
Có th t o Vể ạ 0 nh sau. Ch n Vi là m t giá tr kh i t o nào đó, ví d Vư ọ ộ ị ở ạ ụ i=Ti+j, j là số
nào đó. Th c hi n quá trình t o khóa nh trên và ta thu đ c Vự ệ ạ ư ượ i+1, và ta ch n Vọ0=Vi+1. Và
đ nâng cao tính an toàn, chúng ta có th s d ng các khoá tham gia vào hàm mã hóa làể ể ử ụ
khác nhau.
12.1.3 S đ phân ph i khóaơ ồ ố

Chúng ta đã tìm hi u v mã hóa đ i x ng và b t đ i x ng. Vi c dùng m t mã b tể ề ố ứ ấ ố ứ ệ ậ ấ
đ i x ng thì không c n đ n s trao đ i khóa m t, kh c ph c đ c nh c đi m c a mãố ứ ầ ế ự ổ ậ ắ ụ ượ ượ ể ủ
đ i x ng, th nh ng mã khóa b t đ i x ng l i có nh c đi m là t c đ ch m r t nhi uố ứ ế ư ấ ố ứ ạ ượ ể ố ộ ậ ấ ề
l n so v i mã đ i x ng. Ngoài ra khi s d ng khóa cũng c n ph i ch ng th c khóa nàyầ ớ ố ứ ử ụ ầ ả ứ ự
là c a ai đ tránh tr ng h p k gi danh. B i v y n u nh có m t ph ng pháp traoủ ể ườ ợ ẻ ả ở ậ ế ư ộ ươ
đ i khóa m t hi u qu thì s kh c ph c đ c nh c đi m c a mât mã đ i x ng. Vàổ ậ ệ ả ẽ ắ ụ ượ ượ ể ủ ố ứ
ch ng này chúng ta tìm hi u các v n đ này.ươ ể ấ ề
Đ trao đ i khóa gi a các bên có th trao đ i khóa tr c ti p qua kênh m t, ho cể ổ ữ ể ổ ự ế ậ ặ
dùng giao th c th a thu n khóa ho c s đ phân ph i khóa.ứ ỏ ậ ặ ơ ồ ố
Chúng ta phân bi t gi a s đ phân ph i khóa và giao th c th a thu n khóa. S đệ ữ ơ ồ ố ứ ỏ ậ ơ ồ
phân ph i là c u trúc t ch c h th ng đi u khi n khóa, còn giao th c là t h p cácố ấ ổ ứ ệ ố ề ể ứ ổ ợ
thao tác (l nh) gi a hai hay nhi u bên tham gia, nh m đ m b o gi a h hình thành khóaệ ữ ề ằ ả ả ữ ọ
m t chung. Chúng ta th y v i giao th c phân ph i khóa thì khóa đ c trao đ i tr c ti pậ ấ ớ ứ ố ượ ổ ự ế
gi a hai hay nhi u bên tham gia. Còn dùng s đ thì thông qua trung tâm phân ph i khóa.ữ ề ơ ồ ố
Trong phân l n ng i dùng h m t đ i x ng th ng thì h th ng trao đ i b ng sớ ườ ệ ậ ố ứ ườ ọ ườ ổ ằ ử
d ng trung tâm phân ph i khóa tin c y. Còn đa s ng i s d ng h m t b t đ i x ngụ ố ậ ố ườ ử ụ ệ ậ ấ ố ứ
h th c hi n phân ph i khóa nh đ n trung tâm ch ng th c khóa.ọ ự ệ ố ờ ế ứ ự
12.1.4 Trung tâm phân ph i khóaố
Bài toán phân ph i khóa là c c kỳ quan tr ng. Bây gi chúng ta đi tìm hi u m t số ự ọ ờ ể ộ ố
ph ng pháp phân ph i hi u qu .ươ ố ệ ả
Gi s trong m t s đ đ n gi n hai bên liên h v i nhau, m i phiên giao d ch cóả ử ộ ơ ồ ơ ả ệ ớ ỗ ị
th s d ng m t khóa. N u nh h th ng m t mã có N thành viên trong m ng thì c nể ử ụ ộ ế ư ệ ố ậ ạ ầ
ph i phân b khóa gi a các thành viên s d ng ít nh t là N(N-1)/2 khóa. Khi mà sả ố ữ ử ụ ấ ố
l ng N thành viên l n thì đây tr nên bài toán nan gi i. Đ gi i quy t v n đ nàyượ ớ ở ả ể ả ế ấ ề
ng i ta đ a ra hàng lo t gi i pháp, mà m t trong các gi i pháp ph c t p nh t và t nườ ư ạ ả ộ ả ứ ạ ấ ố
ti n nh t là dùng kênh m t. ề ấ ậ

Trung tam phan phoi khoa
A
1
A
2
A
i
A
j
A
N
K1
K2KiKj
KN
E
Ki
(K
ij
)E
Kj
(K
ij
)
Kenh mat
Hình 12.2. S đ phân ph i khóa c a Trung tâmơ ồ ố ủ
M t trong các ph ng án đ c đ a ra là dùng trung tâm phân ph i khóa, đây là m tộ ươ ượ ư ố ộ
ph n chung c a m ng. Trung tâm phân ph i cung c p cho t t c các thành viên các khóaầ ủ ạ ố ấ ấ ả
m t khác nhau Kậi (i=1,2,…,N), các thành viên s d ng khóa này ch liên l c v i trungử ụ ỉ ạ ớ
tâm mà thôi. Khóa m t chung gi a hai bên i và j đ c th c hi n nh sau (hình 12.2). Bênậ ữ ượ ự ệ ư
Ai mu n liên k t v i bên Aố ế ớ j, thì Ai chuy n đ n trung tâm khóa liên h c a minh là kể ế ệ ủ ij,
khóa này đ c mã hóa b ng kượ ằ i. Trung tâm nh n đ c b n mã t Aậ ượ ả ừ i s gi i mã b ngẽ ả ằ
khóa ki, nh n th y ch th c n liên k t Aậ ấ ỉ ị ầ ế i v i Aớj, thì trung tâm th c hi n mã hóa kự ệ ij b ngằ
kj, sau đó chuy n b n mã này đ n Aể ả ế j. Aj gi i mã b ng khóa kả ằ j c a mình và nh n đ củ ậ ượ
khóa kij. Sau b c liên k t m t này thì m i vi c sau đó có th th c hi n theo kênh côngướ ế ậ ọ ệ ể ự ệ
c ng. Trong s đ này chúng ta th y ch c n s d ng N khóa.ộ ơ ồ ấ ỉ ầ ử ụ
Chúng ta th y r ng vi c l a ch n khóa m t gi a các bên cũng ph i tuân th cácấ ằ ệ ự ọ ậ ữ ả ủ
nguyên t c nêu ra trên, nên đùa h i các bên tham gia c n có nh ng kinh nghi m và cácắ ở ỏ ầ ữ ệ
thi t b chuyên nghi p đ t o ra khóa phiên. M t trong các gi i pháp đ a ra là hai bên Aế ị ệ ể ạ ộ ả ư i
và Aj mu n liên k t v i nhau thì hai bên yêu c u trung tâm phân ph i khóa phiên. Trungố ế ớ ầ ố
tâm t o ra khóa kạij và chuy n đ n Aể ế i và Aj d i d ng b n mã b ng khóa kướ ạ ả ằ i và kj t ngươ
ng.ứ
N u nh s l ng thành viên trong m ng quá l n thì trung tâm có th th c hi n theoế ư ố ượ ạ ớ ể ự ệ
mô hình th c p, t c là có m t trung tâm chính và các trung tâm v tinh c a nó.ứ ấ ứ ộ ệ ủ
Khi t o ra khóa, trung tâm cũng c n có nh ng thông tin đi kèm, nh ng thông tin đó cóạ ầ ữ ữ
th là:ể
•Th i gian t o ra khóa;ờ ạ
•Ki u khóa và tên g i;ể ọ

