1 / 43

Andmeturve ja krüptoloogia, X Krüptoräsid. Krüptoprotokollid, TLS

Andmeturve ja krüptoloogia, X Krüptoräsid. Krüptoprotokollid, TLS. 1. november 2011 Valdo Praust mois @ mois .ee Loengukursus IT Kolled ž is 2011. aasta sügissemestril. Krüptoalgoritmide peamised liigid.

tarmon
Download Presentation

Andmeturve ja krüptoloogia, X Krüptoräsid. Krüptoprotokollid, 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. Andmeturve ja krüptoloogia, XKrüptoräsid. Krüptoprotokollid, TLS 1. november 2011 Valdo Praust mois@mois.ee Loengukursus IT Kolledžis 2011. aasta sügissemestril

  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 25 aasta jooksul) Krüptograafilised sõnumilühendi algoritmid ehk krüptoräsid 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, 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

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

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

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

  16. MD5 konstandid ja funktsioonid

  17. MD5 esimesed 2 raundi

  18. MD5: 3. ja 4. raund

  19. MD5: skeem

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

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

  22. 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 SHA-1: üldfakte ja kirjeldus

  23. SHA-1: skeem

  24. 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 SHA-1: turvalisus ja kasutatavus

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

  26. 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 RIPEMD-160: üldfakte

  27. 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 RIPEMD turvalisus

  28. Kõrgendatud turve: RIPEMD-256 ja SHA-2 • RIPEMD-256 on RIPEMD-160 edasiarendus, kus räsi pikkus on 256 bitti (ja seega murdmine palju raskem) • SHA-2 on räsifunktsioonide pere, kus SHA-1 on tugevama turbe saavutamiseks edasi arendatud ja räsi on pikem (224, 256, 384 või 512 bitti) RIPEMD-256 või SHA-2 on kaasajal mõtet kasutada kahel juhul: - on vaja tagada räsi pikaajaline (aastakümnete pikkune murdmatus) - on vaja tagada erakordselt tugev turve (erakordselt kõrge tasemega terviklus)

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

  30. Sõnumi autentimiskood Sõnumi autentimiskood (message authentication code, MAC) on nn võtmega räsifunktsioon, kus räsi arvutamine/verifitseerimine eeldab lisaks sõnumile ja räsile ka salajase võtme teadmist • On vajalik räsiasendajana juhul, kui autentimise/verifitseerimise sooritajate hulkatuleb piirata (võtme valdajatega) • Erineb avaliku võtmega krüptoalgoritmist selle poolest, et MAC koostatakse ja verifitseeritakse sama võtmega

  31. Sõnumi autentimiskood • Sõnumi autentimiskoodi (MACi) jaoks reeglina oma unikaalseid algoritme välja ei töötata, vaid see kombineeritakse räsialgoritme ja sümmeetrilisi krüptoalgoritme kasutades • Mõned • variandid • MACi • leidmiseks:

  32. 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üptoprotokolli olemus Krüptograafilisi protokolle on väga palju, üks kasutatavaim praktikas (Internetis) on TLS (Transport Layer Security)

  33. 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 TLS: põhiomadused ja faktid

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

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

  36. TLSi 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”))

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

  38. 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 TLSi autentimisfaas, III

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

  40. 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 SSL versus TLS TLS (Transport Layer Security) on SSLi edasiarendus, kus on mitmed puudused ja ebakõlad kõrvaldatud

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

  42. 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 TLSi võimalused ja rakendatavus

  43. 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) Teisi krüptoprotokolle

More Related