Gawkerin tapaus on muistuttanut jälleen, että tietokantaan tallennetut salasanat ovat vaarassa, jos ne salataan liian heikolla algoritmilla. Gawker ehti jo tiedottaa, että salasanat ovat turvassa, koska ne on salattu, mutta hakkerit onnistuivat silti murtamaan suuren määrän niitä.

NISTin standardoimien hash-algoritmien (SHA-1, SHA-2, tuleva SHA-3) perusongelma on, että ne tietoisesti optimoidaan mahdollisimman nopeiksi laskea. Tämä tarkoittaa myös, että niillä suojattujen salasanojen bruteforce-kräkkääminen optimoidaan mahdollisimman kevyeksi. Bruteforce-hyökkäyksessä salasanojen suolaamisella ei ole merkitystä, ja ihmisetkin muistavat vain rajallisen pituisia salasanoja.

Useissa keskusteluissa on puitu sitä, että salasanat pitäisi hashata skaalautuvalla salausalgoritmilla, jolle voidaan määritellä tarvittava raskausaste. Näin bruteforce-hyökkäys saadaan hidastettua esimerkiksi 10.000 kertaa hitaammaksi. Tällainen algoritmi on esimerkiksi Blowfish-pohjainen bcrypt.

Ongelma on vain, että useimmat web-frameworkit ovat tuudittautuneet käyttämään MD5:tä ja SHA-1:tä. Bcryptin (tai jonkin vastaavan skaalautuvan algoritmin) soisi yleistyvän sellaiseksi ratkaisuksi, että se voisi toimia oletuksena kaikissa ympäristöissä.

Update: Lisään vielä tähän, että tarkoitus ei ollut sanoa, etteikö suolaamisesta olisi etua. Se estää tai vaikeuttaa monia asioita, kuten rainbow tablejen hyödyntämistä ja kerran löydettyjen salasanojen uudelleenkäyttöä. Mutta puhdasta bruteforce-hyökkäystä se ei kuitenkaan sinänsä hidasta.

Published 15.12.2010