Coś mocniejszego niż MD5

Przy każdej informacji o wycieku haseł z reguły pojawia się wątek o “słabości” MD5 oraz o tym, że trzeba dodawać salt. Jest z tym trochę jak ze słynnym radiem Erewań. Konkretnie chodzi mi o dwie sprawy:

W pierwszym temacie za uzasadnienie niech posłuży rezultat pocenia openssl speed dla kilku algorytmów:

The 'numbers' are in 1000s of bytes per second processed. type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes md4 26254.48k 85450.65k 210331.07k 320676.78k 407916.43k md5 22025.21k 75047.51k 198758.66k 306127.67k 353544.36k sha1 23109.71k 72922.46k 165845.09k 229914.55k 276107.22k sha256 18461.95k 43956.53k 74809.82k 96847.73k 102281.12k sha512 11277.33k 42117.12k 67748.30k 81962.41k 96263.54k

Tak, SHA512 jest wolniejsza od MD5, ale nie jest to jakaś przeraźliwa różnica. Te funkcje nie są projektowane po to, by były bardzo kosztowne obliczeniowo i (po)wolne. A przy hashowaniu hasła chodzi właśnie o to, by ta operacja była kosztowna obliczeniowo i trwała jak najdłużej. Przy “normalnym” użyciu użytkownik praktycznie nie zarejestruje, że operacja sprawdzania hasła trwa sekundę, ale przy ataku brute force różnica będzie znacząca.

Wprowadzenie saltu również nie rozwiązuje wszystkich problemów. Owszem, salt skutecznie uniemożliwia użycie rainbow tables, ale co w przypadku, gdy ktoś ma proste, słownikowe hasło? Tak, jeśli się ma bazę miliona haseł i są one solone, to każdą pozycję ze słownika trzeba sprawdzić dla każdego z tych hashy z osobna, więc czas operacji się wydłuża.

Problem przechowywania haseł istnieje, więc moim zdaniem lepiej do niego podejść kompleksowo. Na przykład tak: Scrypt – propozycja nowej funkcji PBKDF. Po raz kolejny przywołam też przykład bcrypt.

Do następnego wycieku :) I w ramach przypomnienia by takimi wyciekami się nie martwić, a przynajmniej ograniczać ich skutki: Jak korzystam z KeePass.

UPDATE : zacytuję również wpis Are you sure SHA-1+salt is enough for passwords? Wpis ten jest w zasadzie dokładnie o tym samym, o czym ja pisałem tu i w kilku innych postach. A całość okraszona historią z życia: Anonymous Hacks Security Firm Investigating It; Releases E-mail.

Oryginał tego wpisu dostępny jest pod adresem Coś mocniejszego niż MD5

Autor: Paweł Goleń