![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 1 012 Pomógł: 109 Dołączył: 26.09.2003 Skąd: nexis.pl Ostrzeżenie: (0%) ![]() ![]() |
Zwykle, dla bezpieczeństwa, trzymamy w bazie danych skrót hasła, utworzony za pomocą md5() bądź sha1(). Z myślą o tęczowych tablicach dopisujemy zwykle dodatkowo tzw. sól, która jest trzymana poza bazą danych, zwykle na serwerze.
Chciałbym jednak zwiększyć bezpieczeństwo również po stronie użytkownika i zastosować mechanizm znany z banków internetowych, czyli odpytywanie użytkownika o wybrane znaki hasła. Aby zastosować taki mechanizm jestem jednak zmuszony zapamiętać każdy znak hasła osobno. Powiedzmy, że w tym celu narzucę maksymalną długość hasła na 16 znaków i stworzę w tabeli bazy danych 16 dodatkowych pól (po 1 dla każdego znaku). Jak ma się jednak w/w sposób do tej sytuacji? Sam skrót to praktycznie żadne zabezpieczenie. Zastosowanie soli już bardziej, ale jest to wciąż bardzo słaby mechanizm. Co zrobić? |
|
|
![]() |
![]()
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 ![]() |
Osobiście nigdy tak nie podchodziłem do sprawy bezpieczeństwa, ale myślę, że pewnymrozwiązanem byłoby tualbo napisanie własnego szyfru albo użycie już istniejącego. Ważne by był dwukierunkowy. Można do niego także dodawać sól czy co tam chcesz. Ważne tylko tyle, by zastosować przy tym jakiś algorytm odwracalny, by móc hasło uzyskać z ciągu. Możnanawet potem jeszcze nakilka pól w bazie rozbić i zamieniać kolejność elementów by utrudnić,ale czy jest większy sens aż takiego kombinowania to nie wiem. Myślę, że Najlepiej by sę tu sprawdził jakiś własny algorytm mieszająco-szyfrujący. Bo też większość łamaczy polega na kilku znanych algorytmach.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 7.10.2025 - 00:11 |