Andmeturve ja krüptoloogia, V II Sümmeetrilised krüptoalgoritmid. AES

33
Andmeturve ja krüptoloogia, Andmeturve ja krüptoloogia, V V II II Sümmeetrilised Sümmeetrilised krüptoalgoritmid. AES krüptoalgoritmid. AES 12. oktoober 2010 Valdo Praust [email protected] Loengukursus IT Kolledžis 2010. aasta sügissemestril

description

Andmeturve ja krüptoloogia, V II Sümmeetrilised krüptoalgoritmid. AES. 12. oktoober 2010 Valdo Praust mois @ mois .ee Loengukursus IT Kolled ž is 2010. aasta sügissemestril. Krüptoalgoritmide peamised liigid. - PowerPoint PPT Presentation

Transcript of Andmeturve ja krüptoloogia, V II Sümmeetrilised krüptoalgoritmid. AES

Page 1: Andmeturve ja krüptoloogia,  V II Sümmeetrilised krüptoalgoritmid. AES

Andmeturve ja krüptoloogia, Andmeturve ja krüptoloogia, VVIIII

Sümmeetrilised Sümmeetrilised krüptoalgoritmid. AESkrüptoalgoritmid. AES

Andmeturve ja krüptoloogia, Andmeturve ja krüptoloogia, VVIIII

Sümmeetrilised Sümmeetrilised krüptoalgoritmid. AESkrüptoalgoritmid. AES

12. oktoober 2010

Valdo Praust 

[email protected]

Loengukursus IT Kolledžis2010. aasta sügissemestril 

  

12. oktoober 2010

Valdo Praust 

[email protected]

Loengukursus IT Kolledžis2010. aasta sügissemestril 

  

Page 2: Andmeturve ja krüptoloogia,  V II Sümmeetrilised krüptoalgoritmid. AES

Krüptoalgoritmide peamised Krüptoalgoritmide peamised liigidliigid

Krüptoalgoritmide peamised Krüptoalgoritmide peamised liigidliigid

1. Sümmeetrilised ehk salajase võtmega krüptoalgoritmid (on traditsioonilised e ajaloolised)

2. Asümmeetrilised ehk avaliku võtmega krüptoalgoritmid (levinud viimase 20 aasta jooksul)

3. Krüptograafilised sõnumilühendid jms sellesarnased funktsioonid

4. Eriotstarbega algoritmid tõestusteks, autentimisteks, ajatempli jaoks jm

Page 3: Andmeturve ja krüptoloogia,  V II Sümmeetrilised krüptoalgoritmid. AES

SSümmeetriline ehk sümmeetriline ehk salajase alajase võtmega krüptovõtmega krüptoalgoritmalgoritm

Et sümmeetriline krüptoalgoritm oleks praktikas turvaline, peab:

• võti olema 128 bitti pikk (hädapäraselt 80 bitti pikk); vastasel korral on algoritmi võimalik murda ammendava otsinguga

• ei tohi olla teada olulist efekti andvaid krüptoanalüütilisi võtteid

Salajase võtmega krüptoalgoritm (secret key cryptoalgorithm) ehk sümmeetriline krüptoalgoritm (symmetric cryptoalgorithm), on selline, kus nii šifreerimisel kui ka dešifreerimisel kasutatakse sama (salajast) võtit

Salajase võtmega krüptoalgoritm (secret key cryptoalgorithm) ehk sümmeetriline krüptoalgoritm (symmetric cryptoalgorithm), on selline, kus nii šifreerimisel kui ka dešifreerimisel kasutatakse sama (salajast) võtit

Page 4: Andmeturve ja krüptoloogia,  V II Sümmeetrilised krüptoalgoritmid. AES

Krüpteerimine ehk šifreerimine (encryption, encipherment) nõuab salajase võtme (key) kasutamist

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

Ilma ühte sama võtit teadmata on mõlemad tegevused võimatud

Võtme osa Võtme osa ššifreerimises ja ifreerimises ja dedeššifreerimisesifreerimises

Võtme osa Võtme osa ššifreerimises ja ifreerimises ja dedeššifreerimisesifreerimises

Page 5: Andmeturve ja krüptoloogia,  V II Sümmeetrilised krüptoalgoritmid. AES

Salajase võtmega krüptoSalajase võtmega krüptoalgoritmalgoritm

Page 6: Andmeturve ja krüptoloogia,  V II Sümmeetrilised krüptoalgoritmid. AES

Salajase võtmega Salajase võtmega krüptokrüptoalgoritm: kasutusaladalgoritm: kasutusalad

Neid on kaks:

• konfidentsiaalse teabe edastamiseks üle (mitte pealtkuulamiskindlate) võrkude

• konfidentsiaalsete teabekogumite salvestamine avalikus keskkonnas sooviga teabe saajate hulka piirata

Page 7: Andmeturve ja krüptoloogia,  V II Sümmeetrilised krüptoalgoritmid. AES

Tuntuimad esindajad, ITuntuimad esindajad, I1. AES (võtmepikkus varieeruv; kas 128, 192 või

256 bitti). Alates 2001 de facto rahvusvaheline standard, hinnanguliselt 70-80% kommertsvaldkonna sümmeetrilise krüptoalgoritmi kasutamisest on hetkel AES

2. IDEA (128 bitine võti). Pärineb Šveitsist 1980te lõpust

3. CAST5 ehk CAST-128 (40 kuni 128 bitine võti). Pärineb 1996. aastast Carlisle Adams’ilt ja Stafford Tavares’ilt.

Page 8: Andmeturve ja krüptoloogia,  V II Sümmeetrilised krüptoalgoritmid. AES

Tuntuimad esindajad, IITuntuimad esindajad, II

4. Blowfish (varieeruva pikkusega võti, kuni 448 bitti). Pärineb Bruce Schreierilt 1990 ndatest

5. RC4. Jadašiffer, võtmepikkus 40 kuni 256 bitti, pärineb 1987. aastast

6. DES (56 bitine võti). On USA standard 1977. aastast ja oli laialt maailmas kasutusel. NB! Kaasajal on juba nõrgukene

Page 9: Andmeturve ja krüptoloogia,  V II Sümmeetrilised krüptoalgoritmid. AES

Plokk- ja jadaPlokk- ja jadaššifridifrid

Sümmeetrilised krüptoalgoritmid jagatakse plokk- ja jadašifriteks. Plokkšifrid on palju enam levinud kui 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

Page 10: Andmeturve ja krüptoloogia,  V II Sümmeetrilised krüptoalgoritmid. AES

PlokkPlokkššifrite tööresiimidifrite 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)

Page 11: Andmeturve ja krüptoloogia,  V II Sümmeetrilised krüptoalgoritmid. AES

Koodiraamatu resiimKoodiraamatu resiim

Avateksti plokid krüpteeritakse üksteisest sõltumatult sama salajase võtmega:

Puudus: krüptogrammi iga plokk sõltub ainult ühest lähteteksti plokist

Puudus: krüptogrammi iga plokk sõltub ainult ühest lähteteksti plokist

Page 12: Andmeturve ja krüptoloogia,  V II Sümmeetrilised krüptoalgoritmid. AES

Eelis: krüptogrammi iga plokk sõltub kogu eelnevast avatekstist

Eelis: krüptogrammi iga plokk sõltub kogu eelnevast avatekstist

AhelresiimAhelresiimEnne järgmise ploki krüpteerimist liidetakse avatekstile XORiga eelmise ploki lõpptulemus, s.o. krüptogramm:

Page 13: Andmeturve ja krüptoloogia,  V II Sümmeetrilised krüptoalgoritmid. AES

ŠŠifri tagasiside ja väljundi ifri tagasiside ja väljundi tagasiside resiimidtagasiside resiimid

Šifri ja väljundi tagasiside resiimid kujutavad endast olukordi, kus on organiseeritud tagasiside

Š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

Page 14: Andmeturve ja krüptoloogia,  V II Sümmeetrilised krüptoalgoritmid. AES

Väljundi tagasiside resiimVäljundi tagasiside resiim

Page 15: Andmeturve ja krüptoloogia,  V II Sümmeetrilised krüptoalgoritmid. AES

• 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)

Resiimide kasutamineResiimide kasutamine

Page 16: Andmeturve ja krüptoloogia,  V II Sümmeetrilised krüptoalgoritmid. AES

• 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)

Plokkšifri siseehitusPlokkšifri siseehitus

Page 17: Andmeturve ja krüptoloogia,  V II Sümmeetrilised krüptoalgoritmid. AES

Plokkšifri ploki tüüpne siseehitusPlokkšifri ploki tüüpne siseehitus

Page 18: Andmeturve ja krüptoloogia,  V II Sümmeetrilised krüptoalgoritmid. AES

• 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

Plokkšifrit iseloomustavad Plokkšifrit iseloomustavad parameetridparameetrid

Page 19: Andmeturve ja krüptoloogia,  V II Sümmeetrilised krüptoalgoritmid. AES

KrKrüptograafia kaks põhivõtet üptograafia kaks põhivõtet raundi “raundi “ehituskividena”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

Valdav enamik plokkšifrite raundi sees tehtavaid teisendusi on nende kahe põhivõtte keerukas sümbioos

Page 20: Andmeturve ja krüptoloogia,  V II Sümmeetrilised krüptoalgoritmid. AES

• 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 oli plokkš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)

AES: saamislugu, IAES: saamislugu, I

Page 21: Andmeturve ja krüptoloogia,  V II Sümmeetrilised krüptoalgoritmid. AES

AES: AES: saamislugu, saamislugu, IIII

• 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

Page 22: Andmeturve ja krüptoloogia,  V II Sümmeetrilised krüptoalgoritmid. AES

AES: AES: saamislugu, IIsaamislugu, II

• 20. augustil 1998 kuulutas NIST 15 kandidaat-algoritmi edasise uurimise vääriliseks

• 1999. aasta augustiks sõeluti välja viis finalisti: MARS, RC6, Rijndael, Serpent ja Twofish

26. novembril 2001 kuulutati Rijndael ametlikuks konkursi võitjaks, misjärgselt sai ta laialt tuntuks AESi nime all ja kogu maailmas laia laviku osaliseks

26. novembril 2001 kuulutati Rijndael ametlikuks konkursi võitjaks, misjärgselt sai ta laialt tuntuks AESi nime all ja kogu maailmas laia laviku osaliseks

Page 23: Andmeturve ja krüptoloogia,  V II Sümmeetrilised krüptoalgoritmid. AES

AES: fakteAES: 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

Page 24: Andmeturve ja krüptoloogia,  V II Sümmeetrilised krüptoalgoritmid. AES

AES: tehniline üldkirjeldusAES: tehniline üldkirjeldus128 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)

Page 25: Andmeturve ja krüptoloogia,  V II Sümmeetrilised krüptoalgoritmid. AES

Teksti iga bait asendatakse vastavalt ühele suurele substitutsioonile (S-boksile):

AES: asendusbaidi faasAES: asendusbaidi faas

Page 26: Andmeturve ja krüptoloogia,  V II Sümmeetrilised krüptoalgoritmid. AES

Teksti baidid vahetatakse omavahel ära, 128-bitise ploki puhul skeemiga:

192-bitise ploki puhul skeemiga:

AES: ridade nihutuse faasAES: ridade nihutuse faas

Page 27: Andmeturve ja krüptoloogia,  V II Sümmeetrilised krüptoalgoritmid. AES

256-bitise ploki puhul skeemiga:

AES: ridade nihutuse faasAES: ridade nihutuse faas

Page 28: Andmeturve ja krüptoloogia,  V II Sümmeetrilised krüptoalgoritmid. AES

Raundivõtme lisamise faasRaundivõ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

AES: tulpade segamise faasAES: tulpade segamise faas

Page 29: Andmeturve ja krüptoloogia,  V II Sümmeetrilised krüptoalgoritmid. AES

AES: toimimiskeemAES: toimimiskeem

Page 30: Andmeturve ja krüptoloogia,  V II Sümmeetrilised krüptoalgoritmid. AES

AES: krüptoanalüüsAES: 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)

Page 31: Andmeturve ja krüptoloogia,  V II Sümmeetrilised krüptoalgoritmid. AES

AES: krüptoanalüüsAES: 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

Page 32: Andmeturve ja krüptoloogia,  V II Sümmeetrilised krüptoalgoritmid. AES

AES: ammendava otsinguAES: ammendava otsingu ”murdmismasin””murdmismasin”

• ”Murdmismasin” (keerukas ammendavat otsingut realiseeriv spetsiaalriistvaral põhinev paralleelarvuti), mis murraks DESi sekundiga, kulutaks AES-i lihtsama variandi murdmisele sada tuhat miljonit aastat

• säärase masina valmistamine maksaks hetkel (AD 2009) veidi alla miljoni euro (ca 12 miljonit krooni)

Järeldus: AES-i kõik kolm versiooni on väga turvalised ja praktikas hetkel (AD 2009) täiesti murdmatud

Järeldus: AES-i kõik kolm versiooni on väga turvalised ja praktikas hetkel (AD 2009) täiesti murdmatud

Page 33: Andmeturve ja krüptoloogia,  V II Sümmeetrilised krüptoalgoritmid. AES

AES: AES: realisatsioonidrealisatsioonid• 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

Väga laialt levinud on nii AESi tark- kui ka riistvaraversioonid