View page as slide show

Tietoturvan perusteet

Suojausmenetelmät

  • Tiedon salaaminen (kryptografia)
    • Tavoitteena on tiedon luottamuksellisuuden varmistaminen
    • Osittain varmentaa myös tiedon eheyden.
    • Käytetään joko tietoa tallennettaessa tai siirrettäessä.
  • Tiivistefunktiot
    • Varmennetaan tiedon eheys
  • Viestin autenttisuus koodi (message authentication code MAC)
    • Varmennetaan viestin lähde ja eheys
  • Tiedon piilottaminen (Steganografia)
    • Piilotetaan viesti johonkin toiseen viestiin.
    • Käytetään esimerkiksi sähköisenä vesileimana.

Kryptologia

  • Määritelmät

Kryptologia Matematiikan suunta joka tutkii kryptografiaa ja kryptoanalyysia

Kryptografia Viestien salaamisen tiede

Kryptoanalyysi Salattujen viestien purkamisen tiede ja taide

Kryptografia

  • Kryptos (piilotettu) graphein (kirjoitus)
  • Keskittyy tiedon salaamiseen
    • Salattava teksti muutetaan muotoon, josta alkuperäisen tekstin pystyy palauttamaan vai tietämällä jonkin salaisuuden
  • Perustuu matematiikkaan
    • Lukuteoria
    • Informaatioteoria
  • Tietoturvan peruspalikka

Termistöä

Selkoteksti plaintext, Message (M) : luettavissa oleva teksti

Salattuteksti ciphertext (C): teksti salauksen jälkeen

Salaus encryption, encipher: operaatio jolla selkoteksti muutetaan salatuksitekstiksi

Purku decryption, decipher: operaatio jolla salattuteksti palautetaan selkotekstiksi

Kryptoalgoritmi (salausalgoritmi)

  • Määrittelee kuinka selkotekstistä muodostetaan salattu teksti, eli kuinka salaus tapahtuu
  • esim: DES, AES, RSA …

Kryptoprotokolla (salausprotokolla)

  • Määrittelee kuinka algoritmeja käytetään eri tilanteissa turvallisuuden takaamiseksi
  • TLS (SSL), IPSec, SSH…

Turvaprimitiivi

  • Toiminnallinen osa protokollassa (esim. kryptoalgoritmi tai tiiviste funktio)

Klassiset salausmenetelmät eli kryptografian historia

1. Korvaussalaimet

  • Tavoitteena merkkien korvaaminen muilla
  • Esimerkiksi: Yksinkertainen korvaus
    • Merkki korvataan toisella merkillä
    • Helppo toteuttaa, Helppo murtaa
      • vrt. Sanomalehtien kryptot
    • Caesarin salain, rot 13

2. Sekoitussalaimet

  • Salattavan tekstin merkit pysyvät samoina, mutta niiden paikat vaihtuvat
  • Tavoitteena informaation levittäminen ympäri salattua viestiä

3. Yhdistelmä salaimet (Product Ciphers)

  • Useamman salaimen yhteiskäyttö
    • Esim. Salataan ensin toisella algortimilla ja sitten toisella
  • Avaimettomat algoritmit
    • Turvallisuus perustuu algoritmin salaisuuteen
    • Algoritmin paljastuttua on viestit helppo purkaa
      • Samaa algoritmia ei voi käyttää usean eri tahon kanssa
      • Salaajan pitäisi itse kehittää algoritmi
    • Käytetty ennen tietokoneiden aikakautta
      • Ei käyttökelpoinen ratkaisu nykypäivänä muuten kuin aivopähkinöinä.
  • Avaimelliset algoritmit
    • Luotettavuus perustuu avaimen salaisuuteen
    • Algoritmi tunnettu ja avoin
    • Symmetriset ja asymmetriset menetelmät
    • Vigeneren salain yksi ensimmäisiä
      • Kehitetty 1500 luvulla perustuen Batistan monikorvaus salaimeen
      • Avaimen avulla vaihtuva korvausaakkosto
      • Murrettu 1900 luvun alussa

Moderni kryptografia

  • Algoritmit avoimia
    • Turvallisuus perustuu avaimeen
  • Voidaan jakaa symmetrisiin ja asymmetrisiin menetelmiin käytettävien avainten mukaan
    • Symmetriset salaimet
      • yksi avain: viesti salataan ja salaus puretaan käyttäen samaa avainta
      • lohko ja virta-salaimet
    • Asymmetriset salaimet
      • kaksi avainta: julkinen ja salainen avain
        • Julkinen avain salaamiseen, salainen avain salauksen purkuun.

Symmetrinen salaus

  • Symmetrisen algoritmin turvallisuus perustuu salaiseen avaimeen.
  • Samaa avainta käytetään viestin salaamiseen ja salauksen purkamiseen.
    • Ek(M) =C ; viesti (M) salataan (Encrypt) avaimella (k) ja saadaan salattu teksti (C)
    • Dk(C) = M
  • Etuja
    • Suuri datankäsittelynopeus joka on ennustettavissa
      • Ajoaika riippuu suoraan viestin pituudesta
    • Avaimet suhteellisen lyhyitä
    • Voidaan käyttää primitiiveinä erilaisten turvajärjestelmien rakentamisessa
    • Hyvin tunnettu historia
  • Haittoja
    • Avainten salassa pito
    • Avainten jakaminen ja hallinta vaikeaa
      • Avaimet kertakäyttöisiä kommunikoinnin suojauksessa
      • Joka istunnolla oma avain
  • Voidaan jakaa kahteen ryhmään: Lohko ja virtasalaimiin (jonosalaimiin)

1. Virtasalaimet, jonosalaimet (stream cipher)

  • Avaimella alustettava pseudosatunnaislukugeneraattori
  • Korvaa yhden merkin selkotekstiä heti yhdellä salatulla merkillä
    • Tarkemmin ottaen bitin bitillä
  • Muunnos riippuu
    • Selkotekstin merkistä
    • Avaimesta
    • Pseudosatunnaislukugeneraattorista
  • Vahvuudet
    • Salauksen nopeus
    • Pieni virheen leviäminen
    • Voidaan tehdä tehokkaita hardware toteutuksia
  • Heikkoudet
    • Muutos selkotekstissä näkyy suoraan salatussa tekstissä
      • Vaatii salaimen alustuksen.
    • Alttius lisäyksillä ja muutoksille
  • Tunnettuja algoritmeja
    • RC4, SEAL, A5 (GSM)

2. Lohkosalaimet (block cipher)

  • Salaa joukon (lohkon) selkotekstin merkkejä kerralla.
  • Merkin salaus riippuu koko lohkosta
    • Lohkon koko riippuu salaimesta, tavallisesti 64 bittiä
    • Salauksessa hyödynnetään korvausta että sekoitusta
      • Lohkon sisällä bitit vaihtavat paikkaa
      • Lohkon sisällä pienempi joukko bittejä korvataan toisella joukolla bittejä
  • Lohkojen yhdistämiseen käytetään erilaisia moodeja
    • ECB (Electronic Code Book)
      • Lohkot toisistaan riippumattomia, laitetaan peräkkäin
    • CBC (Cipher Block Chaining), CFB (Cipher-Feedback Mode), OFB (Output-Feedback Mode), CTR (Counter Mode)
      • Edellinen lohko vaikuttaa jollain tavalla seuraavan lohkon koodaamiseen.
      • CFB:llä , OFB:llä ja CTR:llä, lohkosalain toimii kuten virtasalain
  • Vahvuudet
    • Pieni muutos tekstissä vaikuttaa koko lohkon tai jopa koko viestin salaukseen
    • Immuuni lisäyksille ja muutoksille
  • Heikkoudet
    • Hidas salaus
    • Virheen leviäminen
  • Tunnettuja algoritmeja: DES (1977), AES(2000), Blowfish

Asymmetrinenkryptografia

  • Julkisen avaimen järjestelmät: 1976 Diffie-Hellman
  • RSA, ElGamal, Elliptiset käyrät
  • Eri avain salauksen ja purkamiseen
    • Viesti salataan vastaanottajan julkisella avaimella. EkPublic(M) =C
    • Vastaanottaja purkaa viestin omalla salaisella avaimellaan. DkPrivate(C) = M
    • Algoritmin toiminna johdosta ainoastaan salaisen avaimen tietäjä voi avata viestin.
  • Julkisesta avaimesta ei voi päätellä salaista avainta.
  • Julkinen avain voidaan laittaa jakoon vaikka omalle kotisivulle tai julkistaa puhelinluettelossa
    • Salatun viestin lähettäminen ei vaadi salaisuuden jakoa
  • Turvallisuus perustuu vaikeisiin matemaattisiin ongelmiin.
    • esim: Alkulukujen kertolasku on helppo toiseen suuntaan, mutta tulon tekijöihin jako on vaikeaa, kun luvut ovat suuria.
  • Edut
    • Ainoastaan yksityinen avain täytyy pitää salassa
    • Avainten hallinta verkossa vaatii ainoastaan funktionaalisesti luotetun tahon
      • Ei tarvi paljastaa salaisuuttaa ulkopuolisille
    • Avainpareja voidaan käyttää pitkä aika (jopa vuosia)
  • Heikkoudet
    • Tietojen käsittelynopeudet montakertaluokka huonommat kuin symmetrisillä järjestelmillä
      • Käytetään yleensä vain symmetrisen avaimen vaihtoon.
    • Avain koot merkittävästi suurempia
      • Salaista avainta ei voi muistaa → kuinka säilyttää salainen avain turvassa?
    • Vaikea todistaa turvalliseksi
      • Perustuu oletettavasti vaikeisiin numeroteoreetisiin ongelmiin
      • Menetelmien historia lyhyt, voi löytyä uusia tapoja ratkaista algoritmi.
    • Kuinka todistaa julkinen avain oikeaksi

Yksisuuntaiset funktiot (hash funktiot)

  • one-way hash, message digest, tiivistefunktio, sormenjäljet, kryptografinen tarkistesumma, MIC
  • Perustuvat matemaattisiin funktioihin jotka ovat helppo laskea toiseen suuntaan, mutta lähes mahdottomia laskea takaisin päin.
    • h(x) = y
    • Lautasten rikkominen
  • Funktioiden tulee olla törmäysvapaita (collision free)
    • On vaikea löytää arvoa x2siten että h(x1) = h(x2)
    • On vaikea löytää arvoja x1 ja x2 siten että h(x1) = h(x2)
    • Syntymäpäivä paradoksi
      • 50% mahdollisuus että 23 ihmisen joukossa kahdella on sama syntymäpäivä
  • Algoritmit ovat julkisia, ei avaimia
    • SHA-1, RIPEMD-160, MD5, whirlpool
  • Hashin avulla voidaan varmistaa viestin muuttumattomuus

1. Haetaan koodinpätkä suomesta ja hash arvo tekijän kotisivulta

2. Lasketaan koodinpätkästä hash

3. Verrataan hasheja, jos ovat samat, koodi on alkuperäinen, jos erit, koodi on muuttunut

  • Hasheja käytetään yhtenä osana erilaisissa tietoturva protokollissa.
  • Hasheja murrettu viimevuosina
    • MD5 osoitettu oletettua heikommaksi crypto-2004 konferenssissa (samalla meni mm. RIPEMD)
    • SHA-1 osoitettu oletettua heikommaksi vuonna 2006
    • Odotettavissa uusien algoritmien kehittelyä ja lisää tutkimusta alalla

Viestin autenttisuus koodi (MAC)

  • Annetaan koodille syötteeksi koko viesti, tuloksena MAC
  • MACin avulla voidaan varmistaa vaihdetun viestin autenttisuus
    • Viestin saavuttua, lasketaan siitä itse MAC salaisella avaimella ja verrataan viestin mukana tulleeseen MAC:iin
    • MACia ei voi luoda kuin avaimen tunteva henkilö
  • MACin avulla voidaan varmistaa talletetun tiedon muuttumattomuus
    • Talletetaan tieto ja siitä laskettu MAC tietokantaan
    • Haettaessa tieto lasketaan MAC ja verrataan sitä kannassa olevaan MAC:iin
  • MAC ei salaa itse viestiä, vaan sen voi lukea kuka vain.

Satunnaisluvut

  • Kryptografia tarvii satunnaislukuja esimerkiksi avaimien generoimiseen.
    • Turvallisuus perustuu numeroiden satunnaisuuteen
  • Turvaton satunnaislukugeneraattori johtaa turvattomaan toteutukseen
    • Seuraava satunnaislukua ei pidä pystyä arvaamaan edellisestä
    • Jos pystytään arvaamaan mitä yksikätinen rosvo arpoo seuraavaksi, edellisistä kuvioista, voi osaaja kerätä kauniin raha potin.
  • Täysin satunnaisen luvun generointi mahdotonta algoritmeilla.
    • Tarvitaan ennustamattomia ja uudelleenkehittämöttömiä lukuja turvallisuuden saamiseksi.
    • Ulkoiset lähteet
      • Geigermittarin lukemat, laava lampun kuvan hash, levyjen ilmaturbulenssi.. jne.
    • käyttäjän toimet:
      • hiiren liikuttaminen, näppäinten välinen painallus aika, näppäily järjestys, äännähdykset mikrofoniin…
    • lähteitä käytetään joko sellaisenaan, tai siemenenä jollekin funktiolle.

Algoritmin valinta

  • Algoritmin valinnan vaikeus
    • Turvallisuutta usein vaikea verrata
      • jopa asiantuntijan
  • Mihin luottaa?
    • Kuka tahansa pystyy kehittämään algoritmin, jota ei itse pysty murtamaan
    • Suljettuja järjestelmiä on voitu testata vain sisäisesti
      • DVD:n suojaus on murrettu, GSM suojaus murrettu …
    • Yleensä avoin pitkään käytetty ratkaisu on hyvä valinta
      • Ottaisitko lääkäriltä lääkkeen
        • Jonka hän on itse kehittänyt
        • Jota ei ole annettu muille lääkäreille testattavaksi
        • Jonka koostumusta ei ole kerrottu muille
        • Jonka toiminnan takaa vain kyseinen lääkäri
      • Avoimuus ei kuitenkaan itsessään takaa mitään
  • Algoritmi pitää sunnitella huolella
    • A5 (GSM:n käyttämä algoritmi) käyttää 64 bittistä avainta,
      • Algoritmissa olevan virheen takia se voidaan purkaa samass ajassa kuin 30 bittinen avain.
      • Avaimen käyttötavasta johtuen sen entropia on siis vain 30 bittiä.
    • Yleensä luotetaan vain avoimiin ja pitkään esillä olleisiin algoritmeihin, joista oletettavasti olisi jo virheet löytyneet.
  • Vaaran merkkejä
    • Salainen algoritmi
    • ylipitkät avaimet
    • Paljon teknistä jargonia
    • Avainkoko ja OTP samassa lauseessa
    • Ei julkista algoritmia eikä ulkopuolisten oikeiden asiantuntijoiden analyysia
  • Hyvä algoritmi: case AES (Advanced Encryption Standard)
    • Julkinen kilpailu
    • Kuka tahansa sai arvostella algoritmeja
    • Viisi finalistia, jotka kävivät vielä uuden arviointi kierroksen
      • Kaikki viisi finalistia todettiin luotettaviksi, Rijndael valittiin yleiskäyttöisimpänä
  • Hyväkään algoritmi ei auta huonoja avaimia vastaan.
    • Käytetään koneen generoimia avaimia
      • Vaativat hyvän satunnaisluku generaattorin.
      • Netscape 1.1 generoi 128 bittisen avaimen. Koodi virheen takia avaimen entropia oli vain noin 20 bittiä l. generoitu avain vastasi turvallisuudeltaan 20 bitin avainta.
      • Aina ei voida käyttää generoitua avainta

Steganografia

  • Hidden writing
  • Viesti näkyvillä kun vain osaa etsiä oikein
    • Esim. Ensimmäinen kirjain rivillä
  • Informaatiota voidaan piilottaa melkein mihin tahansa
    • Kuviin, ääneen, tekstiin
  • Turvallisuus perustuu käytetyn menetelmän salaisuuteen sekä siihen että viestiä ei osata etsiä
    • Piilotettavan ja piilottavan informaation määrien suhde vaikuttaa turvallisuuteen
  • Vesileimaus
    • Dokumentin alkuperän varmistaminen
  • Kryptografiaa voidaan hyödyntää yhdessä steganografian kanssa.
Last modified: 2013/07/01 14:50