Autentizace a autorizace
Vícefaktorová autentizace v praxi PETR GAŠPARÍK
Vícefaktorová autentizace, která se stále častěji objevuje v souvislosti se zabezpečeným řízením přístupu, představuje poměrně širokou oblast zahrnující fyzickou i virtuální vrstvu. S rozšířením chytrých telefonů se tento způsob ověření uživatele dostává do širšího povědomí.
32
SECURITYWORLD 4/2014
SW-4-2014-blok.indd 32
11.11.14 12:53
Autentizace a autorizace
T
akř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í), jenž 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ě. V praxi pak přihlášení může vypadat podobně jako na přiloženém obrázku 1. 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), nakres-
Obr. 1: Vícefaktová autentizace – příklad přihlášení pomocí hesla, PIN a hardwarového tokenu
lení 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 toho lze 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: 1. Každý token je unikátně identifikovaný 2. Autentizační server má každý token přiřazen ke konkrétnímu uživateli 3. Token generuje přístupový kód podle definovaného algoritmu (na základě času či sekvenční metodou) 4. Server kód zaslaný uživatelem porovná na své straně s kódem, který si vygeneruje stejným algoritmem 5. 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ě fy-
Obr. 2: Příklad gesta na obrazovce mobilního telefonu s OS Android SECURITYWORLD 4/2014
SW-4-2014-blok.indd 33
33
11.11.14 12:53
Autentizace a autorizace
Obr. 3: Hardwarové tokeny v praxi – RSA SecurID a Yubikey Standard
zicky 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. Výhody tohoto přístupu spočívají v tom, že lze kombinovat autentizační tokeny pro více služeb v jednom zařízení. Není tedy nutné pro každý server mít vlastní hardwarový token – vše obstará aplikace, která generuje kódy pro všechny zaregistrované služby najednou. Rizika řešení jsou podobná jako u HW tokenu. Dopady ztráty zařízení ale mohou být vyšší, což je spojeno s tím, že SW tokeny se častěji používají on-line (na rozdíl od korporátní sféry s HW tokeny), kde je složitější reautorizace. Přístup k tomuto riziku je různý. Některá řešení vyžadují mít záložní, jednorázově vygenerované kódy (Google Authenticator). V takovém případě se lze po ztrátě/reinstalaci zařízení znovu autorizovat vůči cílové aplikaci, kterou je třeba následně znovu propojit s generátorem autentizačních kódů (reautorizace). Jiná řešení si poradí i s reinstalací chytrého telefonu, neboť jim pro reautorizaci stačí SIM karta (Authy). Zde při ztrátě mo34
bilního telefonu stačí získat zpět své původní mobilní číslo. A konečně také lze kontaktovat poskytovatele služby, který po ověření uživatele jiným způsobem (PIN, sken dokumentů) vypne vícefaktorovou autentizaci a umožní její reinicializaci uživatelem (Amazon AWS MFA). Velkým rizikem u tohoto faktoru je ale samo zařízení, na němž aplikace SW tokenu běží. Bezpečnost faktoru je totiž závislá na zabezpečení celého přístroje. Jaké nebezpečí může hrozit, je vidět třeba u autorizačních SMS – pokud má škodlivá aplikace právo ke čtení těchto zpráv, může se útočník ovládající aplikaci vydávat za legitimního uživatele.
Dvoufaktorová, nebo dvoukroková autentizace? V souvislosti s MFA se často mluví o dvoufaktorové, respektive dvoukrokové autentizaci. Jaký je vlastně mezi nimi rozdíl? Začít lze tím, co mají společného: Obě používají na sobě nezávislé informace k ověření identity uživatele. Teprve po autentizaci obou faktorů je možné prohlásit identitu uživatele za potvrzenou. Rozdíl je ale v tom, jak se obě informace vyberou. V případě dvoufaktorové autentizace se ověření dělá dvěma faktory, tedy informacemi z různých oblastí (znalost + vlastnictví, znalost + biometrie, vlastnictví + biometrie), zatímco v případě dvoukrokové autentizace je požadavkem pouze nezávislost informací v obou krocích (mohou však být oba například z faktoru „znalost“: heslo + poslední čtyři znaky z rodného čísla). Příkladem dvoufaktorové autentizace je třeba použití platební karty + PIN (bankomat) či mobilního telefonu + PIN nebo přihlášení do webových obchodů jménem + SMS (jako je t-zones). Zástupcem dvoukrokové autentizace je mimo jiné ověření při zpětných hovorech operátorů pomocí jména a posledních čtyř číslic z rodného čísla (oboje jsou znalostní faktory). MFA v prostředí internetu Klasické on-line služby Hojně využívané internetové služby podporují ve velké míře SMS jako druhý faktor. Třeba Google Accounts a Dropbox podporují navíc i softwarové tokeny. AWS (Amazon WS, framework pro aplikace) je pak příkladem rozšířené autentizační služby, která
Obr. 4: Princip spárování SW tokenů
SECURITYWORLD 4/2014
SW-4-2014-blok.indd 34
11.11.14 12:53
Autentizace a autorizace S určitou nadsázkou tak lze bitcoinovou ekonomiku přirovnat k Divokému západu vícefaktorové autentizace.
Obr. 5: Ukázka softwarových tokenů – Authy a Google Authenticator Přehled použití:
Služba
Faktor
Amazon WS
Amazon AWS MFA, HW token
Dropbox
SMS, Google Authenticator, Amazon AWS MFA
Facebook
SMS
Google Accounts
SMS, Google Authenticator
Hotmail
SMS, e-mail
Paypal
SMS (jen ve spojení s HW tokenem)
Twitter
SMS
pro ověření uživatele nabízí jak softwarový, tak hardwarový token. Bitcoinová ekonomika Velkého rozšíření se MFA dostalo v oblasti bitcoinové ekonomiky. Obchody, převody, nákupy – prakticky vše v této oblasti se děje on-line. S ohledem na princip fungování virtuálních měn odvozených od bitcoinu (tj. decentralizovaná správa a anonymita) se objevila spousta webů fungujících jako těžební platforma, virtuální peněženka, burza měn či brána mezi virtuálními a papírovými měnami. Je proto logické, že tam, kde jde o peníze (jakkoli v tomto případě virtuální), jen jednokrokové ověření jménem a heslem již nepostačuje. Oblíbené je proto používání dvoufaktorové autentizace, a to většinou s řešeními Google Authenticator či Authy. A zatímco u výše zmíněných klasických on-line služeb je druhý faktor jakýmsi bonusem navíc, v případě této kategorie webů se bere jako záruka solidnosti. Případů, kdy se různé burzy, těžební pooly, virtuální peněženky vyloupily a prostředky anonymně převedly, je dost.
Praxe však v tomto případě předběhla teorii nebo přesněji edukaci. Projevuje se to v krátkozrakosti uživatelů, kteří například správně použijí druhý faktor v podobě softwarového tokenu, avšak nedomyslí již dopady ztráty nosiče tokenu. Při ztrátě mobilního přístroje to pak může vypadat podobně, jako kdyby své prostředky uživatel nechránil vůbec – prostě se k nim nedostane.
Jaká jsou rizika Nedávný případ úniku soukromých fotografií nejen hollywoodských celebrit ukazuje slabé místo jednofaktorové autentizace. Na vině zde byla podle všeho slabá aplikace Find My iPhone, která umožňovala neomezené množství pokusů o přihlášení pomocí jména a hesla, a to dokonce bez časové prodlevy mezi pokusy. V návaznosti na tuto událost Apple zapnul dvoufázové ověření na službě iCloud pomocí SMS nebo pomocí zmíněné vlastní aplikace. Že však ani dvoufaktorové zabezpečení nemusí být samospasitelné, dokazuje případ novináře Mata Honana, o němž se psalo v roce 2012. Dobře totiž ilustruje, že rozdílné stupně zabezpečení služeb od různých poskytovatelů mohou zmařit i dobrý záměr. V případě Honana stačilo, aby útočník získal přístup na novinářův účet na Amazonu, odkud získal poslední čtyři číslice kreditní karty, a následně si pomocí tohoto údaje a známé poštovní adresy oběti nechal zresetovat příslušné heslo. Šlo o demonstraci slabiny systému, na jehož konci byl kompletní výmaz dat Mata Honana ze služby iCloud a převzetí účtu Google a Twitter. Je tedy vidět, že i s použitím vícefaktorové autentizace lze s dostatečným časem a/ nebo nešťastnou kombinací různě zabezpečených přístupů dosáhnout falešně pozitivní autentizace identity uživatele. Ke zlepšení lze sice dospět přidáváním dalších autentizačních faktorů, ty však snižují komfort uživatele. Další variantou je pak použití správy přístupu se začleněním rizikového profilu žádosti o autentizaci. Tato myšlenka je zpracovaná v konceptu Risk-Adaptable Access Control (RAdAC).
Obr. 6: Dvoufaktorová autentizace od Google Accounts SECURITYWORLD 4/2014
SW-4-2014-blok.indd 35
35
11.11.14 12:53
Autentizace a autorizace
Obr. 9: Dvoufázové ověření
lokace, případně podle připojeného Bluetooth zařízení (například pro možnost mít telefon s handsfree sadou v autě vždy odemknutý). Dalším případem, tentokrát z reálného života, jsou bezkontaktní platební karty, kde se PIN zadává pouze v případě nákupu nad stanovenou hranici nebo kontrolně v náhodných intervalech.
◀ Obr. 7: Koncept řízení přístupu ke službě podle rizikového profilu
RAdAC – Risk-Adaptable Access Control Myšlenka RAdAC je následující: Nechme uživatele přihlašovat se za standardních podmínek komfortně, a teprve když se zvedne úroveň rizika, vyzveme jej k přihlášení dalším faktorem. Vstupy pro posouzení stupně rizika lze přitom definovat poměrně košatě. Mezi základní patří: kdo se hlásí (oprávnění uživatele, pozice ve firmě, historie uživatele), jak se hlásí (zabezpečení přístupu, jako jsou VPN, důvěryhodnost zařízení – osobní počítač či kavárna) a za jakých podmínek se hlásí (v práci, doma, v zahraničí, přes den, o svátcích). Výsledkem tohoto posouzení v reálném čase je rizikový profil (navázaný například na podnikové politiky přístupu), který může předepsat další autentizační modul nebo případně celý autentizační pokus ukončit. Hlásí se uživatel nečekaně z ciziny? Dostane autentizační kód přes SMS. Jezdí do ciziny podle historie pravidelně? Pak je to nejspíš v pořádku, pokud použije VPN. Hlásí se administrátor v noci k finančnímu softwaru? Takové spojení rovnou odmítnout. A podobně. Zmíněný koncept se pomalu dostává do implementací balíkových nástrojů typu Ac36
cess Manager a Security Analytics (jako jsou například Forgerock OpenAM nebo Oracle Adaptive Access Manager). Tato řešení doplňují nástroje SIEM o aktivní uživatelskou složku. U on-line služeb lze zárodky konceptu vidět v upozorňování uživatele na předchozí přihlášení z jiné lokace (Gmail). Ani mobilní operační systémy nezůstávají pozadu – poslední verze Androidu (5.0, Lollipop) umožňuje například vynucovat silnější zámek obrazovky podle geo-
Závěrem Vícefaktorová autentizace dokáže dobře chránit uživatelskou identitu, díky čemuž je dobře zakořeněná v korporátní sféře podnikových aplikací. Nyní se jí dostává pomalu široké podpory i mezi poskytovateli on-line služeb, čímž se výrazněji dostává také do povědomí koncových uživatelů. Toto rozšíření však s sebou nese nejen početnou fragmentaci autentizačních řešení, ale i nevyvážené zabezpečení různých služeb, které uživatelé používají. To přináší rizika, jež představují nejen hackeři, ale i uživatelé sami o sobě. Efektivní metodu boje s těmito riziky pak představuje třeba koncept rizikových profilů RAdAC. ■ Autor pracuje jako solution architect pro oblast IT bezpečnosti ve společnosti AMI Praha.
Obr. 8: Princip spárování HW tokenů
SECURITYWORLD 4/2014
SW-4-2014-blok.indd 36
11.11.14 12:53