![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 43 Pomógł: 1 Dołączył: 23.05.2007 Skąd: Gliwice Ostrzeżenie: (0%) ![]() ![]() |
Czesc,
Interesuje mnie jakie metody autoryzacji uzytkownika stosujecie w swoich programach. Bezpieczna metoda powinna uniemożliwiac ataki brute force (i inteligentniejsze jego odmiany wykorzystujące fakt prawdopodobiensto wystapienia wybranych znakow w zaleznosci od języka itp) i słownikowy. Powinna tez przechowywac haslo w postaci niejawnej w bazie danych. Wybrane metody: 1)hasło zapisane w bazie danych zostaje wczesniej uzupełnione o prefix i zakodowane algorytmem haszującym (np. SHA256 lub SHA512). Prefix znacznie utrudni atak słownikowy. Zabezpieczeniem przed brute force może być blokada możliwości autoryzacji na X minut po Y nieudanych próbach na poprawny login (globalnie lub tylko z „atakującego IP”). Zalety: - Przyjazne dla użytkownika – posługuje się tylko jednym hasłem. 2)hasło może być zaszyfrowane algorytmem wymagającym sekretnego klucza (np. algorytm Rijndael 128bit), który użytkownik musi podać ręcznie lub z pliku wraz ze swoim hasłem. Wady: - Mało przyjazne dla użytkownika – konieczność pamiętania hasła i klucza. 3)Użytkownik może być przy logowaniu proszony o podanie tylko losowo wybranych znaków hasła. Widzę dwie opcje realizacji takiej metody. Pierwsza bardzo prosta do wykonania gdy hasło jest zapisane w bazie w postaci jawnej. Druga to zapisanie w bazie danych wszystkich k-elementowych kombinacji n-elementowego hasła w postaci zahaszowanej. Wady: - W przypadku pierwszym: jawna postać hasła w bazie danych. - W przypadku drugim: bardzo duże obciążenie bazy danych (przez jednego użytkownika): k n kombinacje bez powtórzeń 5 10 252 5 15 3003 5 20 15504 Jakich metod Wy używacie?(IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 55 Pomógł: 0 Dołączył: 17.09.2006 Ostrzeżenie: (0%) ![]() ![]() |
1)hasło zapisane w bazie danych zostaje wczesniej uzupełnione o prefix i zakodowane algorytmem haszującym (np. SHA256 lub SHA512). Prefix znacznie utrudni atak słownikowy. W jaki sposób prafix ma zabezpieczyć przed metodą słownikową? Przecież interfejs użytkownika i tak zawsze ten prefiks doda. No chyba, że potencjalny włamywacz ma dostęp do bazy i Tobie zależy tylko na utrudnieniu rozkodowania haseł. W standardowych rozwiązaniach prefix jest całkowicie zbędny. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 4.10.2025 - 00:15 |