Hlavní navigace

Nový standard pro přihlašování: nenuťte uživatele měnit hesla

Petr Krčmář

Americká organizace NIST připravila nový standard pro tvorbu hesel. Je velmi radikální a významně mění celkový přístup k heslům. Tvrdí, že přílišný tlak na uživatele je kontraproduktivní a vede k obcházení pravidel.

Přestože se začínají prosazovat alternativní způsoby přihlašování, heslo stále zůstává pro velkou část firem a většinu jednotlivců zásadním bezpečnostním prvkem. V průběhu let tak velké firmy přijaly opatření týkající se kvality hesel, kterou mají uživatelé tendenci podceňovat. Pravidla se postupně zpřísňují, nároky rostou a uživatelé si musí vymýšlet silnější hesla. Teoreticky.

Podle nového připravovaného standardu je to celé špatně. Přílišný tlak nutí uživatele hledat zkratky, daná pravidla obcházet a výsledek je tak přesně opačný: hesla jsou jednoduchá, opakují se nebo jsou někde napsaná na lístečku. Nová pravidla přicházejí s radikální změnou: snímají velkou část zátěže ze zad uživatelů a přenášejí ji na provozovatele služby.

Nový standard připravuje americká organizace NIST a považuje jej za dokončený. Období veřejného připomínkování původně skončilo 1. května, ale organizace se rozhodla jej prodloužit o dalších 30 dnů. Standardy vydávané NIST jsou sice závazné jen pro americké vládní organizace, velmi často se jimi ale řídí i soukromé společnosti po celém světě.

Zažitá pravidla škrtáme

Dokument reaguje na měnící se situaci v odvětví, kde se prosazují nové metody autentizace, útočníci mají rozsáhlé databáze uniklých hesel a uživatelé jsou frustrovaní z ohromných nároků na vlastní hesla. Podle tvůrců je čas na změnu zažitých pravidel, která jsou za mnoho let považována za osvědčenou praxi.

Odstraňte požadavek na periodickou změnu hesla

Vznikla řada studií, které potvrdily, že nutit uživatele k pravidelné změně hesla je kontraproduktivní. Uživatelé jsou i bez toho zavaleni desítkami hesel a jejich pravidelná změna znemožňuje zapamatování všech úprav a změn a vede ke zjednodušování, opakování a triviální variabilitě. To v důsledku usnadňuje útočníkům hádání hesel.

Podle NIST by měl uživatel heslo měnit jen v případě, že si jej přeje vyměnit za silnější variantu či existuje oprávněná obava, že došlo k úniku citlivých informací.

Přestaňte hlídat algoritmickou složitost

Obvyklé požadavky na komplexnost hesel vyžadují kombinaci čísel, velkých a malých písmen a speciálních znaků. Stejně jako v případě povinné změny hesla i zde bylo mnohokrát ukázáno, že takto přísná pravidla vedou naopak ke snaze o zjednodušování a volbě slabších hesel.

NIST tvrdí, že pokud chce mít uživatel heslo složené jen ze symbolů emoji, má na to právo a je to v pořádku. Uživatel by měl mít naopak možnost použít libovolné tisknutelné znaky včetně mezer, všech unicode znaků a třeba zmíněných obrázků.

Zároveň je ale třeba si připomenout, že útoky hrubou silou jsou tu s námi stále, takže vzdávat se silných hesel není rozhodně na místě. Zejména firmám se proto doporučuje používat správce hesel, aby si uživatelé nemuseli pamatovat komplikované vzorce. Přestože v minulosti byly v různých správcích nalezeny bezpečnostní chyby, stále se jedná o velmi robustní řešení schopné bránit nejrůznějším vektorům útoků – včetně phishingu.

Zrušte kontrolní otázky a nápovědy

Používání kontrolních otázek nebo nápovědy k heslům je velkou bezpečnostní chybou, která pomůže především útočníkovi. V době sociálních sítí je velmi snadné zjistit o uživatelově spoustu osobních údajů: jméno psa, jméno matky za svobodna a podobně.

Formuláře pro ověření uživatelů by tedy neměly tyto pomůcky zobrazovat náhodným kolemjdoucím. Zároveň by neměly být nabízeny předvolené možnosti, které významně zužují okruh kontrolních otázek a také odpovědí na ně.

Novinky v přihlašování

Některé zažité postupy jsou v dokumentu radikálně omezeny nebo zrušeny, zároveň však přichází nové povinnosti, které reagují na současný stav a hlavně na moderní vektory útoků. Většina z nich se týká přímo provozovatelů či správců služeb a přenáší na ně více starosti o bezpečnost.

Kontrolujte hesla proti databázím

Služby by měly vkládaná hesla porovnávat s nejrůznějšími databázemi, čímž by měla být odhalena notoricky známá, očekávaná nebo kompromitovaná hesla. Konkrétně by mezi porovnávané databáze měly patřit minimálně:

  • seznamy dříve uniklých hesel
  • slova ze slovníků
  • opakované či sekvenční sady znaků (třeba aaaaa, nebo abc123)
  • kontextová slova jako název služby, uživatelské jméno či kombinace těchto údajů

Omezte počet pokusů

Aby bylo zabráněno neomezenému počtu pokusů při útoku hrubou silou, doporučuje se provádět automatické uzamčení účtu v případě překročení stanoveného limitu. Služba by tak měla zabránit více než stovce pokusů hádání hesla u jednoho účtu, počet je ale samozřejmě variabilní a záleží na konkrétním poskytovateli, jaká omezení nastaví.

Kromě toho je možné použít další techniky, které upřednostní skutečné pokusy o přihlášení od těch falešných. Může jít například o vyplnění CAPTCHA, časový limit mezi pokusy, možnost přihlášení z daných IP adres či zapojení jiných adaptivních technik reagujících na nezvyklé chování uživatele.

Hašujte hesla pořádně

Dokument zdůrazňuje, že služby mají udržovat hesla v takové formě, která by co nejvíce ztížila offline útok. Když už se útočníkovi podaří získat databázi hesel, musí ji získat ve správně zahašované podobě. To znamená s použitím ověřené hašovací funkce (zmíněna je PBKDF2) a řádně osolena. Sůl by měla být 32bitová a náhodně generovaná s použitím ověřeného generátoru náhodných čísel. Zároveň by nad heslem mělo být provedeno alespoň 10 000 iterací funkce.

Klíčovaná hašovací funkce (HMAC) s odděleným klíčem (a ideálně uloženým v HSM), by měla být nasazena pro úplné zabránění slovníkovému útoku proti uloženým hašům.

Používejte dvoufaktorovou autentizaci

Správné nakládání s heslem řeší jen jednu část problému, ale nezabrání v přihlášení, pokud už útočník správné heslo má. Velká část dokumentu se proto věnuje také vícefaktorové autorizaci, která se začíná výrazně prosazovat. Je rozhodně doporučováno doplnit heslo o další prvek, protože útočník obvykle nemá k dispozici více možností ověření identity uživatele – znalost samotného hesla mu tak nepomůže.

Zároveň ale NIST varuje před použitím SMS jako druhého faktoru. Klasické mobilní zprávy totiž mohou být zachyceny, proto dokument spíše doporučuje softwarové generátory jednorázových hesel, které je možné například nainstalovat do mobilního telefonu.

Bezpečnější variantou je pak ověření pomocí biometrických údajů, do mobilů se čím dál častěji dostávají čtečky otisků prstů a ve vlajkových modelech najdeme i zařízení pro rozpoznání uživatelovy duhovky. Tyto periferie je možné využít velmi pohodlně jako další identifikační prvek nejen pro přihlášení k přístroji samotnému, ale také pro jiné služby třetích stran.

Heslo je slabý faktor

Zdá se, že nový standard dává smysl. Současný stav, kdy by si měl uživatel pamatovat desítky velmi složitých hesel splňujících nejrůznější parametry, vede spíše ke snížení zabezpečení. Uživatelé jsou zasypání složitými pravidly a po pár marných pokusech kapitulují a snaží se najít cestu nejmenšího odporu.

Nejrůznějších nebezpečí ale přibývá a uživatelé jsou unaveni z vkládání různých hesel, PINů, opisování kódů a podobně.Naštěstí si odborníci na bezpečnost tuto slabinu uvědomili a postupně mění směr vývoje. Přibývá jednoduššího propojení s mobilními telefony a čím dál častěji se objevuje vícefaktorová autorizace. Stále ovšem platí, že bezpečnost jde proti pohodlí uživatele, takže nové metody ověření by měly být pokud možno pohodlné a velmi bezpečné.

Základem je si připustit, že heslo je velmi slabá bezpečnostní pojistka a je třeba se spolehnout na něco robustnějšího, co bude pro uživatele přijatelnější. Do hry proto přichází hardwarové tokeny, smart karty nebo třeba právě mobilní telefony s biometrickými čtečkami. Některé velké firmy, které to s bezpečností myslí vážně, už takové rozšíření přihlašování vyžadují.

(Zdroje: InfoWorld, CSO Online, CIO Dive)

Našli jste v článku chybu?
15. 5. 2017 6:18
Palo (neregistrovaný)

Biometria je dalsia slepa ulicka. Ako uz vela krat ukazali na odtlackoch prstov, tvarach, hlase, ... v modernej dobe nie je problem tieto veci fejknut. Odporucam kombinaciu: nieco viem, nieco mam, napriklad heslo + nieco taketo: https://www.yubico.com/products/yubikey-hardware/fido-u2f-security-key/ No a samozrejme nejaku formu centralneho prihlasenia OAuth2, CAS, SAML, OpenID ... aby sa uzivatel nemusel 100x prihlasovat a mat 100x nejake heslo.