25. toukokuuta 2007

1024bit RSA ei ole enää turvallinen

No niin. Se, mitä olen jo useita vuosia kertonut, ja vielä useissa paikoissa, on nyt sitten vahvistettu todeksi. En tahtoisi olla mitenkään itserakas, mutta todettakoot vain, että useat tahot, mukaanlukien viranomaistahot, kiistivät esittämäni huolenaiheet kyseisen avainkoon turvallisuudesta jo silloin. Ei mennyt jakeluun. Ja kuinkas nyt kävikään? Häh? Miten sen asian laita olikaan? Olinko vainoharhainen? Liioittelinko? No?!?

1024bit RSA ei voida enää pitää turvallisena ja on vain ajan kysymys, koska se virallisesti ja julkisesti murretaan. Uutisessa kerrotaan, miten tutkijat ovat onnistuneet jakamaan tietyn spesifin 307-numeroisen luvun alkutekijöihinsä - eli käytännössä siis tehneet melkein saman kuin murtaneet noin 1020 bittisen RSA-avaimen. Uutinen on merkittävä sikäli, että viimeksi on onnistuttu jakamaan vain 200-numeroinen luku alkutekijöihinsä. Nyt on jo hypätty 300-numeroisten lukujen jakamiseen alkutekijöihinsä.

1024bit RSA:ta käytetään YHÄ mm. HST-kortissa, SSL/TLS yhteyksissä netissä (kuten vaikkapa nettipankissa), sähköpostin salaamiseen eri salausohjelmissa, SSH yhteyksien salaamiseen ja/tai käyttäjien autentikointiin, jne. jne. Kuten sanottua, nämä kaikki ovat nyt uhattuina, eikä niitä voida enää pitää salauksen kannalta turvallisena. Toki, vielä kestää tovi kunnes hakkeri voi kotikoneellaan 1024bit RSA:n murtaa, mutta on vain ajan kysymys, milloin asiansa osaava hakkeri siihen pystyy, esimerkiksi käyttäen hyväkseen kaapattuja tietokoneita ns. bottiverkkona.

Jos ja kun RSA:ta halutaan jatkossakin käyttää, tulisi siirtyä reilusti suurempiin avainkokoihin. Suosittelisin käyttämään minimissään 4096 bittistä RSA-avainta, joka antaa suunnilleen 2^128 suuruisen haasteen sen murtamista yrittävälle. Tämän turvamarginaalin pitäisi riittää ainakin pariksi kymmeneksi vuodeksi, mutta itse en ehkä luottaisi sen antavan kuin vuosikymmenen verran turvaa (jos sitäkään). Suosiolla pitäisi siis päivittää järjestelmät ja siirtyä käyttämään tuota tuhdin kokoista RSA avainta, tai vaihtoehtoisesti siirtyä ECC:n käyttöön riittävällä avainkoolla (sanotaan vaikka vähintään 512, mieluiten suosiolla 1024 bittiä).

4 kommenttia:

  1. Pikkuhiljaa kannattaisi varmaan siirtyä sellaiseen salaukseen, jota ei kvanttitietokoneella pysty murtaan sekunnin murto-osassa.

    Vaikka kvanttitietokoneet eivät välttämättä olekaan aivan vielä näköpiirissä, niin ne voivat yhtäkkiä tulla.

    Esimerkiksi, jos D-Wave Systemsin väitteet heidän kvanttitietokoneesta pitävät paikkansa, niin melko suuria määriä rahaa alkaa virtaamaan tutkimuksiin. Se todennäköisesti vauhdittaa huomattavasti kvanttitietokoneiden tulemista.

    Jos monien salausalgoritmien käytöstä joudutaan luopumaan todella nopeasti, niin vaikeuksia tulee. Sen takia pitäisi ottaa kunnollinen salaus käyttöön ennen kuin kvanttitietokoneet tulevat.

    VastaaPoista
  2. Nimenomaan ENNEN ja hyvissä ajoin ennen. Jos tänään käytät kryptoa salaiseen materiaaliin ja se krypto voidaan murtaa vaikka 10v kuluttua, niin...

    Kvanttitietokoneita vastaan auttaa tehokkaasti ECC epäsymmetriseen ja riittävä avainkoko (256bit, mieluiten 512bit) symmetriseen salaukseen. Ne eivät kvanttitietokoneillakaan murru näet.

    VastaaPoista
  3. RSA 4096 bittiä käyttöön heti.

    ECC 1024 samantien, koska ei vaadi
    mieelttömiä konetehoja.

    AES 256 roskiin ja vähintään Blowfish 448 tilalle.

    Miksi on jumiuduttu konventioonaalisessa osassa 256 bitin avainpituuksiin?

    Jokaiseen kryptoon min. 3 vahvaa satunnaisgeneraattoria käyttöön.

    ISAAC, PRNG ja MersenneTW noin esimerkikisi ja näistä uusimmat versiot.

    Erään kotimaisaen tietoturvafirman
    koulutuskonsultti veti herneen nenäänsä, kun valitin väärästä pgp:n käytön opetuksesta 1024:n
    epäsymm. muka riittää ja sitä AES:a tungetaan jokapaikkaan.

    HÖH.

    VastaaPoista
  4. > AES 256 roskiin ja vähintään
    > Blowfish 448 tilalle.

    Blowfish on huonompi, koska siinä on vain 64bittinen blokkikoko. Mutta Twofish256 taitaa kyllä piestä AES:n mennentullen mitä turvallisuuteen tulee.


    > Miksi on jumiuduttu
    > konventioonaalisessa osassa 256
    > bitin avainpituuksiin?

    Niinno, 256bittiä ei pystytä murtamaan edes kvanttitietokoneella, joten sen arvellaan siksi riittävän. Mutta itse kyllä todellakin kannattaisin 512bittisiä symmetrisiä avaimia 256bittisellä blokkikoolla.


    > Jokaiseen kryptoon min. 3 vahvaa
    > satunnaisgeneraattoria käyttöön.

    Niinpä. Vaikka salain olisi miten hyvä tahansa, paska satunnaislukugeneraattori kuppaa koko jutun. Eikä huonoa tai takaportitettua satunnaislukugeneraattoria välttämättä erota mitenkään hyvästä satunnaislukugeneraattorista. Kummatkin tuottavat näennäisesti satunnaista dataa (toinen melkoisesti vähemmän satunnaista kuin toinen)...


    > ISAAC, PRNG ja MersenneTW noin
    > esimerkikisi ja näistä uusimmat
    > versiot.

    Muistaakseni noista vain MersenneTW on enää katsottu turvalliseksi. Itse suosisin yhdistelmää "Yarrow & Mersenne Twister & Fortuna (Twofish salaimella) & Blum-Blum-Shub & RtlGenRandom", eli 5 eri näennäissatunnaislukugeneraattoria. Siihen voisi vielä päälle laittaa yhden rautapohjaisen (vaikkapa Intelin emolevyissä olevan mikäsenniminytolikaan).

    OLENNAISINTA olisi, että kaikki nämä tuottaisivat satunnaista dataa toisistaan riippumatta ja kaikkien näiden tuotokset XOR-operaatiolla ympättäisiin yhteen. Näin vaikka yksi tai useampikin satunnaislukugeneraattoreista olisikin viallinen, tuloksena olisi silti "satunnaista" dataa.

    VastaaPoista