1 / 80

Andmeturve ja krüptoloogia, V Sümmeetrilised krüptoalgoritmid

Andmeturve ja krüptoloogia, V Sümmeetrilised krüptoalgoritmid. 19. veebruar 2014 Valdo Praust mois @ mois .ee Loengukursus IT Kolled ž is 2014. aasta kevadsemestril õhtustele tudengitele. Krüptograafia ajalooline olemus.

Download Presentation

Andmeturve ja krüptoloogia, V Sümmeetrilised krüptoalgoritmid

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, VSümmeetrilised krüptoalgoritmid 19. veebruar 2014 Valdo Praust mois@mois.ee Loengukursus IT Kolledžis 2014. aasta kevadsemestril õhtustele tudengitele

  2. Krüptograafia ajalooline olemus Krüptograafia(cryptography) oli ajaloolises plaanis teadus, mis tegeles teabe (andmete sisu) peitmisega võõraste pilkude eest selle ”kentsaka” üleskirjutamise teel • Distsipliini nimetus pärineb kreeka keelest (nagu enamik klassikaliste teaduste nimetusi): • κρνπτος (kryptos) – peidetud • γραπηο (graphō) – kirjutan • Krüptograafia tähendab kreeka keeles peidetud sõna

  3. Diplomaatide ja sõjardite käsutuses Traditsioonlise krüptograafia (kuni 1940ndad) ajastul oli sellel väga kitsas kasutusvaldkond: diplomaatia ja sõjandus Üleminek käsitsi krüpteerimiselt arvutipõhisele ei muutnud esialgu krüptograafia kasutusvaldkonda Paljudes riikides olid kuni 1970-80teni krüptoalgoritmid ja –seadmed oma käitumisreeglitelt võrdsustatud relvadega

  4. 1980ndad – sõjardite pärusmaalt masskasutusse Krüptograafia levik sõjardite ja diplomaatide mängumaast masspruukimisse algas seoses teabe liikumisega ülemaailmses arvutivõrgus – Internetis – ja selle kaitse vajadustega. See sai alguse 1980te lõpul ja 1990te algul Täiendava tõuke andsid siin krüptoalgoritmid ja võtted, mida ei kasutatus enam teabe konfidentsiaalsuse, vaid tervikluse kaitseks

  5. Krüptograafia olemus ja roll kaasajal Kaasajal ei tegele krüptograafia küll enam pelgalt teabe salastuse tagamisega, vaid lisaks volitamata muutmiseärahoidmisega (tervikluse tagamisega), mida võib lugeda isegi tema põhifunktsiooniks Nimetus krüptograafia (peidetud sõna) on traditsioonide tõttu jäänud küll alles ja kasutusse, kuigi tihti pole salastusega selle rakendamisel mingit tegemist

  6. Kaasaja krüptograafia teabe teisenduse tüüpvõttena Kaasajal on krüptograafial põhinevad võtted muutunud (Internetis) teabe kaitsmise tüüpvõteteks, ilma milleta ei ole teavet võimalik töödelda Selle vaatlemine erivahendina on lõplikult ja jäädavalt ajalugu

  7. Konfidentsiaalsuse lisandub terviklus Kaasajal ei tegele krüptograafia küll enam pelgalt teabe salastuse tagamisega, vaid lisaks tervikluse tagamisega, mida võib lugeda tema põhifunktsiooniks Nimetus krüptograafia (peidetud sõna) on traditsioonide tõttu jäänud küll alles ja kasutusse, kuigi tihti pole salastusega selle rakendamisel mingit tegemist

  8. Krüptograafia põhimõisteid • Krüpteeritavat (loetamatule või muutmatule kujule teisendatavat) teksti nimetatakse avatekstiks (plaintext) • Krüpteeritud ehk loetamatule kujule viidud teksti nimetatakse krüptogrammiks (ciphertext) • Avateksti teisendamist loetamatul kujul olevaks krüptogrammiks nimetatakse krüpteerimiseksehkšifreerimiseks(encryption, enciphering) • Krüptogrammi teisendamist avatekstiks normaalolukorras nimetatakse dešifreerimiseks (deciphering, decryption)

  9. Krüptograafia põhimõisteid (järg) • Nii šifreerimise kui ka dešifreerimise juures kasutatakse salajast võtit ((secret) key), ilma milleta on need tegevused praktikas võimatud • Dešifreerimine on krüptogrammi teisendamine avatekstiks võtme kaasabil • Krüptogrammist avateksti leidmist ilma salajast võtit teadmata nimetatakse krüptosüsteemi (krüptoalgoritmi) murdmiseks, millega tegeleb krüptoanalüüs

  10. Krüptograafia ja krüptoanalüüs • Krüptograafia (cryptography) tegeleb teabe teisendusmeetodite väljatöötamisega, mis kaitsekid teabe konfidentsiaalsust või terviklust • Krüptoanalüüs(cryptanalysis) tegeleb vastupidisega – nende meetodite ehk olemasolevate krüptosüsteemide või krüpteerimisvõtete murdmisega • Krüptograafia ja krüptoanalüüs koos koos moodustavad krüptoloogia (cryptology)

  11. Krüptograafia erijooni, I Tänapäeval on krüpteerimisalgoritmid (andmete teisendusreeglid) reeglina avalikud, kogu salastus põhineb turvalisus kasutataval salajasel võtmel (mis on lühike digitaalteabekogum) Säärane võte lubab sõltumatutel ekspertidel süsteemide turvalisust abstraktselt hinnata, pääsemata ligi kaitsmist vajavatele andmetele Praktikas tegelevad sellega küll kitsa eriharidusega inimesed –krüptoloogid–, kes on reeglina eriteadmistega matemaatikud

  12. Krüptograafia erijooni, II Kaasaja krüptograafia kasutab eranditult matemaatikute (krüptograafide) poolt koostatud tüüpalgoritme, ise oma kasutamiseks välja töötatatavad unikaalsed algoritmid on ajalugu Nende algoritmide koostamine krüptograafia (matemaatika) alaseid eriteadmisi Mida kauem on krüptoalgoritm avalikus kasutuses olnud, seda väiksem on tõenäosus, et tal leidub efektiivseid murdrmisvõtteid

  13. Krüptograafia erijooni, III Kaasaja krüptograafia kasutab eranditult arvutustehnikat, käsitsi paberil arvutamine on jäädavalt ajalugu Krüptoanalüüsil on oluline tehete kiirus: arvuti taktsagedus on GHZ-des, käsitsi arvutamisel heal juhul mõni Hz Krüptograafia (tegelikult kogu krüptoloogia) on praktilise poole pealt informaatika üks rakendusi

  14. Krüptograafia erijooni, IV Kaasaja krüptograafia kasutabsuurt hulka standardeid, mida järgib kogu (virtuaal)maailm Standardid on nagu ikka vabatahtlikud, kuid sünergeetilisel efektil põhinevas koostoimivas maailmas on mõistlik neid järgida Ilma ühtsete standarditeta ei teki ühtset infrastruktuuri, mille eri osad saaksid koos toimida

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

  16. Võtme osa šifreerimises ja dešifreerimises Krüpteerimine ehk šifreerimine (encryption, encipherment) nõuab salajase võtme (key) kasutamist, mis peab olema vähemalt 80 (kõrgendatud turbenõuete korral 128) bitti pikk Vastupidine tegevus on dešifreerimine (decryption, decipherment), mille käigus taastatakse sama salajase võtme kaasabil algsed andmed Ilma ühte sama võtit teadmata on mõlemad tegevused võimatud

  17. Salajase võtmega krüptoalgoritm

  18. Salajase võtmega krüptoalgoritm: kasutusalad Neid on kaks: • konfidentsiaalse teabe edastamiseks üle (mitte pealtkuulamiskindlate) võrkude • konfidentsiaalsete teabekogumite salvestamine avalikus keskkonnas sooviga teabe saajate hulka piirata

  19. Salajase võtmega krüptoalgoritm: turvalisus Kaasajal loetakse piisavalt tugevaks vähemalt 80 biti pikkuse salajase võtmega algoritme. See välistab ammendava otsingu võimaluse Järjest enam (pikaajalist turvet nõudvates vüi kõrgendatud turbeomadustega keskkondades) nõutakse 80 biti asemel koguni 128 biti pikkust võtit Lisaks võtmepikkusele ei tohi algoritmil olla tuntavaid efekte andvaid krüptoanalüütilisi ehk murdmisvõtteid

  20. Tuntuimad esindajad, I AES(võtmepikkus varieeruv; kas 128, 192 või 256 bitti). Alates 2001de facto rahvusvaheline standard, hinnanguliselt vähemalt 80% kommertsvaldkonna sümmeetrilise krüptoalgoritmi kasutamisest on hetkel AES IDEA (128 bitine võti). Pärineb Šveitsist 1980te lõpust CAST5 ehk CAST-128 (40 kuni 128 bitine võti). Pärineb 1996. aastast Carlisle Adams’ilt ja Stafford Tavares’ilt.

  21. Tuntuimad esindajad, II Blowfish (varieeruva pikkusega võti, kuni 448 bitti). Pärineb Bruce Schreierilt 1990 ndatest RC4. Jadašiffer, võtmepikkus 40 kuni 256 bitti, pärineb 1987. aastast DES(56 bitine võti). On USA standard 1977. aastast ja oli laialt maailmas kasutusel. NB! Kaasajal on juba nõrgukene

  22. Plokk- ja jadašifrid Sümmeetrilised krüptoalgoritmid jagatakse plokk- ja jadašifriteks. Plokkšifrid on palju enam levinud kui jadašifrid • Plokkšifri (block cipher) korral jagatakse avatekst teatud pikkustega plokkideks, mis krüpteeritakse ükshaaval. Kas ja kuidas järgmise ploki tulemus eelmisest sõltub, määrab ära plokkšifri kasutusresiim • Jadašifri (stream cipher) korral leitakse salajasest võtmest teatud algoritmi alusel võtmejada (key sequence), mis liidetakse mooduliga (XOR) avatekstile

  23. Plokkšifrite tööresiimid • koodiraamatu resiim (Electronic Codebook Mode, ECM) • ahelresiim (Cipher Block Chaining Mode, CBC) • šifri tagasiside resiim (k-bit Cipher Feedback Mode, CFB) • väljundi tagasiside resiim (k-bit Output Feedback Mode, OFB)

  24. Koodiraamatu resiim Avateksti plokid krüpteeritakse üksteisest sõltumatult sama salajase võtmega: Puudus: krüptogrammi iga plokk sõltub ainult ühest lähteteksti plokist

  25. Ahelresiim Enne järgmise ploki krüpteerimist liidetakse avatekstile XORiga eelmise ploki lõpptulemus, s.o. krüptogramm: Eelis: krüptogrammi iga plokk sõltub kogu eelnevast avatekstist

  26. Šifri tagasiside ja väljundi tagasiside resiimid Šifri ja väljundi tagasiside resiimid kujutavad endast olukordi, kus on organiseeritud tagasiside • šifri tagasiside korral kuuluvad tagasisidega hõlmatavasse tsüklisse nii plokkšifri plokk kui ka avateksti ja krüpteeritud teksti mooduliga 2 liitmine • väljundi tagasiside korral kuulub tsüklisse ainult plokkšifri plokk, mis on rekurrentselt "käima lastud" mingilt algväärtuselt

  27. Väljundi tagasiside resiim

  28. Resiimide kasutamine • Mugavaim on koodiraamatu resiim, aga see on ebaturvalisim– krüptogrammi iga bitt sõltub ainult ühest avateksti plokist • Kasutatavaim on ahelresiim, mis annab ka piisava turvalisuse– krüptogrammi iga bitt sõltub kogu eelnevast avatekstist • Tagasiside resiimid on harvem pruugitavad. Nt väljundi tagasiside resiim võimaldab saada pseudojuhuslikku ehk nn heleroosat bitijada (väga vajalik nt andmete kustutamisel)

  29. Plokkšifri siseehitus • Plokkšifri plokk sisaldab endas tavaliselt mittut üksteisele järgnevat avateksti standardset teisendust, mida nimetatakse raundiks (round). Eelmise raundi lõpptulemus on järgmise raundi sisendiks • Kas ja kuidas raundid kasutavad salajast võtit või sellest tuletatud võtmeid, määrab ära võtmejaotusalgoritm (key sequence algorithm). Võtmejaotusalgoritm võib ka puududa, sel korral kasutab iga raund otse algvõtit • Kui võtmejaotusalgoritm eksisteerib, siis nimetatakse selle arvutatud võtmeid raundivõtmeteks (round keys)

  30. Plokkšifri ploki tüüpne siseehitus

  31. Plokkšifrit iseloomustavad parameetrid • Võtme pikkus • Ploki pikkus (vahel võrdub võtme pikkusega, aga ei pruugi) • Raundide arv (ja vahel raunditüüpide arv) • Võtmejaotusalgoritmi olemasolu • Raundivõtmete arv (võtmejaotusalgoritmi olemasolu korral) • Raundivõtme(te) pikkus (võtmejaotudsalhoritmi olemasolu korral) • Enne raunde tehtavate eeltegevuste ja pärast raunde tehtavate järeltegevuste olemasolu

  32. Krüptograafia kaks põhivõtet raundi “ehituskividena” • substitutsioon(substitution) – olemasolevate märkide asendamine teiste märkidega • transpositsioon ehk permutatsioon(transposition, permutation) – olemasolevate märkide järjekorra muutmine Valdav enamik plokkšifrite raundi sees tehtavaid teisendusi on nende kahe põhivõtte keerukas sümbioos

  33. AES: saamislugu, I • 1977. aastal võeti ametliku krüptostandardina kõikjal USAs kasutamiseks vastu DES. DES-i näol oli tegu maailma esimese krüptograafiastandardiga, mida kasutati paar aastakümmet väga suures ulatuses • DES oliplokkšiffer, ploki pikkusega 64 bitti ning võtmepikkusega 56 bitti • oli standarditud, kirjeldus oli saadaval FIPS PUB 46-s (viimane versioon pärines aastast 1999, kehtis aastani 2005)

  34. AES: saamislugu, II • 1990te aastate lõpul oli DES oli oma 56 biti pikkuse võtmega juba nõrgukene, seepärast käivitati uue standardi – AESi – konkurss • Uus süsteem pidi olema plokksiffer, ploki pikkuse 128 bitti ja mitmete võtmete pikkustega (128, 192 ja 256 bitti) • 2. jaanuaril 1997. aastal kuulutas USA Rahvuslik Standardibüroo NIST (National Insitute of Standards and Technology) välja AESi (Advanced Encryption Standard) konkursi

  35. AES: saamislugu, II • 20. augustil 1998 kuulutas NIST 15 kandidaat-algoritmi edasise uurimise vääriliseks • 2001 kuulutati Rijndael ametlikuks konkursi võitjaks, misjärgselt sai ta laialt tuntuks AESi nime all ja kogu maailmas laia laviku osaliseks

  36. AES: fakte • on plokkšiffer ploki pikkusega 128, 192 või 256 bitti • kasutab varieeruva pikkusega võtit, mis võib olla samuti 128, 192 või 256 bitti; ploki pikkus võrdub võtmepikkusega • autorid on Joan Daemen ja Vincent Rijmen Belgiast • võitis 26. novembril 2001 AESi konkursi, enne võitmist kandis nime Rijndael • algoritm on publitseeritud stsandardi FIPS 197 all

  37. AES: tehniline üldkirjeldus 128 bitise võtme korral koosneb 10 raundist, 192 bitise võtme korral 12 raundist ja 256-bitise võtme korral 14 raundist Võtmejaotusalgoritm AESil puudub Iga raund koosneb neljast erilaadsest tehtest: • asendusbait (byte sub) • ridade nihutus (shift row) • tulpade segamine (mix column) • raundivõtme lisamine (add round key)

  38. AES: asendusbaidi faas Teksti iga bait asendatakse vastavalt ühele suurele substitutsioonile (S-boksile):

  39. AES: ridade nihutuse faas Teksti baidid vahetatakse omavahel ära, 128-bitise ploki puhul skeemiga: 192-bitise ploki puhul skeemiga:

  40. AES: ridade nihutuse faas 256-bitise ploki puhul skeemiga:

  41. AES: tulpade segamise faas Raundivõtme lisamise faas Iga 4 baidist koosnev tulp (vt eelnev) korrutatakse järgmise 4 x 4 maatriksiga modulo 28 = 256 Igale teksti bitile XORitakse vastava osavõtme bitt

  42. AES: toimimiskeem

  43. AES: krüptoanalüüs • ammendav otsing nõuab 2128 kuni 2256 variandi läbivaatamist • algoritmi autorid ise on tõestanud seda suure osa teadaolevate krüptoanalüütiliste võtete korral • olulist võitu andvaid krüptoanalüütilisi võtteid ei olnud kuni hiljutise ajani teada (seega arvati algoritm praktikas olevat murdmatu)

  44. AES: krüptoanalüüs • 2002 oktoobris pakuti välja uudne, algebralise krüptoanalüüsi võte (Courtois, Piperszyk) mis võib-olla võimaldab AESi murda 287 sammuga • Seni ei ole oma keerukuse tõttu seda keegi realiseerinud • Senini on see jäänud teoreetiliseks konstruktsiooniks, st AES on endiselt turvaline • Veidi on saavutatud edu (2009) ka seotud võtmete ründe (related key attack) korral, kus eeldatakse mitme matemaatiliselt seotud võtme kasutamist. Praktikat see ei puuduta • Ka lisakanali ründe võtted (side-channel attack), kus saadakse teatud teavet ploki sees toimuvast, on andnud teatud teoreetilisi tulemusi, mis praktilist turvet ei puuduta

  45. AES: ammendava otsingu ”murdmismasin” • ”Murdmismasin” (keerukas ammendavat otsingut realiseeriv spetsiaalriistvaral põhinev paralleelarvuti), mis murraks DESi sekundiga, kulutaks AES-i lihtsamavariandi murdmisele sada tuhat miljonit aastat • säärase masina valmistamine maksaks hetkel (AD 2014) ca 100 000 EUR Järeldus:AES-i kõik kolm versiooni on väga turvalised ja praktikas hetkel (AD 2014) täiesti murdmatud ja jäävad vast veel 10-15 aastaks

  46. AES: realisatsioonid • AES on koostatud nii, et teda oleks mugav (kiire) realiseerida nii riist- kui ka tarkvaras • Riistvararealisatsioonid on küll kümneid ja vahel ka sadu kordi kiiremad • Nii riist- kui tarkvaras saab AESi kaasajal realiseetrida ”taustana”, nt kettale lugemise ja/või kettalt kirjutamise kõrvaltegevusena Väga laialt levinud on nii AESi tark- kui ka riistvaraversioonid

  47. IDEA: fakte • on plokkšiffer ploki pikkusega 64 bitti (8 baiti) • kasutab 128-bitist (16-baidist) võtit • on koostatud Šveitsis, publitseeriti 1991 • on patenteeritud Šveitsi firma MediaCrypt poolt, patent aegus aga 2010-11 aastail • 2005 publitseeriti IDEA järglane IDEA NXT (FOX), mis ei ole vana IDEA polulaarsust saavutanud

  48. IDEA: tehniline üldkirjeldus • On projekteeritud omal ajal vastukaaluks DESile, et oleks võimalik kiire realiseerimine tarkvaras • On huvitav selle poolest, et plokkšifritele traditsiooniliste S-bokside asemel pruugib ta pööramatuid räsifunktsioone • IDEA genereerib 128 bitilisest üldvõtmest 52 16-bitist alamvõtit • IDEA koosneb kaheksast raundist • 64 bitise avateksti jagab IDEA neljaks 16-bitiseks osaks • Iga raund kasutab 6 alamvõtit, peale raunde kasutatakse veel 4 võtit

  49. IDEA: raundi kirjeldus • Raundi vältel tehakse hulga tehteid 16-bitiste plokkide ning alamvõtmetega • Raundis kasutatavad tehted on: • tavaline liitmine (mooduliga 216 ehk 65536) • XOR • korrutamine mooduliga 216+1 (65537) Nimetatud tehete kogusumma annab piisava mittelineaarse funktsiooni; üks põhjusi selleks on, et 65537 on algarv

  50. IDEA: raundi skeem

More Related