Export page to Open Document format View page as slide show

Tietoturva

Avaimet

  • Salauksessa käytettävät avaimet ovat yleensä satunnaislukuja jotka
    • ovat sataunnaislukugeneraattorin tuottamia
    • käyttäjän salasanasta jollain algoritmilla kehitettyjä (esim. hash)
      • Heikko avain, koska salasanat ovat lyhyitä (pieni entropia)
  • Täysin satunnaisen luvun generointi mahdotonta algoritmeilla.
  • /dev/random satunnais/pseudosatunnaislukugeneraattori
    • Parasta mitä Linux/BSD käyttöjärjestelmä tarjoaa
      • Kerää entropiaa järjestelmästä ja sen tilasta
    • Todellinen satunnaisuus vaatii pääsyn ulkoisiin lähteisiin
  • Satunnaislukujen luonti
    • Tarvitaan ennustamattomia ja uudelleenkehittämättömiä lukuja turvallisuuden saamiseksi.
      • Ulkoiset lähteet
        • Geigermittarin lukemat, hash arvo kuvasta laavalampusta ajalla x laava, 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 yleensä siemenenä jollekin funktiolle (hash).
      • Funktio varmistaa että

Raa'an voiman hyökkäys

  • Symmetrisissä algoritmeissa kokeillaan kaikkia mahdollisia avaimia kunnes oikea löytyy
  • Asymmetriset algoritmit
    • Etsitään salainen avain julkisen avaimen pohjalta
    • Purkunopeuden arviointi paljon vaikeampaa
      • 1977 Ron Rivest (R kirjain RSA:ssa) laski 125-numeroisen luvun tekijöihin jakoon menevän 40 quadriljoonaa vuotta
      • 1994 129-numeroinen luku jaettiin tekijöihin
      • 2005 murrettiin jo
  • Yhdistelmä salaimissa symmetrisen ja asymmetrisen avaimen tulisi olla yhtä vahvoja.
    • Järjestelmän vahvuus on yhtäsuuri kuin sen heikoin lenkki

European Network of Excellence in Cryptology II (ECRYPT II) suositus lista pituuksista (from http://www.keylength.com/en/3/)

Termodynamiikka

  • Toinen näkökulma avaimen pituuteen. Eli kuinka suurista luvuista onkaan kyse.
  • Termodynamiikan 2. laki: informaation esittämiseen tarvitaan tietty määrä energiaa
  • Yhden bitin tilanvaihdos vaatii kT verran energiaa (k= boltzmannin vakio, t = lämpötila)
    • k = 1.38*10^{-16}erg/Kelvin
  • Maailmankaikkeutta ympäröivä lämpötila on 3.2 Kelviniä (matalin lämpötila johon päästään ilman että tarvii kuluttaa energiaa jäähdytykseen)
  • Ideaalitietokone kuluttaa \frac{1.38*10^{-16}erg}{3.2K}=4.4*10^{-16}erg energiaa, joka bitin vaihtoon 3.2 kelvinin lämpötilassa
  • Aurinko tuottaa energiaa 1.21*10^{41}erg vuodessa
    • Antaa energiaa 2.7*10^{56}yksittäiseen bitin siirtoon
    • 2^{187}\simeq1.96*10^{56}riittää 187 bittisen avain avaruuden läpikäyntiin 2^{188}\simeq3.92*10^{56}
  • Dysonin kehä auringon ympärillä keräisi 32 vuodessa ilman häviötä energiaa määrän joka riittäisi 192 bittisen avain avaruuden läpikäyntiin
    • 2^{5}=32, 187+5 = 192
  • Supernovan räjähdys tuo energiaa 10^{51}erg
    • Riittää 219 bittisen avain avaruuden läpikäyntiin
  • PGP:n symmetrinen avain on 256 bittiä 2^{256}\simeq1.16*10^{77}
    • Perinteiselle tietokoneelle riittävä raakaa voimaa vastaan

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/1 (alkuperäinen GSM:n käyttämä algoritmi) käyttää 64 bittistä avainta,
      • Algoritmissa olevan virheen takia se voidaan purkaa samassa ajassa kuin 30 bittinen avain.
      • Avaimen käyttötavasta johtuen sen entropia on siis vain 30 bittiä.
    • A5/3 (Kasumi) (UMTS, GSM, GPRS käytössä oleva algoritmi) on muokattu mitsubishin kehittämästä MISTY algoritmista niin että se on helpompi toteuttaa raudalla ja vastaa 3GPP:n tavoitteita
      • vuoden 2010 alussa Dunkelman, Keller ja Shamir osoittivat algoritmissa heikkouden joka oli seurausta pienistä muutoksista alkuperäiseen MISTY algoritmiin.
    • Yleensä luotetaan vain avoimiin ja pitkään esillä olleisiin algoritmeihin, joista suuremmalla todennäköisyydellä on jo virheet löytyneet.
      • Monta silmää näkee enemmän kuin muutama
      • Omia virheitä on vaikea huomata
  • 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 ja huonoa toteutusta 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
Last modified: 2013/07/01 14:42