Vietebooks Nguyn Hoàng Cương
Trang 1
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 m· kho¸ c«ng khai cã u ®iÓm h¬n hÖ
thèng m· kho¸ riªng ë chç kh«ng cÇn cã kªnh an toµn ®Ó trao ®æi kho¸ mËt. Tuy
nhiªn, ®¸ng tiÕc lµ hÇu hÕt c¸c hÖ thèng m· kho¸ c«ng khai ®Òu chËm h¬n hÖ m·
kho¸ riªng, ch¼ng h¹n nh DES. V× thÕ thùc tÕ c¸c hÖ m· kho¸ riªng thêng ®îc
dïng ®Ó m· c¸c bøc ®iÖn dµi. Nhng 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 lµ c¬ chÕ mét nhãm chän kho¸ mËt vµ sau ®ã truyÒn nã ®Õn c¸c
nhãm kh¸c. Cßn tho¶ thuËn kho¸ lµ 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 cã 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 vµ 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Üa lµ hµ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µ V chÊp nhËn kho¸ “kh«ng hîp lª” nh kho¸ hîp lÖ (kho¸ kh«ng hîp
lÖ cã thÓ lµ kho¸ cò ®· 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 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 KU,V=KV,U
truyÒn “ngoµi d¶i” ®Õn U vµ 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 lµ an toµn
kh«ng ®iÒu kiÖn song nã ®ßi hái mét kªnh an toµn gi÷a TA vµ nh÷ng ngêi sö
Vietebooks Nguyn Hoàng Cương
Trang 2
dông trªn m¹ng. Tuy nhiªn ®iÒu quan träng h¬n lµ mçi ngêi ph¶i lu n -1 kho¸
vµ TA cÇn truyÒn tæng céng
(
)
n
2kho¸ mét c¸ch an toµn (®«i khi bµi to¸n nµy ®îc
gäi lµ bµi to¸n n2). ThËm chÝ víi mét sè m¹ng t¬ng ®èi nhá, gi¸ ®Ó gi¶i quyÕt
vÊn ®Ò nµy lµ kh¸ ®¾t vµ 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 mµ 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 vµ
göi nã díi d¹ng m· ho¸ cho U vµ V ®Ó gi¶i m·. HÖ thèng m· 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 lµ dïng giao thøc tho¶ thuËn kho¸.
Trong giao thøc tho¶ thuËn kho¸, U vµ 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 vµ Diffie ®a
ra ®éc lËp víi Merkle. ë ®©y m« t¶ vµi giao thc tho¶ thuËn kho¸ phæ th«ng h¬n.
Giao thøc ®Çu tiªn cña Diffie vµ 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 vµ 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 cã 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 v× 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µ mçi ngêi sö dông ph¶i cÊt gi÷
an toµn (nghÜa lµ 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 lµ 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 cã kh¶ n¨ng tÝnh
to¸n kho¸ mËt KU,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.
Vietebooks Nguyn Hoàng Cương
Trang 3
Nh trªn, gi¶ thiÕt r»ng cã 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 ZP, p n lµ sè nguyªn tè.
Cho k lµ 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
ZP 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µ V sÏ cã 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 k× 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 cã kh¶ n¨ng x¸c ®Þnh bÊt k× th«ng
tin nµo vÒ KU,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 ZP cho mçi ngêi sö dông trªn kªnh an toµn vµ ngêi sö
dông riªng W sÏ kh«ng thÓ x¸c ®Þnh ®îc bÊt k× th«ng tin nµo vÒ KU,V nÕu
WU,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ö rU ZP
c«ng khai. PhÇn tö rU 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) vµ thiÕt lËp
®a thøc
Vietebooks Nguyn Hoàng Cương
Trang 4
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, v× 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 lµ 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
lu 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. §ã lµ sù ®¸p øng cña TA ®Ó ®¶m b¶o kho¸
t¬i.
Korobos lµ hÖ thèng dÞch vô khãa phæ cËp dùa trªn m· 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 KU 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
cã 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 ®ã cã nghÜa lµ kho¸ K chØ cã hiÖu lùc
tõ T ®Õn T+L. TÊt c¶ th«ng tin nµy ®Òu ®îc m· ho¸ vµ ®îc truyªn«ng d©n ®Õn
U vµ 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 dï
kh«ng cã chøng minh h×nh thøc r»ng Kerobos lµ an toµn tríc ®èi thñ tÝch cùc,
song Ýt nhÊt ta còng cã thÓ ®a ra lÝ 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 vµ L trong bíc 2. Trong bíc 3, th«ng tin
nµy cïng víi ID(V) ®îc m· ho¸ b»ng kho¸ KUîc U vµ TA chia sÎ) ®Ó t¹o
lËp m1. C¶ hai bøc ®iÖn ®· m· ho¸ nµy ®îc göi ®Õn U.
U cã thÓ dïng kho¸ cña m×nh gi¶i m· m1, nhËn ®îc K, T vµ L. C« sÏ x¸c
minh xem thêi gian hiÖn t¹i cã n»m trong kho¶ng T ®Õn T + L hay kh«ng. C«
còng kiÓm tra kho¸ session K ®îc ph¸t ra cho liªn l¹c gi÷a c« vµ V b»ng c¸ch
x¸c minh th«ng tin ID(V) ®· gi¶i m· tõ m2.
TiÕp theo, U sÏ lµm trÔ thêi gian m2 vµ m3 ®Õn V. Còng nhy, U sÏ dïng
kho¸ session K míi ®Ó m· T vµ ID(U) vµ göi kÕt qu¶ m3 ®Õn V.
Khi V nhËn ®îc m3 vµ m3 tõ U, V gii m2 thu ®îc T, K, L vµ ID(U).
Khi ®ã, anh ta sÏ dïng kho¸ session míi K ®Ó gi¶i m· m3 vµ x¸c minh xem T vµ
Vietebooks Nguyn Hoàng Cương
Trang 5
ID(U) nhËn ®îc tõ m2 vµ m3 cã nh nhau kh«ng. §iÒu nµy ®¶m b¶o cho V r»ng
kho¸ session ®îc m· b»ng m2 còng lµ kho¸ ®· dïng ®Ó m· m3. Khi ®ã V dïng K
®Ó m· T+1 vµ göi kÕt qu¶ m4 trë vÒ U.
Khi U nhËn ®îc m4, c« dïng K gi¶i m· nã vµ x¸c minh xem kÕt qu¶ cã
b»ng T+1 kh«ng. C«ng ®o¹n nµy ®¶m b¶o cho U r»ng kho¸ session K ®· ®îc
truyÒn thµnh c«ng ®Õn V v× K ®· ®îc dïng ®Ó t¹o ra m4.
§iÒu quan träng cÇn lu ý lµ c¸c chøc n¨ng kh¸c nhau cña c¸c th«ng b¸o
dïng trong giao thøc, m1 vµ m2 dïng ®Ó b¶o ®¶m an toµn trong viÖc truyÒn kho¸
session. Cßn m3 vµ m4 dïng ®Ó kh¼ng ®Þnh kho¸, nghÜa lµ cho phÐp U vµ V cã thÓ
thuyÕt phôc nhau r»ng hä së h÷u cïng mét kho¸ session K. Trong hÇu hÕt c¸c s¬
®å ph©n phèi kho¸, sù kh¼ng ®Þnh kho¸ ®ùoc coi nh mét ®Æc tÝnh. Thêng th× nã
®îc thùc hiÖn t¬ng tù kiÓu Kerobos, U dïng K ®Ó m· ID(U) vµ T dïng ®Ó m·
trong m2. T¬ng tù, V dïng K ®Ó m· T+1.
Môc ®Ých cña thêi gian hÖ thèng T vµ thêi h¹n L ®Ó ng¨n ®èi ph¬ng tÝch
cùc khái “lu” th«ng b¸o cò nh»m t¸i truyÒn l¹i sau nµy (®©y ®îc gäi lµ tÊn
c«ng kiÓu ch¬i l¹i - relay attack). Ph¬ng ph¸p nµy hiÖu qu¶ v× c¸c kho¸ kh«ng
®îc chÊp nhËn lµ hîp lÖ mét khi chóng qu¸ h¹n.
Mét trong h¹n chÕ cña Kerobos lµ mäi ngêi sö dông trong m¹ng ®Òu ph¶i
cã ®ång hå ®ång bé víi nhau v× cÇn cã thêi gian hiÖn t¹i ®Ó x¸c ®Þnh kho¸
session K cho tríc lµ hîp lÖ. Thùc tÕ, rÊt khã cã ®îc sù ®ång bé hoµn h¶o nªn
ph¶i cho phÐp cã kho¶ng thay ®æi nµo ®ã vÒ thêi gian.
H×nh 8.5: Trao ®æi kho¸ Diffie - Hellman
8.4 Trao ®æi kho¸ Diffie - Hellman
NÕu ta kh«ng muèn dïng dÞch vô kho¸ trùc tiÕp th× buéc ph¶i dïng giao
thøc tho¶ thuËn kho¸ ®Ó trao ®«Ø kho¸ mËt. Tríc hÕt, giao thøc tho¶ thuËn kho¸
næi tiÕng nhÊt lµ giao thøc trao ®æi kho¸ Diffie - Hellman. Gi¶ sö r»ng, p lµ sè
nguyªn tè, α lµ phÇn tö nguyªn thuû cña ZP vµ chóng ®Òu lµ nh÷ng tham sè c«ng
khai. Giao thøc trao ®æi kho¸ Diffie - Hellman ®îc ®a ra trong môc 8.5.
Cuèi giao thøc, U vµ V tÝnh ra cïng mét kho¸:
Giao thøc nµy còng t¬ng tù víi s¬ ®å ph©n phèi kho¸ tríc cña Diffie -
Hellman ®· m« t¶ tríc ®©y. Sù kh¸c nhau ë chç c¸c sè mò aU, aV cña U vµ V
®Òu ®îc chän l¹i mçi lÇn thùc hiÖn giao thøc thay v× cè ®Þnh. Còng nh vËy,
trong giao thøc nµy, c¶ U lÉn V ®Òu ®îc ®¶m b¶o kho¸ t¬i v× kho¸ session phô
thuéc vµo c¶ hai sè mò ngÉu nhiªn aU vµ aV.
8.4.1 Giao thøc tr¹m tíi tr¹m.
Trao ®æi kho¸ Diffie - Hellman ®îc ®Ò xuÊt nh s¬ ®å sau: