Slide 1 Kulcsgondozás Egy kriptográfiai eszközöket is használó rendszer csak annyira lehet biztonságos, amennyire a kulcsgondozása az. A kulcsgondozás alapvető feladatai, a biztonságos kulcs-: generálás tárolás kiosztás frissítés visszavonás kiegészítő technikák: key escrow technika, kulcsmegosztás (secret sharing) Slide 2 Kulcskiosztás A kulcsok szétosztásának módszerei: manuális kulcsszerveres tanúsítvány-alapú Manuális: megfelelő rendszabályok betartása mellett a legbiztonságosabb lehet. Nagy hálózatokban nem kivitelezhető vagy igen költséges. Kulcsszerveres: pl. Kerberos vagy Needham-Schroeder alább. Tanúsítvány-alapú: a nyilvános kulcsú megoldások nélkülözhetetlen eleme (alább). A tanúsítvány olyan nyíltan továbbítható információ, amely alapvetően egy nyilvános kulcselemet és a tulajdonosát, valamint ezek összetartozását igazolhatja biztonságosan.
Slide 3 Needham-Schroeder protokoll Szimmetrikus kulcsú technológia Központ 1 2 A 3 4 5 B 1. A Kp: ID A, ID B, R1 2. Kp A: E TKA ( R1, ID B,DK, E TKB (DK, ID A )) 3. A B: E TKB (DK, ID A ) 4. B A: E DK (R2) 5. A B: E DK (R2-1) Slide 4 Kulcshierarchia Élettartam MK TK A,TK B,... Kompromittálódás hatása DK 1,DK 2,...
Slide 5 Needham-Schroeder prot. folyt. 1. A Kp: ID A, ID B, R1 2. Kp A: E TKA ( R1, ID B,DK, E TKB (DK, ID A )) 3. A B: E TKB (DK, ID A ) 4. B A: E DK (R2) 5. A B: E DK (R2-1) R1, R2: visszajátszásos támadás megakadályozása Elemzés: C próbálja megszemélyesíteni A,B, Kp feleket Mit hisznek a felek a protokoll lefutása után? - B azt hiszi, hogy olyan féllel áll szemben, aki ismer egy valamikor A-nak küldött DK kapcsolatkulcsot - A nincs meggyőzve arról, hogy B a partnere Régi, a C támadó által időközben megismert DK kulcs felhasználható támadásra (C a protokoll 3.lépésétől kezd) Slide 6 N-Sch. időpecsétes változata Javított protokoll ( Kerberizált ): 1. A Kp: ID A,ID B 2. Kp A: E TKA (T,L,DK, ID B ), E TKB (T,L,DK, ID A )) 3. A B: E DK (T, ID A ), E TKB (T,L,DK, ID A ) 4. B A: E DK (T +1) T, L a DK kulcs előállításának időpontja, ill. élettartama. 2. lépés: A ellenőriz : t2 [T,T+L]? 3. lépés: B ellenőriz : t3 [T,T+L]? 3.lépés: E DK (T, ID A ) A meggyõzi B felet a jelenlétéről (1-2. lépésig egy C támadó is eljuthat), T friss elemmel kihívást is küld egyúttal B felé. 4.lépés: A meggyőzi B felet a jelenlétéről Időszinkron és biztonság
Slide 7 Kulcskiosztás aszimmetrikus kulcsú technológiával 1.Verzió: 1. A B: ID A, E B (R) passzív támadó: rendben aktív támadó: megszemélyesítés sikeres 2.Verzió: 1. A B: ID A, k p A 2. B A: ID B, k p B 3. A B: E B (R1) 4. B A: E A (R2) 5. A:, B: k=f(r1,r2) Slide 8 Kulcskiosztás aszimm.kulcsú technológiával folyt. 2.Verzió elemzése: - Passzív (hallgatózó) C támadó nem képes a véletlen elemek megállapítására. - C nem képes A (vagy B) megszemélyesítésre, ha helyére áll, s felveszi annak a nyilvános paramétereit. - Ha A helyett a C támadó küldené az üzeneteket az 1. és 3. lépésekben, nem lenne képes közös k kulcsot képezni B-vel. -Ugyanakkor a MIM (Man-In-the-Middle), támadó középen támadás sikeres: C az A és B közé áll: 1. A C: ID A, k p A C B: ID A, k p C 2. B C: ID B, k p B C A: ID B, k p C
Slide 9 Kulcskiosztás aszimm.kulcsú technológiával folyt. 3. Verzió (interlock protokoll) : MIM elleni védelem 1. A B: ID A,k p A 2. B A: ID B,k p B 3. A B: /E B (R1)/ (blokk első fele) 4. B A: /E A (R2)/ 5. A B: //E B (R1)// (blokk második fele) 6. B A: //E A (R2)// 7. A:, B: k=f(r1,r2) Mi bizonyítja B számára a fenti protokollban, hogy A-val beszél? Semmi. Slide 10 Kulcskiosztás aszimm.kulcsú technológiával folyt. 4.Verzió: kulcstanusítvány alkalmazása 1. A B: ID A, k p A, C A 2. B A: ID B, k p B, C B 3. A B: E B (R1) 4. B A: E A (R2) 5. A:, B: k=f(r1,r2) tanusítványozó infrastruktúra (PKI)
Slide 11 Kulcstanusítvány ISO X.509 tanúsítvány Az X.509 tanúsítvány komponensei az alábbiak:.verziószám.sorozatszám.algoritmus azonosító.tanúsítvány kibocsátó (CA) azonosítója.tanúsítvány érvényességi időtartam (Not Before Date, Not After Date).A tanúsítvány tulajdonosának azonosítója.a tanúsítandó publikus kulcs.a digitális aláírás (a fenti adatokra) Slide 12 Kulcstanusítvány Verzió V3 Sorozatszám 52C8 2013 7C85 A7ED F217 CE82 C845 1673 Aláírási algoritmus Kiállító md5 RSA Class 2 Public Primary CA Érvényesség kezdete 1998. 05. 12. 2:00:00 Érvényesség vége 2004. 01. 07. 1:59:59 Tulajdonos Verisign Class 2 CA - Individual Subscriber Nyilvános kulcs RSA(1024 bit) 3081 8902 8181 00B5 CB1A 545E 25B0 2C59 5F09 6BD0 DAD6 4A4B 119D 1A0A 3E7E 2FB7 655F 1763 15E5 2CD0 2000 0CF0 BA6B AA5E 49B1 6893 8325 AC24 5FA2 231C 694D B83B DB7D DA8F C109 CFA5 583A B64B C4D4 DBD8 AE75 FA86 2299 2201 2860 A5DB D530 DF21 705E 4899 AD21 5491 D1DE 5FFB 3829 531B E27A 5358 C50D 5D13 07B3 50C4 064B 39F8 54AB B98B 6912 1302 0301 0001 Kiegészítő adatok: CRL URL: http://crl.verisign.com/pca2.1.1.crl Ujjlenyomat alg. sha1 Ujjlenyomat: 7B02 312B ACC5 9EC3 88FE AE12 FD27 7F6A 9FB4 FAC1
Slide 13 (Base64 kódolású X.509 (*.CER) fájl) -----BEGIN CERTIFICATE----- MIIDUjCCArugAwIBAgIQUsggE3yFp+3yF86CyEUWczANBgkqhkiG9w0BAQQFADBf Kulcstanusítvány MQswCQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xNzA1BgNVBAsT LkNsYXNzIDIgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkw HhcNOTgwNTEyMDAwMDAwWhcNMDQwMTA2MjM1OTU5WjCBuDEXMBUGA1UEChMOVmVy avnpz24sieluyy4xhzadbgnvbastflzlcmltawduifrydxn0ie5ldhdvcmsxrjbe BgNVBAsTPXd3dy52ZXJpc2lnbi5jb20vcmVwb3NpdG9yeS9SUEEgSW5jb3JwLiBC esbszwyulexjquiutfrekgmpotgxndaybgnvbamtk1zlcmltawduiensyxnzidig Q0EgLSBJbmRpdmlkdWFsIFN1YnNjcmliZXIwgZ8wDQYJKoZIhvcNAQEBBQADgY0A MIGJAoGBALXLGlReJbAsWV8Ja9Da1kpLEZ0aCj5+L7dlXxdjFeUs0CAADPC6a6pe SbFok4MlrCRfoiMcaU24O9t92o/BCc+lWDq2S8TU29iudfqGIpkiAShgpdvVMN8h cf5ima0hvjhr3l/7ocltg+j6u1jfdv0tb7nqxazlofhuq7mlaritagmbaagjgbqw gbeweqyjyiziayb4qgebbaqdagegmduga1udhwqumcwwkqaoocagjgh0dha6ly9j cmwudmvyaxnpz24uy29tl3bjytiums4xlmnybdbhbgnvhsaeqda+mdwgc2cgsagg +EUBBwEBMC0wKwYIKwYBBQUHAgEWH3d3dy52ZXJpc2lnbi5jb20vcmVwb3NpdG9y es9sueewdwydvr0tbagwbgeb/wibadalbgnvhq8ebamcaqywdqyjkozihvcnaqee BQADgYEAkgtjUSLq2OlVX/o4zdMkXuH0Oxi0SaaojBREETcUj5pSuLKEzt3sF4nV dcskuoeh1fgf2a6fuwjqzjuzglybl7/enkhbiujxj4tifsafkgui2b35wldsy0b+ ao+xirs0/lrzomdfcamg7akc7oawwb3ztovcoaihgeeol5j/dlk= -----END CERTIFICATE----- Slide 14 Kulcstanusítvány Root CA3 CA2 CA4 CA1 A B CA (Certification Authority) fa A ismeri CA1, B ismeri CA4 hiteles publikus kulcsát. A nyíl iránya mutatja, hogy például CA1 és CA2 kölcsönösen hitelesítik egymás publikus kulcsát, vagy hogy Root CA hitelesíti CA3, CA4 publikus kulcsát. A Root CA publikus kulcsa már nem tanúsítvánnyal igazolt, a rendszerben hitelesen ismertnek tételezzük fel.
Slide 15 Kulcstanusítvány Amikor A és B egymással egy nyilvános kulcsú kriptográfiára épülő protokollt szeretne futtatni, be kell szereznie a másik fél nyilvános kulcsát igazoló tanúsítványokat. Például A elküldi a tanúsítványok alábbi listáját B számára: A B: p p p p { k A } CA1, { kca 1} CA2, { kca2} CA3, { kca3} CA4 ahol {k}ca azt jelenti, hogy k kulcsot CA tanúsítja. B a listát fordított sorrendben dolgozza fel. A lista utolsó eleme és CA4 általa hitelesen ismert publikus kulcsa alapján megállapíthatja CA3 hiteles publikus kulcsát. A lista megelőző, harmadik eleme alapján - most már CA3 hiteles kulcsa alapján - megállapíthatja CA2 hiteles publikus kulcsát. A lista második eleme alapján - most már CA2 hiteles kulcsa alapján - megállapíthatja CA1 hiteles publikus kulcsát, majd ennek alapján az első tanúsítvány felhasználásával elér a céljához, A publikus kulcsa hitelességének ellenőrzéséhez. Slide 16 Diffie-Hellman (DH) kulcscsere diszkrét hatványozás (ált.: kommutatív egyirányú függvény) GF(q): egy 'nagyméretû' véges test g: primitiv elem 1. A B: g R1 2. B A: g R2 3. A: (g R2 ) R1 B: (g R1 ) R2 kommutatívitás: k=(g R2 ) R1 =(g R1 ) R2 - hallgatózó C támadó nem képes az R1 illetve R2 véletlen elemeket megállapítani - aktív C támadó képes támadó a középen támadásra: C az A féllel a fenti protokoll szerint megbeszél egy k A kulcsot, B féllel egy k B kulcsot, majd összekapcsolja õket, s konvertálja a rejtett üzeneteket az egyik kulcsról Most segít-e az interlock ötlet? (Sajnos nem. Miért?)
Slide 17 Üzenethitelesítés Az üzenethitelesítés feladata: a vételi oldalon detektálhatóvá az üzenetmódosító aktív támadást - kriptográfiai ellenőrző összeg: MAC: Message Authentication Code kulcsolt hash - üzenethitelesítés rejtjelezéssel - digitális aláírás Slide 18 Üzenethitelesítés MAC inic. blokk N bites regiszt. + E üzenet blokkok m bit kiválasztás MAC kulcs y i =E k (x i y i-1 ), i=1,...,n y 0 = IV (inicializáló. blokk). MAC = g(y n ),
Slide 19 Üzenethitelesítés Kulcsolt hash: [r,x], H([r,X]) X: üzenet, R: véletlen elem H: kriptográfiai hash leképezés előnye: H publikus fv. Szimmetrikus kulcsú rejtjelezés alkalmazása: - véletlen üzenetek esete - strukturált üzenetek esete: vételi oldali struktura-ellenőrzés: MDC (Manipulation Detection Code) Támadási lehetőségek: pl. CBC IV támadása Slide 20 Titok megosztás 1.verzió: A binárisan ábrázolt titkot N diszjunkt szeletre vágjuk és szétosztjuk N személy (titok-gazda) között. Előnye: egyszerű Hátránya: - ha egy szelet is megsemmisül a titkot nem lehet rekonstruálni, - az összes személy jelenléte szükséges a rekonstrukcióhoz, - jelentős információval rendelkezik N-hez közeli számú személy együttese 2.verzió: S={0,1,...,q-1} a titkok halmaza (egész számokkal reprezentáljuk) s S az aktuális titok r 1,r 2,..., r N-1 véletlenül választott elemek S halmazból r 1, r 2,..., r N-1, r N az N személynek szétosztandó információ, ahol r N = s - (r 1 +r 2 +...+ r N-1 ) mod q Előnye: N-nél kevesebb részlet ismerete nem nyújt információt a titokra vonatkozóan! Hátránya: - továbbra is az összes személy szükséges a titok rekonstruálásához - a titok-darabok mindegyikének azonos a mérete a titokéval.
Slide 21 Titok megosztás A feladat megfogalmazása: titok (bináris fűzér) "feldarabolása" és szétosztása N személy között, hogy abból tetszőlegesen választott K személy együttesen rekonstruálni tudja a titkot, de K-nál kevesebb személy sohasem legyen erre képes (K<N). A titok rekonstruálható még akkor is, ha annak legfeljebb N-K darabja megsemmisül. 3.verzió: A véletlenítési ötletet ötvözzük a Reed-Solomon kódolással: - (N,K) paraméterű RS-kódot GF(q) felett, q= S - RS-kódok tulajdonsága: a kódszó legalább K elemének ismeretében egyértelműen dekódolható ( N-K törlés javítására alkalmas) Slide 22 Titok megosztás r 1,r 2,..., r K-1 véletlenül választott elemek GF(q)-ból r 0 =s r=(r 0, r 1,..., r K-1 ) vektort tekintsük az RS-kóddal kódolandó üzenetnek c=rg, G, GF(q) feletti KxN dimenziós generátormátrix c=(c 0, c 1,..., c N-1 ) kódszó elemeit osztjuk szét az N személy között. 1 1 1 α G=.. 1 1 α K 1 α 2. 2( K 1) α. 1. α N 1.. ( N 1)( K 1). α ahol α GF(q) N-edik primitív egységgyök.
Slide 23 Titok megosztás c i =D(α i ), i=0,1,...,n-1 ahol D(x) = r 0 + r 1 x +... + r K-1 x K-1 GF(q) feletti polinom Egy érdekes interpretáció (Shamir): Egy olyan K-1 -edfokú y=d(x) polinom létezik, amely K adott (y 1,x 1 ), (y 2,x 2 ),...,(y K,x K ) ponton keresztül fektethető, vagyis amelyre y i =D(x i ),1 i K. Ha tehát N darab egy görbén fekvő pontot választunk, akkor bármely legalább K pontot tartalmazó részhalmazból a görbe (polinom) rekonstruálható, amelynek a nulladfokú tagja a titok!