![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 322 Pomógł: 15 Dołączył: 29.01.2010 Ostrzeżenie: (0%) ![]() ![]() |
Witam, krążę właśnie nad zabezpieczeniem mojej strony za pomocą szyfrowania haseł solą. Dużo się o niej wspomina, jakie ma wady i zalety, ale nigdzie konkretnie nie znalazłem jakichś porad w jaki sposób mogę zastosować to szyfrowanie.
Znalazłem skrypt na openwall, pobrałem go razem z dokumentacją, ale jest ona tylko i wyłącznie w języku eng. Dogadać to się dogadam, ale czytać to już nie za bardzo (IMG:style_emoticons/default/wstydnis.gif) Znajdzie się jakaś dobra dusza, która pomoże mi z tym problemem. P.S. Aktualnie szyfruje hasła za pomocą md5. Czytałem że na dzień dzisiejszy nie jest to dobre zabezpieczenie (brutal force i te sprawy), jednak pomyślałem żeby przy logowaniu zastosować recaptcha od google. Myślę że w jakiś sposób zatrzymało by to próbę b-f. Drugim moim pomysłem jest zrobienie warunków. Jeżeli hasło zaczyna się na np. literkę na to ma szyfrować za pomocą md5, a na przykład jak zaczyna się na b to już za pomocą SH1. Wiem że jest to łopatologiczne rozwiązanie, ale myślę że było by skuteczne (IMG:style_emoticons/default/smile.gif) To na początek wrzuce przykładowy skrypt logowania
Pozdrawiam |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
@Sephirus... SALT jedynie w bazie to za mało. Najlepiej mieć zarówno salt indywidulany dla usera i jeden ogólny dla serwisu a stosować oba jednocześnie. Czemu? Gdy Ci podwędzą kod serwisu to znają SALT hasła z serwisu i algorytm, ale nie znają soli indywidualnych, więc hasła są teoretycznie dalej trudne do ustalenia. Jeśli podwędzą bazę, to nie znają ani algorytmu, ani hasha serwisu, więc też zgaduj-zgadula nadal. Muszą mieć oba te komponenty naraz, aby ustalić hasła, a i tak dla każdego usera musza one być indywidualnie z użyciem "rainbow tables" (o brute force zapomnij (IMG:style_emoticons/default/wink.gif) ) odczytane. Im bardziej przemyślany algorytm z uzyciem obu soli, tym utrudnienia większe, ponieważ trzeba iść "od tyłu" i porównywać z kolejnymi etapami. Odczyt hasha z poziomu tęczowych tablic da Ci bowiem pulę wyników, którą teraz musisz analizować. A że użyjesz przypuśćmy 2-etapowego hashowania, gdzie na każdym etapie uzyjesz innego algorytmu lub będzie on modyfikowany ustawieniami to utrudniasz w jakiś tam sposób łamanie. Jeśli jesteś super paranoikiem, to zawsze jeszcze możesz jakiś element, konieczny do uzyskania danych wejściowych dla algorytmu hashującego, przenieść na serwer trzeci, który zwraca pewne elementy po SOAPie dla uwierzytelnionego i rozpoznawanego między innymi po IP - serwera (IMG:style_emoticons/default/wink.gif) Wtedy masz jako utrudnienia aż 3 elementy konieczne do uzyskania/posiadania:
a) kod serwisu, (IMG:style_emoticons/default/cool.gif) baza serwisu c) autoryzacja dla serwera zewnętrznego. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 10.10.2025 - 13:46 |