Luku II: Kryptografian perusteita

Samankaltaiset tiedostot
Luku II: Kryptografian perusteita

Luku II: Kryptografian perusteita

Datan turvallisuus, yleistä tietojen luokittelusta I

Datan turvallisuus, yleistä tietojen luokittelusta I

Tietoturva P 5 op

Ongelma 1: Miten tieto kannattaa koodata, jos sen halutaan olevan hyvin vaikeasti luettavaa?

Salaustekniikat. Kirja sivut: ( )

Tietoturvatekniikka Ursula Holmström

SALAUSMENETELMÄT. Osa 2. Etätehtävät

Osa4: Julkisen avaimen salaukset: RSA ja Elliptisten käyrien salaus. Tiivistefunktiot ja HMAC, Digitaalinen allekirjoitus RSA

Lyhyt oppimäärä mistä salauksessa on kyse? Risto Hakala, Kyberturvallisuuskeskus, Viestintävirasto

Luento 11: Tiedonsiirron turvallisuus: kryptografiaa ja salausavaimia. Syksy 2014, Tiina Niklander

Tietoliikenteen perusteet

Nimittäin, koska s k x a r mod (p 1), saadaan Fermat n pienen lauseen avulla

Datan turvallisuus. Luku Yleistä tietojen luokittelusta

Lyhyt oppimäärä mistä tietojen salauksessa on oikeasti kyse? Risto Hakala, Kyberturvallisuuskeskus, Viestintävirasto

Salakirjoitusmenetelmiä

Kryptologia Esitelmä

Tietoturvan perusteet - Syksy SSH salattu yhteys & autentikointi. Tekijät: Antti Huhtala & Asko Ikävalko (TP02S)

5. SALAUS. Salakirjoituksen historiaa

Modernien salausalgoritmien aikajana

Salaustekniikat. Tuomas Aura T Johdatus tietoliikenteeseen kevät 2010

Kryptografiset vahvuusvaatimukset luottamuksellisuuden suojaamiseen - kansalliset suojaustasot

Tietoliikenteen salaaminen Java-sovelluksen ja tietokannan välillä

Tietoliikenteen salaustekniikat

RSA-salakirjoitus. Simo K. Kivelä, Apufunktioita

myynti-insinööri Miikka Lintusaari Instrumentointi Oy

TIETOTURVAN PERUSTEET: KERTAUSTA

RSA-salausmenetelmä LuK-tutkielma Tapani Sipola Op. nro Matemaattisten tieteiden laitos Oulun yliopisto Syksy 2017

Sähköinen asiointi hallinnossa ja HST-järjestelmä. Joensuun yliopisto Tietojenkäsittelytieteen laitos Laudaturseminaari Tapani Reijonen 21.3.

Julkisen avaimen infrastruktuuri ja varmenteet

A TIETORAKENTEET JA ALGORITMIT

Enigmail-opas. Asennus. Avainten hallinta. Avainparin luominen

Langattomat lähiverkot. Matti Puska

Verkon värittämistä hajautetuilla algoritmeilla

Kvanttiavainjakelu (Kvantnyckeldistribution, Quantum Key Distribution, QKD)

Osa1: Peruskäsitteitä, klassiset salakirjoitukset. Salausmenetelmät. Jouko Teeriaho LapinAMK

ECC Elliptic Curve Cryptography

Yritysturvallisuuden perusteet. 11. Luento Tietotekninen turvallisuus

Tietoturvan Perusteet : Tiedon suojaaminen

Pikaviestinnän tietoturva

Kuljetus- ja sovelluskerroksen tietoturvaratkaisut. Transport Layer Security (TLS) TLS:n suojaama sähköposti

Koostanut Juulia Lahdenperä ja Rami Luisto. Salakirjoituksia

Tietoverkon käyttäjän tietoturvan parantaminen salausmenetelmiä käyttäen

ELEC-C7241 Tietokoneverkot Multimedia, tietoturva, jne.

NÄIN TOIMII. alakirjoituksen historia ulottuu tuhansien

Julkisten avainten salausmenetelmät

(d) 29 4 (mod 7) (e) ( ) 49 (mod 10) (f) (mod 9)

VERKKOPANKKILINKKI. Turvallinen linkki verkkopankista pankin ulkopuoliseen palveluun. Palvelun kuvaus ja palveluntarjoajan

HELIA TIKO ICT03D Tieto ja tiedon varastointi T.Mikkola, O.Virkki. Tietoturva tiedon varastoinnissa

Kryptovaluuttoista ja lohkoketjuista osa 3. Jyväskylä Henri Heinonen

7.4 Sormenjälkitekniikka

Harjoitustehtävät. Laskarit: Ti KO148 Ke KO148. Tehtävät viikko. VIIKON 42 laskarit to ko salissa IT138

SecGo. Sähköinen allekirjoitus ja sen käyttö. Ari-Pekka Paananen, SecGo VE Oy Director,technology

DNSSec. Turvallisen internetin puolesta

811312A Tietorakenteet ja algoritmit V Hash-taulukot ja binääriset etsintäpuut

5. Julkisen avaimen salaus

IDENTITEETTIIN PERUSTUVISTA JULKISEN AVAIMEN KRYPTOSYSTEEMEISTÄ

Tietoturvan perusteita

Kuljetus/Sovelluskerroksen tietoturvaratkaisut

Tämän luennon aiheet. Kuljetus/Sovelluskerroksen tietoturvaratkaisut. TLS:n turvaama HTTP. Transport Layer Security (TLS) TLS:n suojaama sähköposti

Kuljetus- ja sovelluskerroksen tietoturvaratkaisut. Transport Layer Security (TLS) TLS:n turvaama HTTP. TLS:n suojaama sähköposti

Salausmenetelmät 2015/Harjoitustehtävät

Salaustekniikat. Tuomas Aura T Johdatus tietoliikenteeseen kevät 2010

Älykorttien ja avainkorttien käyttö tietoverkoissa salauksen avulla toteutetussa todennuksessa

Varmennepalvelu Yleiskuvaus Kansallisen tulorekisterin perustamishanke

Diskreetin matematiikan perusteet Laskuharjoitus 2 / vko 9

Pekka Niemi. Kannettavan laitteen muistin salaus

Tehtävä 2: Tietoliikenneprotokolla

= 5! 2 2!3! = = 10. Edelleen tästä joukosta voidaan valita kolme särmää yhteensä = 10! 3 3!7! = = 120

Luku 8. Aluekyselyt. 8.1 Summataulukko

Valtionhallinnon salauskäytäntöjen tietoturvaohje

Y k s i t y i s y y s j a t i e t o s u o j a v e r k o s s a. Mikko Rauhala Vaalimasinointi.org

Salausmenetelmät: Symmetrinen, epäsymmetrinen ja tiivistealgoritmit

OpenPGP-standardia käyttävän salausrajapinnan suunnittelu

Salausmenetelmät. Veikko Keränen, Jouko Teeriaho (RAMK, 2006)

Hyökkäykset verkoissa

KEMI-TORNIONLAAKSON KOULUTUSKUNTAYHTYMÄ LAPPIA LANGATON VIERAILIJAVERKKO 2(7) VERKKOYHTEYDEN MÄÄRITTELY WINDOWS XP:LLE (WINDOWS XP SP3)

Diskreetin matematiikan perusteet Laskuharjoitus 5 / vko 41

Salaustekniikat. Tuomas Aura T Johdatus tietoliikenteeseen kevät 2013

Verkonhallintajärjestelmän suojaaminen IPSecin avulla

MS-A0402 Diskreetin matematiikan perusteet

Johdatus lukuteoriaan Harjoitus 2 syksy 2008 Eemeli Blåsten. Ratkaisuehdotelma

T Cryptography and Data Security

PYTHON - KRYPTAUSOPAS. Lappeenrannan teknillinen yliopisto 2007 Jussi Kasurinen

3. Kongruenssit. 3.1 Jakojäännös ja kongruenssi

Laskennan vaativuus ja NP-täydelliset ongelmat

Reaalilukuvälit, leikkaus ja unioni (1/2)

Langattomien verkkojen tietosuojapalvelut

KEHITTYNEET SALAUSMENETELMÄT

4 Matemaattinen induktio

Olkoon seuraavaksi G 2 sellainen tasan n solmua sisältävä suunnattu verkko,

Tietoturva P 5 op

A ja B pelaavat sarjan pelejä. Sarjan voittaja on se, joka ensin voittaa n peliä.

(2) C on joukko, jonka alkioita kutsutaan sala(kirjoite)tuiksi viesteiksi (engl. ciphertext);

Tyypillisen hyökkäyksen eteneminen verkossa

ja λ 2 = 2x 1r 0 x 2 + 2x 1r 0 x 2

d Z + 17 Viimeksi muutettu

Algoritmit 1. Demot Timo Männikkö

Yritysturvallisuuden perusteet

Transkriptio:

Luku II: Kryptografian perusteita Tässä toisessa luvussa esitellään muutamia peruskäsitteita ja -tekniikoita symmetrisestä salauksesta, julkisen avaimen salauksesta eli epäsymmetrisestä salauksesta, kryptografisista tiivistefunktioista, digitaalisista allekirjoituksista. () 11. tammikuuta 2013 1 / 38

Tietokonesalaus Ehdot symmetriselle (osapuolilla sama salainen avain) tietokonesalaukselle: Avain on kohtuullisen kokoinen (< 250 bittiä kaupallisissa sovelluksissa, sotilaallisissa voi olla suurempikin). Avainta on voitava käyttää useaan kertaan. Salaus on nopeaa ja salauspiirit halpoja. Salauksella tulee olla hyvät diffuusio-ominaisuudet eli yksi selvätekstin bitti vaikuttaa moneen salatekstin bittiin niin, että selvätekstin tilastollinen rakenne häviää. Lisäksi salauksella tulee olla hyvät sekoitusominaisuudet eli on vaikeaa päätellä, miten salatekstin tilastollinen rakenne riippuu selvätekstin tilastollisesta rakenteesta. () 11. tammikuuta 2013 2 / 38

Salausmenetelmien luokittelu I Symmetrinen tietokonesalaus on joko jonosalausta tai lohkosalausta. Jonosalaus tapahtuu merkki merkiltä: selvätekstin merkkiä muutetaan ja se ketjutetaan lähettävään salamerkkien virtaan. Tunnetuin jonosalaaja on RC4 ja sen uusi versio RC5. Jonosalausta käytetään tilanteissa, joissa salauksen on oltava nopeaa ja reaaliaikaista tiedon synnyn kanssa. Esimerkiksi GSM-puheluissa on käytetty jonosalausta A5/1, A5/2. Jonosalausta ei ole kuitenkaan pidetty täysin turvallisena, josta syystä siitä ei ole edes standardeja. Uusimpia jonosalaajia ovat Salsa ja Sosemanuk. () 11. tammikuuta 2013 3 / 38

Salausmenetelmien luokittelu II Lohkosalauksessa selväteksti jaetaan lohkoihin (128 b, 256 b, 512 b), jokainen lohko salataan samalla salaisella avaimella ja lohkot lähetetään joko sellaisenaan tai ketjutettuna. Avaimen pituus on sama kuin lohkon pituus. Tällä hetkellä vallitseva standardi on AES (Advanced Encryption Standard, alunperin Rijndael). Toinen paljon käytetty on 3DES eli vanha DES kolminkertaisena kolmella avaimella. Suorituskykyvertailu (nopeus MB/sec) RC4 126 Salsa20/12 643 Sosemanuk 727 3DES 13 AES-128 109 () 11. tammikuuta 2013 4 / 38

Symmetrinen salaus käytännössä: ECB I Yksinkertaisimillaan salausta käytetään siten, että selväteksti jaetaan esim. 128:n (AES) bitin lohkoihin, jokainen lohko salataan erikseen ja lohkot lähetetään vastaanottajalle. Kysymyksessä on ns. elektroninen koodikirja, ECB. Tällä menetelmällä on kuitenkin huonoja puolia: Säännöllisyydet saattavat näkyä salatekstissä. Esimerkiksi rahansiirrossa summa saattaa olla aina samalla paikalla. Suurista summista voi olla tietoa jne. Jotta esitetyiltä ongelmilta vältyttäisiin, pyritään salalohkot ketjuttamaan niin, että yksi salalohko vaikuttaa kaikkien muiden seuraavaksi tulevien koodaukseen. Näin sekoitusominaisuudet paranevat, eikä vakio-osia ole enää mahdollista paikantaa. Näitä ns. ketjutustekniikoita voidaan käyttää minkä tahansa symmetrisen lohkosalausmenetelmän kanssa. () 11. tammikuuta 2013 5 / 38

Salalohkojen ketjutus I Salalohkojen ketjutuksessa (engl. cipher block chaining, CBC) selväteksti jaetaan lohkoiksi, joita ruvetaan salaamaan järjestyksessä. Nyt kuitenkin käytetään apuna yhteenlaskua modulo 2. Aina kun lohko on salattu, salattu lohko lasketaan yhteen modulo 2 seuraavan selvätekstilohkon kanssa, joka salataan vasta tämän jälkeen. Kaaviona salaus- ja purkuprosessi ovat seuraavan kuvan mukaisia (lohkon pituus kuvioissa 64, todellisuudessa esim. 128). () 11. tammikuuta 2013 6 / 38

Salalohkojen ketjutus II 64 b varasto 64 bitin varasto C n 1 k k C n 1 P n E C n D Q n Kuva: CBC Vastaavasti kaavoina: () 11. tammikuuta 2013 7 / 38

Salalohkojen ketjutus III C n = E K (P n C n 1 ), Q n = D K (C n ) C n 1, D K (C n ) = P n C n 1, Q n = P n C n 1 C n 1 = P n. Ensimmäisen ja viimeisen lohkon käsittely vaatii erikoiskäsittelyä. Otetaan käyttöön 64 bitin alustusmuuttuja I, jota käytetään ensimmäisen selvälohkon salauksessa: C 1 = E K (P 1 I), Q 1 = D K (C 1 ) I. Yleensä alustusmuuttuja I on salainen. Viimeinen selvälohko on täydennettävä 64-bittiseksi. Tämä voidaan tehdä lisäämällä nollia tai satunnainen bittijono. () 11. tammikuuta 2013 8 / 38

Ketjutuksessa tiedonsiirtovirheet leviävät laajemmalle kuin elektronisen koodikirjan tapauksessa. Oletetaan, että n. salalohkossa tapahtuu yhden bitin tiedonsiirtovirhe. Merkitään C n virheetön salalohko, C n yhden bitin virheen sisältävä salalohko, Q n selvälohko purkamisen jälkeen, Q n täysin virheellinen lohko purkamisen jälkeen, Q n yhden bitin virheen sisältävä selvälohko. Nyt tiedonsiirtovirheen vaikutus selviä seuraavista kaavoista: D K (C n) C n 1 = Q n, D K (C n+1 ) C n = Q n+1, D K (C n+2 ) C n+1 = Q n+2. Eli yksi selvälohko tuhoutuu täysin ja yhdessä on yhden bitin virhe. Muut lohkot selviävät vaurioitta. () 11. tammikuuta 2013 9 / 38

Salauksen takaisinkytkentä I Salauksen takaisinkytkentää (engl. cipher feedback chaining, CFB) käytetään, kun salaus tapahtuu merkki merkiltä tai bitti bitiltä. Oletetaan, että merkin pituus on m bittiä. Yleensä m = 8. Menetelmän idea käy selville seuraavasta kaaviosta. () 11. tammikuuta 2013 10 / 38

Salauksen takaisinkytkentä II Siirtorekisteri Siirtorekisteri k 64 64 E E 8 8 64 64 k Valitse vasen oktetti Valitse vasen oktetti 8 8 8 8 8 8 Selvä Sala Selvä Kuva: CFC () 11. tammikuuta 2013 11 / 38

Salauksen takaisinkytkentä III Ensimmäisen oktetin kohdalla käytetään alustusmuuttujaa I, jonka pituus on sama kuin salausjärjestelmän lohkon pituus. Alustusmuuttuja sijoitetaan valmiiksi siirtorekisteriin. Se on luonnollisesti vaihdettava tarpeeksi usein. Edellisten merkintöjen lisäksi merkitään: S n siirtorekisterin sisältö n. kierroksella, L n on E K (S n ):n m vasenta bittiä. Analysoidaan taas tiedonsiirtovirheen vaikutusta. Oletetaan, että n. kierroksella tapahtuu yhden bitin virhe salalohkossa. Tällöin kun M = 8: S n ja L n kunnossa, mutta C n L n = Q n eli selvälohkoon tulee n. kierroksella yhden bitin virhe; kierroksilla n+1,,n+8 tilanne on S i ja L i, i = n+1,,n+8; Siten i = n+1,,n +8; C i L i = Q i, () 11. tammikuuta 2013 12 / 38

Salauksen takaisinkytkentä IV kierroksella n + 9 kaikki on kunnossa. Siis virhe vaikuttaa 9 oktettiin. () 11. tammikuuta 2013 13 / 38

Laskurimoodi I Laskurimoodi eli CTR on saavuttanut suosiota viime aikoina, joskin se on vanha ehdotus. Salaus tapahtuu nyt muodossa missä P i on i.s selvälohko, C i = P i E(K,L i ), L i on laskurin arvo i. kierroksella, K on salainen, symmetrinen avain ja on XOR-operaatio. Tyypillisesti laskurilla on jokin sovittu alkuarvo, joka kasvatetaan joka kierroksella yhdellä. Mitään ketjutusta ei ole käytössä. Menetelmällä on etuja: Laitteistotason tehokkuus. () 11. tammikuuta 2013 14 / 38

Laskurimoodi II Ohjelmallinen tehokkuus. Esiprosessointi mahdollista (salaus). Lohkot voidaan prosessoida satunnaisessa järjestyksessä. CTR:n voidaan näyttää olevan ainakin yhtä vahva kuin muut ketjutusmenetelmät, jotka ovat olleet esillä. Tarvitaan vain salauksen toteutus, ei purun toteutusta. () 11. tammikuuta 2013 15 / 38

Julkisen avaimen salaus RSA I Julkisen avaimen salauksen eli epäsymmetrisen salauksen edellytyksenä on, että löytyy salausmenetelmä, jossa on mahdotonta saada selville salaista purkuavainta D K, vaikka salausavain E K tunnetaan. Julkisen avaimen salauksen etuna on, että kuka tahansa voi lähettää salakirjoitetun viestin vastaanottajalle ilman, että molempien täytyy sopia etukäteen salaisesta avaimesta. Vastaanottaja on kuitenkin ainoa, joka pystyy purkamaan viestin salaisella avaimellaan. Julkisen avaimen salauksen idean julkaisivat ensimmäisinä Diffie ja Hellman vuonna 1976. Joissakin lähteissä mainitaan myös Merkle samanaikaisena keksijänä. Heidän ehdottamansa menetelmä oli kuitenkin lähinnä teoreettinen ja varsin epäkäytännöllinen. () 11. tammikuuta 2013 16 / 38

Julkisen avaimen salaus RSA II Ensimmäinen julkisen avaimen julkinen käytännöllinen menetelmä oli RSA, jonka kehittivät Rivest, Shamir ja Adleman 1977. RSA on edelleenkin laajimmin käytössä oleva julkisen avaimen järjestelmä. Vuonna 1997 CESG (brittiläinen kryptografian osasto) julkaisi dokumentteja, jotka osoittivat, että James Ellis oli jo vuonna 1970 keksinyt julkisen avaimen salauksen. Samoin Clifford Clocks oli 1973 kuvannut RSA:n version, missä salauseksponentti e oli sama kuin modulus n. RSAn jälkeen on ehdotettu monia muita, mutta ne eivät ole saaneet samanlaista suosiota. Nykyään elliptisiin käyriin perustuvat menetelmät ovat kuitenkin nostamassa suosiotaan, koska niissä voidaan käyttää lyhyempää avainta (1500-2000 b - 300-600 b). () 11. tammikuuta 2013 17 / 38

Julkisen avaimen salaus RSA III Julkisen avaimen menetelmät eivät voi taata turvallisuutta joka tilanteessa. Jos vastapuolella nimittäin on salateksti, hän voi salata jokaisen mahdollisen selvätekstin ja verrata tulosta salatekstiin. Mikäli tulos on sama, on selväteksti paljastunut. Siten mahdollisia selvätekstejä on oltava suunnaton määrä. Lisäksi julkisen avaimen salaus on paljon hitaampaa kuin symmetrisen avaimen salaus, joten sitä ei yleensä käytetä datan salaamiseen. Sen sijaan julkisella menetelmällä salataan tavallisesti symmetrisen salauksen avaimia, joita näin välitetään osapuolelta toiselle. Julkisen avaimen salauksella toteutetaan useimmiten myös digitaalisen allekirjoitus, jota tarvitaan osapuolten todentamisessa. () 11. tammikuuta 2013 18 / 38

RSA I RSA:ssa avaimet ovat muodoltaan seuraavia: julkinen avain on lukupari (e, n); salainen avain on lukupari (d, n); selväteksti jaetaan lohkoihin, lohkon koon binäärilukuna tulee olla alle n eli lohko käsittää korkeintaan log 2 (n) bittiä. Salaus tapahtuu kaavalla Purkuun käytetään kaavaa C = M e mod n. M = C d mod n = (M e ) d mod n = M ed mod n. Ennenkuin systeemi toimii, on löydettävä sopivat luvut e, d ja n, () 11. tammikuuta 2013 19 / 38

RSA II on laskettava tehokkaasti M e ja C d kaikilla M < n, d ei saa olla helposti laskettavissa e:stä ja n:stä. Sivuutamme kuitenkin nämä tarkastelut, jotka vaativat hieman lukuteorian ja moduloaritmetiikan tuntemusta. () 11. tammikuuta 2013 20 / 38

Digitaalinen allekirjoitus RSA:n avulla I Esimerkiksi elektronisessa kaupankäynnissä ja varmenteiden käytössä täytyy kyetä osoittamaan, että tietty taho on viestin lähettäjä. Digitaalinen allekirjoitus tähtää siihen, että se osoittaa kiistatta lähettäjän ja lähetyksen ajankohdan sekä todentaa sanoman. Lisäksi kolmannen osapuolen tulee kyetä verifioimaan allekirjoitus. Todentaminen tässä yhteydessä tarkoittaa, että allekirjoitettua viestiä ei voi muuttaa vaikuttamatta allekirjoitukseen. Suora digitaalinen allekirjoitus perustuu julkisen avaimen salaukseen. Edellytyksenä on, että salausmenetelmälle pätee ehto E Kp (D Ks (M)) = M. Esimerkiksi RSA toteuttaa yllä olevan kaavan. Jos ehto pätee, sanoma allekirjoitetaan salaamalla se lähettäjän salaisella avaimella D Ks. () 11. tammikuuta 2013 21 / 38

Digitaalinen allekirjoitus RSA:n avulla II Vastaanottaja purkaa salauksen lähettäjän julkisella avaimella ja toteaa, että tuloksena on selväkielinen viesti. Jos lähettäjä haluaa, ettei viestiä voi lukea muut kuin vastaanottaja, viesti voidaan vielä salata vastaanottajan julkisella avaimella. Usein allekirjoituksen yhteydessä käytetään myös tiivistefunktiota (määritelmä hieman myöhemmin). Tiiviste allekirjoitetaan, ei alkuperäistä lähdettä. Digitaalisen allekirjoituksen standardi on muunnos ELGamalin allekirjoituksesta. Siinä allekirjoitus on kohtuullisen kokoinen päinvastoin kuin ElGamalissa. Se kehitettiin osaksi sen vuoksi, että RSA:n käyttöä säätelivät patentit. Näiden perustekniikoiden lisäksi on lukuisia muita, joita on lueteltu teoksessa Menezes, van Oorschot, Vanstone: Handbook of Applied Cryptography, joka on saatavissa ilmaiseksi verkosta. () 11. tammikuuta 2013 22 / 38

Tiedon eheyden käsite ja eheystekniikoita I On tärkeää, että tieto ei muutu tai että tietoa ei muuteta, jos sen on tarkoitus pysyä vakiona. Tiedon eheyteen joudutaan kiinnittämään huomiota erityisesti tietoliikenteessä, mutta myös muistissa olevan tiedon varmistaminen tulee joskus kysymykseen. Tavalliset tarkistussummat eivät riitä tietoturvatarkasteluissa, koska ne eivät suojaa tiedon tahalliselta muuttamiselta (hyökkääjä voi muuttaa myös tarkistussummaa). Tarvitaan menetelmä, joka paljastaa tahattomat ja tahallaan tehdyt muutokset. Usein eheyteen liitetään vielä todennus: tiedon vastaanottaja pystyy varmasti näkemään, kuka tiedon on lähettänyt. Hyvä todennus toteuttaa lisäksi ehdon, ettei vastaanottaja voi itse väärentää sanomaa ja väittää, että se on tullut toiselta osapuolelta. () 11. tammikuuta 2013 23 / 38

Tarkastellaan seuraavia menetelmiä, joilla toteutetaan eheys ja todennus: salaus, tiivistefunktiot ja digitaalinen allekirjoitus, MAC-funktiot. () 11. tammikuuta 2013 24 / 38

Tiedon salaus eheystekniikkana I Jos selvätekstiä sisältävä tieto salataan ja salattua tietoa muutetaan, salauksen purku tuottaa mielivaltaisen bittijonon, joka ei ole selvätekstin esitystä. Näin salauksen purku paljastaa muutoksen ja salaus toimii eheyden takaajana. Lisäksi salaus todentaa lähettäjän, jos salausavain on yhteisesti sovittu, eikä se ole vuotanut ulkopuolisille. Voi olla kuitenkin vaikeaa automaattisesti päätellä, onko salauksen purun lopputulos oikeanlaatuista, jos alkuperäinen tieto on esimerkiksi binäärikoodia, röntgenkuvia tms. Tällaisissa tilanteissa tietoon voidaan liittää tarkistussumma (esimerkiksi CRC) ja vasta sitten salata. Toinen mahdollisuus on strukturoida tieto siten, että struktuuri on helppo havaita automaattisesti. () 11. tammikuuta 2013 25 / 38

Tiedon salaus eheystekniikkana II Salaus ei kuitenkaan estä vastaanottajaa väärentämästä sanomaa, salaamasta sitä ja väittämästä, että se on tullut toiselta. Usein tietokoneverkkosovelluksissa osapuolilla ei ole valmiina yhteisiä salaisia avaimia, vaan niistä pitää sopia aluksi. Tämä hankaloittaa salauksen käyttöä eheyden takaajana. Myöskään aina ei tarvita luottamuksellisuutta, vaan tieto voitaisiin lähettää selväkielisenä perille, jos vain se menisi vastaanottajalle ehyenä. Sen tähden on hyvä erottaa luottamuksellisuus ja eheys/todennus toisistaan ja käsitellä niitä eri proseduureilla. () 11. tammikuuta 2013 26 / 38

Tiivistefunktiot I Tiivistefunktio (engl. cryptographic hash function) on kuvaus h, joka laskee sanomasta M tarkistuskentän h(m). M voi yleensä olla vaihtuvamittainen, sen sijaan h(m) on kiinteämittainen. Normaalisti h(m):n pituus on paljon lyhyempi kuin M:n. Tiivistefunktion h arvon laskemisessa ei tarvita salaisia avaimia. Funktio on kuitenkin yksisuuntainen eli h 1 (X) on vaikea laskea, vaikka h ja X tunnetaan. Tiivistefunktioita voidaan käyttää eheyden ja todennuksen yhteydessä. Tyypillisesti sanomasta lasketaan ensin tiivistefunktiolla tiiviste. Sen jälkeen tiiviste allekirjoitetaan digitaalisesti. Lähtevä sanoma koostuu selväkielisestä sanomasta plus allekirjoituksesta. () 11. tammikuuta 2013 27 / 38

Tiivistefunktiot II Vastaanottaja laskee sanomasta myös tiivisteen ja sen jälkeen verifioi allekirjoituksen. Verifiointi tarkoittaa yleensä sitä, että allekirjoituksesta lasketaan alkuperäinen tiiviste. Nyt voidaan verrata itse laskettua tiivistettä ja allekirjoituksesta saatua tiivistettä. Jos nämä ovat samoja, tieto on tullut eheänä perille ja allekirjoitus vielä vahvistaa lähettäjän. Myöskään vastaanottaja ei voi väärentää allekirjoitusta, joten lähettäjän ei tarvitse pelätä väärennöksiä. Tarkemmin kuvattuna allekirjoituksen verifiointi tapahtuu seuraavasti: 1 Verifioija tarvitsee allekirjoittajan julkisen RSA-avaimen. Koska ei ole mitään paikkaa, josta sen voisi hakea, allekirjoittaja lähettäessään viestinsä liittää pakettiin myös varmenteensa. 2 Varmenne sisältää allekirjoittajan julkisen RSA-avaimen. Lisäksi varmenteessa on varmenteen myöntäneen varmenneviranomaisen (certification authority) tunnus ja viranomaisen allekirjoitus. () 11. tammikuuta 2013 28 / 38

Tiivistefunktiot III 3 Vastaanottaja eli verifioija purkaa allekirjoituksen käyttämällä lähettäjän julkista avainta, joka siis löytyy varmenteesta. Hän laskee sanoman tiivisteen ja vertaa purkamaansa arvoa laskemaansa tiivisteehen. Jos molemmat ovat identtiset, verifiointi jatkuu. Muuten allekirjoitus ei ole pätevä. 4 Seuraavaksi on tarkistettava, että varmenteessa oleva julkinen avain on todella aito. Eli että varmenne todella liittää oikein identiteetin ja julkisen avaimen. Ensiksi tarkistetaan, ettei varmennetta ole peruutettu. Tämä tehdään joko hakemalla peruutuslista varmenneviranomaiselta tai käyttämällä erityistä protokollaa, esimerkiksi OCSP:tä (Online Certificate Status Protocol). OCSP:lle annetaan varmenne ja se hoitaa tarkistuksen palauttaen tiedon, onko varmenne ok vai ei. Peruutuslistat voivat olla suuria ja niitä saatetaan päivittää muutaman minuutin välein. () 11. tammikuuta 2013 29 / 38

Tiivistefunktiot IV 5 Vielä on tarkistettava varmenneviranomaisen allekirjoitus. Tätä varten tarvitaan viranomaisen julkinen avain, jonka lähettäjä saattaa myös lähettää paketin yhteydessä. Verifioijan tulisi tuntea varmenneviranomainen. Jos näin ei ole, täytyy etsiä toinen viranomainen, joka on varmentanut ensimmäisen ja jonka verifioija tuntee. Tällainen ketju saattaa olla varsin pitkä. Mikäli luottamuksellisuutta ei tarvita, salausta yritetään välttää useista syistä: Salausohjelmat ovat hitaita. Piiritason AES- yms. toteutukset ovat melko tehokkaita, mutta näidenkin kustannukset tuntuvat, jos salausta tarvitaan kaikissa verkon solmuissa. Salauslaitteisto on optimoitu suurten datamäärien salaukseen. Jos salattavana on pieni lohko, suurin osa ajasta menee alustukseen. Salausalgoritmi voi olla patentoitu kuten oli RSA:n tapauksessa. Tämä lisää kustannuksia. () 11. tammikuuta 2013 30 / 38

Tiivistefunktiot V Salausalgoritmen vientiä säädellään (nykyään paljon vähemmän kuin esim. 1980-luvulla). () 11. tammikuuta 2013 31 / 38

Tiivistefunktioilta vaadittavat ominaisuudet I Seuraava luettelo listaa tiivistefunktioilta vaadittavat ominaisuudet: 1 h(m) voidaan laskea minkä pituiselle M tahansa. 2 h(m) on kiinteän pituinen. 3 h(m) on helppo laskea. 4 Jos annetaan y, ei ole helppoa löytää sellaista M:ää, että h(m) = y. Eli h on alkukuvaresistentti (h has preimage resistance). 5 Jos on annettu y ja M 1, ei ole helppoa löytää sellaista M 2 M 1, että h(m 1 ) = h(m 2 ). Eli h on injektiotyyppinen (h has second preimage resistance). 6 On vaikeaa löytää mitään paria (M,M ), jolle h(m) = h(m ). Eli h on törmäysresistentti (collision resistance). Käytännön tiivistefunktio toteutetaan samaan tapaan kuin symmetrinen salaus. Erona on, että lopputulosta ei tarvitse enää purkaa niinkuin salauksessa. Siten teksti jaetaan lohkoihin, lohkoja yhdistellään binäärioperaatioilla, välillä suoritetaan rekisterien sivuttaissiirtoja jne. () 11. tammikuuta 2013 32 / 38

Tiivistefunktioita Tilanne tiivistefunktioiden kanssa on tällä hetkellä sekava. Kiinalainen tutkimusryhmä kehitti noin 7 vuotta sitten uudenlaisen tekniikan murtaa tiivistefunktioita, ja tämä johti siihen, että perinteellisiä tiivistefunktioita MD5, SHA-1, SHA-2, RIPEMD-160 ei pidetä enää turvallisina. Paraikaa ollaan kehittämässä SHA-3:ta, ja sen piti tulla markkinoille viime vuonna. MD5 (pituus 128 bittiä) on ehdottomasti vanhentunut, SHA-1:tä (160 b) ei myöskään ole suositeltu enää vähään aikaan. Sen sijaan SHA-2 -versiot (224, 256, 384, 512 bittiä) toiminevat vielä käytännössä jonkin aikaa. () 11. tammikuuta 2013 33 / 38

MAC-funktiot I MAC-koodi (Message Authentication Code) on tiiviste, joka liitetään sanomaan, jotta vastaanottaja voisi varmistaa alkuperäisen lähettäjän. Tiivisteen laskemisessa käytetään salaista parametria. Ensimmäiset MAC-koodit generoitiin salauksen avulla. Tällöin vastaanottajalla ja lähettäjällä täytyi olla sama salainen avain. Salalohkot laskettiin vielä yhteen, joten lopputulos oli salalohkojen summa. Toinen tapa muodostaa MAC on käyttää tavallista tiivistefunktiota salaisen avaimen kanssa. Toisin sanoen sanomasta lasketaan tiiviste, mutta laskennassa käytetään myös salaista avainta pelkän sanoman lisäksi. Esimerkiksi MD5:ta ja SHA:ta on käytetty tällä tavoin MAC:in muodostamiseen. Sitten on vielä esimerkiksi MAA-algoritmi, joka on ISO-standardi 8731-2. Sen laskenta muistuttaa tiivisteen laskemista salaisen avaimen kera. () 11. tammikuuta 2013 34 / 38

MAC-funktiot II MAC-menetelmän avulla tiedon eheys voidaan varmistaa, sillä kukaan kuin salaisen avaimen omistajat eivät pysty laskemaan tiivistettä. Toisaalta MAC ei estä vastaanottajaa väärentämästä sanomaa ja MAC arvoa. Siten MAC-arvoa ei voi käyttää, jos halutaan toteuttaa kiistämättömyys. Toisaalta MAC on nopeampi laskea kuin allekirjoitus. Siten protokollissa käytetään usein allekirjoitusta alkuvaiheessa, kun sovitaan avaimista. Sen jälkeen eheys varmistetaan MAC-arvolla. () 11. tammikuuta 2013 35 / 38

Vaatimukset avaimille I Tällä hetkellä vaatimukset avaimille ovat: n:n on oltava välillä 1024 2048 bittiä, p:n ja q:n tulee olla lähellä toisiaan, välillä 10 75 100 100, p 1:n ja q 1:n tulee sisältää suuri alkulukutekijä ja syt(p 1,q 1):n tulee olla pieni. Tarkastellaan vielä avainten pituuksia. Koska laitteistot kehittyvät koko ajan, täytyy avaimen pituuksia kasvattaa aika ajoin. Seuraavassa taulukossa on sekä symmetrisiltä että epäsymmetrisiltä salausmenetelmiltä vaadittavia avainpituuksia tuleville vuosille. Arviot perustuvat ECRYPT II -suosituksiin vuodelta 2009. Vastaavia suosituksia on NIST:ltä, NSA:lta ja monilta muilta sekä yksittäisiltä tutkijoilta että organisaatioilta. Taulukossa DL tarkoittaa diskreettiin logaritmiiin perustuvia tekniikoita ja EC elliptisiin käyriin perustuvia. Käytämme myös seuraavia lyhenteitä: () 11. tammikuuta 2013 36 / 38

Vaatimukset avaimille II A Attacks in real-time by individuals V Very short-term protection against small organizations Sh Short-term protection against medium organizations Sm Smallest general-purpose level 2009-2012 Le Legacy standard level 2009-2020 M Medium-term protection 2009-2030 Lo Long-term protection 2009-2040 F Foreseeable future, against quantum computers DL Discrete logarithm EC Elliptic curve () 11. tammikuuta 2013 37 / 38

Vaatimukset avaimille III Taso Suoja Symm. Epäsymm. DL EC Tiiviste 1 A 32 2 V 64 816 128 128 128 3 Sm 72 1008 144 144 144 4 Sh 80 1248 160 160 160 5 Le 96 1776 192 192 192 6 M 112 2432 224 224 224 7 Lo 128 3248 256 256 256 8 F 256 15424 512 512 512 () 11. tammikuuta 2013 38 / 38