330 likes | 501 Views
Krüptograafilised protokollid. Sven Laur. Idetifitseerimine I. Inimest on võimalik tuvastada kirjelduse järgi. Näiteks biomeetrilised omadused: sõrmejäljed, DNA, võrkkesta muster jne.
E N D
Krüptograafilised protokollid Sven Laur
Idetifitseerimine I • Inimest on võimalik tuvastada kirjelduse järgi. Näiteks biomeetrilised omadused: sõrmejäljed, DNA, võrkkesta muster jne. • Kirjelduse järgi tuvastamine on keeruline, sest inimene muutub. Skeemid kontrollivad mustrile vastavust ja omavad eristusläve. • On mugavad ning suhteliselt turvalised, kui tagatakse skeemi füüsiline turvalisus.
Identifitseerimine II • Paljudel osapooltel puudub füüsiline kirjeldus või on selle kontrollimine raske. • Osapooli on võimalik tuvastada ka selle teadmisi kontrollides. Peamine on kindlustada, et saladus oleks unikaalne. • Teadmisi saab kontrollida kahel viisil: ostseselt või ülesande-vastus(challenge-response) viisil.
Usaldatavad osapooled • Definitsioon. Protokolli osapoolt, kelle võimalik väärkäitumine seab ohtu kogu protokolli turvalisuse või funktsionaalsuse nimetatakse usaldatavaks osapooleks(TP). Kui TP käitumisest sõltub kogu protokolli turvalisus ning funktsionaalsus, siis nimetatakse seda tingimusteta TP. • Mida vähem tingimusteta TP seda parem.
Lihtne paroolkaitse Alice • Alice identifitseerib ennast parooli, PIN-i või millegi sarnasega. • Bob kontrollib seda võrreldes parooli nimekirjas oleva parooliga. • Bob on tingimusteta TP. Nimekirja lekkimisel kaob usaldusväärsus. • Alice' peab olema veendunud, et teine osapool on Bob, sest pahalane võib mängida Bobi. Anna parool! parool Bob Paroolide nimekiri
Parandatud paroolkaitse Alice • Bob kontrollib Alice'i parooli x õigsust arvutates räsi f(x) ning võrreldes seda Alice'i tegeliku parooli räsiga. • Bob on tingimusteta TP, st. Alice peab olema veendunud, et tegu on Bobiga. • Kui paroolide räsi fail lekib, siis paroolide teada saamiseks tuleb esmalt leida f(x) järgi leida x' nii, et f(x')=f(x), mis on "raske". Anna parool! parool Bob f Paroolide räsi
Räsifunktsioonid (I) • Definitsioon. Räsifunktsiooniks nimeta-takse funktsiooni f:{0,1}*{0,1}k, mis suvalise pikkusega bitijadale seab vasta-vusse fikseeritud pikkusega k bitijada. Räsifunktsioon peab olema efektiivselt arvutatav. • Iga räsifunktsiooni f korral tekivad kollisioonid, st. leidub f(x)=f(y) ja xy.
Räsifunktsioonid II • Definitsioon. Räsifunktsioon f:{0,1}*{0,1}kon raskestipöötatav, kui juhuslikult võetud y{0,1}kkorral on raske leida x nii, et f(x)=y. • Räsifunktsioon on nõrgalt kollisioonikindel, kui juhuslikult valitud x korral on raske leida x'x nii, et f(x)=f(x'). • Räsifunktsioon on kollisioonikindel, kui on raske leida x'x nii, et f(x)=f(x').
Räsifunktsioonide omadused • Saab näidata, et raskestipööratavus ja nõrk kollisioonikindlus on kaks sõltumatut omadust. Kui räsifunktsioon rahuldab neid kahte omadust, siis nimetatakse seda ühesuunaliseks räsifunktsiooniks. • Räsifunktsiooni turvalisuse määrab räsi pikkus, sest alati on võimalik proovida juhuslikke avatekste.
Xi Hi-1 E Hi Näitekonstruktsioon • Räsitav tekst jagatakse plokkideks X1...Xk. Alustatakse järjestikust krüpteerimist. Esimeseks võtmeks H0=IV on kokkulepitud algväärtus. • Lisaplokiks Xk+1 võetakse teksti pikkus bittides. See raskendab avateksti muutmist plokkide lisamise või kaotamise abil. • Plokkšifri turvalisus ei taga alati räsifunktsiooni turvalisust. Väljund Hk+1
Nõuded räsifunktsioonile • Alati võib eeldada, et räsifunktsioon on teada. • Et kindlustada turvalisus juhuks kui paroolide fail lekib, peab räsifunktsioon olema raskesti pööratav. • Ründaja võib kasutada sõnastikrünnet. Kui kasutajate nimekiri on pikk näit. 10000, siis on õnnestumise tõenäosus palju suurem.
Paroolide soolamine • Et muuta vältida rünnaku paraleliseerimist kasutatakse paroolide soolamist. • Failis on paaride (nimi, f(x)) asemel kolmikud (nimi, r, f(r||x)), kus r on iga kasutaja jaoks unikaalne bitijada. • Harilikult võetakse r on juhuslikult. • Räsifunktsioone ei ole mõtet ise leiutada!
Tuntumad räsifunktsioonid • Plokkšifri konstruktsioonid: MDC-2, MDC-4, Matyas-Meyer-Oseas + DES. • Spetsiaalsed räsifunktsioonid: - 1991. Rivest MD4(krüptograafiliselt nõrk); - 1992. Rivest MD5(arvatavasti nõrk); - 1992. den Boer RIPEMD(parandatud); - 1993. SHA-1 USA valitsuse standard; - 1996. MASH-1("mitte tunnustatud").
Lihtne küsimus-vastus skeem Alice • Alice' erineb teistest, sest ta oskab teksti krüpteerida. • Bob valib juhuslikult x. • Bob arvutab Ek(x) ja ja kontrollib, et see langeks kokku Alice' teatega y. • Alice' jaoks pole Bob tingimusteta TP. • Kogu süsteemi turvalisuse määrab ära võtmefaili turvalisus. y=Ek(x) x? Bob Võtmete fail
Skeemi analüüs • Kui šiffer on turvaline valitud adaptiivse avateksti ründe vastu, mis kasutab k avateksti, siis saab Alice' ohuta vastata k küsimusele. • Kui kõrvalseisja Carol suudab leida Bobi küsimustele õiged vastused, siis oskab ta krüpteerida teksti, enamike šifrite korral on see on samaväärne šifri murdmisele.
Parandatud skeem Alice • Et vältida sõltuvust võtmefaili turvalisusest, kasutame avaliku võtme krüptograafiat. • Bob valib juhuslikult x ja arvutab Ek(x) • Alice' suudab dekrüpteerida Ek(x) ja vastata nii, et y=x. • Kui x on juhuslikult valitud, siis ei saa Carol Alice'it teeselda. Ek(x) y Bob Avalike võtmete fail
Skeemi analüüs • Kui a.võtme krüptosüsteem on turvaline adaptiivse valitud krüptogrammidega rünnaku vastu, mis kasutab k krüptogrammi, siis võib Alice vastata k küsimusele. • Bob saab turvalisust suurendada, küsides Alice'lt mitu küsimust. • Võtmete lekkimine ei kujuta ohtu, küll peab Bob olema kindel nende audetsuses.
Edukas rünne Alice • Carol saab kasutada ära Alice' kergusklikust ning esitada talle sama küsimuse, mille esitas talle Bob. • Hoolimata sellest kui tugev on krüptosüsteem on rünnak läbi viidav. • Teiseks saab Carol teha adaptiivset valitud krüptogrammidega rünnakut. • Harilikult on see oluliselt tugevam kui teada olevate avatekst-krüptog. rünne. Ek(x) y Carol Ek(x) y Bob
Alice c a z Bob Nullteadmus kui ideaal • Identifitseerimisprotokoll oleks Alice' jaoks ideaalne, kui tema vastused ei oleks Bobile midagi uut, samas tahab Bob siiski Alice'i teadmisi kontrollida. • Definitsioon. Identifitseerimisprotokoll on nullteadmusega, kui Bob suudab iseseisvalt efektiivselt genereerida juhuslikke korrektseid dialooge Alice'i ja Bobi vahel(dialoogi esinemise tõenäosus peab langema kokku tegelikkusega).
Alice c a z Bob Schnorri identifitseerimisskeem • Võtme genereerimiseks valib Alice algarvu q ning leiab jäägi g, mille astmed moodustavad kõik ülejäänud nullist erinevad jäägid(see on alati võimalik). • Salajane võti on jääk w ning avalik võti on h gw mod q. • Alice valib juhusliku jäägi r ning arvutab a gr mod q. Bob annab suvalise arvu c, millele Alice vastab z = cw + r.
Verifitseerimine • Bob akseteerib Alice'i vastust, kui gz ahc mod q. • Skeem töötab, sest gz gcw+r (gw)cgr hca mod q. • Skeemi murdmiseks peab Carol teadma mingit a nii, et ta suudab suure tõenäosusega vastata suvalise c korral. Muidu oleks Caroli edu võimalus tühine.
Turvaanalüüs • Seega ründaja peaks teadma a nii, et vähemalt kahe c ja c' korral oskaks ta anda õiged vastused z ja z'. Kuid siis w = = = teab Carol juba Alice' salajast võtit. • Kui Carol leiaks kuidagi zi järgi w, siis teab ta, mis on loggai= ri, mis on üldiselt raske ülesanne, kuna Alice' avalis ri juhuslikult. z-z’ c-c’ cw’+r-c'w’-r c-c’ (c-c')w’ c-c’
Nullteadmuse analüüs • Kui Bob on aus, siis ei saa ta teada midagi uut, sest ta võib ise valida z ja c ning seejärel arvutada a gz h-c mod q võib rahumeelselt ise protokolli läbi viia. Kusjuures sellisel juhul võtab Bob r = z-cw jaotusega, mis on väga lähedane ühtlasele jaotusele st. Alice'i valitud r jaotusele. • Protokoll ei ole täieliku nullteadmusega.
Identifitseerimisskeemide omadused I • Ideaalis peaks iga identifitseerimissüsteem omama järgmisi omadusi: • Skeem on korrektne -- kui Alice ja Bob käituvad korrektselt, siis Bob tuvastab Alice'i. • Skeem on tugev -- kui Carolil õnnestub Alice'it mängida, siis oskab ta ka efektiivselt Alice saladust leida.
Identifitseerimisskeemide omadused II • Skeemi võti on turvaline -- Carol ei suuda polünomiaalses ajas leida võtit. Kui skeem on tugev, siis järeldub sellest skeemi turvalisus. • Skeem on nullteadmusega -- ründaja Carol ei saa Alice'iga suheldes teada midagi uut. • Skeem on efektiivne -- arvutuste maht ja sõnumite edastamine on hästi realiseeritav.
Samaegse tuvastamise probleem • Mõnikord on vaja turvaeesmärkide saavuta-miseks tuvastada mõlemad osapooled. • Näiteks interneti kohvik. Klient peab olema veendunud, et ta ei oleks vaenulikus võrgus. Teenusepakkuja peab teadma, kes on võrgus, et esitada arvet. • Skeemi saab asendada kahe järjestikuse identifitseerimisega.
Võtmevahetuse probleemid • Oletame, et Alice ja Bob tahavad vahetada võtmeid, kuid ei soovi selleks kohtuda ning neil puudub turvaline kanal. • Praktikas esineb see näiteks SSH ja SSL korral. Iga arvuti peab olema võimeline vahetama võtmeid teistega üle interneti. • Seda saab lahendada tingimusteta TP, kes jagab soovijatele võtmepaare.
Igal osapoolel jagab TP võtmepaari. Kui kaks poolt tahavad suhelda, siis saadavad nad päringu. TP saadab neile ja lisa-info, mis võimaldab osapooltel veenduda, et uus võti on genereeritud just TP poolt A G B F TP C E D Kerberose idee
Alice b a Bob Diffie-Hellmanni võtmevahetus • Üldiselt on kokkulepitud algarv p ja genereeriv jääk g . • Alice valib suvalise arvu 1< r < p-1 ja arvutab a gr mod p. • Bob valib suvalise arvu 1< s < p-1 ja arvutab b gs mod p. • Bob ja Alice saavad nüüd iseseisvalt arvutada võtme K grs (gr)s (gs)r mod p.
Turvaanalüüs • Kui õnnestuks efektiivselt leida r = logga või s = loggb, siis oleks protokoll murtav. • Tegelikult on ründajal tarvis lahendada probleem: antud g, gr, gs leida grs. • Selle probleemi keerukus pole teada ning pole teada ka selle seos DL probleemiga. • Tõestatud on vaid, et pole üldist algoritmi, mis lahendaks seda igas rühmas efektiivselt.
Jagatud võtme motivatsioon • Vahel on tarvis, et otsust autoriseeriks mitu isikut. Näiteks tuumasõja alustamine. • Enamasti tahetakse, siis et otsust ei peaks autoriseerima kõik vaid piisav osa inimes-test. Nii välditakse süsteemi lihtsat nõrgen-damist inimeste elimineerimise teel. • Võti jagatakse nii laiali, et kui n osapoolest k tahavad, siis saavad nad võtme taastada.
Võtme reetmine • Paljudel juhtude pole võtme omanikud huvitatud võtme hoidmisest. Näiteks tarkvara võtmed, TV-koodrid jne. • Et selliseid probleeme lahendada, siis esiteks peab olema võimalik kindlaks teha, et millised võtmed on reedetud ning teiseks peaks olema võimalus need võtmed teistele tüli tegemata ümber vahetada.
Vastukäivad turvaeesmärgid • Mõnel juhul on turvaeesmärgid omavahel vastuolus. Näiteks e-valimiste korral: • Iga valija peab olema identifitseeritav • Iga antud hääl ei tohi olla identifitseeritav. • Iga võltsitud hääl peab olema tuvastatav. • Iga võltsija peab olema tuvastatav. • Teine selline asi on e-raha.