Dvou a více faktorová autentizace
Současná autentizační řešení nabízejí mnoho možností jak prokázat svou identitu – autentizovat se. Například
jeden z univerzálnějších systémů nabízí metody:
Mnoho z nich jsou variace na téma heslo, jiné pracují s nějakým zařízením. Jednofaktorové přihlášení kteroukoliv
z těchto metod může být útočníkem napadeno a identita (a přístupové oprávnění) uživatele může být zneužita.
Proto je mnohem bezpečnější využít přihlášení dvoufaktorové, dvěma na sobě nezávislými faktory, které se
zvolí podle toho, jaké možnosti uživatel má. Například pokud se přihlašuje z mobilního zařízení, bude to zřejmě
heslo, které uživatel zná a kód, který dostane via SMS nebo prostřednictvím speciální aplikace. Na stolním
počítači, kde jde mnohem více o rychlost, to bude nejspíše opět heslo a druhý faktor bude technický prostředek,
třeba karta/token nebo certifkát. Pro útočníka je totiž řádově obtížnější ovládnout dva nebo více na sobě
nezávislých faktorů.
Servery, které autentizaci daným faktorem provádějí, mohou být zřetězeny. Není tedy nutné, aby jeden server
uměl všechno, ale lze akceptovat přihlášení prvním faktorem a přejít k další službě a přihlásit se dalším faktorem.
Uživatel zřetězení vůbec nemusí postřehnout. Pro ilustraci sám Microsoft uvádí, že jeho technologie domény
podporuje pouze jednofaktorové přihlášení, ale že lze využít systémy třetích stran, které využití dalšího faktoru
umožní. Pak je autentizace obvykle implementována tak, že se uživatel nejdříve přihlásí k doméně nebo
Kerberos a následuje zřetězená autentizace k dalšímu systému. Z pohledu uživatele může jít o přihlášení
jménem/heslem a použitím technického prostředku nebo třeba nejdříve certifikátem a následně zadání hesla,
passphrase, OTP apod.
Je důležité, aby služba nejen dokázala provést ověření podle dvou nebo více nezávislých faktorů, ale aby také
dokázala aplikace a systémy, o které především jde, informovat důvěryhodným způsobem o tom, kdo je uživatel
a jak důvěryhodné (1FA/2FA) je jeho přihlášení. Pokud se uživatel například ověří dvufaktorově ale jeho identitu
převezme a dále sdílí služba, která podporuje jen autentizaci jménem/heslem, nemohou aplikace s kvalitou
přihlášení vůbec pracovat a převezmou identitu uživatele bez ohledu na to, jakým přihlašovacím procesem prošel.
Toto platí například jak pro nejrozšířenější doménu Microsoft a její nadstavbu Active Directory, tak i pro eDirectoy
společnosti MicroFocus a další systémy, jako je třeba OpenLDAP nebo ApacheDS.
Aplikace a systémy mohou dále s kvalitou přihášení dynamicky pracovat tak, že některé funkce podmíní
dvoufaktorovým přihlášením. Například s jednoduchým přihlášením mohu zadávat údaje o docházce do virtuálního
terminálu. S dvoufaktorovým přihlášením mohu číst svou výplatní pásku. Nebo s jednofaktorovým přihlášením mohu
v informačním systému pracovat s jedním konkrétním pacientem, zákazníkem, žadatelem apod. S dvoufaktorovým
přihlášením mohu provádět hromadné operace s více záznamy najednou, mohu korespondovat apod. Konkrétní
realizace závisí na praxi provozovatele systému a měla by být maximálně konfigurovatelná. Přiřazení role uživateli
je statické, práce s kvalitou přihlášení je dynamická. Mj. i proto, že platnost přihlášení musí být omezena, a to
nejméně tak, že po uplynutí nastavené doby je důvěryhodnost na úrovni 1FA a vyšší úroveň je nutné obnovit.
Co se bezpečnosti jednotlivých autentizačních metod týče, je samozřejmě silně závislá na tom, jak je uživatel
schopen a ochoten informaci nebo technický prostředek chránit před zneužitím. Heslo chrání uživatel tím, že ho
nikomu neřekne a buď si ho pamatuje nebo ho má uloženo ve vhodném password manageru. Certifikát má
vhodným způsobem uložen a ještě chráněn heslem, Autentizačnímu systému je to „jedno“ a certifikát může být
uložen na disku notebooku, který má uživatel stále u sebe, v úložišti na mobilním zařízení, jako je například
keychain na zařízeních Apple nebo na čipu, který může být proveden třeba jako karta nebo jako USB token.
Počítač je chráněn alespoň jménem a heslem, čip by měl být chráněn PINem.
Autentizační systém (-y při zřetězení) si nemůže dost dobře ověřit, zda heslo zadal uživatel nebo útočník, ale
může sledovat a řídit další parametry – neúspěšné pokusy, rychlost zadání, dodržení politiky pro kvalitu, vynucení
změn apod.
V České Republice zažíváme boom ve využívání čipových karet, které mohou sloužit pro uložení certifikátu pro
autentizaci. To jsou například i karty, které jsou ve zdravotnictví využity pro e-recepty, to jsou karty úředníků apod.
Využití těchto karet má smysl pokud v rámci organizace mají všichni uživatelé kartu a všechny počítače jsou
vybaveny čtečkou (nebo volným USB portem v případě USB tokenů). Bohužel ale v souladu se stanovisky výrobců
nelze přihlášení certifikátem považovat za dvoufaktorové. Jde o přihlášení jedním faktorem, který je nutné doplnit
některým dalším. Ano, kartu je obvykle možné chránit PINem a uživatelé PIN používají. Ale autentizační systém
nemůže ověřit použití PIN, jeho kvalitu, počet nesprávných pokus o zadání, nic. Není rozdílu mezi autentizací
certifikátem uloženým na kartě nebo na jiném zařízení. Spíše naopak, protože jiná úložiště lze chránit mnohem
kvalitnějším klíčem než PINem, který má obvykle 4, u některých čipů až 8 znaků. Takto krátký PIN není ani
dostatečně odolný proti tak jednoduché technice útoku jako je nahlížení přes rameno (shoulder surfing).
Bohužel, přes zbožná přání ekonomicky zainteresovaných stran nelze přihlášení certifikátem uloženým na čipové
kartě/tokenu považovat za dvoufaktorové a je vždy nutné jej doplnit dalším, druhým faktorem. Nebo, z praktických
důvodů (manipulace s kartou, mechanické opotřebení) zvolit jinou kombinaci faktorů pro dvou a více faktorové
přihlášení.
Pro občasný podpis – autorizaci je samozřejmě čip v pořádku. Pouze ve chvíli, kdy bude třeba autorizovat záznamy
ukládané při běžné práci s informačním systémem pomocí digitálního podpisu, narazíme i v ČR na výkonové
možnosti těchto čipů. Mnohem výkonější alternativu, ke které je také nutné se přihlásit, představují technologie jako
je například HSM server. Ty nabízejí o mnoho řádů vyšší výkon a také mnohem silnější autentizaci než PINem.
Autor: Václav Šamša ze společnosti TDP