If-Koubou

W jaki sposób Linux wie, że nowe hasło jest podobne do starego?

W jaki sposób Linux wie, że nowe hasło jest podobne do starego? (Jak)

Jeśli kiedykolwiek otrzymałeś wiadomość, że twoje nowe hasło jest zbyt podobne do starego, możesz być ciekawy, jak twój system Linux "wie", że są zbyt podobne. Dzisiejszy post z pytaniami SuperUser zapewnia podgląd "magicznej kurtyny" na temat tego, co dzieje się dla ciekawskiego 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 marc falardeau (Flickr).

Pytanie

Czytnik SuperUser LeNoob chce wiedzieć, jak system Linux "wie", że hasła są zbyt do siebie podobne:

Próbowałem kilkakrotnie zmienić hasło użytkownika na różnych maszynach z systemem Linux, a kiedy nowe hasło było podobne do starego, system operacyjny stwierdził, że są zbyt podobne.

Zawsze zastanawiałem się, w jaki sposób system operacyjny to wie? Myślałem, że hasła zostały zapisane jako skrót. Czy to oznacza, że ​​kiedy system jest w stanie porównać nowe hasło podobieństwa ze starym, które faktycznie jest zapisane jako zwykły tekst?

W jaki sposób system Linux "wie", że hasła są do siebie zbyt podobne?

Odpowiedź

Superużytkownik, autor slhck, ma dla nas odpowiedź:

Ponieważ podczas używania passwd musisz podać zarówno stare, jak i nowe hasła, można je łatwo porównać w postaci zwykłego tekstu.

Twoje hasło jest rzeczywiście zakodowane, kiedy jest ostatecznie przechowywane, ale do tego czasu narzędzie, do którego wprowadzasz hasło, może uzyskać do niego bezpośredni dostęp.

Jest to cecha systemu PAM, który jest wykorzystywany w tle narzędzia passwd. PAM jest używany przez nowoczesne dystrybucje Linuksa. Mówiąc dokładniej, pam_cracklib to moduł dla PAM, który pozwala mu odrzucać hasła w oparciu o podobieństwa i słabości.

Nie tylko hasła są zbyt podobne, co można uznać za niebezpieczne. Kod źródłowy zawiera różne przykłady tego, co można sprawdzić, na przykład, czy hasło jest palindromem, czy też, jaka jest odległość edycji między dwoma słowami. Chodzi o to, aby hasła były bardziej odporne na ataki słownikowe.

Zobacz stronę manuala pam_cracklib, aby uzyskać więcej informacji.

Przeczytaj całą resztę żywej dyskusji na SuperUser, korzystając z wątku tematu, który znajduje się poniżej.

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.