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

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
FÜÜSIKA I KURSUS FÜÜSIKALISE LOODUSKÄSITLUSE ALUSED
Advertisements

Aσφάλεια. Περιεχόμενα Πλευρές Ασφάλειας Ιδιωτικό Απόρρητο – Μέθοδος Μυστικού Κλειδιού (Συμμετρική Κρυπτογράφηση) – Μέθοδος Δημόσιου Κλειδιού (Ασύμμετρη.
Statistline ja geomeetriline tõenäosus
Διαχείριση Δικτύων - Ευφυή Δίκτυα,
Συναρτήσεις Σύνοψης Ασύμμετρη Κρυπτογραφία
… στέλνοντας μυστικά σε μία κάρτ ποστάλ…
Εισαγωγή στην Ασφάλεια Δικτύων
Διαχείριση Δικτύων - Ευφυή Δίκτυα,
Metsade produktiivsuse kaugseirest
ATMOSFÄÄR (ÜLDKÜSIMUSED)
YFO0010 Sissejuhatus okeanograafiasse ja limnoloogiasse
Füüsika IV kooliaste Valmar Ideon
Vektorid..
Joel Leppik, Indrek Virro
Oligonukleotiidide signatuurid
Ühikute teisendamine.
Erapilootide kevadseminar 2012
Lõputöö kirjutamisest Vt ka
Rasedus ja immunoloogia – mis on uut?
Süsteemiteooria ISS E 5 EAP Juhitavus, jälgitavus, rakendused
Varsti on eksam!.
AINELINE MAAILM Kert Martma, PhD Tallinna Ülikool TALLINN 2014.
Andmeturve ja krüptoloogia, 4. kontaktsessioon Valdo Praust
Statistline ja geomeetriline tõenäosus
TET – Katelseadmed (2,0 AP)
Krista Liin Keeletehnoloogia seminar 22. oktoober 2007
Energia Energia on mateeria liikumise ja vastastikmõjude üldistatud
Varsti on eksam.....
Soojustehnika teoreetilised alused - MSJ loeng
Meid ümbritsevad elektromagnetlained - kosmiline kiirgus - UV
Sirgete ja tasandite vastastikused asendid.
KEEMILINE SIDE JA AINE EHITUS
Ringjoone kaare pikkus ja sektori pindala
Liikumine ja vastastikmõju. Jõud
Ülesanded ja graafikud
Monoteralised päikesepatareid
1. trimestri UH-skriining : NT - oluline ja probleemiderohke marker
Geomeetrilised kujundid
POEGIMISJÄRGSED VÕIMALIKUD KOMPLIKATSIOONID KOERAL
Struktuurivõrrandid Loeng 4 Mõõtmisvigadest
Vajalikud ära lahendada või aru saada antud lahendusest
ENERGIA ÖKOSÜSTEEMIDES. AINERINGED
Soojusnähtusi iseloomustavad suurused

(Kooli) Matemaatika.
Uraan Mirko Mustonen.
Keskkonnaanalüütilises keemias kasutatavad meetodid - ülevaade
Aümmeetrilised krüptoalgoritmid ja krüptoräsi algoritmid
YFO0010 Sissejuhatus okeanograafiasse ja limnoloogiasse
8. loeng Statistiline seos tunnuste vahel
Veiste juurdekasvu modelleerimisest
© J. Müller, M. Reinart Viljandi Maagümnaasium
Silinder, koonus, tüvikoonus, kera. Pöördkehade kordamine.
Kolloidsüsteemide stabiilsus
Biomassi termokeemiline muundamine 6. Gaasistamine 6
Kohastumuste teke ja piirangud neile
Metapopulatsioon on populatsioon, mis koosneb hulgast osaliselt isoleeritud osapopulatsioonidest - laikudest (patch), “populatsioonide populatsioon”. Lähenemist.
Rapla Täiskasvanute Gümnaasium 2005
KEEMILISE REAKTSIOONI KIIRUS JA TASAKAAL
Andmeturve ja krüptoloogia Ülevaateloeng kaugõppele III: Linnulennuülevaade krüptograafiast 14. oktoober 2011 Valdo Praust 
TERE!.
Andmeturve ja krüptoloogia, V Krüptograafia esiajalugu
III VEKTOR TASANDIL. JOONE VÕRRAND.
Sissejuhatus makroökonoomikasse
Loomade populatsioonidünaamika, versioon 2008
Aminohapete keemilised omadused
Beeta-kiirgus Kea Kiiver.
Matemaatika.
Dünaamika F1 = - F2.
PYTHAGORAS JA TEMA KUULUS TEOREEM
Μεταγράφημα παρουσίασης:

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

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

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

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  

Avaliku võtmega krüptoalgoritmi kasutamine võtmevahetusel

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

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

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

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

RSA võtmetest RSA toetab suvalise pikkusega võtit Levinumad on 2 astmed - 1024, 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

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

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

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

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

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

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

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

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

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

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

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) = 12317 (mod 3233) = 855 Dešifreerimine: X=Yd (mod n) = 8552753 (mod 3233) = 123 21

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

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

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

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

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 1980. aastatel välja krüptoräsi algoritmid 26

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

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

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

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

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

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

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

Praktikas kasutatavaid häid räsifunktsioone SHA-1 – konstrueeriti 1996. 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

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

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 1994-95 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

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

MD5 konstandid ja funktsioonid 38

MD5: skeem 39

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

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

SHA-1: üldfakte ja kirjeldus sarnaneb struktuuris väga paljus MD5ga on koostatud 1996. 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

SHA-1: skeem 43

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

Wang, Lai, Yu (2005): SHA-1 korral on kollisioonid leitavad 263 variandi läbivaatamise teel, mis on ca 100 000 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

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

RIPEMD turvalisus RIPEMD-128 ei peeta enam turvaliseks. 1994 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

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

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

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

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

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

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

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

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

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

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

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

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

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

Teisi krüptoprotokolle DNSSEC (Domain Name Sysrem Security Extensions) – asendamaks tavalist ebaturvalist DNSi IEEE 802.11 – 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