7.1. Gi s h: X Y là hàm hash. V i y b t kỳ Y, cho:
h-1(y) = { x: h(x) = y}
và ký hi usy = | h-1(y)|.
Đ nh nghĩaN =
ch ng 8ươ
phân ph i và tho thu n v khoá
8.1 Gi i thi u:
Chúng ta đã th y r ng, h th ng khoá công khai u đi m h n h ư ơ
th ng khoá riêng ch không c n kênh an toàn đ trao đ i khoá m t.
Tuy nhiên, đáng ti c h u h t các h th ng khoá công khai đ u ch mế ế
h n h khoá riêng, ch ng h n nh DES. th th c t các h khoáơ ư ế ế
riêng th ng đ c dùng đ mã các b c đi n dài. Nh ng khi đó chúng ta l i trườ ượ ư
v v n đ trao đ i khoá m t.
Trong ch ng này, chúng ta s th o lu n vài bi n pháp thi t l p cácươ ế
khoá m t. Ta phân bi t gi a phân ph i khoá và tho thu n v khoá. Phân ph i
khoá đ c đ nh nghĩa c ch m t nhóm ch n khoá m t sau đó truy n ượ ơ ế
đ n các nhóm khác. ếCòn tho thu n khoá giao th c đ hai nhóm (ho c
nhi u h n) liên k t v i nhau cùng thi t l p m t khoá m t b ng cách liên l c ơ ế ế
trên kênh công khai. Trong s đ tho thu n khoá, giá tr khoá đ c xác đ nhơ ượ
nh hàm c a các đ u vào do c hai nhóm cung c p.ư
Gi s , ta có m t m ng không an toàn g m n ng i s d ng. Trong m t ườ
s s đ , ta ng i u quy n đ c tín nhi m (TA) đ đáp ng nh ng vi c ơ ườ ượ
nh xác minh danh tính c a ng i s d ng, ch n g i khoá đ n ng i sư ườ ế ườ
d ng ... Do m ng không an toàn nên c n đ c b o v tr c các đ i ph ng. ượ ướ ươ
Đ i ph ng (Oscar) có th là ng i b đ ng, có nghĩahành đ ng c a anh ta ươ ườ
ch h n ch m c nghe tr m b c đi n truy n trên kênh. Song m t khác, anh ế
ta có th là ng i ch đ ng. M t đ i ph ng ch đ ng có th làm nhi u hành ườ ươ
vi x u ch ng h n:
1. Thay đ i b c đi n mà anh ta nh n th y là đang đ c truy n trên m ng. ượ
2. C t b c đi n đ dùng l i sau này.
3. C g ng gi d ng làm nh ng ng i s d ng khác nhau trên m ng. ườ
M c tiêu c a đ i ph ng ch đ ng có th là m t trong nh ng cái nêu sau đây: ươ
1. L a U V ch p nh n khoá “không h p lê” nh khoá h p l (khoá không ư
h p l th khoá đã h t h n s d ng, ho c khoá do đ i ph ng ế ươ
ch n).
2. Làm U ho c V tin r ng, h có th trao đ i khoá v i ng i kia khi h không ườ
có khoá.
M c tiêu c a phân ph i khoá và giao th c tho thu n khoá là, t i th i đi m
k t thúc th t c, hai nhóm đ u có cùng khoá K song không nhóm khác nào bi tế ế
đ c (tr kh năng TA). Ch c ch n, vi c thi t k giao th c ki u an toànượ ế ế
này khó khăn h n nhi u tr c đ i ph ng ch đ ng.ơ ướ ươ
Tr c h t ta xem xét ý t ng v s phân ph i khoá tr c trong m c 8.2.ướ ế ưở ướ
V i m i c p ng i s d ng {U,V}, TA ch n m t khoá ng u nhiên K ườ U,V=KV,U
truy n “ngoài d i” đ n U V trên kênh an toàn. (Nghĩa là, vi c truy n ế
khoá không x y ra trên m ng do m ng không an toàn ). Bi n pháp này g i
an toàn không đi u ki n song đòi h i m t kênh an toàn gi a TA nh ng
ng i s d ng trên m ng. Tuy nhiên đi u quan tr ng h n m i ng i ph iườ ơ ườ
l u n -1 khoá TA c n truy n t ng c ng ư
( )
n
2
khoá m t cách an toàn (đôi khi
bài toán này đ c g i bài toán nượ 2). Th m chí v i m t s m ng t ng đ i ươ
nh , giá đ gi i quy t v n đ này khá đ t nh v y gi i pháp hoàn toàn ế ư
không th c t . ế
Trong ph n 8.2.1, chúng ta th o lu n m t s đ phân ph i tr c khoá ơ ướ
an toàn không đi u ki n khá thú v do Blom đ a ra. S đ cho phép gi m ư ơ
l ng thông tin m t ng i s d ng c n c t gi trên m ng. M c 8.2.2ượ ườ
cũng đ a ra m t s đ phân ph i tr c khoá an toàn v m t tính toán d a trênư ơ ướ
bài toán logarithm r i r c.
M t bi n pháp th c t h n là TA phân ph i khoá tr c ti p. Trong s đò ế ơ ế ơ
nh v y, TA làm vi c nh m t ng i ch khoá (key server). TA chia khoáư ư ư
m t KU cho m i ng i s d ng U trên m ng. ườ Khi U mu n liên l c v i V, cô ta
yêu c u TA cung c p khoá cho phiên làm vi c (session key). TA t o ra khoá
session K g i d i d ng hoá cho U V đ gi i mã. H th ng ướ
Kerboros mô t trong m c 8.3 là d a trên bi n pháp này.
N u nh c m th y v n đ phân ph i khoá thông qua TA không th c tế ư ế
ho c không mong mu n thì bi n pháp chung dùng giao th c tho thu n
khoá. Trong giao th c tho thu n khoá, U V k t h p ch n m t khoá b ng ế
cách liên l c v i nhau trên kênh công khai. ý t ng đáng chú ý này do Martin ưở
Diffie đ a ra đ c l p v i Merkle. đây t vài giao th c tho thu nư ư
khoá ph thông h n. Giao th c đ u tiên c a Diffie Hellman đ c c i ti n ơ ượ ế
đ ng phó v i các đ i ph ng tích c c đ c nêu trong ph n 8.4.1. Hai giao ươ ượ
th c đáng quan tâm n a cũng đ c xem xét: s đ MTI nên trong 8.4.2 s ượ ơ ơ
đ Girault nêu trong m c 8.4.3
8.2 Phân ph i khoá tr c ướ
theo ph ng pháp c b n, TA t o ra ươ ơ
2
n
khoá và đ a m i khoa cho duyư
nh t m t c p ng i s d ng trong m ng n ng i s d ng. Nh đã nêu ườ ườ ư
trên, ta c n m t kênh an toàn gi a TA và m i ng i s d ng đ truy n đi các ườ
khoá này. Đây là m t c i ti n quan tr ng s kênh an toàn c n thi t gi m t ế ế
2
n
xu ng còn n. Song n u n l n, gi i pháp này cũng không th c t c v ế ế
l ng thông tin c n truy n đi an toàn l n l ng thông tin m i ng i sượ ượ ườ
d ng ph i c t gi an toàn (nghĩa các khoá m t c a n-1 ng i s d ng ườ
khác).
nh v y, đi u c n quan tâm c g ng gi m đ c l ng thông tin c nư ượ ượ
truy n đi và c t gi trong khi v n cho phép m i c p ng i s d ng U và V ườ
kh năng tính toán khoá m t K U,V. M t s đ u vi t h n tho mãn yêu c u ơ ư ơ
này là s đ phân ph i khoá tr c c a Blom.ơ ướ
8.2.1 S đ Blomơ .
Nh trên, gi thi t r ng m t m ng gôm n ng i s d ng. Đ thu nư ế ườ
ti n, gi s r ng các khoá đ c ch n trên tr ng s h u h n Z ượ ườ P, p n s
nguyên t . Cho k s nguyên, 1 < k < n -2. Giá tr k đ h n ch kích th c ế ư
l n nh t mà s đ v n duy trì đ c m t đ . Trong s đ Blom, TA s truy n ơ ượ ơ
đi k +1 ph n t c a Z P cho m i ng i s d ng trên kênh an toàn (so v i n -1 ườ
trong s đ phân ph i tr c c b n). M i c p ng i s d ng U V s ơ ướ ơ ườ
kh năng tính khoá KU,V = KV,U nh tr c đây. Đi u ki n an toàn nh sau: t pư ướ ư
b t g m nhi u nh t k ng i s d ng không liên k t t {U, V} ph i không ư ế
kh năng xác đ nh b t thông tin nào v K U,V. (chú ý r ng, ta đang xét s
an toàn không đi u ki n).
Tr c h t, xét tr ng h p đ c bi t c a s đ Blom khi k =1. đây TAướ ế ườ ơ
s truy n đi 2 ph n t c a Z P cho m i ng i s d ng trên kênh an toàn ườ
ng i s d ng riêng W s không th xác đ nh đ c b t thông tin nào vườ ượ
KU,V n u WếU,V. S đ Blom đ c đ a ra trong hình 8.1. Ta s minh ho sơ ượ ư ơ
đ Blom v i k = 1 trong ví d sau:
Hình 8.1: S đ phân ph i khoá c a Blom (k =1)ơ
1.S nguyên t p công khai, còn v i m i ng i s d ng U, ph n t r ườ U ZP
công khai. Ph n t r U ph i khác bi t.
2.Ta ch n 3 ph n t ng u nhiên a, b, c ZP (không c n khác bi t) thi t ế
l p đa th c
8.3.Kerboros
trong các ph ng pháp phân ph i tr c khoá xem xét trong các ph nươ ướ
tr c đó, m i c p ng i s d ng c n tính m t khoá c đ nh. N u dùng cùngướ ườ ế
m t khoá trong m t th i gian dài s d b t n th ng, th ng i ta th ng ươ ế ườ ư
thích dùng ph ng pháp tr c ti p trong đó khoá c a phiên lamà vi c m i chươ ế
đ c t o ra m i khi hai ng i s d ng mu n liên l c v i nhau (g i tínhượ ướ
t i m i c a khoá).ươ
N u dùng phân ph i khoá tr c ti p thì ng i s d ng m ng không c nế ế ườ
ph i l u các khoá khi mu n liên l c v i nh ng ng i s d ng khác (Tuy ư ườ
nhiên m i ng i đ u đ c chia s khoá v i TA). Khoá c a phiên làm vi c ườ ượ
(khóa session) s đ c truy n đi theo yêu c u c a TA. Đó s đáp ng c a ượ
TA đ đ m b o khoá t i. ươ
Korobos h th ng d ch v khóa ph c p d a trên khoá riêng.
Trong ph n này s đ a ra m t t ng quan v giao th c phát hành khoá session ư
trong Korobos. M i ng i s d ng U s chia s khoá DES m t K ườ U cho TA.
Trong phiên b n g n đây nh t c a Korobos (version 5), m i thông báo c n
truy n đ c mã hoá theo ch đ xích kh i (CBC) nh mô t trong 3.4.1 ượ ế ư
Nh trong m c 8.2.2, ID(U) ch thông tin đ nh danh công khai cho U. Khiư
yêu c u khoá session g i đ n TA, TA s t o ra m t khoá session m i ng u ế
nhiên K. Cũng v y, TA s ghi l i th i gian khi có yêu c u T và ch ra th i gian
(th i gian t n t i) L đ K có hi u l c. Đi u đó nghĩa khoá K ch hi u
l c t T đ n T+L. T t c thông tin này đ u đ c hoá đ c truyênông ế ượ ượ
dân đ n U V. Tr c khi đi đ n các chi ti t h n n a, ta s đ a ra giao th cế ướ ế ế ơ ư
trong hình 8.4. thông tin đ c truy n đi trong giao th c đ c minh ho nhượ ượ ư
sau:
Hình 8.4: Truy n khoá session trong Korobos.
1.
Ta s gi i thích đi u s p s a x y ra trong các b c c a giao th c. M c ướ
không ch ng minh hình th c r ng Kerobos an toàn tr c đ i th tích ướ
c c, song ít nh t ta cũng th đ a ra do nào đó v các đ c đi m c a giao ư
th c.
Nh nêu trên, TA t o ra K, T L trong b c 2. Tronư ướ g b c 3, thôngướ
tin này cùng v i ID(V) đ c mã hoá b ng khoá K ượ U c U và TA chia s ) đượ
t o l p m 1. C hai b c đi n đã mã hoá này đ c g i đ n U. ượ ế
U th dùng khoá c a mình gi i m 1, nh n đ c K, T L. s ượ
xác minh xem th i gian hi n t i n m trong kho ng T đ n T + L hay không. ế
cũng ki m tra khoá session K đ c phát ra cho liên l c gi a V b ng ượ
cách xác minh thông tin ID(V) đã gi i mã t m 2.