Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Wasze metody autoryzacji..., Jak zapewnic bezpieczną autoryzacje użytkownika
joebezucha
post
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)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Ludvik
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 698
Pomógł: 3
Dołączył: 28.03.2004
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Pierwsza metoda jest raczej niezawodna. Najsłabszym ogniwem jak zawsze jest człowiek, więc ile byś się nie namęczył, to i tak głupi użytkownik będzie miał hasło łatwe do złamania. Można z tym walczyć, ale nie wiem czy to opłacalne.

Drugi niewygodny i wcale niedużo bezpieczniejszy.

Trzeci sposób zabije bazę, a razem z nią użytkownika, który będzie literował hasło przed wpisaniem. A jeżeli nie zabije bazy, to przy włamaniu haseł nawet nie trzeba będzie odkodować...
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 4.10.2025 - 18:45