Takřka každý informační systém potřebuje znát identitu uživatele, který k němu přistupuje. A také musí mít přijatelnou úroveň jistoty, že přistupující uživatel je skutečně tím, za koho se vydává.
Pryč jsou doby, kdy stačilo ověření jménem a heslem. S nástupem bankovních aplikací se uživatelé mohli seznámit s certifikáty jako autentizačními nástroji. V korporátní sféře zase existuje povědomí o přihlašování pomocí hardwarových tokenů. Tyto rozličné způsoby identifikace uživatele a jejich vhodné použití řeší vícefaktorová autentizace (MFA, Multi-Factor Authentication).
Co je vícefaktorová autentizace?
Vícefaktorová autentizace je metoda ochrany přístupu k prostředku (například webu či informačnímu systému), založená na kombinaci zabezpečení ve třech oblastech (takzvaných faktory): znalost (něco, co uživatel zná nebo se mu sdělí), vlastnictví (něco, co má uživatel ve svém držení) a konečně biometrie (něco, co představuje uživatele samotného – čím uživatel sám je).
O MFA se mluví v případech, kde je třeba zajistit ověření identity přistupující k informačnímu systému více způsoby. Větší bezpečnosti se zde dosáhne diverzifikací zabezpečení – nejen co do počtu, ale i co do různých faktorů. Pokud útočník například získá přístup k něčemu, co uživatel zná (hesla uložená na počítači), není zabezpečení heslem a PIN tak bezpečné jako například heslem a hardwarovým tokenem.
Standardní situace při přihlášení pomocí vícefaktorové autentizace může vypadat takto: Uživatel zná svoje přihlašovací jméno ve specifickém tvaru (i to lze považovat za formu znalostního faktoru, byť je veřejně zjistitelné) a heslo (znalostní faktor).
Na klasických klíčích má pověšený hardwarový token (faktor v držení), který se navíc může doplnit o PIN (opět znalostní faktor).
Existují zde tedy tři informace, které musí uživatel znát, z toho dvě tajné, a jednu věc, kterou musí mít při sobě.
Autentizační faktory
Tady jsou krátké ukázky autentizačních mechanismů v jednotlivých faktorech.
- Faktor „znalost“
Jde v podstatě o cokoli, na co si je uživatel schopný vzpomenout. Klasickým příkladem může být heslo a PIN (ať už ke kartě nebo k mobilnímu telefonu), ale patří sem i výběr obrázků podle vlastní preference (například software Confident ImageShield), nakreslení gesta/znaku (jako třeba odemčení Androidu, viz obrázek 2) volba přihlášení do Windows 8 či stále oblíbené osobní otázky („jméno matky za svobodna“) či osobní atributy (RČ, město narození).
Patří sem ale i vygenerované jednorázové kódy, které lze použít například jako obálkovou zálohu k jinému faktoru.
* Faktor „vlastnictví“
Tento činitel představuje zjednodušeně to, co lze nosit v kapse nebo peněžence. Zahrnuje například hardwarové tokeny (RSA SecurID, Yubikey), platební karty, mobilní telefony (aplikace využívající IMEI) a SIM karty (ověření zpětným voláním a pomocí SMS OTP, třeba Eset Secure Authentication) a v zobecněné podobě i osobní doklady (občanský, řidičský průkaz, pas).
* Faktor "biometrie"
Prvek „biometrie“ zahrnuje charakteristiky svého nositele. Snadno si lze představit otisk prstu, rozšířený jak ve sféře notebooků (podpora přihlašování například ve Windows 7, 8), tak mobilní techniky (zástupcem mohou být zařízení iPhone generace 5 a 6).
Další možností je například sken očnice, který je známý zatím spíše z akčních filmů, anebo rozpoznávání obličeje, jež využívají především uživatelé OS Android (podpora od verze 4.2 Jellybean; ve variantě 5 Lollipop se tento sken vykonává už automaticky; u jiných mobilních OS lze toho dosáhnout prostřednictvím odpovídající aplikace).
Autentizace hlasem je naproti tomu stále doménou speciálních programů (například řešení od firem Nuance, Autentify, Voxeo). A konečně speciální kategorií je pak charakteristika „jsem člověk“, která se používá například v mechanismu CAPTCHA nebo obecně tam, kde je řešení sice jednoduché, ale špatně jej lze algoritmizovat (jako třeba „klikněte na obrázek psa“).
V současnosti se diskutují i další faktory, jako jsou geolokace (kde se uživatel nachází) a čas (kdy se tam nachází), které se dají využít v boji s útoky na MFA, viz níže.
Trendy autentizačních tokenů
Co je nového ve slibně se rozvíjející oblasti tokenů, která tvoří velmi častou komponentu dvoufaktorové autentizace? Tady je to nejdůležitější.
- Hardwarové tokeny
V korporátní sféře představují hardwarové tokeny převládající způsob realizace autentizačních tokenů. Klasickým představitelem je token RSA, který používá pro generování kódu časové hledisko. Novější variantou je pak například Yubikey, který slouží jako jednoúčelová klávesnice a ke generování přístupového kódu využívá sekvenční metodu.
Princip fungování hardwarových tokenů je:
- Každý token je unikátně identifikovaný
- Autentizační server má každý token přiřazen ke konkrétnímu uživateli
- Token generuje přístupový kód podle definovaného algoritmu (na základě času či sekvenční metodou)
- Server kód zaslaný uživatelem porovná na své straně s kódem, který si vygeneruje stejným algoritmem
- Pokud se oba kódy shodují, uživatel se tímto faktorem ověří
Výhoda tohoto přístupu je zjevná: aby někdo zfalšoval přístup někoho jiného, musí kromě uživatelského jména a hesla získat i fyzický přístup k tokenu.
Nevýhody HW tokenů jsou především v nenulové pořizovací ceně a v potřebě fyzicky spravovat životní cyklus tokenu (vydání, obměna, skartace). V případě osamostatněných tokenů je též vyšší riziko man-in-the-middle útoku.
* Softwarové tokeny
Trendem, řešícím některé nevýhody svých hardwarových protějšků, jsou softwarové tokeny. Jde v podstatě o aplikaci spuštěnou na chytrém telefonu (s OS Android, iPhone, Windows Phone aj.). Použití je shodné. Program v telefonu se spáruje s autentizačním serverem a od té doby generuje klíče, kterým autentizační protějšek rozumí. Příkladem takových řešení mohou být Google Authenticator, Authy, Amazon AWS MFA apod.
Autor pracuje jako solution architect pro oblast IT bezpečnosti ve společnosti AMI Praha.
*******
Kompletní článek zahrnující spoustu dalších poznatků, trendů a zajímavostí jste si mohli přečíst v Security Worldu 4/2014.