TigerTeam - suomalainen tietoturvablogi

3 merkintää avainsanalla ”sha-1”:

Mikä tiivistefunktio on vielä turvallinen?

Parhaillaan meneillään olevaa SHA-3-kilpailua ja FIPS180-4-julkistusta koskevat uutiset herättävät kysymyksiä nykyisten tiivistefunktioiden (hash) tilasta: mikä on turvallinen, mitä niistä tulisi käyttää, mitä eri vaihtoehdoista tiedetään ja mitä lähitulevaisuus tulee ehkä muuttamaan.

Pureudutaanpa aluksi nykyisin salausmaailmassa käytössä oleviin tiivistefunktioihin ja siihen mitä niistä tiedetään:

Tiivistefunktiot ovat menetelmä kahden tietueen yhteneväisyyden toteamiseksi. Tämä tehdään yksisuuntaisella funktiolla, joka useimmissa tapauksissa antaa syötettä pienemmän vastauksen – tietoa siis menetetään. Tämän tuloksena funktioille on tunnusomaista ns. monesta-yhteen-periaate, jossa useasta eri syötteestä muodostuu sama tiiviste. Sama tilanne voi olla tarkistussummia laskettaessa – kahdella täysin eri tiedostolla onkin sama tarkistussumma. Tällaista tilannetta kutsutaan törmäykseksi, salaustermein kollisioksi (collision). Kasvattamalla tarkistussumman pituutta pienennetäänkin törmäyksen todennäköisyyttä.

Nykyään laajassa yleisessä käytössä on useita eri tiivistefunktioita:

MD5 (Message Digest 5) oli pitkään standardinomainen tiivistefunktio tuottaen 128-bittisiä tiivisteitä. Se kehitettiin vuonna 1991. MD5:ta käytetään verkossa vielä hyvin usein mm. tiedostojen alkuperän varmistamiseen, vaikka kryptologit ovat suositelleet käytöstä luopumista jo vuodesta 1996 lähtien. Jo vuonna 2004 oli mahdollista luoda helposti saatavilla olevalla laitteistolla törmäyksiä alle tunnissa ja MD5:tä alettiin pitää turvattomana. Kuitenkin vaihtoprosessin vaikeus on osoittanut kuinka tärkeää pitkän tähtäimen suunnittelu tiivistefunktion valinnassa ja käyttöönotossa on. Tällä hetkellä peruskannettavalla voi laskea tällaisia törmäyksiä sekunneissa ja tarkoitukseen valjastetuilla erikoislaitteistoilla hyökkäys vie alle sekunnin.

Hyppy 90-luvun alkuun

SHA-1 puolestaan on 160-bittinen tiivistefunktio. Se pohjautuu alun perin vuonna 1993 nimellä Secure Hash Standard julkaistuun tiivistefunktioon, josta korjattiin paria vuotta myöhemmin sisäistä pakkaustoimintoa koskeva virhe. Yleisyydessä SHA-1 pitää kakkossijaa heti MD5:n jälkeen ja vaikka se on MD5:tä turvallisempi, on olemassa lukuisia teoreettisia hyökkäyksiä, joilla murtaminen helposti saatavilla olevaa laitteistoa hyödyntäen on mahdollista. Siirtyminen turvallisempiin tiivistefunktioihin on suositeltavaa.

SHA-2 on tarkkaan ottaen kokoelma keskenään samantyyppisiä tiivistefunktioita, joiden tuotos on 224-, 256-, 384- tai 512-bittinen. Siksi puhutaan myös muunnoksista SHA-224, SHA-256, SHA-384- ja SHA-512.

FIPS180-4-toteutus laajentaa valikoimaa hieman, jotta mm. 64-bittisen nykylaitteiston suorituskyky voidaan ottaa paremmin huomioon.

Bittisyyskirjo helpottaa tulevaisuudessa edessä olevaa algoritmin vaihtoa, koska olemassa oleviin protokolliin ei tarvitse tehdä suuria muutoksia. Nykykäyttöjärjestelmät tukevat algoritmia laajasti ja se on suositeltavin algoritmi useimmissa tapauksissa, kunhan tiivisteiden pituus valitaan tulevaisuutta silmällä pitäen oikein.

SHA-3-funktiota ei ole itse asiassa vielä julkaistu.

Meneillään on parhaillaan kilpailu, jossa SHA-2:n seuraajaa etsitään. Nämä tiivistefunktiot eivät perustu aikaisempaan SHA-perheeseen.

Tietoa kilpailumenettelystä on saatavissa yhdysvaltalaisen NIST:n (Kansallinen standardointi- ja teknologiainstituutti The National Institute of Standards and Technology) verkkosivuilta ja lopullinen valinta on odotettavissa ensi vuonna. Olipa valittava tiivistefunktio mikä tahansa suositeltava siirtymäjakso SHA-2:sta tulee kestämään viidestä kymmeneen vuotta.

Mikä sitten valita?

Jos olet ottamassa käyttöön uutta tietojärjestelmää tai valitsemassa tiivistefunktiota useimmissa tapauksissa SHA-2-perheen valinta on suositeltavaa. Järjestelmän elinkaari tulee suunnitella huolellisesti. Kuten historia on osoittanut tiivistefunktion valinnalla on vaikutuksia vielä 20 vuoden kuluttuakin, näinhän kävi MD5:n kohdalla. On oltava selkeä suunnitelma tilanteeseen kun – ei siis jos – valittu funktio osoittautuu alttiiksi murtamiselle. SHA-1:tä tulisi käyttää vain rajoitetusti, yleensä taaksepäin yhteensopivuuden takaamiseksi. MD5:ta ei kuitenkaan tule käyttää missään tapauksessa!

Inspect-yksikön tietoturvakonsultti Samuell “Sam” Lavitt on aikaisemmin kirjoittanut blogissamme näkemyksiään kehittyneistä evaasiotekniikoista. Käännös: Juha-Matti Laurio

Tagit: salaus, sha-1, sha-3 Delicious Kommentoi

Salasanojen murtamisesta tuli pikkurahalla tehtävää toimintaa

Pilvilaskenta on vienyt salasanojen murtamisen aivan uudelle tasolle. Ensin avattiin WPAcracker.com, joka lupaa murtaa WPA- ja WPA-PSK-salauksen keskimäärin 20 minuutissa 17 dollarin hintaan – siis reilulla kympillä. WPAcracker.com tarjoaa 400 prosessorin klusterin ja satojen miljoonien WPA-salasanojen sanakirjan kenen tahansa maksavan asiakkaan käyttöön.

Nyt on salasanojen testaajille julkaistu uusi lelu, kun Amazon avasi hiljattain uuden NVIDIA Tesla M2050 GPU -prosessoreihin perustuvan pilvipalvelunsa.

Tietoturva-asiantuntijat demosivat uuden klusterin salasanojen murtokykyä pian avaamisen jälkeen. Työkaluksi oli valittu Cryptohaze Multiforcer, joka asennettiin CUDA-rajapintaa hyväksi käyttäen EC2:n GPU -klusterin ajettavaksi. 14 SHA-1-hasheillä suojatun, lyhyen (yhdestä kuuteen ASCII-tekstimerkkiä) salasanan murtaminen klusterilla kesti 49 minuuttia. Hinta? Alle 2 dollaria. Salasanojen murtoa massoille todellakin.

Onko salalauseesi riittävän vaikea?

Nyt viimeistään on aika ryhtyä käyttämään pitkiä salasanoja. Itse asiassa suosittelen unohtamaan salasanat ja siirtymään salalauseiden käyttöön:

esimerkiksi “TÄMÄ_on_minun_43_merkkiä_pitkä_salalauseeni”.

Vaikka SHA-1-algoritmi on osoitettu heikoksi kollisiohyökkäyksiä vastaan jo jonkin aikaa sitten, tarjoaa sekin yhä huomattavaa suojaa, jos salalause vain on riittävän pitkä.

Salalauseen pituus toimii tehokkaana suojana brute force -hyökkäyksiä vastaan, mutta salalauseet on suojattava myös niin sanottuja sanakirja- ja rainbow table -hyökkäyksiä vastaan. Varmista, että käytät salalauseessasi erikoismerkkejä kirjainten ja numeroiden lisäksi. Käytä harvinaisia kieliä (esim. Cobol, suomi) tai vaihtoehtoisesti haasta murtajat käyttämällä esimerkiksi heksadesimaalisalasanoja. Mitä vain, mutta pyri keksimään mahdollisimman ainutlaatuisia tapoja kirjoittaa tekstisi tavalla, jolla vältetään salalauseidesi löytyminen murtajien sanakirjoista ja ennalta lasketuista rainbow table -taulukoista. Tällaisten murtokeinojen käyttö hash-suojattujen salasanojen murtamisessa on tietojärjestelmien laskutehon kasvettua kovinkin yleistynyt.

Entä käyttääkö SHA-2:ta?

Mitä erilaisiin hash-algoritmeihin tulee, kävimme mielenkiintoisen keskustelun viime viikolla kollegani kanssa täällä Nixussa block cipher -algoritmien käytöstä hash-summien laskemiseksi erilaisille syötteille. Siitä lisää blogissa ehkä myöhemmin, mutta mainittakoon vielä, että SHA-1-algoritmiin ei tulisi enää luottaa arkaluontoisen tiedon salauksessa. Kuten yllä mainittiin on algoritmi osoittautunut haavoittuvaksi ns. collision-hyökkäyksille jo useita vuosia sitten. Niinpä suosittelenkin SHA-2-algoritmien käyttöä toistaiseksi ennen kuin SHA-3-algoritmi julkaistaan näillä näkymin vuonna 2012.

Ville Hollanti työskentelee tietoturvakonsulttina Nixun Inspect-yksikössä. Hänellä on useiden vuosien kokemus tunkeutumisenestopalveluiden kehittämisestä ja toteuttamisesta sekä tietoturvakonsultoinnista yritystasolla.

Tagit: salasanaturvallisuus, salaus, sha-1 Delicious Kommentoi (2 kommenttia)

SHA-1-algoritmin kollisiohyökkäykset kehittyneet

SHA-1-algoritmin (Secure Hash Algorithm), tarkemmin SHA-1-tiivistefunktion purkamisessa on otettu hiljattain uusia edistysaskelia. Mistään aivan tuoreesta algoritmistahan ei nyt puhuta, sillä SHA-1:n julkaisu juontaa juurensa jo vuoteen 1995, jolloin NSA julkisti algoritmin.

Purussa tarvitaan nyt luvun 2^52 verran operaatioita. Loppukesällä 2005 lukema oli vielä 2^63. Uuden tutkimuksen ovat julkaisseet australialaiset Cameron McDonald, Philip Hawkes ja Josef Pieprzyk.

Differential Path for SHA-1 with complexity O(252) -niminen dokumentti PDF-muodossa on ladattavissa täällä.

SHA-1:n seuraajan julkaisua on joka tapauksessa odoteltava vielä muutama vuosi.

Tagit: salaus, sha-1 Delicious Kommentoi