Witam,
ostatnio czytałem coś tam o bezpieczeństwie w sieci i nasunęło mi się takie pytanie: Czy jeśli hasło gdzieś wpisze częściowo poprawne to czy dostane taką samą wiadomość zwrotną jak przy kompletnie nie poprawny haśle? Proste pytanie czy np. program mógłby zgadywać po literze?
Oczywiście że dostaniesz info o błędnym haśle! Zwykle hasła są zapisane w postaci hashy. Dobry hash ma to do siebie że hashe podobnych słów mają być zupełnie niepodobne do siebie.
Że błąd dostane to wiem, ale mi chodzi czy można rozróżnić te 2 błędy, np. łącze się z baza przez program (napisany w dowolnym języku) i czy jest w jakiś sposób wychwycić czy hasło jest kompletnie nie poprawne czy częściowo poprawne.
Przeczytaj jeszcze raz odpowiedź @Shaloma, przecież sama baza nie wie czy podane hasło jest podobne do poprawnego.
Jak juz napisałem: jeśli hasła są poprawnie hashowane to nie ma takiej możliwości. Zresztą po co by to mialo być? W komunikacie błędu powinno być jak najmniej informacji dla potencjalnego hackera! Nie powinno się nawet informować o tym czy błędne jest hasło czy login, bo to już znacznie ułatwiłoby włamanie. A informowanie że hasło jest "prawie poprawne" to już jakies szaleństwo. No chyba że pytasz od drugiej strony, tzn jako włamywacz a nie jako admin...
To nie jest takie niemożliwe. Jakakolwiek forma autoryzacji kryptograficznej nie powinna dawać żadnych informacji dlaczego autoryzacja się nie udała. Przykładowo jest całkiem fajny atak, gdy szyfr blokowy działa w trybie CBC i implementacja daje informacje o tym, czy padding jest zgodny, czy nie. Pozwala to na rozszyfrowaniu wiadomości przez odpowiednio przygotowane ciphertexty używając 256*długość_wiadomości zapytań. Możliwym atakiem może być też pomiar czasu sprawdzania hasła (gdy po prostu porównuje się stringi), ale musi być wykonany bardzo dokładnie.
Shalom napisał(a):
No chyba że pytasz od drugiej strony, tzn jako włamywacz a nie jako admin...
To i tak nie ma różnicy po jeden musi się zabezpieczyć przed drugim, a z kolei hacker będzie robił wszystko żeby pokonać admina. Tak się pytam po prostu z ciekawości, coś mi wpadło do głowy i byłem ciekawy :)