390 likes | 616 Views
Avaliku võtme Infrastruktuur ( PKI ). Ahto Buldas. Loengu sisu:. Avaliku võtmega krüptograafia kasutusalad Veidi ajaloost Sertifikaatide idee “Klassikaline” PKI Uuemad tehnoloogiad. E B ( X ). A. B. D A ( X ). A. B. Avaliku võtmega krüptograafia kaks funktsiooni. Salastus
E N D
Avaliku võtme Infrastruktuur(PKI) Ahto Buldas
Loengu sisu: • Avaliku võtmega krüptograafia kasutusalad • Veidi ajaloost • Sertifikaatide idee • “Klassikaline” PKI • Uuemad tehnoloogiad
EB(X) A B DA(X) A B Avaliku võtmega krüptograafia kaks funktsiooni • Salastus • Autentimine
Avaliku võtmega krüptograafia rakendusi • Turvaline andmevahetus: • VPN • Turvaline e-mail • Juurdepääsu kontrollimine: • Andmebaasi kaitse • Võrgu kaitse • Serveri kaitse • Digitaalallkiri
DC DA DB A B EA EB EA EB EC EC INTERNET C Visioon • Igal Interneti kasutajal on oma salajane võti ja ta teab teiste kasutajate avalikke võtmeid
Avalike võtmete levitamise probleem • Kuidas teha avaliku võtme autentne koopia kättesaadavaks kõigile potentsiaalseile allkirja kontrollijaile? • Takistus: Võtmete modifitseerimine võimaldab vahendusründeid.
nr Nimi Avalik voti 1 Kalle A@#ad113 2 Anu 3(Ddq0s4 3 Ahto 23574853 4 Lea olentore … … … Idee: Avalikud võtmed telefoniraamatus • Diffie ja Hellman pakkusid 1976. aastal välja idee, et avalike võtmete levitamiseks võiks kasutada “telefoniraamatut”, kus telefoninumbri asemel on avalik võti. • “Telefoniraamat” esitatakse Internetis kättesaadava on-line teenusena.
Sertifikaatide idee • 1978 -- Kohnfelder leidis, et avalikke võtmeid levitav globaalne on-line teenus ei ole teostatav suure kommunikatsiooni-vajaduse tõttu. • Kohnfelder pakkus välja sertifikaatide idee: iga “telefoniraamatu” kirje (sertifikaat) on eraldi allkirjastatud usaldatava teenusepakkuja poolt.
Owner’s ID • Owner’s public key • Certificate issuer • Validity period • … Sertifikaat • Dokument, mis seostab isiku tema avaliku võtmega.
Sertifikaatide eelised • Sertifikaate saab levitada üksteisest sõltumatult ja nende kontrolliks ei ole vaja iga kord pöörduda “telefoniraamatu” poole. • Tänu sellele vähenevad sidevajadused ja sidevahendite koormus on ühtlasemalt jaotatud: ei teki pudelikaela ühe võrgupunkti (“telefoniraamat”) juures.
Kuidas sertifikaate välja antakse? • Sertifikaate annab välja usaldatav osapool -- sertifitseerimiskeskus (Certification Authority). • CA-l on sertifitseerimispõhimõtted -- dokumenteeritud reeglistik, mis määrab kellele, kuidas ja milleks sertifikaate välja antakse. • CA-l peab tõhusalt kaitsma oma salajast võtit. • CA peab regulaarselt korraldama auditit oma turvalisuse hetkeolukorra selgitamiseks.
A A Sertifikaatide kasutamine Piisab sellest, kui kõik teavad CA avalikku võtit! CA CA EA(X), B CA CA A B
Ohud salajase võtme hoidmisel • Võtme häving -- võtme omanik ei suuda enam teistega suhelda. Tuleb võtta uus sertifikaat. • Võtme väärkasutus -- piiratud aja jooksul saab võimalikuks suhtlus tegeliku omaniku nimel ja konfidentsiaalsuse kadu. Ohtlik! • Võtme vargus -- saab võimalikuks suhtlus tegeliku omaniku nimel piiramatu aja jooksul. Väga ohtlik!
Salajase võtme hoidmise viisid • Lahtiselt arvutikettal • Krüpteeritult arvutikettal • Arvutiga ühendatud aparatuurses eriseadmes (kiipkaart jne). • Klaviatuuriga kiipkaart • Pihuarvuti
Ründed võtmele • Passiivne rünne -- ründaja kopeerib arvuti sisu ja üritab sealt võtit leida. • Aktiivne rünne -- ründaja modifitseerib arvutis töötavaid programme ja lisab ründeprogramme (Trooja hobused jne.)
Võti krüpteeritult kõvakettal Võti on parooliga krüpteerituna kõvakettal Eelis: • Krüpteerimine muudab võtme varguse passiivse ründe abil raskeks. Ohud ja puudused: • Säilib võtme varguse oht aktiivse ründe tulemusena.
Võti kiipkaardis • Kiipkaart on kaitstud parooliga ning suudab teostada iseseisvalt krüpteerimisfunktsiooni. Eelis: • Muudab võtme varguse raskeks. Ohud ja puudused: • Parooli varguse oht • Lisakulutused kaardile ja lugemisseadmele
Klaviatuuriga kiipkaart Eelis: • Parool sisestatakse kaardile otse, mitte arvuti kaudu ja parooli vargus muutub seetõttu raskeks. Ohud ja puudused: • Säilib väärkasutuse oht aktiivsete rünnete abil (arvutis olevad Trooja hobused jms.) -- kasutaja ei tea, mida tegelikult krüpteeritakse! • Suhteliselt vähelevinud lahendus
Pihuarvuti Eelis: • Pisike kaasaskantav arvuti, mis suhtleb teiste arvutitega piiratud protokollistiku abil. Kasutaja saab vaadata krüpteeritavaid sõnumeid. Puudused ja ohud: • Laialt levinud pihuarvutid ei ole turvalisemad tavalisest kontoriarvutist.
Tühistuse vajalikkus • Nagu nägime, ei ole olemas absoluutselt turvalist võtme hoidmise viisi, mistõttu tuleb rakendada organisatsioonilisi meetmeid. • Kui võti satub volitamata isiku kätte, siis tuleb sertifikaat tühistada, st lõpetada isiku seostatus võtmega.
Tühistusega seonduvad probleemid • “Telefoniraamatu” lahenduses on tühistus lihtne -- teata teenusele ja avalik võti kustutatakse telefoniraamatust. • Sertifikaatidega lahenduses on tühistus tõsine probleem, sest sertifikaatide levik ei ole tsentraliseeritud -- aga justnimelt selleks sertifikaadid välja mõeldigi! • Kuidas CA suudaks kiiresti tõkestada kehtetu sertifikaadi miljonite koopiate levikut?
TühistusnimekiriCertificate Revocation List - CRL • Analoogiline pangakaartide musta nimekirjaga. • CA väljastab regulaarselt (näiteks kord päevas) tühistusnimekirju, mille ta signeerib oma salajase võtmega. • Kõik kasutajad saavad hankida värske tühistusnimekirja ja kontrollida, kas suhtluspartneri sertifikaat mitte tühistatud pole. • Tühistusnimekirja ei pea panema aegunud sertifikaate.
Tühistusnimekirjade puudused • Vastavalt NIST uurimustele tühistatakse 10% sertifikaatidest enneaegselt, mistõttu tühistusnimekirjad võivad olla väga mahukad. • Tühistusnimekirjade massiline allalaadimine tekitab uuesti kommunikatsiooniprobleemi. • Viivitus -- kui tühistusnimekirju uuendatakse kord päevas, siis info tühistuse kohta hilineb keskmiselt pool päeva -- selle aja jooksul võib ründaja nii mõndagi korda saata!
Kompromiss: ajakohasus vs. kommunikatsioon • Ajakohasuse tagamiseks võib tühistusnimekirju sagedamini uuendada. • Sagedasem uuendamine aga tähendab nende sagedasemat allalaadimist ja suurendab kommunikatsioonivajadusi ...
Kehtivuse kontroll sidusresiimis • Tühistusnimekirjad sisaldavad kasutajale palju ülearust informatsiooni. • Kasutajat huvitab vaid ühe sertifikaadi kehtivus. • Seega oleks väga kasulik on-line teenus, mis annaks ühe sertifikaadi kohta vastuse, kas ta on tühistatud või ei ole.
OCSP protokoll • Klient saadab päringuga sertifikaadi numbri. • Server vastab, kas sertifikaat on enneaegselt tühistatud või mitte. Vastus sisaldab: - sertifikaadi numbrit - kehtivusinfot (tühistatud/mittetühistatud) - vastuse enda kehtivusaega • Server signeerib vastuse oma salajase võtmega
“Klassikaline” PKI mudel Kataloogi- teenus Sertifikaadid ja CRL CA Sertifikaadid ja CRL OCSP Avaldus Sertifikaat Kehtivusinfo Võtme omanik PKI kasutaja Kommunikatsioon
OCSP puudused • Toob sisse täiendava usaldatud osapoole -- OCSP serveri. Serveri vastus ei tarvitse olla kooskõlas CA-lt saadud informatsiooniga. • Arvutusmahukas -- iga vastus vajab eraldi digitaalsignatuuri, mis on aeganõudev ilma eriaparatuuri abita. Tarkvaralahendused - kümned vastused sekundis Aparatuursed - sajad vastused sekundis
Lahendused puudustele • Kolmanda osapoole elimineerimiseks organiseeritakse tühistusnimekiri ümber, nii et CA digitaalsignatuur oleks kontrollitav ühe kirje kaupa. • Vastuseid kehtivuspäringutele ei signeerita eraldi, vaid kasutatakse CA poolt tühistusnimekirjale antud digitaalsignatuuri. • Kõike seda võimaldavad nn. Merkle’i puud.
Merkle’i puu h-krüptograafiline räsifunktsioon d=h1234=h(h12,h34) d h12=h(x1,x2) h34=h(x3,x4) h34 x1x2x3x4 x1x2 Merkle’i puu hulgale {x1,x2,x3,x4} Elemendi x1 autentimistee • Võimaldab saada lühikest (pikkus log n) tõestust (autentimistee), et element x on hulgas {x1…xn}.
Merkle’i puu kasutamine tühistusnimekirjades • Tühistusnimekirja elemendid on puu lehed. • CA signeerib puu juure ja edastab lehed ning signatuuri on-line valideerimisteenusele. • Kui teenuse osutaja saab päringu sertifikaadi numbriga, mis oli tühistatud, siis saadetakse talle vastu CA signatuur ja autentimistee. • NB! Võib säilitada ka kehtivate sertifikaatide nimekirja. Siis saab anda tõestuse, et sertifikaat kehtib!
Merkle’i puu kasutamine signeerimise kiirendamiseks • Teenuse osutaja kogub päringuid ja moodustab kõigi vastusteste hulgast Merkle’i puu. • Teenuse osutaja signeerib puu juure ja edastab signatuuri päringu tegijatele, lisaks ka tõestuse, et vastus kuulub kõigi vastuste hulka. • Võimaldab massilist ja odavat signatuuride moodustamist. Kaob vajadus aparatuursete kiirendite järele -- mitu tuhat korda efektiivsem traditsioonilisest digitaalsignatuuridest.
Vääramatu tõendus • Merkle’i puu tagab efektiivselt ainult kas JAH vastuse tõestuse või EI vastuse tõestuse, kuid mitte mõlemat korraga. • Kuidas tagada seda, et samale kehtivus-päringule ei saaks vastata erineval viisil? • Selleks kasutatakse nn. autenditud otsimispuud (Authenticated Search Tree).
Autenditud otsimispuu • Igas tipus on otsimisvõti q ja räsiväärtus H=h(HL,q,HR), kus HL ja HR on vastavalt vasak- ja parempoolse järglase räsiväärtused. • Autentimisteele lisatakse otsimisvõtmed. Autenditud otsimispuu hulgale S={10,20,25,30}.
Positiivne tõestus Tõestus, et 25S: H1, 20, H3 H2, 30, NIL NIL, 25, NIL Kontrollitavad seosed: d = h(H1, 20, H3) 20<25 H3=h(H2, 30, NIL) 25<30 H2=h(NIL, 25, NIL)25=25 • NB! Ka positiivse tõestuse korral võrreldakse elementi otsimisvõtmetega.
Negatiivne tõestus Tõestus, et 24S: H1, 20, H3 H2, 30, NIL NIL, 25, NIL Kontrollitavad seosed: d = h(H1, 20, H3) 20<24 H3=h(H2, 30, NIL) 24<30 H2=h(NIL, 25, NIL)24<25 NIL • Negatiivne tõestus näitab, et sellel kohal, kus otsitav element järjestuse mõttes peaks olema, on tühi koht (NIL).
Vääramatu tõenduse algoritmid: • D - lühendialgoritm, mis hulgale S seab vastavusse lühendi d=D(S). • P - tõestusalgoritm, mis paarile (x,S) seab vastavusse tõestuse p = P(x,S). • V - kontrollialgoritm, mis iga kolmiku (x,d,p) kohta ütleb kas jah või ei. Korrektsus: Iga xS korral V(x,D(S),P(x,S)) = jah Iga xS korral V(x,D(S),P(x,S)) = ei Turvalisus: Raske on leida nelikut x,d,p+,p-, nii et V(x,d,p+) = jah; ja V(x,d,p-) = ei.
Kokkuvõte • Avaliku võtme infrastruktuuri areng on teinud “ringi” -- alustati “telefoniraamatust” ja jõuti sertifikaadi kontseptsioonini, seejärel tuldi uuesti tagasi on-line valideerimise juurde. • Põhjused: tehnoloogia arengu iseärasused -- on-line ühendus ei ole enam probleem nagu ta seda oli seitsmekümnendatel aastatel. • “Klassikaline” avaliku võtme infrastruktuur toetab küll kasutaja autentimist, kuid mitte tõestusväärtusega dokumentide teket.