Termíny a zkratky
Nejen v oblasti více-faktorové autentizace se vyskytuje množství odborných termínů a zkratek, s kterými je vhodné se seznámit pro snazší pochopení problematiky a souvisejících textů a dokumentace. Níže je uveden a stručně popsán výběr některých z nich.
Autentizace vs. autorizace
Tyto pojmy se často zaměňují, nebo považují za synonyma, ale to je chyba. Jejich význam je odlišný a je třeba mezi nimi rozlišovat.
Autentizace (jinak také ověření, prokázání nebo ztotožnění) uživatele znamená, že je třeba ověřit, že uživatel je skutečně ten, za koho ho považujeme. Nastává typicky při přihlášení uživatele. Dosud běžné je ověření zadáním jména a hesla, ale to již dnes není obvykle považováno za dostatečně bezpečné. Do hry tak vstupují další faktory, jak uživatele uvěřit, například: HW klíč, certifikát, notifikace a potvrzení přes mobilní aplikaci v telefonu, jednorázové kódy, SMS, aj.
Autorizace oproti tomu znamená typicky potvrzení či oprávnění provést nějakou akci. Uživatel může být autorizován se přihlásit, pokud se úspěšně autentizuje, což je možná důvod, proč se tyto pojmy mohou někdy plést. Uživatel může také autorizovat různé operace, například bankovní převod. K tomu je opět možné využít různé faktory, obdobně jako při autentizaci.
MFA / 2FA
(Multi Factor Authentication / 2nd Factor Authentication)
Více-faktorová autentizace nebo autentizace s druhým/dalším faktorem.
Faktory pro autentizaci se obvykle dělí na tři základní kategorie:
něco, co znám (typicky heslo)
něco, co mám (typicky hw klíč, mobil)
něco, co jsem (typicky otisk prstu, obličeje)
Klasická autentizace pouze jménem a heslem využívá jen jeden faktor, heslo. Tj. “něco, co znám”. To se dnes ukazuje jako nedostačující a snadno zneužitelné (slabá hesla, úniky hesel, jedno heslo na více míst, apod.). Je tak třeba autentizaci doplnit o další faktor z jiné kategorie. Takovou autentizaci s využitím alespoň dvou faktorů pak nazýváme více-faktorová a přináší velmi výrazné zvýšení bezpečnosti.
Passwordless
Dnes velmi populární směr, kterým se vypadá (a je to rozumné) bude autentizace ubírat v budoucnosti. Cílem je odbourat hesla, která se ukazují jako největší slabina, neboť je lze snadno zneužít. Při passwordless přihlášení je heslo (a často i jméno) nahrazeno privátním klíčem, kterým se uživatel jednoznačně prokáže. Tento klíč je uložen buď na HW klíčence, nebo v moderních operačních systémech a uživatel jen potvrdí jeho použití (otiskem, obličejem, PINem).
SSO
(Single Sign On)
Jednotné přihlášení. Uživatel se přihlásí jen jednou, do jednoho systému/portálu a ten je toto přihlášení schopen předávat dál dalším systémům. V Internetu je dnes typickým příkladem Google, Apple nebo Facebook. Všichni nabízejí SSO pomocí kterého je možné se přihlásit do mnoha dalších aplikací. Je dobré si být vědom, že poskytovatel SSO ví o všech těchto přihlášeních, neboť jsou přes něj. Tj. pokud se všude přihlašuji pomocí Google účtu, pak Google o všech těchto přihlášeních ví.
SAML2 / OpenID Connect (OIDC)
Jedná se o poměrně komplexní standardy pro autentizaci (a další). SAML2 je starší, složitější, komplexnější, využívá XML. OpenID Connect je novější a jednodušší (ale doplněn dalším ekosystémem OAuth, apod.), využívá JSON. Oba umožní docílit totéž, tj. SSO (viz výše) mezi aplikacemi/systémy.
Protokoly mají dvě strany/role: IdP (Identity Provider = poskytovatel identity) a SP (Service Provider = poskytovatel služby). Poskytovatel identity ověří uživatele (tam se uživatel přihlásí) a předá tuto informaci poskytovateli služby (to je aplikace, co uživatel používá). Tyto role se mohou kombinovat či řetězit. Google může být jak IdP tak SP zároveň. Nebo lze využít ADFS k přihlášení do Google a ten k přihlášení do aplikace, atd.
ADFS
(Active Directory Federation Services)
Microsoft specifická implementace založená na protokolu OpenID Connect, ale i dalších. Obvykle využíváno jako nadstavba nad AD (Active Directory) pro SSO uživatelů z AD do moderních webových systémů buď přímo s podporou ADFS, nebo SAML2 či OIDC.
Různé další faktory
OTP / TOTP / HOTP
(One Time Password / Time-based OTP / Hash-based OTP)
Jednorázové kódy či hesla založené obvykle buď na čase (T) nebo čítači (H).
Mezi nejběžnější další faktory pro ověření patří jednorázové kódy založené na čase (TOTP). Tyto kódy platí omezenou dobu, typicky 30 sekund. Nejznámějším zástupcem je Google Authenticator, tj. mobilní aplikace, která tyto kódy generuje a zobrazuje uživateli.
Dále jsou často používané jednorázové kódy založené na čítači, který se po každém použití zvyšuje (HOTP). Každý takový kód lze použít pouze jedenkrát. Typickým příkladem je HW klíč YubiKey, který v továrním nastavení generuje jako výchozí metodu právě takové kódy. (podporuje ale i mnoho dalších a lepších metod)
FIDO U2F / FIDO2 / WebAuthn
FIDO je aliance sdružující nejznámější subjekty zabývající se autentizací, včetně velkých hráčů jako Microsoft, Google, Apple, atd. Cílem je stanovit společné standardy, které budou všichni moci využívat napříč platformami.
FIDO U2F je starší standard, předchůdce FIDO2. Stále je velmi moderní a bezpečný, v některých využitích dokonce s FIDO2 kompatibilní. Neumožňuje ale např. Passwordless autentizaci.
FIDO2 a WebAuthn se zjednodušeně někdy považuje za synonyma. Přesněji je FIDO2 soubor standardů, včetně WebAuthn, umožňující moderní, bezpečnou, phishing-resistant autentizaci, včetně passwordless podpory.
FIDO2 implementuje mnoho moderních HW klíčů, včetně YubiKey 5, ale i všechny operační systémy, včetně mobilních, tj. Window, Mac OS X, Android, iOS. Standard je poměrně nový a jeho implementace se v detailech liší a bude ještě nějakou dobu trvat, než bude kompatibilita ideální.