Szyfrowanie hasłem: PBKDF2 (za pomocą sha512 x 1000) vs Bcrypt

Czytałem o incydencie Gawker i pojawiło się kilka artykułów dotyczących używania tylko bcrypt do hashowania haseł i chcę się upewnić, że mój mechanizm haszujący jest wystarczająco bezpieczny, aby uniknąć przełączania się na inną metodę. W mojej obecnej aplikacji wybrałem implementację PBKDF2 wykorzystującą sha2-512 i minimum 1000 iteracji.

Czy Mogę prosić o opinie na temat używania PBKDF2 vs Bcrypt i czy powinienem wprowadzić zmianę?

Author: RoadWarrior, 2010-12-13

2 answers

Jesteś dobry z PBKDF2, nie musisz przeskakiwać do bcrypt.

Chociaż zalecenie użycia 1000 iteracji zostało wydane w roku 2000, teraz chciałbyś o wiele więcej.

Należy również zachować większą ostrożność podczas korzystania z bcrypt:

Warto również zauważyć, że podczas gdy bcrypt jest silniejszy niż PBKDF2 dla większości typów haseł, pozostaje w tyle za długimi hasłami; wynika to z niezdolności bcrypt do użycia więcej niż pierwszych 55 znaków hasła, podczas gdy nasze szacowane koszty i NIST . szacunki entropii hasła sugerują, że 55-znakowe ograniczenie bcrypt nie jest może powodować problemy w chwili obecnej, realizatorzy systemów, które polegają na bcrypt może być dobrze poinformowany, aby obejść to ograniczenie (np. poprzez "prehashowanie" hasła, aby pasowało do limitu 55 znaków) lub podjąć kroki w celu uniemożliwić użytkownikom umieszczanie zbyt dużej entropii hasła w 56. i kolejnych znaków (np. prosząc użytkowników strony o wpisanie ich hasło do wejścia pole, które ma tylko miejsce na 55 znaków).

Z papieru scrypt [PDF]

To powiedziawszy, jest też scrypt.

Wszelkie porównania byłyby niekompletne bez tabeli z wyżej wymienionego papieru scrypt:

Szacowany koszt sprzętu do złamania hasła w ciągu 1 roku.

Iteracja liczy dla użytego PBKDF2-HMAC-SHA256 86,000 i 4,300,000.

 27
Author: dchest,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-08-11 14:58:51

Komentarz (re: tytuł):

  • nie używaj szyfrowania (odwracalnego) do przechowywania haseł, chyba że musisz.
  • ponieważ jako alternatywę przedstawiłeś opcję hashującą (nieodwracalną), zakładam, że nie potrzebujesz odwracalności.

Opinie na temat używania PBKDF2 vs Bcrypt i czy powinienem wdrożyć zmienić?

Moja opinia:

Użyj PBKDF2 przez Bcrypt. (Po prostu mam więcej wiary w SHA niż Blofish, bez powodu)

Jak dla czy powinieneś "wprowadzić zmianę", Nie wiem, o co pytasz.

Edytowane w celu wyraźniejszego oddzielenia dyskusji szyfrowania / haszowania od podania moich preferencji w / R / T algorytmu.

 -7
Author: Slartibartfast,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-03-29 04:42:58