Změna hesla a problémy identifikace uživatele
Aleš Padrta
Computerworld, 4. listopadu 2011
Změna hesla
Heslo během jeho života mohou potkat v podstatě dvě nepříjemnosti, které jej odsoudí k morálnímu zániku. Jednak jej může někdo kompromitovat, protože žádné bezpečnostní opatření nemůže poskytnout 100% ochranu, a jednak lidé nemají neomylnou paměť a heslo občas zapomenou.
Důvody ke změně
Pokud je zjištěno, že došlo ke kompromitaci hesla, je nutné jej neprodleně změnit. Nicméně bývá dobrým zvykem měnit hesla také preventivně, protože ne každá kompromitace je odhalena a čím déle je heslo používáno, tím větší je pravděpodobnost, že mohlo být odchyceno, prolomeno nebo jinak kompromitováno.
Pro udržení zmíněné pravděpodobnosti v rozumných mezích je však nutné heslo změnit v pravidelných intervalech. Délka tohoto intervalu závisí na síle hesla, způsobu jeho uchovávání a používání a na přijatelné úrovni pravděpodobnosti nekompromitovaného hesla.
Dříve či později se také vyskytnou uživatelé, kteří své heslo zapomenou. Obvykle to bývá způsobeno dlouhou prodlevou mezi přístupy (například po dovolené), málo častým zadáváním hesel např. u internetových obchodů apod. nebo velkým počtem hesel, která si uživatel musí pamatovat. Občas může být důvodem i změna hesla, kdy je nové ještě příliš čerstvé.
Způsoby změny
Jak vidno, změna hesla je potřebná operace a pro každý systém by se s touto eventualitou mělo počítat, a tedy mít definováno, zda a jakým způsobem uživateli heslo změnit. Nejjednodušším řešením je odmítnutí změny hesla, tj. pokud uživatel heslo zapomene, musí znovu projít procesem registrace a dlouho nepoužívaná konta jsou pak automaticky rušena.
Nicméně ve většině případů je heslo potřeba nějakým způsobem změnit. Základním problémem je ověření identity patřičného uživatele, což lze v podstatě provést dvěma mechanizmy, které mohou být také kombinovány. Prvním je autentizace uživatele náhradní metodou, typicky příchod uživatele na HelpDesk a ověření identity podle osobních dokladů.
Druhý mechanizmus spočívá ve využití předem dohodnutého bezpečného kanálu, který vede pouze k řádnému uživateli konta (typicky SMS nebo zavolání na specifikované číslo).
Způsob identifikace uživatele
Osobní identifikace je nejbezpečnějším způsobem, kdy uživatel prokáže svou totožnost osobním dokladem. Lze ji použít ve firemním prostředí, kdy uživatelé mohou zajít na HelpDesk, naopak se nehodí pro webové prostředí (freemail, sociální sítě apod.). Výhodou tohoto přístupu je vysoká bezpečnost, která však spotřebuje dost lidských zdrojů a času.
Zaslání kopie dokladu funguje obdobně jako v předchozím případu, kdy se uživatel prokazuje svým dokladem nebo více doklady (občanský a řidičský průkaz) a podpisem, ale nyní jej nepřináší osobně. Místo toho mohou být zaslány faxem nebo e-mailem v naskenované formě. Výhoda, že uživatel nemusí osobně cestovat na HelpDesk, je více než vyvážena snížením bezpečnosti, protože kopii dokladů může získat útočník a také není vyřešeno, jak uživateli doručit nové heslo.
Zaslání e-mailu na registrovanou adresu je nejběžnějším způsobem obnovy hesla na veřejných webech. Funguje na předpokladu, že e-mail je doručen do bezpečné e-mailové schránky. V tomto případě je hojně využíváno časové omezení náhradního hesla, takže archivovaný e-mail se nemůže stát bezpečnostním rizikem. Výhody této metody spočívají v automatizaci, tj. vše lze vyřešit bez účasti operátora a intuitivnosti celého procesu. Nevýhodami jsou pak možnost odchycení zaslaného hesla a nepoučenost uživatelů, kteří si zejména neuvědomí, že pokud si nechají přeposílat hesla na záložní e-mail, musí se k němu tak i chovat, protože např. jeho sdílením se vystavují riziku, že jim bude zcizen e-mail s dočasným heslem.
Zaslání šifrovaného e-mailu na registrovanou adresu je vylepšenou variantou předchozího způsobu. Dočasné heslo je zašifrováno předem zadaným veřejným klíčem uživatele a teprve poté zasláno. Prakticky však většina uživatelů nemá šifrovací klíče nebo je neumí správně používat. Výhodou je značné zvýšení bezpečnosti, nicméně je potřeba věnovat velké úsilí správě klíčů a nelze jej nasadit v masovém měřítku.
Uživatele lze autentizovat také předem definovanými otázkami a odpověďmi (tzv. secret question). Při registraci účtu uživatel vyplní odpovědi na definované otázky typu oblíbené číslo, rodné jméno matky apod. Nechat uživatele zvolit si vlastní otázku není považováno za rozumné, protože pak jsou často voleny nevhodné dotazy – např. oblíbená barva (prakticky jednotky možností). Pokud pak uživatel zapomene své původní heslo, je mu nové vydáno na základě správné odpovědi na položenou otázku.
Pro snížení pravděpodobnosti, že někdo neoprávněný uhodne odpověď na jednu otázku, je často používána kombinace několika po sobě jdoucích dotazů. Dále bývá zvykem mít k dispozici větší množinu otázek, než je použito při náhradní autentizaci, aby měl případný útočník těžší pozici při hádání správné odpovědi. Základní výhodou je snadná automatizace procesu, nevýhodou pak problém vybrat vhodné otázky, protože blízcí příbuzní nebo přátelé mohou lehce uhodnout odpověď na osobní dotaz.
Snadno totiž může dojít k situaci, kdy je bezpečné heslo zcela znehodnoceno jednoduchou odpovědí na primitivní otázku.
Zpětné volání je další metodou založenou na bezpečném kanálu. Uživatel při registraci účtu vyplní telefonní číslo, na které je mu na požádání zasláno nebo telefonicky sděleno náhradní heslo. Tato metoda je v kombinaci s odpověďmi na otázky považována za nejbezpečnější hned po osobní identifikaci. Nevýhodou může být cena volání, zvlášť pokud má organizace mezinárodní pobočky. U vzdálené změny hesla je vhodné umožnit uživateli odmítnout tuto variantu změny. Důvodem je možnost volby pro uvědomělého uživatele, který chce používat pouze bezpečnější variantu.
Proces změny hesla
Při každém znovunastavení hesla je vhodné dodržet několik základních doporučení.
- V první řadě musejí být všechny změny hesla logovány (kdo komu a kdy heslo měnil), což zabrání zneužívání operátory a také umožní vidět kompletní historii pro každého uživatele.
- Sdělené nebo zaslané heslo musí být jiné než původní – jednak by systém měl mít k dispozici pouze šifrovanou verzi hesla (viz pátý díl tohoto seriálu) a jednak se tím zabrání nepozorovanému zneužití obnovovací procedury, protože by pak přístup přestal fungovat i řádnému uživateli, který by si toho pochopitelně všiml.
- Sdělené nebo zaslané heslo musí být časově omezené (v řádu hodin), což výrazně sníží, v některých případech až eliminuje možnost zneužití dočasného hesla, které zná operátor nebo zůstává v otevřené podobě v e-mailové schránce.
- Měl by existovat rozumný časový interval (minuty až hodiny) mezi dvěma změnami hesla, který zabrání masivnímu zneužívání této služby.
- Každá změna hesla může být také podmíněna minimálním časovým intervalem, který uplynul od posledního úspěšného přihlášení. Toto opatření na jedné straně omezuje potenciální útočníky, na druhé straně však také nedovolí řádnému uživateli resetovat zneužívané konto, např. když je mu odcizeno funkční heslo.
O autorovi
Ing. Aleš Padrta, Ph.D.
Autor je řešitelem projektu Velká infrastruktura sdružení Cesnet.