Zjistěte, jakou entropii má vaše heslo nebo passphrase a za jak dlouho může být prolomeno
V jednom minulém příspěvku jsem popisoval, jak vytvořit bezpečné heslo a bezpečnou passphrase a kladl si otázku, zda je bezpečnější heslo nebo passphrase.
Abychom vůbec mohli porovnat odolnost klasického hesla o určité délce (L) a komplexitě (C) a passphrase vytvořené z určitého počtu slov (L) a nacházejících se ve slovníku o určité velikosti (C), tak musíme nejprve vyjádřit jejich entropii (En) v bitech. Tu spočteme pomocí následujícího vzorce:
En = log2(CL)
Dobu (T) potřebnou k prolomení sdíleného tajemství o dané entropii pak spočteme jako En mocninu dvou, kterou podělíme počtem hesel, které jsme schopni vyzkoušet za jednotku času (pps):
T = 2En/pps
Tato doba se dá zkrátit, pokud útočník má nějaké indicie ohledně toho, jak heslo vypadá anebo jaká je uplatňována politika hesel. Pokud přijmete premisu, že heslo může být v průměru prolomeno za polovinu času, neboť k jeho prolomení nemusí být vyzkoušeny zdaleka všechny možnosti, můžete T ještě podělit 2, ale nemusíte.
Parametr pps je značně diskutabilní, neboť se liší architektura od architektury, použitého algoritmu a kryptografie. Pokud byste měli nějaký tip ohledně toho, jakých hodnot by měla proměnná pps nabývat, tak napište. Pro hrubou představu by však mohly zvolené hodnoty stačit.
V případě klasického hesla budeme předpokládat, že heslo může být tvořeno znaky z množiny velkých (UC) a malých písmen (LC), čísel (N) a speciálních znaků (SC). Uživatel, pokud není v tvorbě hesla nijak omezen, může zvolit znaky z libovolné množiny. Z jedné, ze dvou, ze tří nebo také ze všech čtyř. V zásadě se jedná o kombinace bez opakování, kdy se uživatel rozhoduje mezi 4 množinami, což nám dává 15 množin, z kterých může být heslo sestaveno.
Proměnná C může nabývat hodnot {10, 26, 33, 36, 43, 52, 59, 62, 69, 85, 95} přičemž oněch 95 znaků je spíše jen teoretická hodnota, protože jen málokdo využije při tvorbě hesla celou sadu znaků, a mnohdy ani systém samotný neumožní některé znaky zadat. Daleko spíše se budeme setkávat s užitím jen omezené sady znaků. Pokud jde o hodnotu L, tak ta se bude nejspíš blížit minimální délce hesla, a to i v případě, že bude použit padding.
V případě passphrase bychom teoreticky mohli počítat s cca 250 000 slovy, nicméně stejně jako v případě hesel, i zde platí, že počet slov, která rodilý mluvčí aktivně používá, a tedy je nejspíš i využije při tvorbě passphrase, je podstatně méně, maximálně do 10 000, a v průměru dokonce jen kolem 5 000.
Je zřejmé, že proměnná C může nabývat v případě jednotlivých uživatelů různých hodnot, ale my budeme dále pracovat pouze s hodnotami {2 048, 5 000, 10 000, 250 000}, které jsou dostatečně reprezentativní. Pokud jde o slovník o počtu 2048 slov, tak ten jsem do výpočtu zahrnul jen kvůli XKCD, a ke kterému se vrátím v samostatném příspěvku.
Počet slov použitých v passphrase může být rovněž různý, ale nejspíš se bude pohybovat někde mezi dvěma až osmi slovy. Passphrase s větším počtem slov nás už zajímat nebudou, protože byť jsou bezpečná, tak je nepravděpodobné, že by někdo takto dlouhé passphrase používal.
Nyní již můžeme spočítat entropii pro různá hesla a passphrase. Výsledek výpočtu je zachycen na následujícím obrázku, kdy se v prvním a posledním sloupci nachází entropie vyjádřená v bitech a v dalších sloupcích pak vybrané kombinace množiny znaků. V řádcích pak naleznete délku hesla nebo počet slov použitých v passphrase. Snadno tak můžete porovnat entropii různých hesel a passphrase.
Doba potřebná k prolomení hesla nebo passphrase o dané entropii a to ve dnech, měsících a letech je zachycena v pravé polovině tabulky. V záhlaví jsou uvedeny stroje, které by mohly být pro lámání hesel použity, ať už běžný počítač, počítače v síti anebo třeba botnet o různém počtu strojů.
Poznámka: Pokud hovořím o bezpečnosti hesla nebo passphrase, tak mám na mysli především jejich odolností vůči útoku hrubou silou, neboť ve všech ostatních případech nehraje složitost a délka hesla či passphrase vůbec žádnou roli.
Štítky: autentizace, lámání hesel
K článku “Zjistěte, jakou entropii má vaše heslo nebo passphrase a za jak dlouho může být prolomeno” se zde nenachází žádný komentář - buďte první.
Diskuse na tomto webu je moderována. Pod článkem budou zobrazovány jen takové komentáře, které nebudou sloužit k propagaci konkrétní firmy, produktu nebo služby. V případě, že chcete, aby z těchto stránek vedl odkaz na váš web, kontaktujte nás, známe efektivnější způsoby propagace.