Czyżby nadchodził koniec ery md5?

Czy da się wygenerować 28 miliardów hashy md5 w ciągu jednej sekundy na domowym komputerze? Brzmi trochę jak science fiction, ale każdy może już to zrobić we własnym domu, co udowodnił Marc Bevand.

Co to dla nas oznacza? 8 znakowe hasło składające się z dużych i małych liter oraz cyfr, bez znaków specjalnych, zahashowane przy użyciu MD5 zostanie złamane w zaledwie 2h a 9 znakowe w 6 dni. Chyba, że ktoś zastosuje dodatkową technikę modyfikującą, zwaną "salt".

Marc zaczął od podstaw, zbudował komputer

  • 4 x AMD Radeon HD 5970 dual-GPU
  • CPU Intel Core 2 Duo 3.0GHz E8400 65W
  • RAM Kingston 2GB DDR2-667

ale, że hardware to nie wszystko, napisał również oprogramowanie które nazwał whitepixel (opublikowane wraz z kodem źródłowym), dodatkowo wykorzystał funkcję bitalign która pozwala przeprowadzać operacje na bitach w jednym cyklu procesora i zmniejszył liczbę niezbędnych kroków do uzyskania hasha z 64 do 48.

Co z tego wyszło?

Whitepixel jest obecnie najszybszym dostępnym oprogramowaniem sprawdzającym kolizje md5, oczywiście działającym pod Linuksem, ze względu na możliwość wykorzystania techniki komunikacji CAL (Compute Abstract Layer).

Autor przyznaje, że oprogramowanie jest w bardzo wczesnej fazie rozwoju, ale dodaje również, że nie zamierza przestać jedynie na MD5 i zajmie się też innymi algorytmami hashującymi. ;-)

Kto ma hasło krótsze niż 10 znaków, ma tylko rok na jego zmianę ;-)

  • Każda implementacja MD5 powinna mieć w sobie specjalny algorytm uniemożliwiający korzystanie z tegoż od roku 2011 ;]
    Niedługo lodówki i ramki do zdjęć będą w wolnej chwili łamały MD5tki ;]

  • no ta ale salt niweluje porównanie md5 ?
    czy są jakieś jeszcze sposoby ?

  • Tak, najprostszy salt może polegać na modyfikacja słowa (hasła) i dopiero po tym zrobieniu md5. Złamanie md5 da Ci zupełnie inne słowo które nie jest prawdziwym hasłem.

    Inny sposób? Używać po prostu czegoś silniejszego + salt ;-)

  • Pingback: 1.3 mln haseł z serwisów Gizmodo, Lifehacker, Gawker wyciekło do sieci()

  • Rozumiem potrzebę używania salta, ale dziwiły mnie gdzieś przeczytane posty, że ludzie próbują łamać hasła z "/etc/shadow". Wydaje mi się, że każda instancja [uL]nix'a ma random salta.
    Teoretycznie nie da się tego złamać posiadając /etc/passwd + /etc/shadow.
    Proszę sprostujcie mnie.

  • Pingback: Basic Auth – proste zabezpieczenie zasobów WWW()