1 / 40

Andmeturve Krüptoräsid. Krüptoprotokollid, SSL/TLS

Andmeturve Krüptoräsid. Krüptoprotokollid, SSL/TLS. Marko Kõrv. Krüptoalgoritmide peamised liigid. Sümmeetrilised ehk salajase võtmega krüptoalgoritmid ( on traditsioonilised e ajaloolised) Asümmeetrilised ehk avali k u võtmega krüptoalgoritmid (levinud viimase 20 aasta jooksul)

aure
Download Presentation

Andmeturve Krüptoräsid. Krüptoprotokollid, SSL/TLS

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. AndmeturveKrüptoräsid. Krüptoprotokollid, SSL/TLS Marko Kõrv

  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 20 aasta jooksul) Krüptograafilised sõnumilühendid jms sellesarnased funktsioonid Eriotstarbega algoritmid tõestusteks, autentimisteks, ajatempli jaoks jm

  3. Krüptoräsi ehk krüptograafiline sõnumilühend Krüptoräsi ehk krüptograafiline sõnumilühend (cryptographic message digest, hash, fingerprint) 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

  4. 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äsi: kasutusala Krüptoräside peamine kasutusala on autentimisel ja tervikluse tagamisel (nt digiallkirja juures)

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

  6. Krüptoräsi funktsioonide siseehitus Oluline osa enamikes kaasaja räsifunktsioonides on nn tihendusfunktsioonil F (compression function), mis teeb fikseeritud pikkusega bitijada lühemaks fikseeritud pikkusega jadaks ühesuunalise funktsiooni abil. Seda kasutatakse iteratiivselt:

  7. Räsifunktsioon ja selle tulem Krüptoräsi ehk krüptograafiline sõnumilühend on mõeldud pikast sõnumist püsipikkusega lühikese bitijada, nn sõnumilühendi ehk räsi (message digest) tekitamiseks, millel oleksid teatud eriomadused Algoritmi, mis sõnumilühendi tekitab, nimetatakse (krüptograafilisteks) räsifunktsiooniks (hash function) Räsi ehk sõnumilühend on täpsemini võtmeta räsifunktsiooni väljund, sõltudes vaid sõnumist

  8. Räsifunktsioonilt nõutavad omadused • algse sõnumi mistahes muutused peavad põhjustama muutuse kalü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 • tihendusfunktsioon F peab olema kollisioonivaba–pseudo-kollisioonivabadus

  9. Räsifunktsioonide liigitus • Ühesuunaline (one-way) on selline räsifunktsioon, mis ei ole pööratav ja on nõrgalt kollisioonivaba • Kollisioonivaba (collision-free) on selline räsifunktsioon, millel on lisaks veel kollisioonivabaduse omadus Kaasajal nõutakse räsifunktsioonidelt reeglina kollisioonivabadust (tugevamaid omadusi)

  10. 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 ½.

  11. 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

  12. 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 räsi

  13. Praktikas keelatud (või ää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

  14. 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

  15. MD5 konstandid ja funktsioonid

  16. MD5 esimesed 2 raundi

  17. MD5: 3. ja 4. raund

  18. MD5: skeem

  19. 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)

  20. 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

  21. 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

  22. SHA-1: skeem

  23. 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

  24. SHA-1 krüptoanalüüs Viimased tulemused (Wang, Lai, Yu, august 2005):SHA-1 korral on kollisioonid leitavad 263 variandi läbivaatamise teel, mis on ca 100 000 korda kiirem kui ammendava otsinguga Kollisioonide kerge leidmine ei tee tegelikult SHA-1 veel pööratavaks, seega praktikas murtavaks: praktikas on selle enamik kasutusresiime veel turvalised Kõrget turvalisust nõudvates kohtades võib kasutada SHA moodsamaid variante: SHA-256, SHA-384 või SHA-512 (üldine nimetus SHA-2)

  25. 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

  26. 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

  27. Pilk ajalukku: MD2 ja MD4 • 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

  28. 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)

  29. 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 SSL (Secure Socket Layer)

  30. SSL: 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

  31. SSLi kanal SSL 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 • SSL suudab kontrollida andmete puutumatuna päralejõudmist (hädavajalik võrgu pakettresiimi – nt TCP/IP protokolli – korral)

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

  33. SSLi autentimisfaas, I Lihtsustatult sisaldab see järgmisi tegevusi (klientA hakkab suhtlema serverigaB): • A ütleb B-le tere ja mainib, milliseid krüptoalgoritme ta kasutab • Aütleb B-le, et B tõestaks et ta onB • B tekitab teksti “mina olen B”, teeb sellest räsi ehk sõnumilühendi • lüh(“mina olen B”) • B signeerib räsi oma privaatvõtmega, saades • sigb (lüh(“mina olen B”))

  34. SSLi autentimisfaas, II • B saadab A-le oma avaliku võtme, teksti • “mina olen B” ning signatuuri • sigb (lüh(“mina olen B”)) • A, saades need need kätte verifitseerib signatuuri, veendudes et ta vestluspartner on ikka B. Samas paneb AB avaliku võtme oma kataloogi • Sellega on klient Aserveri 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)

  35. SSLi 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

  36. SSLi 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

  37. 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

  38. SSL/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 SSL/TLS protokolli sees

  39. SSL/TLS 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

  40. 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)

More Related