Czy zdarzyło Ci się przypadkiem wpisać nieprawidłowe hasło na swoim komputerze i zauważyłeś, że odpowiedź zajmuje kilka chwil w porównaniu do wpisania poprawnego hasła? Dlaczego? Dzisiejszy post z pytaniami i odpowiedziami dla SuperUser zawiera odpowiedź na ciekawe pytanie czytelnika.
Dzisiejsza sesja pytań i odpowiedzi przychodzi do nas dzięki uprzejmości SuperUser - poddziału Stack Exchange, społecznościowego forum z pytaniami i odpowiedziami.
Zdjęcie dzięki uprzejmości sully213 (Flickr).
Czytnik SuperUser user3536548 chce wiedzieć, dlaczego jest dłuższy czas odpowiedzi, gdy wprowadzono nieprawidłowe hasło:
Po wprowadzeniu hasła i jego poprawności czas odpowiedzi jest praktycznie natychmiastowy. Ale kiedy wprowadzisz niepoprawne hasło (przez przypadek lub zapomniałeś tego właściwego), upłynie trochę czasu (10-30 sekund), zanim odpowie, że hasło jest nieprawidłowe.
Dlaczego tak długo (względnie) trzeba powiedzieć, że hasło jest nieprawidłowe? To zawsze mnie wkurzało podczas wprowadzania nieprawidłowych haseł w systemach Windows i Linux (regularnie i na maszynach wirtualnych). Nie mam pewności co do systemu Mac OSX, ponieważ nie pamiętam, czy jest on taki sam (minęło trochę czasu od ostatniego użycia komputera Mac).
Pytam w kontekście logowania użytkownika do systemu fizycznie na miejscu, a nie poprzez SSH, który mógłby wykorzystywać nieco inne mechanizmy do logowania (sprawdzanie poprawności poświadczeń).
Dlaczego jest dłuższy czas reakcji po wprowadzeniu nieprawidłowego hasła?
Współpracownik SuperUser Michael Kjorling ma dla nas odpowiedź:
Dlaczego tak długo (względnie) trzeba powiedzieć, że hasło jest nieprawidłowe?
To nie. A raczej nie wymaga od komputera, aby ustalić, że twoje hasło jest nieprawidłowe, w porównaniu do jego poprawności. Praca związana z komputerem jest idealnie taka sama. Każdy schemat weryfikacji haseł, który zajmuje inną ilość czasu w zależności od tego, czy hasło jest poprawne lub nieprawidłowe, może zostać wykorzystany do zdobycia wiedzy, jakkolwiek małej, hasła w czasie krótszym niż w innym przypadku.
Opóźnienie to sztuczne opóźnienie, aby wielokrotnie próbować uzyskać dostęp, używając różnych haseł, nieosiągalnych, nawet jeśli masz pojęcie o tym, jakie jest hasło i 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 konto arbitralne).
Ogólnym terminem tego zachowania jest tarpitting. Podczas gdy artykuł Wikipedii mówi więcej o tarpowaniu usług sieciowych, pojęcie to jest ogólne. Stara nowa rzecz nie jest też oficjalnym źródłem, ale artykuł "Dlaczego odrzucenie nieprawidłowego hasła trwa dłużej niż zaakceptowanie ważnego?" mówi o tym (pod koniec artykułu).
Czy masz coś do dodania do wyjaśnienia? Dźwięk w komentarzach. Chcesz przeczytać więcej odpowiedzi od innych użytkowników Stack Exchange, którzy znają się na technologii? Sprawdź cały wątek dyskusji tutaj.