Autentizace: Je lepší passphrase nebo komplexní heslo?

V tomto příspěvku se pokusíme zamyslet nad tím, zda místo komplexních hesel nepoužívat raději passphrase.

Pokud přijde řeč na autentizaci uživatele do systému pomocí hesla, tak je uživatel dost často nabádán k tomu, aby používal silná hesla, nikam si je nepoznamenával, pravidelně je měnil a rozhodně nepoužíval stejné heslo na více systémech. Smysluplnosti těchto pravidel jsme se věnovali v minulém příspěvku.

Heslo může plnit dobře svojí úlohu pouze tehdy, když není zadáváno na počítači, na kterém se nachází škodlivý kód (přestaňte už konečně stahovat ten warez) a je přenášeno bezpečným kanálem (když web umožňuje komunikovat přes HTTPS, využijte toho). V opačném případě je jedno, jak dlouhé a komplexní vaše heslo je a jak často si ho měníte, protože může být snadno odchyceno a neprodleně použito.

V tomto příspěvku budeme předpokládat, že byla zcizena DB, ve které jsou uloženy hashe hesel a útočník se bude snažit tato hesla prolomit hrubou silou. Na to, že správce systému použil sůl, se spolehnout nemůžeme, a proto budeme naše heslo konstruovat tak, aby odolalo útoku hrubou silou i v případě, že by byly v DB uloženy pouze nesolené hashe. Po pravdě řečeno, ona ta sůl zase až tak moc velký význam nemá, jen útočník nebude moci použít již vygenerované rainbowtables.

Dále si musíme položit otázku, jak často se bude náš hypotetický uživatel hlásit a zda je ochoten zadávat dlouhá hesla obsahující pouze písmena, anebo spíše kratší komplexní hesla obsahující velká a malá písmena, čísla a speciální znaky. Skutečnost je taková, že prolomit hrubou silou komplexní heslo o délce 8 znaků je pro počítač vybavený výkonnou grafickou kartou otázka pouhých několika týdnů (řekl bych, že ten nevychovaný spratek od sousedů takový počítač má, tak abyste se nedivili) a v okamžiku, kdy bude útočník disponovat více počítači (jo, mám na mysli tu partu studentů, co jste posledně potkal v hospodě), tak takové heslo prolomí během několika dnů, no a v případě, že by se jednalo o botnet (ano, to byla ta lákavá nabídka na pronájem 100.000 počítačů, co vám přišla mailem minulý týden), tak se z toho stává otázka na maximálně několik hodin.

A přitom bezpečné heslo, které by odolalo i útoku botnetu čítajícího 10 tisíc až 1 milión strojů, z nichž by každý byl schopen lámat hesla rychlostí 200 miliónů hesel za sekundu, by muselo být dlouhé minimálně 12 znaků a obsahovat velká a malá písmena, čísla a speciální znaky a vydrželo by několik desítek let. Na druhou stranu jen o jeden znak kratší 11znakové heslo by bylo prolomeno do několika měsíců. Možná si říkáte, že 12 znakové heslo je příliš dlouhé, ale myslím, že z tohoto pohledu už je celkem jedno, jestli zadáváte 8znakové nebo 12znakové komplexní heslo.

Další možností je používat delší heslo. Vězte, že takové 16 znakové heslo obsahující pouze písmena by nebylo při použití botnetu prolomeno dříve než za několik let a pokud byste použili velká a malá písmena nebo dokonce i čísla, tak ještě později. Nabízí se tedy otázka, zda by pro většinu lidí nebylo mnohem jednodušší a rychlejší používat spíše delší heslo, než se trápit s nějakými speciálními znaky, které může být někdy i problém zadat a z nichž většina stejně nebude nikdy použita.

Na první pohled se může zdát, že k prolomení komplexního 12 znakového hesla by teoreticky muselo být vyzkoušeno 95^8 různých variací s opakováním, jenže ve skutečnosti to bude někde mezi 62^8 a 95^8 a daleko spíš se budeme blížit k té nižší hodnotě. (Vycházíme z toho, že máme 10 číslic + 26 malých písmen + 26 velkých písmen, což je 62 znaků + 33 speciálních znaků, a dostáváme se na 95 různých znaků.)

Myslím, že můžeme vyslovit závěr, že než sestavovat nějaká komplexní hesla obsahující velká a malá písmena, čísla a speciální znaky, je mnohem efektivnější používat passphrase o minimální délce 16 znaků a nějaká velká a malá písmena a čísla nemusíte vůbec řešit. A jestli si říkáte, že byste si je nezapamatovali, tak si je proboha napište na papír a ten si schovejte na bezpečné místo. A že vaše firemní politika po vás velká a malá písmena, čísla a speciální znaky vyžaduje? Hm, tak tam na začátek flákněte velké písmeno, mezi jednotlivá slova vražte mezeru, na konec tečku a je to.

Nabízí se také otázka, zda to musí být zrovna papírek, kde budete mít hesla zapsaná. Co kdybyste si hesla uložili do svého smartphonu? A co kdybyste si je do svého smartphonu uložili jako obrázek? A vůbec, kam si svá hesla vlastně ukládáte, a neříkejte, že si je všechna pamatujete.

Na základě informací uvedených v příspěvku „Jak vytvořit bezpečnou passphrase“ můžeme prohlásit, že passphrase o 5 slovech a průměrné délce 25 znaků je o něco bezpečnější, než 9 znakové komplexní heslo. A byť se může mnohým jevit passphrase jako méně bezpečná, tak uživateli, který ji bude používat, hrozí za jinak stejných podmínek výrazně menší riziko, že jeho passphrase bude prolomena. Situace by se mohla změnit až v okamžiku, kdy by výrazně větší počet uživatelů začal používat místo komplexního hesla passphrase.

Lámání a hádání hesel však není jediný způsob, jak se může útočník k heslu uživatele dostat. Ne, nebudeme uvažovat keyloggery, malware, MITM a další typy útoků, protože v případě těchto útoků je jedno, jak dlouhé a komplexní heslo nebo passphrase vlastně je. Ty sdílené tajemství jednoduše odchytí. Zamysleme se nyní krátce jen nad jediným typem útoku, a tím je odpozorování passphrase.

Lze předpokládat, že uživatel bude jednotlivé znaky passphrase zadávat minimálně stejně rychle jako u komplexního hesla. Ovšem zapsání passphrase mu bude trvat o něco déle, protože passphrase je prostě delší. A právě délka zvyšuje i riziko, že se uživatel při zadávání passphrase překlepne, a bude ji muset zadávat znovu. Je otázka, zda zadávanou passphrase maskovat a zda nepovolit zobrazení posledního stisknutého znaku. Stejně jako u hesla je dobré si dávat pozor, zda vás při zadávání někdo nepozoruje a vůbec je vhodné dodržovat i další zásady, především nepoužívat stejnou passphrase na více systémech.

Problém je, že těch znaků, které uživatel musí napsat, aby passphrase mohla být považována za bezpečnou, je prostě moc. Jako mnohem jednodušší mi přijde pro přihlašování do systémů používat komplexní heslo vytvořené podle návodu v příspěvku „Jak si vytvořit bezpečné heslo“. Zapamatujete si ho stejně dobře jako passphrase, ale přihlásíte se rychleji. Na druhou stranu útočníkovi stačí odpozorovat část odchyceného hesla a zbytek pak prolomit hrubou silou. To v případě passphrase nemusí být až tak snadné.

Password or passphrase

Za bezpečnější považuji:

Nahrávání ... Nahrávání ...


Pokud vás tento příspěvek zaujal, sdílejte ho!
Share on FacebookShare on LinkedInTweet about this on TwitterShare on Google+Email this to someonePrint this page

Štítky:

  1. Harry

    Jaký je rozdíl mezi 16 znakým heslem a passphrase?
    OT: Šlo by přidat sledování diskusí (zatím tedy ojedinělých dotazů)?

  2. admin

    Prozatím odpovím velice stručně, později k tomu nejspíš ještě něco napíši. Komplexní heslo obsahující velká a malá písmena, čísla a speciální znaky, může být pro mnohé lidi těžší si zapamatovat a zadat, než stejně dlouhou passphrase skládající se z několika mála slov. Prolomit komplexní heslo o stejné délce jako passphrase je však samozřejmě časově mnohem náročnější. Z tohoto pohledu lze za jinak stejných podmínek považovat 16znakové komplexní heslo za bezpečnější než 16znakovou passphrase. Nicméně ten čas potřebný na prolomení je v obou případech značný. Ovšem pozor, v praxi bývá passphrase zpravidla výrazně delší než běžně používaná hesla, takže otázku v anketě je třeba vnímat takto: Je bezpečnější komplexní heslo „k8G+L@x3“ nebo passphrase „snehulaciseopalovali“?

    Pokud jde o to sledování komentářů, zkusím se nad tím zamyslet.

  3. Harry

    Děkuji za odpověď. Stále mi však chybí jasná definice obou pojmů. Na otázku se těžko odpovídá, kromě délky řetězce záleží totiž na způsobu útoku, který se na zvolené tajemství vede.


K článku “Autentizace: Je lepší passphrase nebo komplexní heslo?” se zde nachází 3 komentáře.

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.

Přihlášeným uživatelům se tento formulář nezobrazuje - zaregistrujte se.

Jméno:(požadováno)
E-mail:(požadováno - nebude zobrazen)
Web:

Text vaší reakce: