![]() |
![]() |
![]()
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: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
@NetBeans: Przede wszystkim nie powinieneś w ogóle takiego systemu wprowadzać. Nie mam pojęcia dlaczego niektóre banki coś takiego stosują. Na pierwszy rzut oka nie dostrzegam żadnych zalet takiego rozwiązania, a niemałych wad od razu rzuca się w oczy:
1. Jest to strasznie niewygodne dla użytkownika. Ciężko wpisuje się niekompletne hasło. Przed chwilą sprawdziłem sobie przy pomocy stopera: wpisanie kompletnego hasła zajmuje mi ok. 5 sekund (niemal 20 losowych znaków (w tym znaki specjalne)), zaś wpisanie zaledwie czterech losowych znaków hasła (korzystając z takiego samego formularza co na załączonym w pierwszym poście obrazku) ponad 10 sekund. Nie dość, że jest to niewygodne to jeszcze obniża poziom bezpieczeństwa - zawsze im krótszy ciąg tym łatwiej go złamać, chociażby brute-forcem. 2. Implementacja takiego mechanizmu ułatwia życie osobie łamiącej hasło. Załóżmy, że posiadam 10 znakowe hasło (1234567890), które zostało zapisane jako jeden kompletny hash oraz 5 wariantów do wpisania 4 znaków (0389; 1086; 4390; 6320; 7368 - cyfra w tym przypadku od razu odpowiada pozycji znaku). Jeżeli udałoby mi się złamać tych 5 niekompletnych haseł bez problemu powinienem móc utworzyć z nich kompletne hasło główne. A złamanie tych 5 niekompletnych haseł jest dziecinnie proste w porównaniu do złamania hasła głównego. Zakładając, że dostępna pula znaków składa się z 70 elementów (a-zA-Z0-9 + znaki specjalne) złożoność obu operacji różni się o 10 rzędów wielkości! PS. SHA-x nie nadają się do hashowania haseł, od tego są funkcje typu blowfish. PS2. Powinieneś od razu założyć, że atakujący ma dostęp do absolutnie wszystkiego poza oryginalnym hasłem użytkownika. |
|
|
![]()
Post
#3
|
|
Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza ![]() |
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 5.10.2025 - 23:53 |