Leszek Krupiński
Language: Polish
Wszystkie aplikacje webowe, które pozwalają na rejestrację użytkowników, muszą w jakiś sposób zajmować się tematem przechowywania haseł. Jest to wrażliwy temat, do którego trzeba podejść z pełną świadomością konsekwencji. Na wykładzie przedstawione zostaną techniki pozwalające na zapewnienie jak najwyższego poziomu bezpieczeństwa przechowywanych haseł, oraz te stosowane przez osoby dążące do przełamania zabezpieczeń.
16. >>>
sha1('Quick
brown
fox
jumps
over
the
lazy
dog')
=>
"4ba0c2b764daf33a75f06e4ce4dfdce283aa9a9c"
>>>
sha1('Quick
brown
fox
jumps
over
The
lazy
dog')
=>
“c47983041ddb867c60790f93f681d74fc971ff47"
>>>
decbin(ord('T'))
=>
"1010100"
>>>
decbin(ord('t'))
=>
"1110100"
31. czy md5(“jabłko”) jest na liście? …
czy md5(“gruszka”) jest na liście? …
czy md5(“banan”) jest na liście? …
czy md5(“pomarańcza”) jest na liście? …
czy md5(“arbuz”) jest na liście? …
czy md5(“brzoskwinia”) jest na liście? …
nie
tak (użytkownik “janek”)
nie
tak (użytkownicy “zosia”, “franek”)
tak (użytkownik “marek”)
nie
48. dog e0d13d
cat 4e85aa
lion d023a3
hawk 867dbd
eagle 399e26
pigeon 89f486
balltennis basket23dc29b92f0e 5b9c0f
party
event
ball 23dc29
70e5ea
33f80c tiger d023a3
sparrow 89f486
volley 5b9c0f
venue 23dc29H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
R1
R1
R1
R1
R2
R2
R2
R2
R3
R3
R3
R3
base
foot
room
falconR4
R4
R4
R4
50. dog e0d13d
cat 4e85aa
lion d023a3
hawk 867dbd
eagle 399e26
pigeon 89f486
balltennis basket23dc29b92f0e 5b9c0f
party
event
ball 23dc29
70e5ea
33f80c tiger d023a3
sparrow 89f486
volley 5b9c0f
venue 23dc29H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
R1
R1
R1
R1
R2
R2
R2
R2
R3
R3
R3
R3
base
foot
room
falconR4
R4
R4
R4
89f486 foot
70e5ea
R4
R4
leg
70e5ea R3
box R4
yellowH
1043da
70e5ea R2
cat H
4e85aa R3
sparrowR3 H
89f486
R4
foot
88. Używaj długich, łatwych do zapamiętania
haseł. Nie przechowuj haseł plain-text.
Używaj salt. Salt ma być indywidualny.
Salt ma być losowy. Salt ma być długi.
Nie używaj dziwnych funkcji skrótu.
Używaj iteracyjnych, dedykowanych
algorytmów skrótu. Używaj bezpiecznego
porównywania ciągów. Wymuszaj politykę
haseł na użytkownikach, ale nie
przesadzaj. Zmieniaj hasła. Nie używaj
tego samego hasła w wielu serwisach.
Rozważ zastosowanie biblioteki do
generowania skrótu. Z czasem zwiększaj
liczbę iteracji. Miej plan awaryjny.