FIDO, kdy a jak se používá

Blog

 
 Jan Žák

Uživatelé jsou dnes již zvyklí používat pro přihlášení uživatelské jméno, heslo a druhý faktor, jako jsou např. SMS kódy, různé aplikace nesoucí v názvu slovo „Authenticator“ nebo různé typy hardwarových udělátek.

Mezitím se pár chytrých hlav zamyslelo a řeklo si, jestli by takové ověřování nešlo zjednodušit a shrnout vše ideálně do jednoho kroku. Tak nějak asi vznikla FIDO aliance, jejíž cílem je zpřístupnit a standardizovat autentizační mechanismus napříč různými operačními systémy, internetovými prohlížeči nebo webovými službami. Členy FIDO aliance jsou mimo jiné společnosti Amazon, Apple, Gemalto, Google, Intel, Lenovo, Microsoft, Samsung, Visa a mnoho dalších, což administrátorům i koncovým uživatelům naznačuje, že se jedná opravdu o robustní řešení s širokou podporou.

FIDO U2F (Universal 2nd Factor) je jakýmsi předchůdcem FIDO2, který můžeme zjednodušeně označit jako ekosystém pro moderní autentizaci uživatelů. Je založen na otevřených standardech pro zajištění jednoduššího a zároveň bezpečnější autentizaci využívající asymetrickou kryptografii a specializovaná zařízení (např. USB tokeny).

CTAP (Client to Authenticator Protocol) zajišťuje komunikaci mezi klientem (browser) a authenticatorem (třeba hardwarový bezpečnostní klíč). Zajistí, že uživatel bude nucen provést operaci typu stisknutí tlačítka na tokenu, ověření některou z biometrických metod nebo zadání PINu.

WebAuthn nakonec standardizje ověrování na webu.

img

Následující obrázek krásně ukazuje rozdíl mezi ověřením s využitím „On-device Authenticator“ (např. Windows Hello) a ověřením pomocí externího zařízení (např. bezpečnostní USB klíč) za pomoci CTAP.

WebAuthn + CTAP Flow

Zdroj: https://fidoalliance.org/fido2/

Díky své univerzálnosti, bezpečnosti a relativně jednoduché implementaci se FIDO2 rychle stává běžnou součástí přihlašování k webovým aplikacím. Je to vcelku jednoduché. Windows Hello už využívá mnoho uživatelů a Windows Hello má FIDO certifikaci. Windows Hello, FIDO2 bezpečnostní klíč nebo Microsoft Authenticator jsou tedy skvělou alternativou k používání hesel nebo alespoň jejich doplňkem.

Zařízení

Souhrnně jim můžeme říkat „Authenticator“, a mohou to být například

  • Hardwarové bezpečnostní klíče – na první pohled obvykle vypadají jako USB flash disky, neslouží ale pro ukládání dat, ale funguje spíše jako klávesnice. Bez nutnosti instalace dalšího podpůrného softwaru je obvykle možné jej použít např. v internetovém prohlížeči na mobilním zařízení nebo libovolném počítači. Obvykle se připojují pomocí USB portu, ale existují i NFC nebo Bluetooth varianty.

  • Mobilní zařízení s operačním systémem Android 7.0 a vyšší (bezpečnostní klíč je součástí systému). Je nutné mít aktivní zámek obrazovky (PIN, otisk prstu, rozpoznání obličeje apod.)

  • Windows Hello – autentizace uživatele na zařízeních s operačním systémem Windows 10. Opět musí být chráněn PINem, kamerou pro rozpoznání obličeje, čtečkou otisků prstů apod.

Přihlášení je vázáno na zařízení – tzn. že bezpečnostní klíč je možné použít na libovolném počítači nebo mobilním telefonu, kdežto Windows Hello je vázáno na konkrétní zařízení, na kterém bylo nastaveno.

Resident Key Storage

Protokol WebAuthn specifikuje službám (resp. „relying parties“) také možnost vyžadovat ukládání ověřovacích informací jako „resident credential“.

Non-resident keys“ nemají žádnou vazbu na konkrétní službu, a v authenticatoru tedy není uložena informace ke které službě byl klíč zaregistrován. To má výhodu v tom, že jeden klíč může být zaregistrován prakticky pro neomezené množství služeb. Takový způsob ale neumožňuje přihlášení bez zadání uživatelského hesla, takže typicky bude použit jako druhý faktor po předchozím ověření jménem a heslem.

img

Oproti tomu „Resident credentail“ jsou svázány s konkrétní službou, takže je možné se ověřit přímo, samozřejmě při splnění autorizačních podmínek (PIN, stisknutí tlačítka).

img

Záleží tedy na službě, například u Microsoftu klíč bez podpory Resident credential nelze vůbec využít.

img

Pokud tušíte nástrahu, tak tušíte správně. Počet slotů pro Resident credential může být omezen (např. u Yubikey na 25 položek). Po vyčerpání volných slotů pak nebude možno registrovat další služby a rozhraní pro uživatele prakticky neumožňuje selektivně smazat jednotlivé sloty. Řešením pak může být reset authenticatoru, což bude mít samozřejmě za následek odebrání všech registrovaných klíčů.

Certifikace

Z výše uvedeného vyplývá, že různé authenticatory mohou podporovat jen část požadovaných standardů, a tím se dostáváme k certifikaci.

Drtivá většina dnes používaných authenticatorů má certifikaci na úrovni 1. Úroveň 2 splňuje (květen 2021) pouhých pět zařízení, a seznam splňující úroveň 3 je podle oficiálního seznamu https://fidoalliance.org/certification/fido-certified-products/ prázdný.

Požadavky na certifikaci jednotlivých úrovní shrnuje následující obrázek, více detailů můžete vyčíst přímo na webu aliance.

FIDO Authenticator Certification Levels - Sample Device Hardware & Software Requirements Defend Against Which Level of Attack

Například pro zpřístupnění služeb veřejné správy (přes mojeID) je na základě akreditace Ministerstva vnitra České republiky vyžadována certifikace minimálně L1 – ta zajistí úroveň záruky prostředku pro elektronickou identifikaci na úrovni „Značná“. Pokud provedete registraci authenticatoru s certifikací L2, bude úroveň záruky „Vysoká“.

img

Azure

Pro registraci FIDO2 klíče pro přihlašování k účtu Microsoftu musí klíč podporovat následující funkce a rozšíření protokolu FIDO2 CTAP:

  • Rezidentní klíč: Umožňuje přenositelnost bezpečnostního klíče
  • Kód PIN: Umožňuje chránit přihlašovací údaje pomocí druhého faktoru pro klíče bez uživatelského rozhraní
  • HMAC – tajný klíč: Umožňuje přihlášení zařízení v režimu offline (například v letadle)
  • Více účtů pro RP: Umožňuje použití stejného klíče v rámci více služeb (například účet Microsoft a Azure Active Directory)

Jak funguje registrace klíčů v Azure Active Directory včetně propojení s místní doménou jsme si již ukazovali ve dvou článcích. Pokud jste je ještě nestihli přečíst, níže na ně uvádím odkazy

Podpora prohlížečů

Na stránkách FIDO Alliance najdeme přehledný seznam podporovaných prohlížečů na různých platformách.

img

Rychlé otestování registrace a přihlášení pomocí FIDO můžete spustit na stránce WebAuthn.io

Zvídavější si tam mohou prohlédnou i technická data, resp. veřejné části klíčů a přihlašovací identifikátory.

Obsah obrázku text Popis byl vytvořen automaticky

Samozřejmě se i poskytoval služby může rozhodnout pro některá omezení, takže například podpora pro přihlašování k účtům Microsoftu zahrnuje následující kombinace:

Obsah obrázku stůl Popis byl vytvořen automaticky

Na MacOS tedy například Firefox s FIDO2 pracuje v pořádku, ale přihlašovací stránka Microsoftu vám tuto metodu ověření prozatím nenabídne.

Kde se tedy FIDO využívá?

FIDO možná už dávno používáte – třeba když jste se přihlašovali k Gmailu a narazili na podobný požadavek při přihlašování.

Obsah obrázku text Popis byl vytvořen automaticky

FIDO můžete použít jako druhý faktor u svého blogu běžícího na Wordpressu, při podávání daňového přiznání (resp. v rámci přihlašování k NIA – Národnímu bodu pro identifikaci a autentizaci). FIDO běží někde na pozadí, když se přihlašujete PINem ke svému laptopu s Windows 10, nebo když vás automaticky rozpozná webová kamera a počítač vám odemkne. O používání FIDO s Azure AD a Active Directory jsme se už také zmiňovali.

A abych nezapomněl – FIDO občas běží i v televizi.

Obsah obrázku text Popis byl vytvořen automaticky

Zdroj: Příběhy Tipa a Tapa (1971) | ČSFD.cz (csfd.cz)

Sdílej v médiích

Kontakt

Nenašli jste, co hledáte? Pošlete nám zprávu a zůstaneme s vámi ve spojení.

* Vyžadované pole

Osobní data použijeme pouze pro vypracování odpovědi na dotaz. Pravidla zpracování osobních údajů

map us
map eu