Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Andmeturve ja krüptoloogia Asümmeetrilised krüptoalgoritmid (RSA) ja krüptoräsi algoritmid. Krüptoprotokollid 7. november 2015 Valdo Praust  mois@mois.ee.

Παρόμοιες παρουσιάσεις


Παρουσίαση με θέμα: "Andmeturve ja krüptoloogia Asümmeetrilised krüptoalgoritmid (RSA) ja krüptoräsi algoritmid. Krüptoprotokollid 7. november 2015 Valdo Praust  mois@mois.ee."— Μεταγράφημα παρουσίασης:

1 Andmeturve ja krüptoloogia Asümmeetrilised krüptoalgoritmid (RSA) ja krüptoräsi algoritmid. Krüptoprotokollid 7. november 2015 Valdo Praust 

2 Krüptoalgoritmide peamised liigid
Sümmeetrilised ehk salajase võtmega krüptoalgoritmid (on traditsioonilised e ajaloolised) Asümmeetrilised ehk avaliku võtmega krüptoalgoritmid (levinud viimase 30 aasta jooksul) Krüptograafilised sõnumilühendi ehk krüptoräsi algoritmid Eriotstarbega algoritmid tõestusteks, autentimisteks, ajatempli jaoks jm 2

3 Avaliku võtmega krüptoalgoritm
Avaliku võtmega krüptoalgoritm (public key cryptoalgorithm) ehk asümmeetriline krüptoalgoritm (asymmetric cryptoalgorithm) kasutab kahte võtit – esimese võtmega šifreeritud teave on dešifreeritav vaid teise võtmega ja vastupidi Üldreegel: ühest võtmest teist ei ole võimalik praktikas leida Teoreetiliselt on see võimalik (üksühene seos), aga see võtab aega miljoneid ja enam aastaid

4 Avaliku võtmega krüptoalgoritm: võtmed
Avaliku võtmega krüptoalgoritmi võtmeid nimetatakse reeglina avalikuks võtmeks ja privaatvõtmeks (public and private key) Avalik võti on tavaliselt piiranguteta kõigile soovijaile teada Privaatvõti on reeglina aga subjekti (inimese, tehnilise seadme, programmi vms) ainuvalduses

5 Avaliku võtmega krüptoalgoritmi kasutamine võtmevahetusel

6 Avaliku võtmega krüptoalgoritmi kasutamine signeerimisel (digitaalallkirja andmisel)

7 Avaliku võtmega krüptoalgoritmi (RSA) kasutamine
Avaliku võtmega krüptoalgoritme saab kasutada salajaste võtmete turvalisel edastamisel üle liinide ilma füüsilise kokkusaamiseta. Ainus tingimus on siin avaliku võtme avalikkus Avaliku võtmega krüptoalgoritme saab lisaks andmete konfidentsiaalsuse tagamisele kasutada ka nende tervikluse tagamisel. See ongi nende peamine kasutusvaldkond Avaliku võtmega krüptoalgoritmidel põhineb digitaalallkirja (digitaalsignatuuri) idee

8 Avaliku võtmega krüptoalgoritm: RSA
Tuntuim avaliku võtmega krüptoalgoritm on RSA Seda loetakse hädapäraselt turvaliseks alates 1024 biti pikkusest võtmest, pikaajalist turvet nõudvates valdkondades aga alates 2048 biti pikkusest võtmest  RSA korral on võtmete seotuse tingimused veidi pehmemad: privaatvõtmest avalikku võtit saab leida, kuid avalikust võtmest privaatvõtit mitte Nad on omavahel matemaatiliselt seotud, kuid see seos on nn ühesuunaline ehk praktikas arvutatav ainult ühtpidi

9 RSA eripärad Töötasid välja Rivest, Shamir ja Adleman 1978. aastal
Turvalisus põhineb matemaatilisel faktil, et suure kordarvu teguriteks lahutamine (kui ka tegurid on suured) on praktiliselt võimatu ülesanne Tagab praktilise turvalisuse, ei taga teoreetilist (nagu kõik avaliku võtmag krüptoalgoritmid) Murdmiseks läheb aega miljoneid aastaid (sõltub võtmepikkusest) On maailmas väga levinud 9

10 RSA võtmetest RSA toetab suvalise pikkusega võtit
Levinumad on 2 astmed , 2048, 4096 jne bitti) Erinevalt sümmeetrilistest krüptoalgoritmidest ei sobi iga suvaline bitijada võtmeks, vaid need võtmed tuleb teatud matemaatilise algoritmiga genereerida Säärase ”infoliiasuse” tõttu võtmetes on võtmed ka sümmetriliste krüptoalgoritmi võtmetest pikemad (turvalised alates 1024/2048 bitist) 10

11 RSA matemaatilisest alusest
Paljud praktikas kasutatavad algoritmid on head ehk polnpmiaalsed: st nende kohta on teada praktikas kasutatav lahendusalgoritm Paljude algoritmide kohta sellist algoritmi aga teada ei ole (need on praktikas lahendumatud) Näide 1: suuri algtegureid omavate kordarvude teguriteks lahutamine (Arvu pikkus on log N, vaja läbi vaadata N1/2 varianti) Näide 2: diskreetse logaritmi leidmine: a = gn (mod p), leida a, n ja p (algarv) põhjal g Nendel tõsiasjadel baseerub RSA turvalisus 11

12 RSA võtmete genereerimine
valitakse kaks suurt algarvu p ja q (nt 512-bitised) arvutatakse kahe suure algarvu korrutis n = p • q valitakse arv e nii, et tal ei oleks ühistegureid arvuga (p-1)(q-1) leitakse arv d nii, et d • e = 1 mod (p-1)(q-1) avalik võti on (n, e) privaatvõti on (p, q, d) 12

13 RSA šifreerimine/dešifreerimine
Šifreerida saab tekste (arve) mis on väiksemad kui pq bitti (512 bitiste p ja q korral 1024 bitti, ca 300 kümnendkohta) Šifreerimisel leitakse Y = Cip(X) = Xd (mod n) Dešifreerimisel leitakse X = Decip(Y) = Ye (mod n) Avatekst saadakse seepärast, et (Xd)e = X (mod n) põhjusel et d • e = 1 mod (p-1)(q-1) 13

14 Miks on RSA praktikas turvaline?
Väide 1: kes teab avalikku võtit (n, e) ja avateksti X, kuid ei tea d, p ega q, ei suuda sooritada teisendust Y = Cip(X) = Xd (mod n) ilma p ja q või d teadmata, st ei suuda šifreerida Selleks ta peab teadma d, mis sõltub definitsiooni põhjal aga suurustest p ja q p ja q ei saa ta teada: teguriteks lahutamiseks ei ole teada head (polünomiaalset) algoritmi 14

15 Miks on RSA praktikas turvaline?
Väide 2: kes teab avalikku võtit (n, e) ja krüptogrammi Y = Cip(X) = Xe (mod n) kuid ei tea d, p , q ega X, ei suuda leida avateksti X Kuna X = Yd (mod n), siis on tarvis leida d d leidmine e põhjal eeldab aga, et on teada p ja q või osatakse arvutada diskreetset logaritmi 15

16 RSA turvalisus krüptoterminites
Turvalisus on praktiline, matemaatika mõttes on kõik võimatuks peetav leitav (vaja on teha eksponentsiaalne arv tehteid) Privaatvõtmest saab avaliku võtme alati leida Avalikust võtmest privaatvõtit leida on võimatu Privaatvõtit omamata ei ole võimalik šifreerida nii, et avaliku võtmega dešifreerides asi lahti tuleks Kui teave on avaliku võtmega šifreeritud, ei ole võimalik seda avaliku võtmega enam lahti teha 16

17 RSA: termineid e on avalik eksponent (public exponent)
d on salajane eksponent (secret exponent) funktsiooni, mille väärtus on kergelt arvutatav, kuid selle pöördfunktsiooni ei ole praktikas arvutatav, nimetatakse ühesuunaliseks funktsiooniks (one-way function) Nt: kahe algarvu korrutamine vs teguriteks lahutamine; diskreetne eksponent vs diskreetne logaritm sellist ühesuunalist funktsiooni, mis on pööratav mingi täiendava teabekogumi põhjal nimetatakse salauksega ühesuunaliseks funktsiooniks (trapdoor one-way function). RSA ongi selline 17

18 RSA: algarvude leidmine
On olemas efektiivseid praktikas kasutatavaid algarvude generaatoreid. Reeglina genereeritakse juhuslikud arvud, mille algarvuks olemist siis testitakse Mitmed neist põhinevad nt Euler-Fermat’ teoreemil: Kui a ja n on ühistegurita, siis aΦ(n) = 1 (mod n) Φ(n) on nende n väiksemate arvude arv, millega tal puudub ühistegur, kui n on algarv, siis Φ(n) = n-1 Selle põhjal saab koostada testiseeria 18

19 RSA: algoritmi praktilisi detaile
Ka e leidmiseks on testid olemas, mis tagavad, et tal ei oleks tegureid arvuga (p-1)(q-1) Suurimat ühistegurit saab kontrollida Eukleidese algoritmiga Kõik peale algarvude genereerimise ja e leidmise on pikkade modulaararitmeetika realiseerimise küsimus (on realiseeritav nii tark- kui ka riistvaras väga kiirelt) 19

20 RSA eripärad praktikas
Šifreerimine ja dešifreerimine, kus kasutatakse modulaararitmeetikat, on küllalt kiired Siiski on RSA sümmeetrilistest krüptoalgoritmidest (AES, IDEA, Blowfish jt) ca 2-3 suurusjärku (sadu kuni tuhandeid kordi) aeglasem Võtmepaari genereerimine (sisaldab algarvude genereerimist) on šifreerimisest omakorda mitu suurusjärku aeglasem: kaasaja personaalarvuti leiab võtme siiski sekunditega või murdosadega 20

21 Näide (väikeste arvudega)
p = 61, q = 53 (algarvud) n = pq = 3233 (p-1)(q-1) = 60 x 52 = 3120 Valime e = 17, arvuga 3120 ei ole tal ühistegureid Leiame d = e-1 (mod (p-1)(q-1)) = 17–1 (mod 3120) = 2753 Avalik võti on (3233, 17) Privaatvõti on (61, 53, 2753) Šifreerimine, avatekst X = 123 Y = Xe (mod n) = (mod 3233) = 855 Dešifreerimine: X=Yd (mod n) = (mod 3233) = 123 21

22 RSA turvaline kasutus Võtmepikkus võib olla suvaline, see määrab ära p ja q suuruse. Kaasajal peetakse RSAd turvaliseks alates 1024 bitisest võtmest (pq väärtusest). Kasutatavaimad väärtused on (512, 768,) 1024, 1536, 2048, 3072 ja 4096 bitti (kahte esimest ei soovita kasutada) 1024 bitine võti: on vaja kaheks 155-kohaliseks algteguriks vaja jagada 310-kohaline kordarv 22

23 RSA krüptoanalüüs, I 70-kohalise arvu algteguriteks lahutamine nõuab kaasajal keskmiselt tööjaamalt ca 10 minutit 100-kohaline – samalt arvutilt ca umbes nädal 140-kohaline arv lahutati 1996 teguriteks 5 aastaga, ühendades maailma paljude serverite jõupingutused Praegu on suurim teguriteks lahutatud arv 768-bitine ehk 230-kohaline (AD 2015) 23

24 RSA krüptoanalüüs, II 300-kohaline arv (1024-bitine RSA) nõuab kogu praeguselt arvutivõimsuselt hetkel (AD 2014) tööd kauemaks kui on Päikese eluiga (kümned miljardid aastad) On kaheldud, et 1024-bitine RSA võib 5-10 aasta pärast olla praktikas murtav, kuid sama 2048/4096-bitise RSA kohta enam ei arvata Kuni 256-bitise RSA murrab kaasaja tavaline personaalarvuti ca tunniga Piisavalt võimas kvantarvuti murraks ka RSA kiiresti lahti, kui arvatakse, et lähema 10 aasta jooksul need 1024-bitist RSAd ei ohusta 24

25 RSA kasutamise praktilisi aspekte
Pikka aega oli RSA USAs patenditud. RSAle anti 20. sept 1983 välja patent #4,405,829. Patent kaotas kehtivuse 20. sept 2000 Algoritmi kirjeldus on avalik, samuti mitmed tarkvararealisatsioonid Riistvaraversioonid on mõnikümmend kuni sada korda kiiremad 25

26 RSA koostöö teiste krüptoalgoritmidega
Pikkade andmekogumite krüpteerimiseks RSA ei sobi (on liiga aeglane, sümmeetrilistes algoritmidest sadu kuni tuhandeid kordi aeglasem). Teiste asümmeetriliste algoritmidega on sama lugu See ei sega RSA kasutamist võtmevahetusel, kuid segab oluliselt RSA kasutamist signeerimisel (tervikluse kaitseks) Ülaltoodud probleemi lahendamiseks mõeldi aastatel välja krüptoräsi algoritmid 26

27 Teisai avaliku võtmega krüptoalgoritme ja –süsteeme
ElGamal DSS Diffie-Hellmann elliptlistel kõveratel põhinevad algoritmid Paillier’ süsteem RSA on neist selgelt mäekõrguselt populaarsem 27

28 Krüptoräsi ehk krüptograafiline sõnumilühend
Krüptoräsi ehk krüptograafiline sõnumilühend (cryptographic message digest, hash, fingerprint, thumbprint) on ükskõik kui pikast sõnumist (failist) teatud matemaatiliste eeskirjade järgi arvutatav lühike (paarsada bitti) teabekogum See seos on ühesuunaline (one-way): etteantud sõnumilühendi korral ei ole võimalik tuletada faili, millele see sõnumilühend vastab 28

29 Krüptoräsi: kasutusala
Kui meil on olemas paar – sõnum ja räsi (sõnumilühend) – , kus räsi vastab failile, võime olla igal juhul kindlad, et räsi on arvutatud kindlasti sellest failist ega mitte millestki muust Krüptoräside peamine kasutusala on autentimisel ja tervikluse tagamisel (nt digiallkirja juures) Üks räsi kasutamise peamisi põhjuseid seisneb asjaolus, et avaliku võtmega krüptoalgoritm ei ole võimeline töötlema suuri andmemahte 29

30 Krüptoräsi ehk krüptograafiline sõnumilühend: toimimisskeem
30

31 Räsifunktsioonilt nõutavad omadused
algse sõnumi mistahes muutused peavad põhjustama muutuse ka lühendis (räsis) ka pika sõnumi räsi peab olema lihtsate protseduuridega leitav räsi leidmise algoritm ei tohi olla pööratav: etteantud räsi korral ei tohi praktikas olla võimalik leida sellega sobivat sõnumit etteantud räsi korral ei tohi olla leitav teist sõnumit, mis annaks sama räsi – nõrk kollisioonivabadus ei tohi olla leitav sellist sõnumitepaari, mis annaks sama räsi – kollisioonivabadus 31

32 Sünnipäevaparadoks Sünnipäevaparadoks: tõenäosus, et N inimesel langeb kahel sünnipäev omavahel kokku, kasvab N kasvades suurusega N2 võrdeliselt ehk väga kiiresti Põhjus: uute elementide lisamisel tekib juurde järjest rohkem elementide paare (sidemeid nende vahel) N korral on neid paare N2 – N N=23 juures on see tõenäosus ½. 32

33 Sünnipäevaparadoksi mõju räsifunktsioonidele
Järeldus sünnipäevaparadoksist: kui räsifunktsiooni väljund on N bitine, siis tõenäosus, et K katsel saadakse vähemalt kaks identset sõnumilühendit on K = 1,17 2N/2 Lihtsaimaks krüptoanalüütiliseks ründeks (ammendavaks otsinguks) on N-bitilise väljundiga räsifunktsiooni korral vaja 2N/2 variandi läbivaatamist 33

34 Praktikas kasutatavaid häid räsifunktsioone
SHA-1 – konstrueeriti aastal MD4-l põhineva ideoloogia põhjal NSAs viimase turvalisust tugevdades. Räsi pikkus on 160 bitti (20 baiti) RIPEMD-160 – konstrueeriti 1990te algul Belgias, leiab 160-bitise (20-baidise)räsi Praktikas kasutatavad räsifunktsioonid peavad leidma vähemalt 160-bitise räsi (kaks korda nii pika, kui on sümmeetrilise krüptoalgoritmi minimaalne võtmepikkus, ist. 2 x 80 bitti) 34

35 Praktikas keelatud (äärmiselt ebasoovitavaid) räsifunktsioone
MD5 – välja töötatud Ron Rivesti poolt. Leiab 128-bitise räsi ehk sõnumilühendi MD2, MD4 – MD5 eellased, välja töötatud samuti Ron Rivesti poolt, leiab 128-bitise räsi On leitud kollisioone ja praktilisi murdmsvõtteid. Sellest hoolimata on eriti just MD5 siiski kahjuks senini masskasutuses praktikas  35

36 MD2 ja MD4 detaile On koostatud Ron Rivesti poolt 1989 ja 1990 Sarnanevad MD5ga nii räsi pikkuselt (128 bitti) kui ka ehituselt (raundid, sõnumi perioodiline töötlemine) Alates on mõlemal leitud kollisioone. MD4-l osatakse neid kaasajal leida tavalise personaalarvutiga juba mõne sekundiga Järeldus: MD2 ja MD4 on lahti murtud – nad ei ole enam turvalised ega sobivad kasutada 36

37 MD5: üldfakte ja kirjeldus
Räsi ehik lühendi pikkus on 128 bitti On koostatud 1991 Ron Rivesti poolt On omal ajal kuulutatud Interneti de facto standardiks RFC 1324 Algoritm koosneb neljast üksteisest erinevast raundist (round), mille vältel sõnumit töödeldakse 512 biti kaupa Iga raundi alguses võetakse eelmise raundi lõpptulemus ja “segatakse” sellesse järgmised 512 bitti 37

38 MD5 konstandid ja funktsioonid
38

39 MD5: skeem 39

40 MD5 turvalisus ja analüüs
128 bitti on sünnipäevaründe võimalust arvestades kaasajal vähe (peaks olema 160) 1993 leiti tihendusfunktsioonil kollisioone (Boer, Bosselaers) 2004 leiti lõpuks ka tervel algoritmil kollisioone (Wang, Feng, Lai, Yu, tund suurarvutil) 2005 suudeti praktikas murda MD5-l põhinevaid signatuure (Lenstra, Wang, Weger) 2006 suudetakse kollisioone leida minutiga (Klima) 40

41 MD5: hädapärased ajutised kasutusvõimalused
Erandjuhtudel on lubatud 2 ajutist hädavarianti: Võtmetugevdus (key strengthening) – räsifunktsiooni kasutataksekaks korda järjest, mis viib ründeaja palju pikemaks Paroolide ja räside soolamine (salting) – enne räsi arvutamist lisatakse “sool” ehk juhuslik bitijada. Teeb palju keerukamaks sõnastikuründed (dictionary attack) jm sarnased võtted Nende kahe abivõtte abil “tugevdatud” MD5 tuleks siiski kasutada vaid seal, kus moodsamaid räsifunktsioone pruukida ei saa 41

42 SHA-1: üldfakte ja kirjeldus
sarnaneb struktuuris väga paljus MD5ga on koostatud aastal MD5 eelkäijat MD4 eeskujuks võtteks, kuid palju turvalisemaks tehes räsi ehk sõnumilühendi pikkus on suurem, 160 bitti muudes detailides sarnaneb suurelt osalt MD5ga – neli raundi, iga raundi alguses võetakse eelmise raundi lõpptulemus ja “segatakse” sellesse järgmine osa, spetsiaalsed teisendusfunktsioonid 42

43 SHA-1: skeem 43

44 SHA-1: turvalisus ja kasutatavus
on palju turvalisem kui MD5 ja palju laiemalt kasutuses ,asin, mis maksab umbes miljard krooni, leiab SHA1 kollisiooni mitte kiiremini kui tuhandete aastatega on ANSI X.90 standardi osa väikeste muudatustega on SHSi (Secure Hash Standard) osa, mis on spetsifitseeritud USA standardis FIPS PUB 180 44

45 Wang, Lai, Yu (2005): SHA-1 korral on kollisioonid leitavad 263 variandi läbivaatamise teel, mis on ca korda kiirem kui ammendava otsinguga Donald, Hawkes, Pieprzyk, Manuel (2008): kollisioone on võimalik leida 252 kuni 257 variandi läbivaatramise teel Kollisioonide kerge leidmine ei tee tegelikult SHA-1 veel pööratavaks, seega praktikas murtavaks – praktikat mõjutavat efektiivset rünnet veel ei ole SHA-1 krüptoanalüüs Kõrget turvalisust või pikaajalist turvet nõudvates kohtades on juba mõnda aega mõistlik kasutada SHA-256 räsifunktsiooni 45

46 RIPEMD-160: üldfakte On koostatud 1990te algul Hans Dobbertini, Antoon Bosselaersi ja Bart Preneeli poolt Räsi ehk lühendi pikkus on 160 bitti Muus osas on enam-vähem sarnased MD5 ja SHA-1ga (raundide arv on suurem, 5) On olemas modifikatsioonid RIPEMD-128 (see oli RIPEMD-160 eellane), RIPEMD-256 ja RIPEMD-320, vastavalt 128, 256 ja 320 bitilise räsi tarbeks 46

47 RIPEMD turvalisus RIPEMD-128 ei peeta enam turvaliseks koostasid Paul van Oorschot ja Mike Wiener 10 miljonit dollarit maksva masina plaani, mis murraks selle ammendava otsinguga kuuga Praegu kuluks sellise masina ehitamisele veidi alla poole miljoni dollari (Moore’i reegel: protsessori hind kahaneb pooleteise aastaga kaks korda) RIPEMD-160 arvatakse olevat veel vähemalt 10 aastat väga turvaline, ei ole leitud efekti andvaid krüptoanalüütilisi võtteid 47

48 Kõrgendatud turve: RIPEMD-256 ja SHA-235
RIPEMD-256 on RIPEMD-160 edasiarendus, kus räsi pikkus on 256 bitti (ja seega murdmine palju raskem) SHA-256 on SHA-1 edasiarendus, kus räsi on 256 bitti pikk. On osake SHA-1 räsifunktsioonide perest (kus on ka algoritmid, mis leiavad 224, 256, 384 või 512 bitise räsi) RIPEMD-256 või SHA-256 on kaasajal mõtet kasutada juhul, kui on vaja tagada räsi pikaajaline (aastakümnete pikkune) murdmatus või tavalisest tugevam turve (kõrgtasemega terviklus) 48

49 Krüptoräside kasutamine
On kasutatavad peamiselt tervikluse tagamisel, kus nad on väga olulised mehhanismid Nende väga suur kasutusala on digitaalsignatuuride ja ajatemplite juures Tulemus: me ei pea hoolitsema enam mahuka andmekogu, programmi vm volitamata muutmiste eest, vaid võime leida selle lühikese räsi ja hoolitseda selle muutumatuse eest (mida saame edaspidi alati vajadusel suure kogumiga võrrelda) 49

50 Krüptoprotokolli olemus
Protokollid (protocol) määravad ära,mis teave millises järjekorras liigub ja kuidas seda teisendatakse Sellega tagavad nad vajalikud omadused (autentimine, võtmevahetus jm) Protokollis sisaldavad reeglina hulga krüptoalgoritme (sümmeetrilisi, asümmeetrilisi, räsifunktsioone), nende kasutamisi ning võtmete genereerimisi Krüptograafilisi protokolle on väga palju, üks kasutatavaim praktikas (Internetis) on TLS (Transport Layer Security) 50

51 TLS: põhiomadused ja faktid
on projekteeritud töötama Internetis, st TCP/IP protokollil toimivas võrgus transpordiprotokollile (nt TCP) toetudes võimaldab kasutajatel üksteist autentida võimaldab vahetada võtme teabe krüpteeritud edastamiseks ja seda teavet krüpteeritult edastada kuulub reeglina kõrgema taseme protokollide koosseisu, lisades funktsionaalsusele turvalisuse: telneti asemel ssh http asemel https ftp asemel secure ftp 51

52 TLSi kanal TLS tekitab üle võrgu turvalise sidekanali (secure channel), millel on kolm omadust: Kanal on privaatne. Pärast seda kui osapooled on vahetanud šifreerimisvõtmeid, on kõik edastatavad andmed krüpteeritud Kanal on autenditud. Mõlemad pooled saavad üksteist autentida, kuid võimalik on ka ühepoolne autentimine TLS suudab kontrollida andmete puutumatuna päralejõudmist (hädavajalik võrgu pakettresiimi – nt TCP/IP protokolli – korral) 52

53 TLSi toimimispõhimõtted
TLSi ühenduses võib eristada kahte faasi: autentimisfaas (handshaking) teabe vahetamisfaas Tavaliselt toimub ühendus kahe ebavõrdse poole vahel (klient ja server), mida TLS veidi eristab (kuigi on võimalik ka võrdse poole teabevahetus) Autentimisfaas sisaldab igal juhul serveri autentimist. Vajadusel järgneb sellele ka kliendi autentimine 53

54 TLSi autentimisfaas, I Lihtsustatult sisaldab see järgmisi tegevusi (klient A hakkab suhtlema serveriga B): A ütleb B-le tere ja mainib, milliseid krüptoalgoritme ta kasutab A nõuab B-lt, et B tõestaks, et ta on B ja et A saadaks oma genereeritud nonsi (nonse) B-le A saadab omagenereeritud nonsi B-le B tekitab teksti “mina olen B”, teeb sellest räsi ehk sõnumilühendi lüh(“mina olen B” + nonss) B signeerib räsi oma privaatvõtmega, saades sigb (lüh(“mina olen B” + nonss)) 54

55 TLSi autentimisfaas, II
B saadab A-le oma avaliku võtme, teksti “mina olen B” ning signatuuri sigb (lüh(“mina olen B” + nonss)) A, saades need need kätte verifitseerib signatuuri, veendudes et ta vestluspartner on ikka B. Samas paneb A B avaliku võtme oma kataloogi Sellega on klient A serveri B autentinud. Kui vaja, võib B ka A-d samamoodi autentida (vahel seda tehakse, kui server peab ka klienti autentima, alati pole seda vaja) 55

56 TLSi autentimisfaas, III
A genereerib sümmeetrilise krüptoalgoritmi võtme (primaarvõtme), paneb selle oma andmebaasi ja saadab selle B avaliku võtmega krüpteeritult B-le B dešifreerib saadud salajase primaarvõtme oma privaatvõtmega ja paneb ka oma baasi Sellega on autentimisfaas lõppenud: mõlemad osapooled on üksteist “tundma õppinud” ja vastava teabe endale talletanud 56

57 TLSi sidefaas Eeldus: A ja B hakkavad suhtlema ja veenduvad, et nad on autentimisfaasi juba läbinud ja vastav teave on neil olemas ja varem talletatud A genereerib seansi võtme ja krüpteerib selle sümmeetrilist krüptoalgoritmi kasutades, misjärel saadab ta selle B-le B teeb oma primaarvõtmega seansi võtme lahti Seejärel saavad A ja B suvalist teavet seansi võtme abil krüpteeritult omavahel turvaliselt vahetada 57

58 SSL versus TLS TLS (Transport Layer Security) on SSLi edasiarendus, kus on mitmed puudused ja ebakõlad kõrvaldatud TLS 1.1 on detailselt kirjeldatud RFC 4346-s (aprill 2006) võrreldes SSL3ga on TLSis mitmed puudused ja turvanõrkused kõrvaldatud SSL1 ja SSL2 juures on leitud turvaauke ja nende kasutamine on praktikas keelatud 58

59 TLS: turvalisus ja probleemid
Kui B on A-le oma avaliku võtme ja sellele vastava privaatvõtmega signeeritud teabe saatnud, võib olla sellest hetkest kindel, et keegi ei suuda A-le enam hiljem B-d teeselda (tal ei ole B privaatvõtit) Keegi ei saa hiljem liine pealt kuulates ega sinna sekkudes A ja B vahelist teavet ka pealt kuulata (ta ei tea primaarvõtit) Jääb aga probleem: kui A-ga hakkas algusest peale suhtlema B nime all keegi teine, siis ei suuda A seda avastada Seda probleemi ei ole võimalik lahendada ära ainuüksi TLS protokolli sees 59

60 TLSi võimalused ja rakendatavus
SSL/TLS suudab ilma sertifikaatide ja seda toetava infrastruktuurita vaid tõestada, et järgmise ühenduse tegija oli sama, kes tegi eelmise ühenduse Et midagi lisaks nõuda, peab olema lisateavet (nt sertifikaate, püsiparoole jm) – reeglina on selleks sertifikaat 60

61 Teisi krüptoprotokolle
DNSSEC (Domain Name Sysrem Security Extensions) – asendamaks tavalist ebaturvalist DNSi IEEE – traadita lokaalvõrgu protokoll IPSec (IP Security Protocol) S/MIME (Secure MIME) – andmete turvaliseks ja autenditud edastamiseks SSH (Secure Shell) – turvaline kaugpöördus ... (ja palju-palju muid) 61


Κατέβασμα ppt "Andmeturve ja krüptoloogia Asümmeetrilised krüptoalgoritmid (RSA) ja krüptoräsi algoritmid. Krüptoprotokollid 7. november 2015 Valdo Praust  mois@mois.ee."

Παρόμοιες παρουσιάσεις


Διαφημίσεις Google