![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 56 Pomógł: 4 Dołączył: 18.01.2012 Ostrzeżenie: (0%) ![]() ![]() |
Cześć.
Pewnie większość z Was kojarzy metody logowania na stronach banków. Jest to wykonane w ten sposób, że musimy podać tylko kilka znaków naszego hasła (reszta jest zablokowana, tak jakby już były wpisane). Zastanawiam się w jaki sposób to działa. Zakładam, że hasła są hashowane, więc w jaki sposób porónywane są ciągi, skoro są niekompletne. Nie jest chyba możliwe, że system wie jakie znaki hasła mamy pod daną cyferką (widoczne na obrazku) i uzupełnia ciąg do porównania z hashem. Do tego "szare" pola są generowane losowo. Interesuje mnie zasada działania, nie proszę o żaden gotowy kod etc. Pozdrawiam. (IMG:style_emoticons/default/smile.gif) Wspomniany obrazek: (IMG:http://i.imgur.com/Dbb16Z6.png) |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 467 Pomógł: 77 Dołączył: 6.09.2008 Skąd: Miechów / Kraków Ostrzeżenie: (0%) ![]() ![]() |
Cytat Nie chce mi się wierzyć, że banki trzymają hashe Mi nawet przez myśl nie przeszlo, żeby ich nie miały (IMG:style_emoticons/default/wink.gif) Wydaje mi się, że dobrym rozwiązaniem było by zastosowanie elementu X w kodzie, który byłby ładowany z innego miejsca w systemie i byłby odpowiedzialny za kodowanie haseł. Banki mając do dyspozycji całe serwerownie mogą sobie pozwolić na postawienie maszyny dostępnej jedynie lokalnie, której zadaniem będzie tylko i wyłącznie kodowanie haseł. Co do samego mechanizmu porównywania poszczególnych literek to chyba jedynym rozwiązaniem jest rozbicie hasła na części i zakodowanie każdej literki z osobna. Może istnieją jakieś metody operujące na całym haśle, ale wątpie i ręki nie daje (IMG:style_emoticons/default/wink.gif) Mechanizm szyfrowania już zależy od konkretnego systemu i raczej nie jest prosty. Tęgie głowy siedzą nad tym, żeby odczytanie przechowywanych danych było jak najtrudniejsze (IMG:style_emoticons/default/smile.gif) Najlepszym rozwiązaniem według mnie jest stosowanie jakiejś dynamicznie generowanej soli i na pewno nie za pomocą liczb pseudolosowych (IMG:style_emoticons/default/wink.gif) Np. imię lub nazwisko, czy za pomocą innych informacji podawanych przez użytkownika. Dodatkowo można zastosować specjalne opóźnienia tak jak @Crozin napisałeś, np 2ms. Dla użytkownika żadna różnica a dla kogoś kto puści skrypt w pętle spore utrudnienie. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 3.10.2025 - 15:46 |