Mało jest serwisów, które chwalą się tym, w jaki sposób przechowują hasła swoich użytkowników. Może dlatego, że mało kto ma czym się pochwalić? Jeden z twórców mechanizmów bezpieczeństwa Facebooka opisał dokładnie metodę tworzenia skrótu hasła na konferencji poświęconej hasłom. Metoda wygląda na skomplikowaną, ale nie tylko zabezpiecza hasła przed ich złamaniem, ale także np. zabezpiecza je przed podmienieniem przez nieuczciwego pracownika firmy. Polecamy cały kilkunastominutowy wykład.
Oczywiście zbudowanie osobnego „kryptoserwisu”, by programiści nie musieli zajmować się przechowywaniem kluczy lub wymyślaniem nowych metod szyfrowania jest podejściem, które mogą stosować duże firmy, ale już wykorzystanie funkcji scrypt jest praktyką, którą można polecić wszystkim serwisom.
Komentarze
A jak przechowuje hasła Google ?
Pytam nie bez powodu. Jak chciałem ustawić hasło które kiedyś miałem na Gmail strona zawołała ze nie można go użyć skąd oni wiedza jakie miałem hasło ?
Czy nie powinno być zapisane w systemie w wersji szyfrowanej?
Czy wynik szyfrowania nie jest za każdym razem inny ?
Jeśli użyjesz tego samego klucza, to nie, za każdym razem dostaniesz ten sam wynik.
Ale nie z losową solą, chyba że sól dla danego użytkownika losowana jest tylko raz.
Poprawne użycie soli zakłada, że sól jest za każdym razem inna.
Natomiast sól może (i najczęściej jest) jawna, doklejana na początku każdego digestu hasła. Tak więc odtworzenie digestu i sprawdzenie, czy nie jest zduplikowany, nie jest problemem.
Dodajmy tylko, że funkcji scrypt w PHP nie ma domyślnie, jest dostępna w rozszerzeniu o tej samej nazwie: http://pecl.php.net/package/scrypt
A można to złamać ASIC-minerem? Kiedyś się dogecoiny wgl. na GPU kopało…
Jak masz tysiące lat to powinno się udać ;)