„Forgot Password” - jak sobie z tym poradzić?

18

Przeczytałem tę odpowiedź i znalazłem komentarz nalegający, aby nie wysyłać hasła e-mailem:

hasła nie powinny być możliwe do odzyskania przez e-mail, nienawidzę tego. Oznacza to, że moje hasło jest gdzieś zapisane jako zwykły tekst. należy go zresetować.

To nasuwa mi pytanie o obsługę opcji Forgot Password?

Za wszelką cenę surowe hasło musi być wyświetlane w dowolnym interfejsie użytkownika, aby użytkownik mógł je odczytać. Jak zatem poradzić sobie z „zapomnianym hasłem”

Gopi
źródło
Właśnie spędziłem 15 minut wyjaśniając funkcję zapomnienia hasła w PHPBB.
Peter Turner
Możliwy duplikat procesu resetowania hasła
komnata
1
@gnat Czy miałeś okazję sprawdzić, który z nich był najstarszy?
Gopi
1
@TechJerk wiek pytań nie ma znaczenia, jak wyjaśniono tutaj
gnat

Odpowiedzi:

35

Dobry projekt aplikacji nie będzie w stanie jawnie odzyskać hasła użytkownika. Wynika to z tego, że zwykle jest przechowywany po przejściu przez jakiś skrót, który jest operacją jednokierunkową.

Najlepszym sposobem radzenia sobie z utraconym hasłem jest zresetowanie, wysłanie do konta e-mail linku z wygenerowanym parametrem, który identyfikuje to jako prawidłowe resetowanie hasła dla danego konta. W tym momencie mogą ustawić nowe hasło.

Zakłada się, że w pliku znajduje się adres e-mail użytkownika.

Chris
źródło
Istnieją dodatkowe „najlepsze praktyki”, które, choć nie są krytyczne (np. Nie przechowują haseł w pierwszej kolejności), powinny obowiązywać, jeśli czas na to pozwala, w tym czasowe wygaśnięcie tokena dostępu przy określonych zdarzeniach i po pewnym czasie (tak, aby czyjeś konto nie jest zagrożony, jeśli jego skrzynka odbiorcza to).
Steven
7

Nie powinieneś przechowywać głównego hasła użytkownika jako zwykłego tekstu, ale MOŻESZ przechowywać tymczasowe hasło jako zwykły tekst, tj

użytkownik resetuje hasło -> hasło tymczasowe jest tworzone -> hasło tymczasowe jest wysyłane pocztą e-mail -> użytkownik jest zmuszony zmienić hasło przy następnym logowaniu (być może nowe hasło nie może być tymczasowe)

Viper_Sb
źródło
2
Zrobiłem to w kilku witrynach. Chociaż możesz argumentować, że snooper poczty może otrzymać hasło, może również uzyskać dowolny inny tymczasowy token itp., Który wyślesz e-mailem. Podejście to jest prostsze dla użytkownika (mogą kopiować i wklejać, a nawet wpisywać hasło tymczasowe) i nie jest narażone na atak bezpieczeństwa.
Kate Gregory
O ile ktoś nie używa bezpiecznego sposobu łączenia się z serwerem poczty (tj. Poczty internetowej za pośrednictwem HTTPS lub POP3 przez TLS), taką komunikację można łatwo obwąchać. W takim przypadku niektóre „haX0r” mogą łatwo zalogować się na konto innego użytkownika. Dlatego to zły pomysł. Link resetowania powinien zostać wysłany, jak sugeruje Chris, i należy zadać pytanie ochronne, zanim użytkownik faktycznie zmieni swoje hasło. Nadal nie w 100% bezpieczny (tyle razy można łatwo odgadnąć odpowiedzi na takie pytania bezpieczeństwa), ale nie widzę lepszego rozwiązania.
Paweł Dyda
2
@Pawel Dyda Link resetujący może być również wąchany, jeśli twój email jest wąchany, myślę, że posiadanie hasła tymczasowego w twoim e-mailu jest najmniejszym zmartwieniem.
Viper_Sb
Dlatego napisałem o pytaniu bezpieczeństwa.
Paweł Dyda
5

Komentarz jest przeciwny wysyłaniu oryginalnego hasła w wiadomości e-mail, nie wysyłaniu niczego w wiadomości e-mail. Jeśli instytucja może wysłać oryginalne hasło, oznacza to, że je ma, a to jest problem z bezpieczeństwem. Komentator nie argumentował przeciwko wysyłaniu hasła za pośrednictwem poczty elektronicznej, ponieważ w większości przypadków jest to prawie konieczne.

Właściwym sposobem jest przypisanie nowego hasła, które może być użyte raz, bez względu na przyczynę. Być może jest już oznaczony jako wygasły przez system, może po prostu loguje się na stronie, aby zmienić hasło generowane dynamicznie raz i tylko raz, cokolwiek.

David Thornley
źródło
4

Najbardziej podoba mi się to, że aplikacja wysyła wiadomość e-mail do użytkownika na zarejestrowany adres e-mail z jednorazowym linkiem ważnym przez X godzin, który zawiera stronę „Zmień hasło”.

Użytkownik może następnie ustawić hasło tak, jak mu się podoba, bez ryzyka umieszczenia go w wiadomości e-mail.


źródło
4

Mój dostawca kart kredytowych ma opcję „zapomnianego hasła”, która zadaje pytania bezpieczeństwa (nie jest to samo w sobie bardzo bezpieczne, ale robi to wiele banków), a następnie generuje nowy kod i podaje połowę na ekranie, a drugą połowę wysyła w wiadomości e-mail ty. W ten sposób nie możesz złamać konta bez dostępu zarówno do strony internetowej, jak i adresu e-mail.

Jakiś czas temu pytałem o to z perspektywy użyteczności .

glenatron
źródło