Czy zdarzyło Ci się, że przypadkowo wpisałeś nieprawidłowe hasło na swoim komputerze i zauważyłeś, że odpowiedź zajmuje kilka chwil w porównaniu z wprowadzeniem prawidłowego? Dlaczego? Dzisiejszy post z pytaniami i odpowiedziami dla SuperUser zawiera odpowiedź na pytanie zaciekawionego czytelnika.
Dzisiejsza sesja pytań i odpowiedzi jest dostępna dzięki uprzejmości SuperUser - części Stack Exchange, grupy witryn internetowych z pytaniami i odpowiedziami.
Zrzut ekranu dzięki uprzejmości sully213 (Flickr) .
Pytanie
Czytnik SuperUser user3536548 chce wiedzieć, dlaczego czas odpowiedzi jest dłuższy, gdy zostanie wprowadzone nieprawidłowe hasło:
Gdy wpisujesz hasło i jest ono prawidłowe, czas odpowiedzi jest praktycznie natychmiastowy. Ale jeśli wprowadzisz nieprawidłowe hasło (przypadkowo lub zapomniałeś prawidłowego), upłynie trochę czasu (10-30 sekund), zanim pojawi się informacja, że hasło jest nieprawidłowe.
Dlaczego stwierdzenie, że hasło jest nieprawidłowe, zajmuje tak dużo czasu (względnie)? Zawsze przeszkadzało mi to przy wprowadzaniu nieprawidłowych haseł w systemach Windows i Linux (zwykłych i opartych na maszynach wirtualnych). Nie jestem pewien co do systemu Mac OSX, ponieważ nie pamiętam, czy jest taki sam (minęło trochę czasu, odkąd ostatnio korzystałem z komputera Mac).
Pytam w kontekście użytkownika logującego się do systemu fizycznie na miejscu, a nie przez SSH, który mógłby użyć nieco innych mechanizmów logowania (walidacja poświadczeń).
Dlaczego czas odpowiedzi jest dłuższy, gdy wprowadzasz nieprawidłowe hasło?
Odpowiedź
Współautor SuperUser Michael Kjorling ma dla nas odpowiedź:
Dlaczego stwierdzenie, że hasło jest nieprawidłowe, zajmuje tak dużo czasu (względnie)?
To nie. Albo raczej, komputer nie potrzebuje dłużej, aby stwierdzić, że twoje hasło jest nieprawidłowe w porównaniu z poprawnym. W idealnym przypadku praca związana z komputerem jest dokładnie taka sama. Każdy schemat weryfikacji hasła, który zajmuje różną ilość czasu w zależności od tego, czy hasło jest poprawne czy niepoprawne, może zostać wykorzystany do uzyskania wiedzy o haśle, choćby niewielkiej, w krótszym czasie niż miałoby to miejsce w innym przypadku.
Opóźnienie jest sztucznym opóźnieniem, które powoduje, że wielokrotne próby uzyskania dostępu przy użyciu różnych haseł są niewykonalne, nawet jeśli masz jakieś pojęcie o tym, jakie jest hasło, a automatyczna blokada konta jest wyłączona (co powinno być w większości scenariuszy, ponieważ w przeciwnym razie pozwoliłoby na to trywialna odmowa usługi na dowolnym koncie).
Ogólny termin określający to zachowanie to plandeka . Chociaż artykuł w Wikipedii mówi więcej o tarpingu usług sieciowych, koncepcja jest ogólna. Stara Nowa Rzecz nie jest też oficjalnym źródłem, ale artykuł „ Dlaczego odrzucenie nieprawidłowego hasła zajmuje więcej czasu niż zaakceptowanie ważnego? ”Mówi o tym (pod koniec artykułu).
Masz coś do dodania do wyjaśnienia? Dźwięk w komentarzach. Chcesz przeczytać więcej odpowiedzi od innych zaawansowanych technicznie użytkowników Stack Exchange? Sprawdź cały wątek dyskusji tutaj .