Používané autentizační metody a principy jejich fungování

Současné autentizační metody

Autentizace uživatelů je klíčovou součástí internetu a mnoha dalších služeb, proto v této oblasti také neustále dochází k vývoji nových nástrojů, postupů a šifrovacích algoritmů. V tomto článku popíšu nejčastější metody zabezpečení, a to zejména s ohledem na dnes již takřka nezbytné používání dvoufaktorového ověřování (2FA).

Jedním ze základních obecných rozdělení autentizačních prostředků je jejich přiřazení do skupin podle potřebného faktoru pro využití – tedy faktoru na základě znalosti, faktoru na základě osobnosti (inherentní) a faktoru na základě vlastnictví.

Faktory na základě znalosti (“něco, co znáte”)

Hesla

Jedná se o jeden z nejstarších autentizačních prostředků (ZDROJ), a přesto (nebo právě proto?) se stále jedná o základní široce používaný autentizační prostředek. Aby heslo plnilo svůj účel, tak by mělo splňovat několik notoricky známých podmínek – délka min. 8 znaků, složené z (víceméně) náhodně generovaných malých a velkých písmen, čísel a znaků a unikátní pro každou službu. Takové heslo by pak na straně služby mělo být ukládáno v zabezpečené podobě (zpravidla pomocí hashovacího algoritmu) a na zabezpečeném úložišti. To všichni víme a pravděpodobně taky existují i někteří jedinci, kteří tohle všechno opravdu dodržují.

Naprosto nezbytným nástrojem je také kvalitní password manager, který nejen udržuje přehled o používaných účtech a heslech, ale zpravidla nabízí i další služby jako generování unikátních hesel podle nastavených parametrů, dvoufaktorové ověření aj.

I při dodržení veškerých pravidel a samotné heslo pořád nemůže být považováno za dostatečně bezpečný prostředek k zajištění bezpečnosti, a to zejména z těchto důvodů:

· Riziko phishingu – sebelepší heslo je nám k ničemu, když jej útočníkovi sami naservírujeme · Brute-force útoky – dají se použít běžně dostupné databáze slovníků a používaných hesel nebo vytvořit vlastní slovník třeba pomocí tzv. password profileru (třeba CUPP - GitHub - Mebus/cupp: Common User Passwords Profiler (CUPP)) · I hashovaná hesla se dají prolomit – např. brute-force útokem pomocí vlastní databáze hashů nebo tzv. rainbow tables běžně dostupných na darknetu (většinou jako výsledek předešlých úniků jiných provozovatelů).

S příchodem, respektive rozšířením kvantových počítačů se taky dost změní pravidla hry a bude zajímavé to sledovat.

PIN kódy

Jednodušší varianta hesla, který je používán spíše jako dodatečný prostředek autentizace třeba při použití certifikátu. Uložený je zpravidla na kartě nebo tokenu, takže jednou z jeho nevýhod je nemožnost použití password manageru pro automatické vyplňování.

Inherentní faktory (“něco, čím jste”)

Biometrie

Biometrické údaje, jako jsou otisky prstů, sken oční duhovky nebo celého obličeje, popřípadě hlasová analýza se začaly jako autentizační prostředek ve větší míře používat před 20-30 lety a zejména pak po nástupu chytrých mobilních telefonů. Veškerá data bývají zpravidla uložena lokálně na zařízení, takže nehrozí jejich zcizení přes poskytovatele služby. Na rozdíl od hesel nebo tokenů nelze biometrické údaje zapomenout nebo ztratit, což z nich činí atraktivní autentizační faktor. Na druhou stranu bývají limitovány zejména různou kvalitou jednotlivých detekčních zařízení, což z nich činí spíše doplňkový autentizační prostředek k dalším metodám.

Spíše okrajově se využívá také behaviorální biometrie, která vyhodnocuje identitu osoby na základě vzorců jejího chování/pohybů, jako jsou např. vzory psaní, dynamika používání počítačové myši apod.

Veškerá moderní zařízení zpracovávají biometrické údaje lokálně v izolovaném bezpečném prostředí (Secure Enclave u Apple, Secure Element u Android) a data nikdy neopouštějí zařízení v nezpracované podobě. Nikdy navíc nedochází k ukládání kompletních biometrických údajů, ale pouze matematických šablon odvozených z klíčových bodů, takže ani kompromitovaná data nelze případně rekonstruovat a zneužít.

Faktory na základě vlastnictví (“něco, co máte”)

Jednorázová hesla (OTP) - V současnosti se jedná o velmi rozšířený druh autentizace, zejména jako druhý faktor.

Doručovací OTP mechanismy

Zaslání jednorázového hesla prostřednictvím SMS (nebo některé komunikační aplikace) patří k základnímu typu 2FA, nicméně tento způsob trpí hned několika neduhy, kvůli kterým se od tohoto prostředku postupně upouští (ale zatím má stále velkou setrvačnost). Tento typ autentizace se totiž dá relativně snadno obejít při phishingovém a/nebo MITM útoku, využitím politiky operátorů při obnovování telefonních čísel/SIM karet (SIM swapping) nebo marginálně zneužitím zranitelnosti některých starších signalizačních protokolů používaných v rámci 2G a 3G sítí.

Jinou variantou je posílání OTP přes e-mail, i tady jsou potenciální zranitelnosti celkem zjevné.

Algoritmicky generované OTP

Mnohem lepší řešení než SMS jsou speciální hardwarové nebo (častěji) softwarové autentifikátory. Uživatel tak disponuje statickým klíčem, který slouží ke generování jednorázového kódu. I když tato forma zabezpečení taky není úplně odolná proti phishingu nebo MITM, představuje v současnosti jakýsi minimální standard na rozumnou formu 2FA.

Ke generování klíčů se používají dvě metody, a to:

· HOTP - HMAC based OTP (RFC 4226) sdílený tajný klíč a počítadlo, které se navýší při každém použití. Pomocí algoritmu SHA-1 je pak dán výsledek ve formě 6-8 číslic. Kvůli nižší bezpečnosti (delší časové okno, možnost desynchronizace počítadla) se používají méně často než TOTP.

· TOTP - Time-based OTP (RFC 6238) sdílený tajný klíč, výsledný kód se generuje z klíče a časové značky. Při zadání kódu provede server stejný výpočet a porovná výsledky. Časové okno je obvykle 30sekundové, ale zpravidla bývá daná ještě tolerance po uplynutí tohoto intervalu.

Autentizační aplikace (TOTP)

Fungují na základě algoritmu TOTP (Time-based One-Time Password), který generuje jednorázové kódy na základě sdíleného tajného klíče a aktuálního času (viz výše). Během prvotního nastavení služba vygeneruje tajný klíč (typicky zobrazený jako QR kód), který je sdílen mezi serverem a autentizační aplikací. Aplikace následně každých 30 sekund generuje nový jednorázový kód, který se vytváří kombinací tajného klíče a zaokrouhleného časového údaje. Při zadání kódu na přihlašovací stránce server provede stejný výpočet a porovná výsledky.

Výhodou autentizačních aplikací oproti SMS je především nezávislost na mobilním signálu (fungují i offline), odolnost vůči útokům typu SIM swapping a absence závislosti na doručení zprávy operátorem.

Příklady hardwarových tokenů

Mobilní klíče

Mobilní klíče fungují jako softwarová alternativa k hardwarovým tokenům. Autentizace se provádí buď na základě vyvolané push notifikace nebo oskenováním QR kódu a ověřování probíhá na principu asymetrické kryptografie, kdy privátní klíč je uložený na zařízení v aplikaci. Díky výkonným čipům tak verifikace může probíhat přímo na telefonu. Použití mobilních klíčů kombinuje jiné metody, například prostřednictvím PINu nebo biometrie prokazujeme inherentní vlastnost a samotné držení klíče tvoří druhý faktor. Tento způsob autentizace je sice stále zneužitelný prostřednictvím MITM útoku, ale tvoří celkem dobrou ochranu proti phishingovým metodám.

Čipové karty

Čipové karty představují docela spolehlivou formu zabezpečení, ale kvůli několika základním nevýhodám nejsou tolik rozšířené. Je to především kvůli potřebě dodatečného hardwarového vybavení (čtečka, někdy NFC) a kvůli jisté uživatelské nepřívětivosti.

FIDO technologie

Fyzické FIDO klíče

Pokud se nějaká metoda blíží ideálu, tak to jsou určitě bezpečností klíče FIDO. V autentifikátoru/tokenu/klíči je uložen privátní klíč a na principu asymetrické kryptografie pak probíhá ověření společně s veřejným klíčem na serveru. Díky tomuto principu není nutný žádný dodatečný software, protože veškerou komunikaci již zvládne obstarat běžný webový prohlížeč. Tato metoda je taky odolná proti phisihingovým útokům a pokud nemáte hacknutý prohlížeč, tak i proti MITM.

FIDO klíče mohou být jak v hardwarovém provedení (USB klíč, NFC, BLE) nebo jako systémové klíče (součást OS, uložené v TPM čpu nebos Secure Elementu telefonu). Pro komunikaci využívají nejčastěji protokoly jako FIDO U2F, FIDO2 nebo WebAuthn a jsou vázány na konkrétní domény webových stránek.

V praxi vše funguje tak, že při přihlášení pošle webová stránka výzvu (challenge) na uživatelské zařízení, FIDO klíč tuto výzvu kryptograficky podepíše svým soukromým klíčem a odešle zpět na server, kde je ověřena prostřednictvím veřejného klíče.

Kombinace FIDO/WebAuthn tak představuje asi nejlepší volbu ze všech zmíněných.

Passkeys

FIDO postavila standardy, Apple na nich vytvořil technologii Passkeys, FIDO a celý svět začala používat výraz Passkeys. Nyní tedy termín Passkeys označuje obecně bezpečnostní klíče FIDO s tím, že k tomuto názvu se pro odlišení přidávají další vlastnosti, např. Yubikey je device-bound passkey. Passkeys tak představují moderní implementaci FIDO2/WebAuthn standardů a rozšiřují ji o další funkce (synchronizace).

Slabinou passkeys je skutečnost, že jsou synchronizovatelné, čímž přichází o bezpečností výhodu FIDO klíčů a synchronizovatelné passkeys je tak třeba chápat jako lepší a phisingu odolnou 1FA.

Obecně lze v současnosti za nejlepší považovat metody využívající asymetrickou kryptografii, kdy na serveru je pouze veřejný klíč a uživatel musí prokázat vlastnictví privátního klíče. Velkou výzvou budou v blízké budoucnosti také nové možnosti kvantové kryptografie a nabízí se také větší využití technologie blockchainu, takže další zajímavý vývoj na poli autentifikačních metod bude určitě následovat.

Rozdrobené cookies
Older post

Rozdrobené cookies

Start the conversation