avaliku võtme infrastruktuur ( pki )

38
Avaliku võtme Infrastruktuur (PKI) Ahto Buldas

Upload: yonah

Post on 02-Feb-2016

122 views

Category:

Documents


0 download

DESCRIPTION

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 - PowerPoint PPT Presentation

TRANSCRIPT

Avaliku võtme Infrastruktuur(PKI)

Ahto Buldas

Loengu sisu:

• Avaliku võtmega krüptograafia kasutusalad

• Veidi ajaloost

• Sertifikaatide idee

• “Klassikaline” PKI

• Uuemad tehnoloogiad

Avaliku võtmega krüptograafia kaks funktsiooni

• Salastus

• Autentimine

A B

EB(X)

DA(X)

A B

Avaliku võtmega krüptograafia rakendusi

• Turvaline andmevahetus: – VPN– Turvaline e-mail

• Juurdepääsu kontrollimine:– Andmebaasi kaitse– Võrgu kaitse– Serveri kaitse

• Digitaalallkiri

Visioon

• Igal Interneti kasutajal on oma salajane võti ja ta teab teiste kasutajate avalikke võtmeid

INTERNET

BA

C

DA

EB

EC EC

EA

DB

EB

EA

DC

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.

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.

………

olentoreLea4

23574853Ahto3

3(Ddq0s4Anu2

A@#ad113Kalle1

Avalik voti

Niminr

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.

Sertifikaat

• Dokument, mis seostab isiku tema avaliku võtmega.

• Owner’s ID• Owner’s public key• Certificate issuer• Validity period…

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.

Sertifikaatide kasutamine

CA

A B

EA(X),

CA

A B

CA CA

A

Piisab sellest, kui kõik teavad CA avalikku võtit!

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

CA

Kataloogi- teenus

OCSP

Sertifikaadid ja CRL

Avaldus Sertifikaat

Võtmeomanik

PKI kasutaja

Kehtivusinfo

Sertifikaadid ja CRL

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

• Võimaldab saada lühikest (pikkus log n) tõestust (autentimistee), et element x on hulgas {x1…xn}.

x1 x2 x3 x4

h12=h(x1,x2) h34=h(x3,x4)

d=h1234=h(h12,h34)

x1 x2

h34

d

h-krüptograafiline räsifunktsioon

Elemendi x1 autentimisteeMerkle’i puu hulgale {x1,x2, x3, x4}

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.

10

25

20

30

H1=h(NIL,10,NIL)

H2=h(NIL,25,NIL)

H3=h(H2,30,NIL)

d=H4=h(H1,20,H3)

Autenditud otsimispuu hulgale S={10,20,25,30}.

Positiivne tõestus

• NB! Ka positiivse tõestuse korral võrreldakse elementi otsimisvõtmetega.

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

Negatiivne tõestus

• Negatiivne tõestus näitab, et sellel kohal, kus otsitav element järjestuse mõttes peaks olema, on tühi koht (NIL).

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

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.