Útoky na hesla
Útočník, který získal databázi hashů, je nemůže převést zpátky na hesla. Může jen hádat: vezme kandidáta na heslo, spočítá jeho hash a porovná ho se získaným hashem z útoku. Útoky se od sebe liší hlavně tím, v jakém pořadí kandidáty zkouší a je generuje.
Hrubá síla
Útok hrubou silou (brute force) zkouší postupně všechny kombinace: aaaa, aaab, aaac a tak dál. Počet kombinací spočítáme jako velikost abecedy umocněnou na délku hesla. Heslo z osmi malých písmen má tedy 26⁸ kombinací, což je zhruba 200 miliard.
Zní to jako hodně, jenže jedna herní grafická karta spočítá u SHA-256 řádově deset miliard hashů za sekundu. Při takové rychlosti vypadá hrubá síla takhle:
| Heslo | Kombinací | Vyzkoušení všech trvá |
|---|---|---|
| 8 malých písmen | 2 · 10¹¹ | 21 sekund |
| 8 znaků (písmena, číslice, symboly) | 6 · 10¹⁵ | 7 dní |
| 12 malých písmen | 1 · 10¹⁷ | 110 dní |
| 16 malých písmen | 4 · 10²² | 140 000 let |
Všimněme si, že délka přidává víc než pestrost znaků. Dvanáct obyčejných malých písmen vydrží mnohem déle než osm znaků všeho druhu.
U pomalé funkce jako bcrypt zvládne stejná karta jen tisíce pokusů za sekundu a všechny časy v tabulce se zhruba milionkrát prodlouží. Jak web hesla ukládá, ale zvenčí nepoznáte, takže je rozumné počítat s horší variantou.
Slovníkový útok
Lidé si hesla nevybírají náhodně a slovníkový útok toho využívá. Nejdřív zkouší skutečná hesla z dřívějších úniků, třeba ze seznamu rockyou.txt, a jejich obvyklé obměny: velké první písmeno, číslo na konci, rok narození, @ místo a.
Heslo Petr1985! má velké písmeno, číslici i symbol, a stejně padne během pár sekund. Je postavené přesně podle vzoru, který útočník zkouší jako první. Pravidla typu „aspoň jedno velké písmeno, číslice a symbol“ tak dělají heslo silným jen na pohled.
Heslová fráze
Silné heslo je dlouhé a náhodné. Nejlíp se takové heslo pamatuje jako heslová fráze (passphrase), tedy několik náhodně vybraných slov za sebou, třeba kolo-brambora-sever-lampa.
Slova ale musí vybrat generátor. Když se losují ze slovníku o 7 776 slovech, dají čtyři slova asi 4 · 10¹⁵ kombinací a pět slov 3 · 10¹⁹. Při deseti miliardách pokusů za sekundu to jsou čtyři dny, respektive devadesát let pro heslo s jedním slovem navíc.
Verš z oblíbené písničky nebo citát heslovou frází není. Slova v něm nevybrala náhoda a takové věty bývají ve slovnících útočníků taky.
Zjistěte, proč má slovník metody Diceware právě 7 776 slov a co to má společného s hrací kostkou.