Lohkosalauksen toimintatavat

Esittelyt

Tässä luvussa käsittelemme lohkosalauksen eri toimintatapoja. Nämä ovat geneerisen lohkosalakirjoituksen menettelysääntöjä. Mielenkiintoista on, että eri moodit johtavat erilaisten ominaisuuksien saavuttamiseen, jotka lisäävät taustalla olevan lohkosalakirjoituksen turvallisuutta.

Lohkosalakirjoitus käsittelee kiinteän kokoisia tietolohkoja. Yleensä viestin koko on suurempi kuin lohkokoko. Näin ollen pitkä viesti jaetaan sarjaan peräkkäisiä viestilohkoja, ja salakirjoitin käsittelee näitä lohkoja yksi kerrallaan.

Electronic Code Book (ECB) Mode

Tämä tila on suoraviivaisin tapa käsitellä sarja peräkkäin lueteltuja viestilohkoja.

Toiminto

  • Käyttäjä ottaa ensimmäisen selkotekstilohkon ja salaa sen avaimella tuottaakseen ensimmäisen salatekstilohkon.

  • Hän ottaa sitten toisen selkotekstilohkon ja suorittaa saman prosessin samalla avaimella ja niin edelleen ja niin edelleen.

EKP-tila on deterministinen, eli jos selkotekstilohkot P1, P2,…, Pm salataan kahdesti samalla avaimella, tuloksena olevat salatekstilohkot ovat samat.

Tosiasiassa tietylle avaimelle voidaan teknisesti luoda koodikirja salateksteistä kaikille mahdollisille selkotekstilohkoille. Salaus tarkoittaisi tällöin vain halutun selkotekstin etsimistä ja vastaavan salatekstin valitsemista. Näin ollen toiminto on analoginen koodisanojen määrittelyn kanssa koodikirjassa, ja siksi se saa virallisen nimen – elektroninen koodikirja (ECB). Sitä havainnollistetaan seuraavasti –

Analyysi EKP-toimintatavasta

Todellisuudessa missä tahansa sovellusdatassa on yleensä osatietoja, jotka voidaan arvata. Esimerkiksi palkan vaihteluväli voidaan arvata. EKP:n salakirjoitusteksti voi antaa hyökkääjälle mahdollisuuden arvailla selkotekstiä kokeilemalla, jos selkotekstin viesti on ennakoitavissa.

Jos esimerkiksi EKP-moodin salakirjoitustekstin tiedetään salakirjoittavan palkkaluvun, hyökkääjä voi pienellä määrällä kokeiluja saada luvun takaisin. Yleensä ei haluta käyttää determinististä salausmenetelmää, joten ECB-tilaa ei tulisi käyttää useimmissa sovelluksissa.

Cipher Block Chaining (CBC) Mode

CBC-toimintatila tarjoaa viestiriippuvuuden salakirjoitustekstin tuottamiseen ja tekee järjestelmästä ei-deterministisen.

Toiminta

CBC-tilan toiminta on esitetty seuraavassa kuvassa.

  • Syötetään salatekstilohko ylärekisteriin ja jatketaan operaatiota, kunnes kaikki selkotekstilohkot on käsitelty.

  • Salauksen purkamista varten IV-tiedot XOR-korjataan ensimmäisen salatekstilohkon kanssa, joka on purettu. Ensimmäinen salatekstilohko syötetään myös rekisteriin, joka korvaa IV:n seuraavan salatekstilohkon purkamista varten.

  • CBC-tilan analyysi

    CBC-tilassa nykyinen selkotekstilohko lisätään edelliseen salatekstilohkoon, minkä jälkeen tulos salataan avaimella. Purkaminen on siis käänteinen prosessi, jossa nykyinen salausteksti puretaan ja sen jälkeen tulokseen lisätään edellinen salaustekstilohko.

    CBC:n etuna EKP:hen verrattuna on se, että IV:n muuttaminen johtaa erilaisiin salausteksteihin identtiselle viestille. Haittapuolena on se, että lähetysvirhe leviää muutamaan muuhun lohkoon salauksen purkamisen aikana ketjutusvaikutuksen vuoksi.

    On syytä mainita, että CBC-tila muodostaa perustan tunnetulle tiedon alkuperän todentamismekanismille. Näin ollen siitä on etua niissä sovelluksissa, jotka vaativat sekä symmetristä salausta että tiedon alkuperän todentamista.

    Cipher Feedback (CFB) Mode

    Tässä tilassa jokainen salaustekstilohko ”palautetaan” takaisin salausprosessiin seuraavan selkotekstilohkon salaamiseksi.

    Toiminta

    CBC-tilan toiminta on esitetty seuraavassa kuvassa. Esimerkiksi tässä järjestelmässä viestilohko on kooltaan ”s” bittiä, jossa 1 < s < n. CFB-tila vaatii alustusvektorin (IV) alkuperäiseksi satunnaiseksi n-bittiseksi tulolohkoksi. IV:n ei tarvitse olla salainen. Toimintavaiheet ovat: –

    • Lataus IV:n ylärekisteriin.

    • Kryptaa ylärekisterissä oleva data-arvo taustalla olevalla lohkosalakirjoituksella avaimella K.

    • Valitsee salausprosessin ulostulon tulosteesta vain ”s”-lukumäärän merkitsevimpiä bittejä (vasemmanpuoleisia) ja XOR-järjestää ne ”s”-bittisen selväkielisen sanomalohkon kanssa luodakseen salattua tekstiä sisältävän lohkon.

    • Syötetään salakirjoituslohko ylimpään rekisteriin siirtämällä jo olemassa olevaa dataa vasemmalle ja jatketaan toimenpidettä, kunnes kaikki selkotekstilohkot on käsitelty.

    • Lähinnä edellinen salakirjoituslohko salakirjoitetaan avaimella, minkä jälkeen tulos XOR-korjataan kulloinkin käytössä olevaan selkotekstitekstilohkoon.

    • Samankaltaisia vaiheita noudatetaan salauksen purkamiseen. Ennalta päätetty IV ladataan aluksi salauksen purkamisen alussa.

    CFB-tilan analyysi

    CFB-tila eroaa merkittävästi ECB-tilasta, tiettyä selkotekstilohkoa vastaava salausteksti ei riipu vain kyseisestä selkotekstilohkosta ja avaimesta vaan myös edellisestä salatekstilohkosta. Toisin sanoen salatekstilohko on riippuvainen viestistä.

    CFB:ssä on hyvin outo piirre. Tässä tilassa käyttäjä purkaa salatekstin käyttämällä vain lohkosalakirjoituksen salausprosessia. Lohkosalakirjoituksen taustalla olevan lohkosalakirjoituksen purkualgoritmia ei käytetä koskaan.

    Vaikuttaa siltä, että CFB-tila muuntaa lohkosalakirjoituksen eräänlaiseksi virtasalakirjoitukseksi. Salausalgoritmia käytetään avainvirtageneraattorina tuottamaan avainvirtaa, joka sijoitetaan alarekisteriin. Tämä avainvirta XORoidaan sitten selkotekstin kanssa kuten virtasalakirjoituksen tapauksessa.

    Muunnettaessa lohkosalakirjoitus virtasalakirjoitukseksi CFB-tila tarjoaa joitakin virtasalakirjoituksen edullisia ominaisuuksia säilyttäen samalla lohkosalakirjoituksen edulliset ominaisuudet.

    Kääntöpuolella siirtovirhe leviää lohkojen vaihtumisen vuoksi.

    Output Feedback (OFB) Mode

    Se sisältää peräkkäisten lähtölohkojen syöttämisen takaisin taustalla olevasta lohkosalakirjoituksesta. Nämä takaisinkytkentälohkot tuottavat bittijonon, jota syötetään salausalgoritmille, joka toimii avainvirran generaattorina kuten CFB-tilassa.

    Luotu avainvirta muunnetaan XOR:lla selkotekstilohkojen kanssa. OFB-tila vaatii IV:n alun perin satunnaiseksi n-bittiseksi syöttölohkoksi. IV:n ei tarvitse olla salainen.

    Toiminto on esitetty seuraavassa kuvassa –

    Laskuritila (CTR)

    Toimintatapaa voidaan pitää laskuriin perustuvana versiona CFB-tilasta ilman palautetta. Tässä tilassa sekä lähettäjän että vastaanottajan on päästävä käsiksi luotettavaan laskuriin, joka laskee uuden jaetun arvon aina, kun salatekstilohko vaihdetaan. Tämä jaettu laskuri ei välttämättä ole salainen arvo, mutta haasteena on, että molempien osapuolten on pidettävä laskuri synkronoituna.

    Operaatio

    CTR-tilassa tapahtuva salaus ja salauksen purku on esitetty seuraavassa kuvassa. Toiminnan vaiheet ovat –

    • Latauslaskurin alkuarvo ylärekisteriin on sama sekä lähettäjällä että vastaanottajalla. Sillä on sama rooli kuin IV:llä CFB- (ja CBC-) tilassa.

    • Salaat laskurin sisällön avaimella ja sijoitat tuloksen alempaan rekisteriin.

    • Vastaanotat ensimmäisen selväkielisen tekstilohkon P1 ja XOR-korjaat sen alemman rekisterin sisältöön. Tämän tulos on C1. Lähetä C1 vastaanottajalle ja päivitä laskuri. Laskurin päivitys korvaa CFB-tilassa salatekstipalautteen.

    • Jatka tällä tavalla, kunnes viimeinenkin selkotekstilohko on salattu.

    • Salauksen purku on käänteinen prosessi. Salatekstilohko XORoidaan salatun sisällön laskurin arvon ulostulon kanssa. Kunkin salakirjoituslohkon salauksen purkamisen jälkeen laskuri päivitetään kuten salauksessa.

    Analyysi laskuritilasta

    Se ei ole sanomariippuvainen, joten salakirjoituslohko ei ole riippuvainen aiemmista selkotekstilohkoista.

    Kuten CFB-tila, myös CTR-tila ei liity lohkosalakirjoituslohkon salauksen purkamisprosessiin. Tämä johtuu siitä, että CTR-tilassa käytetään lohkosalausmenetelmää avainvirran tuottamiseen, joka salataan XOR-funktiolla. Toisin sanoen CTR-tila muuntaa myös lohkosalakirjoituksen virtasalakirjoitukseksi.

    CTR-tilan vakava haittapuoli on, että se vaatii synkronisen laskurin lähettäjällä ja vastaanottajalla. Synkronoinnin menetys johtaa selkotekstin virheelliseen palauttamiseen.

    CTR-tilassa on kuitenkin lähes kaikki CFB-tilan edut. Lisäksi se ei levitä lainkaan lähetysvirhettä.

    Advertisements

    Vastaa

    Sähköpostiosoitettasi ei julkaista.