Temat zawiły i skomplikowany jak polska Polityka ale kiedyś go trzeba było zacząć!
Bezpieczne hasło, to takie które posiada bardzo dużą entropię. Ta entropia, to nic innego jak:
Cytat:
Entropia â średnia ilość informacji, przypadająca na pojedynczą wiadomość ze źródła informacji. Innymi słowy jest to średnia ważona ilości informacji niesionej przez pojedynczą wiadomość, gdzie wagami są prawdopodobieństwa nadania poszczególnych wiadomości.
|
Mając hasło: abcdefgh
entropia dla znaku wyniesie log2(26)= 4.7 bit. Znaków jest 8 (różne) więc 8*4.7= 37,6 bitów
Entropia dla hasła
abcdefgh 37,6 bitów
Jeżeli dodamy do tego cyfry i każda będzie unikalna, to entropia znaku wzrośnie do 5,17 dając entropię 41,36 bitów dla hasła jeżeli będzie w nim 7 małych znaków alfabetu oraz jedna cyfra. Znaki nie mogą się powtórzyć.
W przypadku gdy mamy powtórzenia to musimy obliczyć jeszcze prawdopodobieństwo wystąpienia danego znaku np.
abcdaefg
P(a)= 2/8 = 0.25
P(b)= 1/8 = 0.125
P(c)= 1/8 = 0.125
P(d)= 1/8 = 0.125
P(e)= 1/8 = 0.125
P(f)= 1/8 = 0.125
P(g)= 1/8 = 0.125
Im większe prawdopodobieństwo tym gorzej dla hasła bo maleje entropia.
Teraz aby obliczyć entropię hasła gdzie znaki się*powtarzają podstawiamy pod wzór:
Kod:
-[(P(a)*log2(P(a))) + (P(b)*log2(P(b))) + (P(c)*log2(P(c))) + (P(d)*log2(P(d))) + (P(e)*log2(P(f))) + (P(g)*log2(P(g)))]
i wyliczamy entropię*dla znaku i potem mnożymy przez długość frazy co da nam entropię hasła. W tym wypadku będzie, to: -[-0.5 - 0.36 - 0.36 - 0.36 - 0.36 - 0.36 - 0.36]= 2.7 bitów * 8 = 21 bitów.
Jak widać hasło posiadające dwa razy dany znak ma mniejszą entropię. Mniejsza entropia = słabsze hasło.
Gdybym chciał wygenerować*sobie np. hasło składające się z 64 znaków to najlepiej wygenerować takie, które kolejność znaków będą miały pseudolosowy oraz każdego typu znaku będzie w haśle 8 sztuk i nie będą się*powtarzały?
Z drugiej strony atakujący wiedząc, że w haśle nie powtarzają*się*znaki będzie mógł obniżyć ilość*możliwych kombinacji bo dany znak w jednym sprawdzeniu może wystąpić tylko raz.
Więc jak bardzo spadnie ilość możliwych kombinacji przy haśle 8 znakowym składającym się z 94 kombinacji?
Ilość kombinacji dla takiego hasła to: 94^8= 6 095 689 385 410 816.