150 likes | 292 Views
Symmetrinen salaus. Modernit salaustekniikat pohjautuvat joko tietokoneella tapahtuvaan bittien sekoittamiseen (symmetriset salaukset) tai matemaattiseen laskentaan (epäsymmetriset salaukset).
E N D
Symmetrinen salaus • Modernit salaustekniikat pohjautuvat joko tietokoneella tapahtuvaan bittien sekoittamiseen (symmetriset salaukset) tai matemaattiseen laskentaan (epäsymmetriset salaukset). • Symmetriset salaimet toteuttavat Claude Shannonin 1940-luvulla esittämää ajatusta siitä, miten hyvän salaimen tulee toimia. Timo Mynttinen
Sen pitää ensinnäkin sotkea (confusion) selvätekstin ja salatekstin välinen yhteys niin, ettei selvätekstin merkistä voi päätellä, mikä on vastaava salatekstin merkki. • Lisäksi salaimen pitää hajauttaa (diffusion) selvätekstin vaikutus mahdollisimman laajalle salatekstiin niin, että pienikin muutos selvätekstissä aiheuttaa suuren muutoksen salatekstiin. • Hajautus peittää selvätekstissä esiintyvät toistot ja säännönmukaisuudet, jolloin salatekstin analyysi ei auta murtajaa. Timo Mynttinen
Symmetriset salaimet voidaan edelleen jakaa kahteen ryhmään: lohko- ja jonosalaimiin. • Lohkosalain (block cipher) käsittelee selvätekstiä nimensä mukaisesti lohkoina, jotka salataan aina samalla avaimella. • Tyypillisiä lohkon kokoja ovat 64 ja 128 bittiä. • Pitkästä lohkosta on etua salauksen turvallisuudelle, mutta se vaatii enemmän muistia ja tuottaa hankaluuksia silloin, kun salattavat tietomäärät ovat hyvin pieniä. Timo Mynttinen
Jonosalain (stream cipher) käsittelee aineistoa pienissä yksiköissä – bitti tai merkkivakio kerrallaan – mutta avain vaihtuu jokaisen yksittäisen salausoperaation jälkeen. • Varsinainen salaus tapahtuu yhdistämällä sen hetkinen avain ja selväteksti yksinkertaisella XOR-operaatiolla salatekstiksi. • Salauksen ideana on avainjonon (key stream) tuottaminen. • Siihen tarvitaan jokin algoritmi, joka alustetaan osapuolten valitsemalla avaimella. • Sen jälkeen algoritmi tuottaa jatkuvasti uusia avaimia, joita salaus käyttää. Timo Mynttinen
Jonosalainta sanotaan synkroniseksi, jos avainjono tuotetaan itsenäisesti eikä sen paremmin sala- kuin selvätekstikään vaikuta siihen. • Epäsynkronisessa jonosalaimessa avainjonon muodostumiseen vaikuttaa myös salattavan datan sisältö. • Hyvälle salaimelle voidaan asettaa muutamia vaatimuksia: 1. Säädettävä avaimen pituus: avaimen pidentäminen kasvattaa brute force –murtoon kuluvaa aikaa, mutta toisaalta pitkä avain hidastaa salaus- ja purkunopeutta. Timo Mynttinen
2. Riittävän iso lohkokoko: minimikoko on 64 bittiä. 3. Toimintanopeus tietokoneessa: Jos esim. salaus ei pysy tiedonsiirron vauhdissa, se alkaa rajoittaa datavirtaa eikä nopeammasta linjasta ole apua. • Verkkokauppaa hoitavalta palvelimelta vaaditaan paljon tehoa, jotta se jaksaa salata jokaisen aktiivisen asiakkaan SSL-yhteyden. 4. Pieni muistintarve: vaikkapa matkapuhelimessa muistia ei ole tuhlattavaksi. 5. Mahdolliset patentit: Jos salausalgoritmi on suojattu patentilla, sen käytöstä pitää yleensä maksaa oikeudet omistavalle yritykselle. Timo Mynttinen
Avaimen pituus ja brute force • Salaimen keskeinen mittari on avaimen pituus, joka mitataan bitteinä. • Ellei mitään oikotietä tunneta, ainoa keino salauksen murtamiseen on kaikkien mahdollisten avainten kokeilu yksi kerrallaan. • Avainmahdollisuuksien määrä saadaan kaavasta avainten määrä= , missä avainpituus ilmoitetaan bitteinä. • Kun avainmahdollisuuksia on valtavasti, etsitty avain löytyy keskimäärin sitten, kun vaihtoehdoista on käyty läpi puolet. Timo Mynttinen
Keskimäärin murtoon tarvittavien kokeilujen määrä on siis kokeiluja= . • Näin ollen 40-bittinen salaustekniikka edellyttää, että olisi kokeiltava =549755813888 vaihtoehtoa keskimäärin. • Luku näyttää suurelta, mutta jos käytössä on tietokone, joka käy läpi miljoona avainta sekunnissa, avain löytyy keskimäärin vajaassa viikossa. • … ja paloittelemalla tehtävä sadalle tietokoneelle aikakin lyhenee sadasosaan alkuperäisestä… Timo Mynttinen
Vielä 1980-luvulla salaimia, joiden avainpituus ylitti 40 bittiä, pidettiin vahvoina. • Vahvan salauksen rajaa jouduttiin 1990-luvun puolivälissä siirtämään aluksi 56:een ja myöhemmin 64 bittiin asti. • Koska jokainen uusi bitti avaimeen kaksinkertaistaa vaihtoehtojen määrän, 64-bittisen salauksen murtaminen kestää eli 16777216 kertaa kauemmin kuin 40-bittisen salauksen murtaminen. • Suoraviivainen laskutoimitus ei tietenkään ole realistinen, koska tietokoneet nopeutuvat jatkuvasti, samalla kun niiden hinta ja siten myös saatavuus lisääntyy. Timo Mynttinen
Joka tapauksessa 128-bittistä avainta käyttämällä päästään tasolle, joka suojaa tiedot pahimmassakin tapauksessa monin verroin ihmisikää kauemmin. • Jos käytössä olisi miljardi tietokonetta, joista jokainen kokeilee miljardi avainta sekunnissa, avainmahdollisuuksien läpikäynti kestäisi vuotta. • Asiaa voisi havainnollistaa seuraavasti: jos 40-bittisen salauksen murtamiseen tarvittavaa laskentatehoa kuvataan ottamalla maasta lusikallinen (kuutiosentti) hiekkaa, niin 128-bittisen salauksen murtamiseen tarvitaan kolme kokonaista maapalloa. Timo Mynttinen
Joissakin salaimissa avaimen pituus voi olla peräti 2048 bittiä. • Symmetrinen lohkosalausohjelma DES (Data Encruption Standard) valmistui 1975, ja siitä tuli Yhdysvaltain virallinen salausstandardi vuonna 1977. • DES:n nimellinen avainpituus on 64 bittiä, mutta tehollinen avainpituus on 56 bittiä. • Perus-DES:n turva riittää kotikäyttöön, mutta ei mihinkään sen tärkeämpään. Timo Mynttinen
DES:n seuraaja on AES (Advanced Encryption Standard), joka standardoitiin Yhdysvalloissa vuonna 2001. • AES:n standardoituja avainpituuksia ovat ainakin 128, 192 ja 256 bittiä, ja lohkon koko on 128 bittiä. Timo Mynttinen
Yksinkertaisin tapa käyttää lohkosalainta on ottaa selvätekstiä n bittiä kerrallaan (n on salaimen lohkokoko), salata se, ja siirtyä käsittelemään seuraavaa selvätekstilohkoa. • Käytännössä näin ei kuitenkaan voida menetellä kuin poikkeustapauksissa, sillä lohkosalaimen suoraviivainen käyttö avaa oven monille hyökkäysmahdollisuuksille. • Lohkosalainten turvallisuuden lisäämiseksi on määritelty erilaisia käyttömoodeja, esim. ECB (Electronic Codebook), CBC (Cipher Block Chaining), OFB (Output Feedback) ja CFB (Cipher Feedback). Timo Mynttinen
Lohkosalainta voidaan myös käyttää viestin salaamiseen merkki kerrallaan, joka toimintamoodi kuuluu erityisesti symmetrisille jonosalaimille. • Jonosalain on onnen omiaan, kun tavoitellaan suurta salausnopeutta, mutta yksinkertaisempaa rakennetta ja pienempää virrankulutusta. • Jonosalain on helppo toteuttaa lineaarisella siirtorekisterillä, LFSR (Linear Feedback Shift Register). Timo Mynttinen
LFSR:n turvallisuutta voidaan lisätä yhdistelemällä itsenäisiä siirtorekistereitä eri tavoin. • Esim. GSM:n A5/1-salauksessa käytetään kolmea kytkettyä siirtorekisteriä, joiden pituudet ovat 19, 22 ja 23 bittiä. Timo Mynttinen