Andmeturve ja krüptoloogia, Andmeturve ja krüptoloogia, V V III III Alternatiivseid sümmeetrilisi Alternatiivseid sümmeetrilisi algoritme AESile algoritme AESile 18. oktoober 2011 Valdo Praust [email protected]Loengukursus IT Kolledžis 2011. aasta sügissemestril
57
Embed
Andmeturve ja krüptoloogia, V III Alternatiivseid sümmeetrilisi algoritme AESile
Andmeturve ja krüptoloogia, V III Alternatiivseid sümmeetrilisi algoritme AESile. 18. oktoober 2011 Valdo Praust mois @ mois .ee Loengukursus IT Kolled ž is 2011. aasta sügissemestril. Krüptoalgoritmide peamised liigid. - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Andmeturve ja krüptoloogia, Andmeturve ja krüptoloogia, VVIIIIII
4. Eriotstarbega algoritmid tõestusteks, autentimisteks, ajatempli jaoks jm
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 80 bitti pikk (võimalusel tegelikult 128 bitti); 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
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
• B tüüpi raund erineb A tüüpi raundist väikeste tehniliste üksikasjade poolest XORimisel
• Iga raund sisaldab põhimõtteliselt sama krüpteemisfunktsiooni G ehk nn Feisteli struktuuri, kus 16 bitise teksti teisendamiseks kasutatakse nelja alamvõtit ja permutatsiooni F
• funktsioonile G eelneb raundi järjenumbri ja eelmise neljandiku XORimine
Skipjack: funktsiooni G skeemSkipjack: funktsiooni G skeem
Skipjack: permutatsioon F Skipjack: permutatsioon F (Feisteli struktuur)(Feisteli struktuur)
Skipjack: esimesed 8 raundi Skipjack: esimesed 8 raundi (tüüp A)(tüüp A)
Skipjack: raundid 8-16 Skipjack: raundid 8-16 (tüüp B)(tüüp B)
Skipjack: rakendatavusSkipjack: rakendatavus
• ammendav otsing nõuab 280 variandi läbivaatamist, mis ei ole kaasaja arvutitele jõukohane
• ei ole teada erilisi võitu andvaid krüptoanalüütilisi võtteid
• võimatute erinevuste krüptoanalüüs on tehtud 1998 vähendatud raundidega variandi jaoks; (Biham, Shamir, Birjukov)
Järeldus: Skipjacki võib pidada turvaliseks algoritmiks, kuigi AESi ajastus jääb efektiivsus veidi soovida
Järeldus: Skipjacki võib pidada turvaliseks algoritmiks, kuigi AESi ajastus jääb efektiivsus veidi soovida
• Paralleelnimetused ARC4, ARCFOUR
• on jadašiffer (maailmas tuntuim jadašiffer)
• kasutab varieeruva pikkusega võtit, mis on olla pikkuses 40 kuni 128 bitti
• on koostatud Bruce Schneieri poolt 1987
• On saanud ülilaiat tuntuks WiFiga seotud protokollides WEP ja WPA
• On olemas terve RC-perekond (RC-2, RC-5, RC-6)
RC4: fakteRC4: fakte
• Kujutab (nagu kõik jadašifrit) endast pseudojuhuslikku bitijada generaatorit (samm 256 bitti)
• Siseehituses sisaldab ta kaks faasi:
A. 256 bitise pikkusega bitipermutatsiooni
S moodustamine
B. Kahe 8-bitise indeksviida moodustamine
Permutatsiooni S määrab ära võtmejaotusalgoritm algvõtmest, mis näeb välja järgmine:
RC4: siseehitusRC4: siseehitus
Leiab 256 järgmist bitiväärtust alljärgneva algoritmi ehk PRGA (pseudo-random generation algoritm) järgi:
56 biti pikkusest võtmest leitakse 16 pikkust raundi võtit (igaüks 48 bitti pikk) spetsiaalse võtmejaotusalgoritmi alusel. Igat raundi võtit kasutatakse täpselt ühes raundis
56 biti pikkusest võtmest leitakse 16 pikkust raundi võtit (igaüks 48 bitti pikk) spetsiaalse võtmejaotusalgoritmi alusel. Igat raundi võtit kasutatakse täpselt ühes raundis
Algoritmi põhilised koostisosad on standardsed:
• substitutsioon (bitikombinatsioonide asendamine teiste kombinatsioonidega)
• permutatsioon (bittide järjekorra muutus bitijadas)
• 64-bitine plokk jagatakse kaheks 32-bitiseks pooleks
• üht 32-bitist poolt teisendatakse krüpteeriva funktsiooniga (round function), kasutades vastavat 48-bitist alamvõtit
• teise poolega ei tehta midagi
• saadud tulemus XORitakse teise poolega
• pooled vahetatakse omavahel ära
DES: raundide sisuDES: raundide sisu
• laiendatatakse 32-bitine tekst kõigepealt 48-bitiseks
• XORitakse sellele talle vastav 48-bitine osavõti • teisendatakse tulemus tagasi 32-bitiseks
48 biti pikkuse teabekogumi 32 bitisteks teisendamise tabeleid nimetatakse S-boksideks (S-box). Need moodustavad turvalisuse (matemaatilises) mõttes DES-i olulisima osa
48 biti pikkuse teabekogumi 32 bitisteks teisendamise tabeleid nimetatakse S-boksideks (S-box). Need moodustavad turvalisuse (matemaatilises) mõttes DES-i olulisima osa
DES: raundis kasutatav DES: raundis kasutatav krüpteeriv funktsioonkrüpteeriv funktsioon
Krüpteeriv funktsioon kujutab endast bititehteid, mille käigus:
DES: raundis kasutatav DES: raundis kasutatav krüpteeriv funktsioonkrüpteeriv funktsioon
DES: raundis kasutatav DES: raundis kasutatav laiendustabellaiendustabel
DES: raundis kasutatavad DES: raundis kasutatavad S-boksidS-boksid
DES: raundis kasutatavad DES: raundis kasutatavad S-boksidS-boksid
• Keerukatest bitipermutatsioonidest tingituna on DESi tarkvararealisatsioonid tunduvalt aeglasemad kui tarkvararealisatsioonid (moodsamad algoritmid on sellest puudusest vabad)
• Kiiruste vahe riist- ja tarkvararealisatsioonide vahel on tuhandeid kordi ja enam
• Tarkvararealisatsioonid töötavad juba 10 aastakest kaasajal kettale kirjutamise/sealt lugemise kiirusega
• On tihti integreeritud (arhailisematesse) standarditesse/seadmetesse ja tehtud seeläbi “sunniviisiliseks”
DES: realisatsioonid DES: realisatsioonid
• Ammendav otsing on teostatav 256 operatsiooniga – arvestades kaasaja arvutstehnika arengut on see juba täiesti reaalne maht (suur)arvuti jaoks
• On võimalik ehitada spetsiaalne paralleelsetest kiipidest koosnev murdmismasinmasin, mis maksaks hetkel (AD 2011) alla $500 000 ja murraks ammendava otsingu teel algoritmi ca sekundiga
• Teiste hindadega murdmismasinad vastavalt kiiremad või aeglasemad
DESi ammendav otsingDESi ammendav otsing
• on teada märgatavat võitu andvaid krüptoanalüütilisi võtteid
• adaptiivselt valitud avateksti ründe korral piisab algoritmi murdmiseks erinevuste krüptoanalüüsiga 247 variandi läbivaatamisest 256
asemel (Biham, Shamir, 1991)
• lineaarne krüptoanalüüs võimaldab piirduda vaid 243 variandiga (Junod 2001)
Kurb järeldus: DES ei ole kaasajal enam turvaline praktikas kasutamiseks (juba ca 10 aastat)
Kurb järeldus: DES ei ole kaasajal enam turvaline praktikas kasutamiseks (juba ca 10 aastat)
DESi krüptoanalüüsDESi krüptoanalüüs
• Alternatiiv 1 (soovitav): pruukida teisi sümmeetrilisi krüprtoalgoritme, kus võti on pikem ja mille korral ei ole teada krüptoanalüütilisi võtteid
• Alternatiiv 2 (vaid siis, kui kammitsevad arhailised süsteemid): pruukida tavalise DESi asemel kolmekordset DESi (triple DES), kus võtmepikkus on 168 bitti ja mis on seni turvaline
DES: kuidas ja kas üldse DES: kuidas ja kas üldse praktikas rakendadapraktikas rakendada
Standardi viimane versioon FIPS PUB 46-3 (25. oktoober 1999) sätestaski vaid kolmekordse DESi kasutamise, standard tühistus ametlikult 2005
Standardi viimane versioon FIPS PUB 46-3 (25. oktoober 1999) sätestaski vaid kolmekordse DESi kasutamise, standard tühistus ametlikult 2005
Kolmekordne DESKolmekordne DES
• DESi võib erandjuhul (kolmekordsena) pruukida üksnes seal, kus algoritm on arhailise muutmatu süsteemi poolt rangelt ette antud. Kindlalt tuleks vältida tuleks DESi kasutamist koodiraamatu resiimis
• Kui arhailine seade/standard ei võimalda DESi kolmekordses resiimis pruukida, tuleb tõsiselt kaaluda sellise seadme kasutamise lõpetamist
Mitmed vanemaid standardid ja tehnilised süsteemid nõuavad aga jätkuvalt DESi kasutamist
Mitmed vanemaid standardid ja tehnilised süsteemid nõuavad aga jätkuvalt DESi kasutamist
KokkuvõteKokkuvõte
Alates 2001. aastast on AES teistest mäekõrguselt üle ning lähiaastad seda vahet vast veelgi suurendavad
Alates 2001. aastast on AES teistest mäekõrguselt üle ning lähiaastad seda vahet vast veelgi suurendavad
Kõiki siintoodud algoritme (v.a. DES) võib praktikas kasutada ja nad on turvalised (Blowfishil leitud nõrgad võtmed ei muuda olukorda)
Väga palju on muid sümmeetrisi krüptoalgoritme, mis käibes ringleb ja mida on teoreetikud vahel turvaliseks pidanudNende korral tasub eelistada alati mõnda eeltoodud algoritmidest, kui seda ei piira mingi jäid tehniline standard vms
Ülejäänud algoritmid?Ülejäänud algoritmid?
Rusikareeglid teiste algoritmide jaoks:• vaja võrgutsi veenduda, et ei ole
murdmidsvõtteid• vähemalt mõned aastad peab olema
olnud avalikkusele ”uurida”
Rusikareeglid teiste algoritmide jaoks:• vaja võrgutsi veenduda, et ei ole