Argon

https://xpil.eu/QRpKV

Je偶eli kto艣 jeszcze pami臋ta m贸j niedawny artyku艂 na temat solenia hase艂, by膰 mo偶e zainteresuje go (lub j膮) dzisiejszy wpis. B臋dzie kr贸tko i zwi臋藕le, obiecuj臋.

Istnieje wiele r贸偶nych zastosowa艅 dla funkcji skr贸tu (zwanej te偶 funkcj膮 haszuj膮c膮 - hashing function). Na przyk艂ad mo偶na wygenerowa膰 skr贸t (hasz) danych w pojedynczym rekordzie w bazie danych i wykorzysta膰 go potem do wydajnego sprawdzania, czy dane uleg艂y zmianie (pami臋taj膮c o potencjalnych kolizjach, ma si臋 rozumie膰). W takiej sytuacji oczywi艣cie zale偶e膰 nam b臋dzie na jak najkr贸tszym czasie haszowania danych - je偶eli chcemy wyliczy膰 hasze dla miliona rekord贸w, a czas wyliczenia pojedynczego hasza zajmie milisekund臋, to ca艂a operacja zajmie nam nieca艂e 20 minut. Przy miliardzie rekord贸w to ju偶 oko艂o dw贸ch tygodni. I tak dalej.

Jednak w przypadku haszowania hase艂 sytuacja wygl膮da dok艂adnie na odwr贸t: zale偶y nam na tym, 偶eby wygenerowanie skr贸tu by艂o WOLNE. Nie ZA wolne, w ko艅cu nie chcemy, 偶eby u偶ytkownik siedzia艂 wgapiony w ekran przez pi臋膰 minut przy ka偶dym logowaniu si臋 do systemu, ale na tyle wolne, 偶eby atak metod膮 brute-force (czyli "zgadywania") by艂 nieop艂acalny czasowo.

Wszystko pi臋knie, ale jest tu jeszcze jeden haczyk: wsp贸艂czesne komputery cz臋sto wyposa偶one s膮 w wysokowydajne karty graficzne z setkami albo i tysi膮cami r贸wnoleg艂ych potok贸w przetwarzaj膮cych. Je偶eli czas na wyliczenie jednego hasza wynosi tysi膮c milisekund (czyli sekund臋 - bardzo d艂ugo), to zapuszczaj膮c algorytm brute-force na karcie z tysi膮cem potok贸w przetwarzaj膮cych przyspieszamy proces 艂amania has艂a tysi膮ckrotnie i takie zabezpieczenie niewiele zmienia.

Trzeba doda膰 drugi element, kt贸ry spowoduje, 偶e atak metod膮 brute-force b臋dzie nieop艂acalny: pami臋膰. Wyliczenie hasza musi zu偶ywa膰 du偶o pami臋ci operacyjnej. Na tyle du偶o, 偶eby nie da艂o si臋 uruchomi膰 r贸wnocze艣nie wielkiej ilo艣ci proces贸w haszuj膮cych, ale jednocze艣nie na tyle niedu偶o, 偶eby komputery z ka偶dej p贸艂ki mog艂y bez problemu wyliczy膰 pojedynczego hasza. Czyli na przyk艂ad sto megabajt贸w. Albo p贸艂 gigabajta. W takiej sytuacji "w艂amywaczowi" nie pomo偶e ani ogromna ilo艣膰 potok贸w r贸wnoleg艂ych, ani du偶o RAM-u. Algorytm haszuj膮cy bardzo szybko zu偶yje zasoby systemu w艂amywacza sprawiaj膮c, 偶e szukanie hase艂 metod膮 brute-force stanie si臋 nieop艂acalne.

Do niedawna w dziedzinie takiego w艂a艣nie bezpiecznego haszowania hase艂 kr贸lowa艂y algorytmy scrypt i bcrypt (zainteresowanych odsy艂am do Google), jednak od niedawna na horyzoncie pojawi艂 si臋 nowy gracz, 艂膮cz膮cy w sobie wszystkie mo偶liwe zalety oraz eliminuj膮cy wady dotychczasowych rozwi膮za艅: Argon.

Niewykluczone, 偶e w kr贸tkim czasie Argon stanie si臋 og贸lno艣wiatowym standardem do haszowania hase艂 - na dzie艅 dzisiejszy istniej膮 ju偶 implementacje we wszystkich popularnych j臋zykach programowania oraz na wszystkie popularne platformy systemowe.

S膮dz臋, 偶e warto t臋 nazw臋 zapami臋ta膰.

Ot, co.

https://xpil.eu/QRpKV

Leave a Comment

Komentarze mile widziane.

Je偶eli chcesz do komentarza wstawi膰 kod, u偶yj sk艂adni:
[code]
tutaj wstaw sw贸j kod
[/code]

Je偶eli zrobisz liter贸wk臋 lub zmienisz zdanie, mo偶esz edytowa膰 komentarz po jego zatwierdzeniu.