L căđ lai b ov mu sinh t rc
4.2.1 Giao th cKerberos
Gi i thi u
KerberosălƠăm tăgiaoăth căx́căth căphơnăt́năchoăphépăm tăti nătrìnhă(đ căbi tăđ nănh ă là ng iădùng)ăđ căch yătrênădanhăngh aăng iădùngăđ ăch ngăminhădanhăt́nhăc aă mìnhăchoăm tăng iăx́căminhă(ḿyăch ) mƠăkhôngăg iăm tăd ăli uănƠoădùngăđ ăx́că minhădanhăt́nhăquaămôiătr ngăm ng.ăKerbeosăcóătùyăch năcungăc păvi cătoƠnăv năd ă li u,ăvƠăb oăm tăchoăd ăli uăđ căg iăvƠănh năgi aăng i dùng và ḿy ch . Kerberos đưăđ căph́tătri nătrongănh ngăn mă80ăc aăth k ă20,ălƠăm tăph năc aăd ắnăAthenaăc aă MIT.ăKhiăs ăd ngăKerberosătrênăćcăn năt ng,ăm iătr ngăkh́cănhau,ăvi căch nhăs aă giaoăth călƠăc năthi tăđ ăđ măb oănóăcóăth ăho tăđ ngăt tăd iăćcăch́nhăśchăvƠămôă hìnhăm i.ă ăgi iăquy tănhuăc uănƠy,ăphiênăb nă5ăc aăgiaoăth căKerberosăđưăđ căph́tă hƠnhăvƠoăn mă1989ăvƠănóăđangăđ căxemălƠătiêuăchu năc aăKerberosă[13].
Giaoăth căKerberosăcóăkh ăn ngăch ngăl iăvi căngheălénăhayăg iăl iăćcăgóiătinăc ăvƠă đ măb oăt́nhătoƠnăv năc aăd ăli u.ăM cătiêuăkhiăthi tăk ăgiaoăth cănƠyălƠănh măvƠoămôă hình ng i dùng ậ ḿy ch vƠăgiúpăchoăc ă2ăbênăcóăth ăx́căth căđ căl nănhau.
Kerberosăg măcóă3ăthƠnhăph n:
• Ng iădùng:ăLƠăng iădùngăc aăh ăth ngăx́căth căKerberos • KDC:ăTrungătơmăphơnăph iăkhóaă(KeyăDistributionăCenter)
o C ăs ăd ăli u:ăL uătr ătoƠnăb ăm iăthôngătinăc aăng iădùngvƠăđ cădùngă choăvi căx́căth căng iădùng
o Ḿyăch ăx́căth că(AuthenticationăServerăậAS):ă cădùngăđ ăx́căth că ng iădùng,ăhayănóiăch́nhăx́căh nălƠăđ ăchoăng iădùngx́căth căAS o Ḿyăch ăc păvéă(TicketăGranting Server - TGS):ă cădùngăđ ăx́căth că
66
• Ḿyăch ătƠiănguyênă(Resource Service ậRS):ăLƠăćcăḿyăch ăcungăc păd chăv c aăh ăth ngăKerberos,ăcóăch aătƠiănguyênămƠăng iădùngc nătruyăxu t.
Hình 4.5: Giao th c Kerberos. MôăhìnhăKerberosăđ năgi năg mă3ăgiaiăđo năch́nh:
• Giaiăđo nă1:ăNg iădùngx́căth căAS
• Giaiăđo nă2:ăTGSăx́căth căng iădùngvƠăc păvéătruyăc păđ năRS
• Giaiăđo nă3:ăRSăx́căth căquy nătruyăc păvƠăb tăđ uătraoăđ iăthôngătinăv iăng iă dùng.
B ng 4.1: Ćcăthôngăđi p trong giao th c Kerberos.
Thông đi p Mô t
M1 Ng iădùngg iăyêuăc uđ năḿy ch AS
M2 ASăt oăkhoá phiên Ks và temăth iăgian Ts,ămưăhóaăg iăđ năchoăng iă dùng
M3 Ng iădùnggi iămưăM2ăđ ăl yăKs,ăsauăđóămưăhóaăyêuăc uăd chăv ăr iă g iăđ năTGS
M4 TGSăgi iămưăM3,ăt oăraăkhoá phiên gi aḿyăch ătƠiănguyênăvƠăng iă dùng, Krs,ămưăhóaăb ngăKs.TGSăc ngămưăhóaăkhoá phiên (Krs)ăb ng khóaăc aăRSăsauăđóăg iăđ năng iădùng
M5 Ng iădùnggi iămưăM4ăđ ăx́căđ nhăKrs,ămưăhóaăyêuăc uḿyăch ă cungăc păd chăv b ngăKrsăr iăg iăđ năRS
M6 RSăgi iămưăyêuăc u,ăx́căminhăvƠăc păquy nătruyăc păn u xác minh thành công
67
Nh ăv y trong giao th c nƠy, có th th y ćc ḿy ch có ćc ch căn ngăkh́c nhau vƠ l uătr ćc d li u trong t ngăgiaiăđo năđ hoƠn thi n qú trình x́c th c c aăng i dùng. AS ch l uătr thông tin x́c th c vƠ có ch c n ngăki m tra danh t́nhăng i dùng, còn không bi t gì v khóa giao ti p vƠ lo i d ch v ng iăđó s d ng. TGS s lƠm nh ng công vi căđó đ c l p. N u m t ḿy ch b xâm nh p thì ḿy ch còn l i v n không b
nhăh ng.
Xác th c b ng đ c tr ng sinh tr c d̀ng Kerberos
Hình 4.6: X́c th c b ngăđ cătr ngăsinhătr c dùng Kerberos.
Thay vì s d ng đnh danh/m t kh u đ x́c th c trong giao th c Kerberos truy n th ng, chúng ta có th s d ngăđ cătr ngăsinhătr cănh ăđ c minh h a trong Hình 4.6. c n sinh ra khóa sinh tr c KBio t đ cătr ngăsinhătr c g c c a mình nh vƠo m tăl căđ b o v m u sinh tr că(nh ătrình bƠy trong 0).ăNg i dùng s đ ngăḱ khóaăđó v i ḿy ch x́c th că(AS).ăKhiăng i dùng mu n truy c p vƠo h th ng, h s t́i sinh l i khóa sinh tr c vƠ g i nó cho AS. AS g i l iăchoăng i dùng m t gói tin. K t thúcăgiaiăđo n 1. M c đ́ch c aăgiaiăđo n nƠy lƠng i dùng x́c minh AS t gói tin mƠ h nh năđ c. Trong
Resource Service Client B KBio Cancelable Biometric key generation AS TGS KDC Database Phase 1 Phase 2 Ticket Phase 3
68
giaiăđo nă2,ăng i dùng g i vé truy c păđ c c p b i AS cho TGS, vƠđ c TGS g i l i cho m t gói tin kh́c. M căđ́ch c aăgiaiăđo n nƠy lƠ TGS s x́căminhăng i dùng nh vƠo t m véđ c c p b i AS. N uăđúng, thìquaăgiaiăđo nă3,ăng i dùng s dùng t m vé trong gói tin c aăTGSăđ truy c p vƠo RS mƠ mình mong mu n. Ćcăb c c th c a giao th c nƠyăđ c mô t trong công trình n mă2017ă[74]
❖ Giaiăđo năđ ngăḱ
Trongăgiaiăđo n nƠy,ăng i dùng cung c păthôngătinăđ ngăḱ trong gói M01, vƠ g i t i cho ḿy ch x́c th c (AS) nh ăđ c minh h a trong Hình 4.7.ăTrongăđó KuAS vƠ KrAS l năl t lƠ khóa công khai vƠ khóa b́ m t c a AS. C p khóa nƠyăđ c s d ng trong nh ngăb c ti păthepăđ b o v nh ngăthôngăđi p gi aăng i dùng vƠ AS, c ngănh ă dùngăđ x́c th c ćcăthôngăđi p t AS g iăđ n cho TGS. Gói M01 s bao g m s đi n tho i vƠ mưđ nhădanhăng i dùng, mưđnh danh c a thi t b diăđ ngăđ c s d ng, vƠ khóa sinh tr c Kbio, khóaăđ c sinh ra t đ cătr ngăsinhătr căđ c bi năđ i b ng ćc giao th c CH NGă3. N uăng i dùng nghi ng khóa sinh tr c b l , h có th d dƠng đ i khóa sinh tr c mƠ không ph iăthayăđ i d li u sinh tr c g c c a mình.
Hình 4.7:ăGiaiăđo năđ ngăḱ trong giao th c Kerberos dùng sinh tr c.
Trong qú trình nƠy, s NONCE N01 vƠ tem th iăgianăđ c dùngăđ ch ng l i t n công l p l i. M01 đ c mư hóa b ng KuAS. Khi nh năđ c M01, AS s dùng khóa b́ m t c a nóđ gi i mư; ki m tra xem s đi n tho iăđưđ căđ ngăḱtr căđóhayăch a;ăn uăch aă thìl uăs đi n tho iăđó, s đnh danh c a thi t b diăđ ng vƠ khóa sinh tr c vƠoătrongăc ă s d li u. Sau đó, AS g i M02 l iăchoăng i dùng dùngăđ thông b́o qú trìnhăđ ngăḱ đư thƠnh công.
69 ❖ Giaiăđo n x́c th c
• Qú trình 1:
Giaiăđo n nƠy g m 3 qú trình. M c tiêu c a qú trình th nh t lƠ x́c th c ch́nh ḿy ch x́c th căAS.ă uătiên,ăng i dùng g iăthôngăđi m M1 cho AS. M1 ch a ćc thông tin x́c th cănh :ăs đi n tho i, s đnh danh c a thi t b , s NONCE N1 (đ c sinh ng u nhiên), vƠ tem th i gian. N1 đ c s d ngăđ x́c minh l iăthôngăđi p vƠ tem th i gian dùngăđ ki m tra th i gian. Nh ng thông tin nƠyăđ c mư hóa b ng khóa công khai c a AS KuAS.ăDoăđó, ch có AS m i có th gi i mư M1. Sau khi m gói thông tin, AS s so śnh s đi n tho i vƠđnh danh thi t b v iăthôngătinăl uătr trongăc ăs d li uăđ ki m tra thông tin nƠyăđưđ căđ ngăḱtr căđóhayăch a.ăBênăc nhăđó AS ki m tra tem th i gian đ đ m b oăthôngăđi p nh năđ c m iăđ c t o ra. N u ćc thông tin h p l , AS s tŕch xu t khóa sinh tr c Kbio t c ăs d li uăđ mư hóaăthôngăđi p M2, vƠ g i nó cho ng i dùng. M2 ch a gói A, g m khóa phiên KsTGS gi a TGS vƠng i dùng, vƠ gói B, t m vé g iăchoăTGSăđ x́c th căng i dùng. Giao ti p gi aăng i dùng vƠ ASăđ c minh h a nh ăHình 4.8.
70
Khi nh năđ căM2,ăng i dùng c n dùng d li u sinh tr c c a ch́nh mình vƠ m t vƠi thông s l uătr trong thi t b diăđ ngăđ t́i sinh khóa sinh tr c Kbio. Ti păđó dùng Kbio đ gi i mưM2.ăNg i dùng s ki m tra tem th iăgian,ăN1ăđ x́c minh th iăđi m g i tin vƠ đ i chi u ph n h i t ḿy ch có ph i lƠ đ́p ng t yêu c u c aăng i dùng hay không. N u h p l ,ăng i dùng có th yên tâm r ng AS lƠ ḿy ch mìnhăđangăc n k t n i. Sauăđó,ăng i dùng có th s d ng khóa phiên KsTGS đ giao ti p v i TGS.
• Qú trình 2:
Qú trình nƠy lƠ s giao ti p gi aăng i dùng vƠ ḿy ch c p véTGS.ă uătiên,ăng i dùng g iăthôngăđi p M3 t i cho TGS. M3 ch a gói C, g măthôngătinăng i dùngăđ TGS x́c mình vƠ thông tin ḿy ch d ch v RS_ID mƠng i dùng mu n s d ng; vƠ gói D, ch a vé do AS c p cho ng i dùng. Qú trình nƠyăđ c minh h a b ng Hình 4.9
Hình 4.9: Qú trình th 2 c aăgiaiăđo n x́c th c.
Khi nh năđ c M3, TGS m gói D b ng ćch s d ng khóa KTGS,ăđ l y khóa phiên KsTGS vƠsauăđó gi i mư gói C. TGS s so śnhăthôngătinăng i dùng trong gói D v i thôngătinăl uătr trongăc ăs d li u vƠ ki m tra chéo v i thông tin trong gói C. N u thông tin trùng kh p,ăng i dùngăđ c x́c th c thƠnh công. Sau đó, TGS l yăđ a ch
71
ḿy ch d ch v vƠ ki mătraăxemăng i dùng nƠy có quy n truy c p vƠo d ch v đó hay không. N uăđ c, TGS s g iăthôngăđi păM4ăchoăng i dùng. M4 bao g m khóa phiên KsRS (ch đ c t o b i TGS) gi aăng i dùng vƠ RS vƠ vé do TGS c păchoăng i dùng. Khi nh năđ căM4,ăng i dùng gi i mư b ng khóa phiên KsTGS vƠ l yăđ c KsRS.
• Qú trình 3:
Qú trình nƠy lƠ s giao ti p gi aăng i dùng vƠ ḿy ch d ch v RS.ăBanăđ u,ăng i dùng g i M5 t i RS. M5 ch a ćc gói G, g măthôngătinăng i dùngăđ RS ki m tra; vƠ gói H ch́nh lƠ vé do TGS c păchoăng i dùng, qú trình nƠyăđ c minh h a qua Hình 4.10.
Hình 4.10: Qú trình th 3 c aăgiaiăđo n x́c th c.
RS gi i mư gói H b ng khóa KRS c a nó, vƠ nh năđ c khóa phiên KsRS, vƠ dùng khóa phiênăđóđ gi i mư gói G. RS so śnhăthôngătinăng i dùng trong gói H vƠ trong gói G đ x́c mìnhăng i dùng.ăSauăđó, RS g iăthôngăđi păM6ăchoăng i dùng,ăđ giúpăng i dùng x́c th c RS. Thay vì g i l i N1, RS có th thayăđ i gí tr c a nó m t ́tăđ ch ng t n công l p l i b i vì M5 vƠ M6 g nănh ăgi ng nhau.
72 Phân t́ch b o m t
ăthôngăđi păđ uătiênăM1ăc aăqúătrìnhăx́căth c,ăng i dùng s ăd ngăk ăthu tămưăhóaă b tăđ iăx ngăv iăchi uădƠiăkhóaăcó th lƠ2048ăbităt ngăt ănh ă ăgiaiăđo năđ ngăḱănênă đ ăanătoƠnăr tăcao.Thôngăđi păth ăhaiăM2 đ cămưăhóaăb ngăsinhătr c.T ăthôngăđi pă M3ăđ năM6,ăm iăthôngăđi păđ uăđ cămưăhóaăb ngăkhóaăphiênăđ căt oăraăt ăKDC.ă Khóaăphiênăch ăcóăth iăgianăs ngăr tăng n,ăvƠăn uăk ăt năcôngăcóăth ăgi iămưăđ căkhóaă phiênăthìăc ngăkhôngă nhăh ngăđ năs ăanătoƠnăc aăc ăh ăth ng.
i măy uăduyănh tăc aăc ăh ăth ngălƠăthôngăđi păM2,ăvìăđ cătr ngăsinhătr căcóăkh n ngă không thay đ iătrong su t qú trình s d ng c aăng i dùng. Tuy nhiên, r t khóđ t n công khóa nƠy b i vì khóa sinh tr căđ c sinh ra t k thu t sinh khóa b o m t (cam k t m ho c rút tŕch m ), mƠ nh ng k thu tăđó đ m b o t́nh nhi u cao cho khóa. Trong th nghi m, khóa có chi u dƠi lƠ 128 bit, nênăn uăt năcôngătheoăki uăvét c n s ăc n th ă t iăđaă2128 = 340282366920938463463374607431768211456 l n,ăđ tìm ra khóa ch́nh x́c. Trongătr ng h p t nh t, khóa sinh tr c b l , k t n công c ng không th nƠo l n raăđ c d li u g c c aăđ cătr ngăsinhătr c nh vƠo t́nh b t kh ngh ch c a k thu t b o v m u sinh tr căđ c s d ng, vƠ c ng không lƠm nhăh ngăđ n s an toƠn c a toƠn h th ng.
i v i t n công l p l i, k t n công s d ng l i nh ng thông tin c trong nh ng l n giao dchătr căđ gi m oăng i dùng ho c ḿy ch nh măđ́nh l a bên còn l i. Trong giao th c nƠy, hình th c t năcôngăđó đ că ng năng a nh vƠo tem th i gian vƠ s NONCE. N u hai y u t nƠy không kh p, vi c x́c th c s k t thúc ngay.
Giao th c c ng mi n nhi m v i t n công xenăgi a, b i vì giao th c th a mưn yêu c u x́c th c l n nhau, cho phép ḿy ch x́căminhăng i dùng vƠ đ ng th iăng i dùng c ng có kh n ngăth c hi n m t s thao t́căđ ki mătraăng c l i ḿy ch xem cóđúng lƠ ḿy ch mƠ mình mu n liên h không. K t n công không th thayăđ i ćcăthôngăđi p đ c truy n gi a ḿy ch vƠng i dùng mƠ không b ph́t hi n.
Giao th c h tr x́c th căđaăthƠnh ph năđ nâng cao t́nh b o m t c a toƠn h th ng. Nó ch ra r ng, qú trình x́c th c c aăng i dùngăđòi h i ćc thƠnh ph n: s đi n tho i,
73
s đnh danh c a thi t b diăđ ng,ăđ cătr ngăsinhătr c c aăng i dùng. N u không cóđ 3 thƠnh ph n nƠy, k t n công không th nƠo gi m oăng i dùngăđ c.
i măđ́ng bƠn đơyălƠ t n công t bên trong. Lo i t n công nƠy x yăraăkhiăng i qu n tr h th ng l i d ng d li u c aăng i dùng do h n ta qu n ĺđ truy c p vƠo h th ng m t ćch h p ph́păd i danh ngh a c aăng i dùng. Trong giao th c nƠy, vi c x́c th c đ c phân chia thƠnh ćc qú trình riêng bi tăđ c th c hi n b i hai ḿy ch AS vƠ TGS. M i ḿy ch s h u d li u vƠ ch căn ngăriêng.ăASăl uătr thông tin ć nhân c a ng i dùng vƠ khóa sinh tr c,ăđóng vai trò ki m ch ngăng i dùng. TGS có tŕch nhi m c p véđ truy c p vƠo ḿy ch d ch v . TGS không bi tăđ cătr ngăsinhătr c c aăng i dùng,ănh ngăcó th ki m tra t́nh x́c th c c aăng i dùng b ng ćch so śnh thông tin đ c khai b́o b iăng i dùng vƠ thông tin c p ph́t t AS. Tuy nhiên n u AS lƠ k t n công, TGS không th nƠo ph́p hi năđ c. Nói tóm l i,ăđ i v i giao th c d ng nƠy có th ch ngăđ t t ćc t n công t bên ngoƠi;ănh ngăn u AS mu n gi m oăng i dùng vƠ đ́nh l a TGS vƠ RS thì v n có th đ c. Vì nói m t ćch công b ngăđơyălƠ đi m y u c a giao th c d a trên Kerberos, TGS vƠ RS ph iătinăt ng vƠoăAS,ăASăđ căchoălƠ thƠnh ph năđ́ng tin c y vƠ c ng ch́nh lƠ gót chân Achilles c a giao th c.