Andmeturbe olulisi elemente, II S - PowerPoint PPT Presentation

About This Presentation
Title:

Andmeturbe olulisi elemente, II S

Description:

Andmeturbe olulisi elemente, II S mmeetrilisi kr ptoalgoritme Valdo Praust mois_at_mois.ee arvuti- ja andmeturbespetsialist isikuandmete kaitse seaduse kaasautor – PowerPoint PPT presentation

Number of Views:54
Avg rating:3.0/5.0
Slides: 53
Provided by: Vald99
Category:

less

Transcript and Presenter's Notes

Title: Andmeturbe olulisi elemente, II S


1
Andmeturbe olulisi elemente, IISümmeetrilisi
krüptoalgoritme
Valdo Praust  mois_at_mois.ee arvuti- ja
andmeturbespetsialist isikuandmete kaitse
seaduse kaasautor Infoühiskonna harrastusfilosoof
Täienduskoolitus IT Kolledzis 28. septembril
2004    
2
Krüptoalgoritmide peamised liigid
  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

3
Sümmeetriline ehk salajase võtmega krüptoalgoritm
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
  • Et sümmeetriline krüptoalgoritm oleks
    praktikas turvaline, peab
  • võti olema vähemalt 80 bitti pikk vastasel
    korral on algoritmi võimalik murda ammendava
    otsinguga
  • ei tohi olla teada olulist efekti andvaid
    krüptoanalüütilisi võtteid

4
Võtme osa šifreerimises ja dešifreerimises
  • 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
5
Salajase võtmega krüptoalgoritm
6
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

7
Tuntuimad esindajad, I
  1. AES (võtmepikkus varieeruv kas 128, 192 või 256
    bitti). Viimaste aastate standard, mille konkurss
    lõppes 2000. aasta sügisel. Vahetas välja
    nõrgukeseks jäänud DESi
  2. IDEA (128 bitine võti). Pärineb Šveitsist 1980te
    lõpust
  3. Skipjack (80 bitine võti). Pärineb 1990te
    algusest NSAlt (National Security Agency), oli
    kaua aega (kuni 1998. aastani) salastatud

8
Tuntuimad esindajad, II
  1. Blowfish (varieeruva pikkusega võti, kuni 448
    bitti). Pärineb Bruce Schreierilt 1990 ndatest
  2. DES (56 bitine võti). On USA standard 1977.
    aastast ja oli laialt maailmas kasutusel. NB!
    Kaasajal on juba nõrgukene

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

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

11
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
12
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
13
Š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 DES-i algoritm kui ka
    lähteteksti ja krüpteeritud teksti mooduliga 2
    liitmine
  • väljundi tagasiside korral kuulub tsüklisse
    ainult DES-i algoritm, mis on rekurrentselt
    "käima lastud" mingilt algväärtuselt

14
Väljundi tagasiside resiim
15
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 bitijada (tarvilik nt andmete
    kustutamisel)

16
Pilk ajalukku DES
  • on plokkÅ¡iffer, ploki pikkusega 64 bitti ning
    võtmepikkusega 56 bitti
  • aktsepteeriti 1977 USAs kui tsiviilstandard
  • on standarditud, kirjeldus on saadaval FIPS PUB
    46-s (viimane versioon pärineb aastast 1999)
  • kuni viimase ajani oli väga laialdaselt kasutuses
  • on traditsiooniline permutatsioon-substitutsioonÅ¡i
    ffer
  • kaasajal on AES ta paljus välja vahetanud

17
DESi tehniline ülevaade
DES on iteratiivsel põhimõttel konstrueeritud
algoritm, koosnedes järgmistest protseduuridest
  • võtmejaotusarvutusest (key schedule calculation),
    mis teisendab 56-bitise võtme 16-ks 48-bitiseks
    alamvõtmeks (subkey), mis kasutatakse raundides
  • algpermutatsioonist (initial permutation)
  • 16-st järjestikku teostatavast teisenduste
    tsüklist ehk raundist (round)
  • lõpp-permutatsioonist (final permutation)

Dešifreerimisoperatsioon on analoogiline
krüpteerimisoperatsiooniga, ainult alamvõtmeid
kasutatakse teises järjekorras
18
DES alamvõtmete leidmine
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
  • Võtmejaotusalgoritmi ja ka muu algoritmi
    põhilised koostisosad on
  • substitutsioon (bitikombinatsioonide asendamine
    teiste kombinatsioonidega)
  • permutatsioon (bittide järjekorra muutus
    bitijadas)


19
DES realisatsioonid
  • keerukatest bitipermutatsioonidest tingituna on
    DESi riistvararealisatsioonid tunduvalt kiiremad
    kui tarkvararealisatsioonid
  • kiiruste vahe riist- ja tarkvararealisatsioonide
    vahel on ca 100 korda
  • kiireimad riistvararealisatsioonid krüpteerivad
    kuni mõni Gbit/s ja maksavad mõnikümmend USD
  • Tarkvararealisatsioonid töötavad kaasajal kettale
    kirjutamise/sealt lugemise kiirusega

20
DES turvalisus ja krüptoanalüüs
  • Ammendav otsing on teostatav 256 operatsiooniga
    arvestades kaasaja arvutstehnika arengut on see
    juba täiesti reaalne maht tüüparvuti jaoks
  • On võimalik ehitada spetsiaalne 5000 kiibist
    koosnev murdmismasinmasin, mis maksaks hetkel ca
    10 000 ja murraks ammendava otsingu teel
    algoritmi ca ööpäevaga
  • 100 korda suurem ja 1 000 000 maksev masin
    murraks algoritmi mõnekümne minutiga

21
DES turvalisus ja krüptoanalüüs (järg)
  • Lisaks on teada märgatavat võitu andvaid
    krüptoanalüütilisi võtteid
  • 1990tel aastatel avaldatud Bihami ja Shamiri tööd
    näitavad, et adaptiivselt valitud avateksti ründe
    korral piisab algoritmi murdmiseks vahel vaid 247
    variandi läbivaatamisest 256 asemel

Kurb järeldus DES ei ole kaasajal enam turvaline
praktikas kasutamiseks (juba üle 5-6 aasta)
22
DES kuidas ja kas üldse praktikas rakendada
Alternatiiv 1 pruukida teisi sümmeetrilisi
krüprtoalgoritme, kus võti on pikem ja mille
korral ei ole teada krüptoanalüütilisi
võtteid Alternatiiv 2 pruukida tavalise DESi
asemel kolmekordset DESi (triple DES), kus
võtmepikkus on 168 bitti ja mis on seni turvaline
Standardi viimane versioon FIPS PUB 46-3 (25.
oktoober 1999) sätestabki vaid kolmekordse DESi
kasutamise
23
Kolmekordne DES
24
DES praktilisi soovitusi
  • DESi tasub (kolmekordsena) pruukida vaid seal,
    kus algoritm on süsteemi poolt rangelt ette
    antud, et tagada ühilduvust ajalooliste
    standarditega vms
  • Igal pool mujal võiks kasutada moodsamaid
    krüpteerimisalgoritme (IDEA, AES jt), mis on
    palju turvalisemad
  • Vältida tuleks DESi kasutamist koodiraamatu
    resiimis

Väga palju vanemaid standardeid ja tehnilisi
süsteeme nõuab aga senini DESi kasutamist
25
AES ehk Rijndael 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
  • autorid on Joan Daemen ja Vincent Rijmen Belgiast
  • võitis 2. oktoobril 2000 AESi konkursi

26
AES ehk Rijndael tehniline üldkirjeldus
  • 128 bitise võtme korral koosneb 9 raundist, 192
    bitise võtme korral 11 raundist ja 256-bitise
    võtme korral 13 raundist
  • Iga raund koosneb neljast erilaadsest tehtest
  • asendusbait (byte sub)
  • ridade nihutus (shift row)
  • tulpade segamine (mix column)
  • raundivõtme lisamine (add round key)

27
AES eh Rjindael asendusbaidi faas
  • Teksti iga bait asendatakse vastavalt ühele
    suurele S-boksile

28
AES ehk Rjindael ridade nihutuse faas
  • Teksti baidid vahetatakse omavahel ära,
    128-bitise ploki puhul skeemiga

192-bitise ploki puhul skeemiga
29
AES ehk Rjindael ridade nihutuse faas
256-bitise ploki puhul skeemiga
30
Raundivõtme lisamise faas
AES ehk Rjindael tulpade segamise 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
31
AES ehk Rjindael toimimiskeem
32
AES ehk Rjindael 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)

33
AES ehk Rjindael algebraline krüptoanalüüs
  • 2002 oktoobris pakuti välja uudne, algebralise
    krüptoanalüüsi võte, mis võib-olla võimaldab AESi
    murda 287 sammuga
  • Seni ei ole oma keerukuse tõttu seda keegi
    realiseerinud
  • Samas ei ole selle kasutamist AESi murdmisel ka
    keegi ümber lükanud

Lähiaastad näitavad, kas tegemist on pelgalt
teoreetilise konstruktsiooniga või on sel ka
praktiline väärtus, st kas AES on endiselt
turvaline
34
IDEA fakte
  • on plokkÅ¡iffer ploki pikkusega 64 bitti (8 baiti)
  • kasutab 128-bitist (16-baidist) võtit
  • on koostatud Å veitsis 1980te aastate lõpul
  • on patenteeritud Å veitsi firma Ascom poolt,
    mitteärilistel eesmärkidel võib vabalt kasutada

35
IDEA tehniline üldkirjeldus
  • On projekteeritud selliselt, et oleks võimalik
    kiire realiseerimine tarkvaras (vastukaaluks nt
    DESile, kus pearõhk oli pandud riistvarale)
  • 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

36
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 2161 (65537)

Nimetatud tehete kogusumma annab piisava
mittelineaarse funktsiooni üks põhjusi selleks
on, et 65537 on algarv
37
IDEA üldskeem
38
IDEA võtmejaotusalgoritm
  • esimesed 8 alamvõtit saadakse üldvõtme
    tükeldamisest 8 osaks
  • seejärel tehakse üldvõtme bititinihe 25 biti
    ulatuses ja leitakse nii järgmised 8 alamvõtit
  • seda protseduuri korratakse 7 korda, kuni
    leitakse 52 alamvõtit (viimased kaks jäetakse
    kasutamata 7 x 8 56)

Seega on alamvõtmed iga 8 tagant omavahel seotud
39
IDEA krüptoanalüüs
  • ammendav otsing nõuab 2128 variandi läbivaatamist
  • olulist võitu andvaid krüptoanalüütilisi võtteid
    ei ole teada seega on algoritm praktikas
    murdmatu
  • arvestades algoritmi vanust, on see
    tähelepanuväärne tulemus

Järeldus IDEA on praktiliseks kasutamiseks
turvaline algoritm
40
IDEA eelised ja puudused
  • Eelised
  • IDEAt on hea tarkvaras realiseerida, kuna ta
    sisaldab tuntuid bitioperatsioone
  • IDEA C-keelne lähtetekst on ca paar KB suur ja
    koosneb veidi rohkemast kui 100 reast
  • On kasutatav paljudes programmides (sh vabavarana
    levitatavas PGPs)
  • Ainus puudus oli patenteeritud, kuid patendi
    tähtaeg on saanud otsa

41
Skipjack fakte
  • on plokkÅ¡iffer ploki pikkusega 64 bitti (8 baiti)
  • kasutab 80-bitist (10-baidist) võtit
  • on koostatud USAs NSA (National Security Agency)
    poolt 1990te algul
  • kasutatakse Clipperi kiibis
  • kirjeldus oli kuni 1999. aasta juunini salastatud

42
Skipjack tehniline üldkirjeldus
  • on projekteeritud selliselt, et oleks võimalik
    kiire realiseerimine tarkvaras (ei sisalda
    erikujulisi bititehteid)
  • avatekst jagatakse neljaks 16-bitiseks
    neljandikuks
  • Skipjack koosneb 32 raundist
  • iga raund muudab vaid ühte neljandikku (16 bitti)
    teabest)
  • kasutatakse kahte tüüpi raunde, A ja B kaheksale
    A raundile järgneb 8 B raundi kasutamine
  • 80bitine võti jagatakse kümneks kaheksabitiliseks
    alamvõtmeks lihtsa jagamise teel

43
Skipjack raundide kirjeldus
  • 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

44
Skipjack funktsiooni G skeem
45
Skipjack permutatsioon F (Feisteli struktuur)
46
Skipjack esimesed 8 raundi (tüüp A)
47
Skipjack raundid 8-16 (tüüp B)
48
Skipjack 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

Järeldus Skipjacki võib pidada turvaliseks
algoritmiks ning ta on IDEAst veidi kiirem
Skipjacki kasutatakse Clipperi kiibis ning ka
paljudes muudes paikades
49
Blowfish fakte
  • on plokkÅ¡iffer ploki pikkusega 64 bitti (8 baiti)
  • kasutab varieeruva pikkusega võtit, max
    võtmepikkus on 448 bitti
  • on koostatud Bruce Schreieri poolt 1993

50
Blowfish tehniline üldkirjeldus
  • koosneb 16 raundist
  • kasutab 18 32-bitist alamvõtit, mis
    genereeritakse algvõtmest
  • kasutab nelja 32-bitist S-boksi, mida kasutatakse
    võtmejaotusalgoritmi juures
  • sarnaselt DESiga jagatakse 64-bitine plokk kaheks
    pooleks, millest iga raundi jooksul teisendatakse
    ühte poolt

51
Käesoleva ettekande materjalid (MS PowerPoint
2000 vormingus) on saadaval veebis
aadressil http//www.itcollege.ee/valdo/taiend/pl
okk2-2.ppt
Edasised küsimused palun aadressil mois_at_mois.ee

52
Tänan tähelepanu eest!
Write a Comment
User Comments (0)
About PowerShow.com