Optymalny współczynnik pracy bcrypt

Jaki byłby idealny współczynnik pracy bcrypt dla hashowania haseł.

Jeśli użyję współczynnika 10, zajmuje to ok .1s hash hasło na moim laptopie. Jeśli skończymy z bardzo ruchliwą witryną, która zamieni się w sporo pracy po prostu sprawdzanie haseł ludzi.

Być może lepiej byłoby użyć współczynnika pracy 7, zmniejszając całkowitą pracę hashową hasła do ok .01s na laptopa-logowanie?

Jak zdecydować o kompromisie między bezpieczeństwem brute force a eksploatacją koszt?

 77
Author: Chris, 2010-12-14

1 answers

Pamiętaj, że wartość jest zapisana w haśle: $2a$(2 chars work)$(22 chars salt)(31 chars hash). Nie jest to wartość stała.

Jeśli okaże się, że obciążenie jest zbyt wysokie, po prostu zrób tak, aby następnym razem, gdy się logują, kryptowaluta na coś szybciej obliczyć. Podobnie, w miarę upływu czasu i uzyskiwania lepszych serwerów, jeśli obciążenie nie jest problemem, możesz zwiększyć siłę ich hasha po zalogowaniu.

Sztuczka polega na tym, aby w przyszłości, zgodnie z prawem Moore ' a, trwało to mniej więcej tyle samo czasu. liczba jest log2, więc za każdym razem, gdy komputer podwoi prędkość, dodaj 1 do domyślnej liczby.

Zdecyduj, jak długo chcesz, aby brutalnie wymusić hasło użytkownika. Na przykład dla niektórych popularnych słów słownikowych, tworzenie konta prawdopodobnie ostrzegało ich, że ich hasło jest słabe. Jeśli jest to jeden z 1000 wspólnych słów, powiedzmy, i zajmuje atakującemu 0.1 s, aby przetestować każdy, to kupuje im 100s (cóż, niektóre słowa są bardziej powszechne...). Jeśli użytkownik wybrał 'wspólne słowo słownikowe' + 2 cyfry, to koniec dwie godziny. Jeśli baza danych haseł jest zagrożona, a atakujący może uzyskać tylko kilkaset haseł dziennie, większość użytkowników kupiła godziny lub dni na bezpieczną zmianę haseł. To kwestia czasu.

Http://www.postgresql.org/docs/8.3/static/pgcrypto.html ma trochę czasu na łamanie haseł do rozważenia. Oczywiście hasła, które tam wymieniają, to losowe litery. Słownikowe słowa... Praktycznie rzecz biorąc nie można uratować faceta, którego hasło to 12345.

 98
Author: Zer,
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
2015-01-08 19:37:24