www.SAMURAJ-cz.com 

27.05.2024 Valdemar Translate to English by Google     VÍTEJTE V MÉM SVĚTĚ

Články

FIDO passkeys část 2 - praktické použití přístupových klíčů na Windows a Android

Upraveno 14.04.2024 09:30 | vytvořeno 06.04.2024 10:10 | Samuraj - Petr Bouška |
Podíváme se na praktické možnosti vytváření a používání přístupových klíčů pro přihlášení k online službám na platformách Microsoft Windows a Google Android, včetně Cross-Device Authentication (ověření mezi zařízeními). Tedy využití interního autentizátoru (a lokálních passkeys) nebo externího autentizátoru (a passkeys na jiném zařízení), včetně FIDO2 bezpečnostního klíče. Vyzkoušíme různé webové prohlížeče. Testy budeme provádět na Google účtu, pro který vytvoříme passkey na různých zařízeních.
zobrazeno: 737krát | Komentáře [0]

Pozn.: V článku řešíme praktické použití přístupových klíčů pro přihlášení k nějaké cloudové (online) službě, většinou pomocí webového prohlížeče. Platformy Windows a Android probíráme z pohledu podpory pro vytvoření, uložení a použití passkeys. Nejde o přihlášení do Windows pomocí passkey, které v základní podstatě možné není. Ale více si popíšeme v dalším díle, kde budeme řešit osobní Microsoft účet a autentizaci v Entra ID (pracovní nebo školní účet).

Obsah vybraných hlavních kapitol

Úvodní informace k použití přístupových klíčů

  • Passkeys jsou discoverable FIDO2 (WebAuthn) credential (zjistitelné FIDO2 přihlašovací údaje / pověření) používané pro FIDO autentizaci.
  • Nahrazují hesla bezpečnější a rychlejší možností ověření uživatele.
  • Řadí se mezi vícefaktorové ověření bez hesla odolné proti phishingu (Phishing Resistant Passwordless Multi-Factor Authentication).
  • Můžeme je vytvořit na zařízení s OS Windows, macOS, Android, iOS/iPadOS nebo na FIDO2 bezpečnostním klíči (security key).
  • Přístupové klíče uložené na zařízení s Android nebo iOS/iPadOS můžeme využít pro přihlášení na jiném zařízení (Windows, Android, macOS, iOS/iPadOS, ChromeOS, Ubuntu s Edge nebo Chrome) pomocí FIDO Cross-Device Authentication.
  • Passkeys mohou být synchronizované v rámci platformy (macOS a iOS/iPadOS nebo Android) pomocí Apple ID (iCloud Keychain) nebo Google Account (Google Password Manager).
  • Pro ověření uživatele se používá PIN nebo biometrie. Tyto údaje jsou lokální a nikdy neopouští zařízení (nepředávají se cílové službě). Slouží k přístupu k privátnímu klíči, který se použije pro digitální podpis dat, která se odešlou službě a autentizují uživatele.
FIDO Alliance passkeys logo

Starší, ale pěkné (oficiální) video, ukazující použití přístupových klíčů FIDO Multi-device Credentials in Action.

Pozn.: Detailní teoretické informace o přístupových klíčích jsme si popsali v minulém díle. Zde se zaměříme na praktické použití.

Testování v tomto článku bylo provedeno na

Zařízeních s operačním systémem

  • HP notebook a pracovní stanice s Windows 11 23H2
  • HP notebook s Windows 10 22H2
  • telefon Xiaomi 13 s Android 14, nadstavba HyperOS 1.0.3
  • telefon Xiaomi Mi 10T s Android 12, nadstavba MIUI Global 14.0.3

Webových prohlížečích na Windows

  • Microsoft Edge verze 122
  • Google Chrome verze 122
  • Mozilla Firefox verze 124

Webových prohlížečích na Android

  • Google Chrome verze 123
  • Mozilla Firefox verze 124

FIDO2 security key

  • YubiKey 5 NFC
  • YubiKey Bio FIDO Edition

Pro práci s passkeys potřebujeme

  • online službu, která podporuje přístupové klíče
  • klientské zařízení, z kterého se chceme přihlašovat, s prohlížečem a platformou (OS) podporující přístupové klíče
  • klientské zařízení musí podporovat buď lokální passkeys (mít interní autentizátor) nebo externí autentizátor, kdy využijeme mobilní zařízení s FIDO Cross-Device Authentication nebo HW security key s FIDO2

Možné operace s passkeys

  • vytvoření (registrace) přístupového klíče u online služby
    • na aktuálním zařízení (lokálně / interně)
    • na jiném zařízení (vzdáleně / externě) v blízkosti
  • přihlášení pomocí přístupového klíče
    • na aktuálním zařízení (lokálně / interně)
    • na jiném zařízení (vzdáleně / externě) v blízkosti

Různé varianty (můžeme je i kombinovat) pro použití passkey u jedné služby

  • může existovat několik přístupových klíčů pro každé zařízení, přihlašujeme se pomocí lokálního passkey
  • můžeme mít passkey na FIDO2 security key a použít jej pro přihlášení na různých zařízeních
  • můžeme mít passkey na mobilním zařízení (Android, iOS/iPadOS) a použít jej pro přihlášení na různých zařízeních
  • můžeme mít passkey uložený u platformního účtu (Apple ID) v cloudové službě (iCloud Keychain) a synchronizovaný mezi zařízeními, přihlašujeme se pomocí stejného passkey na různých zařízeních

Podporovaná zařízení ve Windows

Standardně ve Windows (ale podobně je k dispozici také na Androidu) můžeme využít buď toto (This device) nebo jiné zařízení (Another device) pro uložení a přihlášení pomocí přístupového klíče.

Celkově můžeme vybírat jednu z možností (nabízí se pouze ty, které máme k dispozici):

  • toto Windows zařízení (This Windows device) - passkeys jsou uloženy lokálně na zařízení (využívá se Windows Hello)
  • bezpečnostní klíč (Security key) - passkeys jsou uloženy na externím FIDO2 klíči
  • mobilní zařízení (iPhone, iPad or Android device) - passkeys jsou uloženy na telefonu nebo tabletu, na něm skenujeme QR kód, dojde k BLE spojení a ověříme se
  • propojené zařízení (Linked device) - identifikuje se jménem zařízení, passkeys jsou uloženy na Android telefonu nebo tabletu, který jsme propojili (vzájemně zapamatovali)
Výběr zařízení s passkey na Windows

Podpora v platformách a prohlížečích

Pozn.: Zde jsou pouze stručné informace, většinu rozebereme více v průběhu článku. Přesné informace není vždy lehké dohledat. Třeba Microsoft uvádí, že podpora passkeys je v podporovaných verzích Windows 10 a 11. Pro Mozilla Firefox jsem toho moc nenalezl, ale aktuální verze fungují. Chování v prohlížeči záleží i na verzi operačního systému. Různé možnosti jsou stále doplňovány.

Podpora vytváření a použití přístupových klíčů je od verze platformy

  • Microsoft Windows 10 1903
  • Google Android 9
  • Apple macOS 13 Ventura
  • Apple iOS/iPadOS 16
  • Linux systémech podpora není, omezenou podporu poskytuje Chrome a Firefox, kde můžeme použít passkeys na security key nebo mobilním zařízení

Od verze prohlížeče

  • Microsoft Edge 108
  • Google Chrome 108
  • Mozilla Firefox 122 (podpora na macOS, na Windows patrně i starší)
  • Apple Safari 16

Účet Google - Google Account

Google je jeden z hlavních členů FIDO aliance a přístupové klíče podporuje a prosazuje již delší dobu. Přesto je problém najít dokumentaci o určitých detailech. Pro Google Account můžeme nastavit autentizaci pomocí passkey. A tedy se přístupovým klíčem hlásit k různým Google službám.

Pro testování praktického použití přístupových klíčů na různých platformách využijeme právě účet Google. Obecně by nemělo záležet na službě, pro kterou passkeys použijeme, a mělo by být vždy stejné. Rozdíl je pouze v administraci účtu služby.

Pro Google Account se správa provádí v Google Account settings - Security, v části How you sign in to Google je položka Passkeys and security keys.

Na Android telefonu si to samé můžeme otevřít přes nastavení Settings - Google - Manage your Google Account - Security - Passkeys and security keys.

Google Account - Passkeys and security keys

Pozn.: Pro obecné testování můžeme využít demo Passkeys.io.

Platforma Google Android

Podpora passkeys

Operační systém Android podporuje vytváření a použití passkeys pomocí interního autentizátoru od verze Android 9. Ve verzi Android 14 byla přidána podpora externího autentizátoru, takže můžeme použít bezpečnostní klíč nebo jiný telefon.

Android zařízení také může být použito pro přihlášení na jiném zařízení pomocí Cross-Device Authentication. Využívá se QR kód, který se naskenuje na Android zařízení. Na určitých platformách nebo prohlížečích se může provést trvalé propojení (persistent linking), pak není třeba skenovat QR kód. Je to například Windows 11 23H2, Chrome nebo Edge na starších Windows 11, Windows 10 nebo macOS.

Ověření uživatele

Při přístupu k passkey na Android zařízení se používá některá z dostupných metod odemčení obrazovky pro ověření uživatele. Může to být PIN, vzor nebo biometrie.

Aktivace lokálního passkey pro Google Account na Android zařízení

Pokud je na Android zařízení přihlášen Google účet, tak se na něm již automaticky vytvořil passkey. Musíme jej jen aktivovat kliknutím na Use passkeys. Pokud přidáme nový účet, tak se nabídne možnost zjednodušit přihlášení pomocí přístupových klíčů.

Do nastavení se můžeme dostat přes webovou stránku nebo

  • Settings - Google - Manage your Google Account - Security - Passkeys and security keys
Aktivace lokálního passkey pro Google Account na Android zařízení

Zobrazení passkeys uložených v Android zařízení

Nepovedlo se mi zjistit, jak na Android telefonu zobrazit přístupové klíče, které na něm existují. Určité rady, že se dá použít Chrome, mi nefungují. Info v oficiální dokumentaci Google Manage passkeys mi připadá nesmyslné.

Přístupové klíče pro Google účet vidíme ve správě účtu. Pokud máme synchronizované passkeys, tak je vidíme v Google Password Manager.

Platforma Microsoft Windows

Podpora passkeys

Operační systém Windows 10 a 11 podporuje vytváření a použití passkeys pomocí interního autentizátoru (Windows Hello) nebo externího autentizátoru (FIDO2 security key). Podpora je patrně od Windows 10 1903, kdy bylo Windows Hello certifikováno jako FIDO2 autentizátor.

Pro uložení přístupových klíčů do Windows zařízení je důležité mít nastavené (aktivní) Windows Hello. Jinak se nenabízí volba použít toto zařízení. Ideálně se použije TPM čip pro vytvoření páru klíčů a uložení a ochranu privátního klíče. Podle praktických testů můžeme přístupové klíče vytvořit na Windows zařízení s aktivním Windows Hello nebo Windows Hello for Business. Windows Hello lze (standardně) aktivovat i na počítači, který není vybaven TPM čipem. I v tomto případě můžeme využít Windows Hello pro práci passkeys.

Prohlížeče a aplikace využívají vlastnosti operačního systému pro práci s přístupovými klíči. Prohlížeč Chrome a Edge od verze 108 navíc podporuje použití FIDO Cross-Device Authentication, tedy práci s passkey na iOS, iPadOS nebo Android zařízení.

Od Windows 11 23H2 je FIDO Cross-Device Authentication podporováno nativně v systému, takže funguje ve všech (běžných) prohlížečích a systémových aplikacích. S Android zařízením je možné trvalé propojení (to není podporováno pro iOS, iPadOS).

Ve Windows 11 22H2 s KB5030310 byla doplněna podpora pro nativní správu přístupových klíčů v Settings - Accounts - Passkeys.

Chování v různých verzích

Na verzi operačního systému a prohlížeči záleží možnosti a průběh přihlášení pomocí passkey. Při přihlášení ke službě v prohlížeči volíme, zda se chceme přihlásit heslem nebo přístupovým klíčem.

Přihlášení k účtu Google volba metody

Ve Windows 11 23H2 se při volbě passkey otevře systémový dialog Windows Security. Zde se nabídne výběr z možností, které máme k dispozici na daném zařízení. Může jít o toto Windows zařízení (pokud je aktivní Windows Hello) nebo jiné zařízení. Zde se může nabízet bezpečnostní klíč, zařízení iPhone, iPad nebo Android (použije se QR kód) či určité připojené (uložené) Android zařízení (musíme mít aktivní Bluetooth).

Pokud použijeme trvalé připojení, tak se zařízení uloží v systému. Nalezneme je v registrech HKEY_USERS\S-1-5-20\Software\Microsoft\Cryptography\FIDO\(Account SID)\LinkedDevices.

Ve starší verzi Windows umožní Firefox použít pouze systémem podporované vlastnosti (pomocí Windows Security), tedy passkey na security key nebo Windows Hello. Chrome nebo Edge podporuje stejné systémové vlastnosti, pod volbou External security key or bulit-in sensor. Ale také přímo prohlížeč umožní použít Cross-Device Authentication, volba A different device.

Podpora passkeys v Chrome na Windows 10

Pokud použijeme trvalé připojení, tak se zařízení uloží v prohlížeči. V Chrome je nalezneme v Settings - Privacy and Security - Security - Manage Phones.

Ověření uživatele

Při přístupu k passkey na Windows zařízení se používá některá z dostupných metod ověření uživatele prostřednictvím Windows Hello. Může to být PIN nebo biometrie.

Vytvoření lokálního passkey pro Google Account na Windows zařízení

Pokud na počítači není nastaveno Windows Hello, tak se v nastavení účtu Google v horní části stránky Passkeys and security keys zobrazí informace

A passkey can’t be created on this device 
Passkey na Windows bez aktivního Windows Hello

Nápověda obsahuje pouze informace, že musíme mít aktuální operační systém (minimálně Windows 10), zámek obrazovky, zapnuté Bluetooth (pokud chceme použít passkey na telefonu) a podporovaný prohlížeč (minimálně Chrome 109, Edge 109, Safari 16).

O Windows Hello se zde nemluví, ale jakmile jej nastavíme v Settings - Accounts - Sign-in options (alespoň PIN).

Aktivace Windows Hello

Tak již můžeme vytvořit přístupový klíč.

Vytvoření lokálního passkey pro Google Account na Windows zařízení 1
  • klikneme na Create a passkey
  • pro pokračování se musíme ověřit (přihlásit k účtu), patrně pokud jsme se přihlašovali před určitou dobou, pak znovu kliknout na Create a passkey
  • poté musíme odemknout autentizátor (Windows Hello)
Vytvoření lokálního passkey pro Google Account na Windows zařízení 2
  • přístupový klíč se vytvoří
Vytvoření lokálního passkey pro Google Account na Windows zařízení 3

seznamu přístupových klíčů se objeví nově vytvořený passkey. Můžeme otestovat autentizaci pomocí něj.

Vytvoření lokálního passkey pro Google Account na Windows zařízení 4

Pozn.: Přístupové klíče automaticky vytvořené na Android zařízení jsou pojmenovány podle zařízení. Ale když vytvoříme passkey na Windows zařízení nebo FIDO2 bezpečnostním klíči, tak je jméno Windows Hello, respektive FIDO2 security key. Pokud budeme mít více zařízení stejného typu, tak se doplní pouze číslo a nepoznáme o jaké zařízení jde. Je tedy dobré si název upravit.

Zobrazení passkeys uložených ve Windows 11

Ve Windows 11 (minimálně 22H2) se můžeme podívat na přístupové klíče uložené v tomto zařízení.

  • Settings - Accounts - Passkeys
Zobrazení passkeys uložených ve Windows 11

Pozn.: Pokud máme nastavené Windows Hello for Business pro přihlášení k firemnímu Entra ID účtu, tak zde uvidíme passkey pro login.microsoft.com. Podobně to platí pro osobní Microsoft účet.

Vytvoření externího passkey pro Google Account na Security Key

Ve Windows můžeme vystavit přístupový klíč na připojeném bezpečnostním klíči (v USB portu, možná i přes NFC). V nastavení účtu Google, na konci stránky Passkeys and security keys, se nachází (druhé) tlačítko + Create a passkey.

Vytvoření externího passkey pro Google Account na Security Key 1

Pomocí něj se otevře dialog, kde můžeme vytvořit přístupový klíč na tomto zařízení (Create a passkey), ale také na jiném (Use another device).

Vytvoření externího passkey pro Google Account na Security Key 2
  • klikneme na Use another device
  • zobrazí se Windows Security dialog pro nastavení bezpečnostního klíče, povolíme přístup, odemkneme bezpečnostní klíč
Vytvoření externího passkey pro Google Account na Security Key 3

Přístupový klíč se vystaví a uloží. Opět jej vidíme v seznamu vytvořených passkeys.

Vytvoření externího passkey pro Google Account na Security Key 4

Zobrazení passkeys uložených na YubiKey

Pokud máme nějaký bezpečnostní klíč od firmy Yubico, tak můžeme použít jejich YubiKey Manager pro správu a zjištění informací o klíči. GUI aplikace pro Windows je ale dost omezená. Pro řadu operací musíme použít aplikaci pro příkazový řádek ykman.exe.

Můžeme zobrazit (spravovat) Credentials uložené na YubiKey. Musí jít o discoverable credentials (to by passkeys měly být vždy). V příkladu je vidět výpis z bezpečnostního klíče, který je registrovaný v Microsoft Entra ID a je na něm vystaven passkey pro Google.

c:\Program Files\Yubico\YubiKey Manager>ykman fido credentials list
Enter your PIN:
Credential ID  RP ID                Username                Display name
d0fb5472...    login.microsoft.com  bouska@xxxx.cz          Bouška Petr
d9deb560...    google.com           bouska@gmail.com        bouska@gmail.com 

Vytvoření externího passkey na Android zařízení

Doplněno 14.4.2024. Další test na Windows je vytvoření přístupového klíče na Android telefonu (který se spojí přes Bluetooth). Pro test využijeme účet na Passkeys.io. Problémy, na které jsem narazil se spojením určitého telefonu, jsou popsány v kapitole o přihlášení.

Zvolíme Create a passkey. Zobrazí se Windows Security dialog (podle OS a prohlížeče), který nabídne dostupné možnosti pro vytvoření přístupového klíče (v tomto příkladě má počítač nastavené Windows Hello s PIN a otiskem a zapnuté Bluetooth). Může být potřeba se přepnout z lokálního zařízení pomocí Use another device. Následně zvolíme iPhone, iPad, or Android device.

Na telefonu naskenujeme QR kód v aplikaci kamera, kde by se měl kód rozpoznat a kliknutím na ikonu vyvoláme akci. Dojde ke spojení telefonu a počítače. Zařízení můžeme uložit pro další připojení. Potvrdíme vytvoření passkey a použijeme zámek obrazovky.

Vytvoření externího passkey na Android zařízení 1
Vytvoření externího passkey na Android zařízení 2
Vytvoření externího passkey na Android zařízení 3
Vytvoření externího passkey na Android zařízení 4

Zajímavé je, že v tomto případě se passkey vytvořil v Google Password Manager (tak se také nazval v passkeys.io) a tedy jako synchronizovaný. Když jsem vytvořil passkey přímo v prohlížeči v Android telefonu, tak se uložil nesynchronizovaný v zařízení. Může to být tím, že k URL FIDO:/ je přiřazen provider Google Password Manager, kdežto prohlížeč využije jiné API.

Přihlášení pomocí přístupových klíčů

Lokální passkey na Windows zařízení

Přihlášení na Windows 10 nebo 11 pomocí přístupového klíče uloženého ve Windows Hello daného počítače. Průběh je stejný v aktuální verzi Chrome, Edge i Firefox.

Přístupové klíče umožňují přihlášení bez zadávání uživatelského jména. Google to při přihlášení ke svým službám nepodporuje, ale třeba u Microsoftu to možné je.

Přihlášení pomocí passkey k Microsoft účtu bez zadání jména

Zadáme nebo vybereme emailovou adresu. Pokud je výchozí metoda heslo, tak klikneme na Try another way (Vyzkoušet jiný způsob) a Use your passkey (Použít přístupový klíč). V dialogu Windows Security se ověříme (odemkneme Windows Hello pomocí PINu nebo biometrie) a proběhne přihlášení k účtu.

Přihlášení k účtu Google volba metody
Přihlášení pomocí lokální passkey na Windows zařízení 1

Dostupná metoda se může nabídnout, i když se v ní nenachází přístupový klíč pro danou službu. Pokud ji zkusíme použít, tak dostaneme chybu.

Přihlášení pomocí lokální passkey na Windows zařízení 2

Lokální passkey na Android zařízení

Přihlášení na Android zařízení pomocí lokálního přístupového klíče. Snímek je z Firefoxu na Andorid 14, který podporuje všechny možnosti. Průběh je stejný jako na Windows. Zvolíme toto zařízení (This device) a použijeme některou z metod odemčení obrazovky. Chrome je vázaný na účet v systému a při nějakých pokusech mi nabízel pouze passkey v telefonu.

Přihlášení pomocí passkey na Android zařízení 1

Přihlášení na Android zařízení pomocí externího passkey

Pouze snímek z Firefoxu na Andorid 14, kde můžeme použít Use a different phone or tablet (průběh je stejný jako na Windows, když se přihlašujeme pomocí mobilního telefonu) nebo security key.

Přihlášení pomocí passkey na Android zařízení 2

Přihlášení na Windows zařízení pomocí externího passkey na Security Key

Přihlášení na Windows 10 nebo 11 pomocí přístupového klíče uloženého ve FIDO2 bezpečnostním klíči. Funguje podobně jako lokální klíč. Pokud máme přístupový klíč i ve Windows Hello, tak musíme zvolit Use another device (Použít jiné zařízení). V dialogu Windows Security pokračujeme se Security key a ověříme se (PIN + dotyk klíče nebo biometrie).

Přihlášení na Windows zařízení pomocí externího passkey na Security Ke

Přihlášení na Windows zařízení pomocí externího passkey na Android zařízení

Přihlášení na Windows 10 nebo 11 pomocí přístupového klíče uloženého na mobilním zařízení (iPhone, iPad, or Android device). Potřebujeme Windows 11 23H2 nebo na starším OS Chrome či Edge 108+. Počítač i telefon musí být vybaven Bluetooth zařízením a musí být možno navázat spojení. Není potřeba, aby byly vzájemně spárované, dočasné Bluetooth spojení se provede automaticky.

Na Windows zařízení musí být Bluetooth aktivní (nesmí být zakázané nebo nesmíme být k počítači přihlášení přes RDP). Jinak se při přihlašování z počítače vůbec nenabídne možnost použit iPhone, iPad, or Android device. Na Android zařízení může být Bluetooth vypnuté, ale budeme vyzváni k jeho zapnutí.

Externí passkey na Android zařízení - problémy s telefonem Xiaomi 13

Tuto metodu, Cross-Device Authentication s Android zařízením, se mi dlouho nedařilo zprovoznit. Hledal jsem problém v Bluetooth a zkoušel různé počítače. Ale problém se ukázal v telefonu Xiaomi 13 a nepovedlo se mi jej vyřešit. Vyzkoušel jsem několik jiných Android zařízení (s Android 12 a 13) a všude tato metoda fungovala. Našel jsem diskusi, kde lidé uváděli, že jim přestalo fungovat po upgradu na HyperOS.

Problém se projevil zobrazením chyby (na telefonu i počítači) Something went wrong. Po naskenování QR kódu se zobrazila nabídka zapamatovat zařízení, začalo se navazovat spojení a hned naskočila chyba.

Chyba spojení s telefonem při FIDO Cross-Device Authentication

Druhý problém na Xiaomi 13 byl, že nešlo použít standardní aplikaci Google Camera (v systému je verze 5.1) pro skenování QR kódu. Ten se sice rozpoznal, takže se zobrazila ikona QR kódu, ale po kliknutí se zobrazil dialog, že chce otevřít URL FIDO:/... a neví jak. Našel jsem informaci, že se dá využít aplikace Google Lens. Ta opravdu fungovala, po najetí na QR kód zobrazí tlačítko Use Passkey a začne probíhat autentizace.

Externí passkey na Android zařízení - průběh přihlášení

Zprovoznil jsem starý telefon Xiaomi 10T a na něm mi přihlášení fungovalo bez problémů. Funguje zde také aplikace Google Camera (v systému je verze 4.5).

Při přihlášení ve Windows Security dialogu zvolíme iPhone, iPad, or Android device. Zobrazí se QR kód, který naskenujeme v aplikaci kamera na telefonu.

Přihlášení na Windows zařízení pomocí externího passkey na Android 1

Naskenovaný kód by měl vyvolat systémovou funkci pro FIDO autentizaci. Pokud nemáme na telefonu zapnuté Bluetooth, tak se zobrazí výzva. Další dotaz je, zda si chceme zapamatovat toto zařízení. Když to využijeme, tak se příště zařízení nabídne. Nemusíme skenovat QR kód, ale výzva se pošle přímo do telefonu (přes internet).

Přihlášení na Windows zařízení pomocí externího passkey na Android 2

Na počítači se zobrazí informace, že je zařízení připojené. Na telefonu se musíme ověřit (nejčastěji biometrií) a dojde k přihlášení.

Přihlášení na Windows zařízení pomocí externího passkey na Android 3

Pokud si zařízení zapamatujeme, tak jej při dalším přihlášení (ze stejného počítače) můžeme vybrat ze seznamu. Do zařízení se odešle notifikace přes internet a provede se Bluetooth spojení.

Přihlášení na Windows zařízení pomocí externího passkey na Android 4

Remote Desktop - využití passkeys na vzdálené ploše

Přístupové klíče jsou vázané na určité zařízení a používáme je k přihlášení na tomto zařízením nebo jiném v jeho fyzické blízkosti. Pokud se přihlásíme na vzdálenou plochu počítače, tak nemůžeme využít passkey, který je uložen na tomto vzdáleném počítači (ve Windows Hello), na bezpečnostním klíči k němu připojeném, ani se s ním nespojí telefon, který máme u sebe. Ale můžeme využít přístupové klíče, které máme lokálně.

Když se připojujeme na vzdálený počítač, tak určitá novější verze Remote Desktop Connection podporuje přesměrování WebAuthn (Windows Hello or security keys). Díky tomu můžeme na vzdáleném počítači využít přístupové klíče uložené v lokálním počítači (Windows Hello) nebo na bezpečnostním klíči připojeném k lokálnímu počítači. Minimálně na Windows 11 to funguje dobře a spolehlivě.

Remote Desktop Connection přesměrování WebAuthn (passkey)

Přístupové klíče synchronizované nebo vázané na zařízení

Dle standardu mohou být passkeys vázané na jeden autentizátor, pak se nazývají Device-bound passkeys. Například FIDO2 security key standardně obsahuje přístupové klíče vázané na zařízení, protože jej privátní klíč nemůže opustit.

Nebo mohou být synchronizované mezi zařízeními uživatele pomocí cloudové služby, ty označujeme jako Synced passkeys. Synchronizace má fungovat pouze v rámci určité platformy (ne mezi různými OS). Relativně nově má být možnost ukládat passkeys do aplikace pro správu přístupových údajů (credential management app), která řeší jejich dostupnost na různých zařízeních.

Microsoft

Podle informací na internetu Microsoft zatím synchronizaci passkeys nepodporuje (prý plánuje).

Apple

Apple využívá iCloud Keychain pro synchronizaci passkeys. Podle řady informací, včetně About the security of passkeys a Device Support, nelze vytvořit Device-bound passkeys na macOS či iOS zařízení. Vytvořený passkey se uloží do iCloud Keychain a je automaticky synchronizovaný v rámci Apple ID. Snad je výjimka, že je možno vytvořit passkey na FIDO2 security key a ten synchronizovaný není.

Google

Google používá Google Password Manager pro synchronizaci passkeys. Opět je řada informací, že standardní passkeys vytvořené na Android zařízení jsou synchronizované. Mohou se vytvořit non-discoverable credentials, které jsou device-bound a tedy nejsou synchronizované. Can an RP still create device-bound credentials that aren't synchronized?, Passkey support on Android and Chrome.

Zajímavé informace jsou v článku Security of Passkeys in the Google Password Manager. Zde se uvádí, že služba může požadovat vytvoření Device-bound passkey. Privátní klíč je generován v Trusted Execution Environment (TEE) zařízení, které poskytuje HW ochranu proti exfiltraci.

Moje zkušenost je zatím jiná. Na každém Android zařízení se automaticky vytvoří nový přístupový klíč pro Google účet. V nastavení účtu jsou pak vidět passkeys pro každé zařízení. I testovací passkey pro Passkeys.io se mi nesynchronizuje a není vidět v Google Password Manager.

Doplněno 12.4.2024

Vytvořil jsem passkey pro Microsoft account z Windows s využitím externího autentizátoru, což byl Android telefon. Tedy pomocí skenování QR kódu. Automaticky se uložil do Google Password Manager a je synchronizovaný mezi mými Android zařízeními.

Zkusil jsem tedy vytvořit další passkey pro službu Passkeys.io. Neprovedl jsem to přímo na Android zařízení, ale vzdáleně z Windows. Nyní se passkey vytvořil také v Google Password Manager.

Možná to může souviset s tím, jaká komponenta se při vytvoření passkey volá v Android systému. Při lokálním použití v prohlížeči se volá systémové API. Když se načítá QR kód, tak se volá URL FIDO:/ a k němu je v systému přiřazena určitá aplikace (provider), defaultně patrně Google Password Manager. Určitá informace je v nové Microsoft dokumentaci Cross-device registration bod 6.

Související články:

Azure AD / Entra ID identity a autentizace

Články související s identitou uživatelů a zařízení (nejen) v Microsoft Entra ID. Různé možnosti přihlašování a ověřování. Oblasti jako moderní autentizace, vícefaktorová autentizaci, přihlašování bez hesla, apod.

FIDO autentizace - FIDO Authentication

FIDO autentizace je založena na standardu FIDO2 (WebAuthn a CTAP2). Přináší bezpečnější možnost přihlášení k online službám. Patří mezi Passwordless MFA (vícefaktorové ověření bez hesla). Zároveň zvyšuje pohodlí uživatelů (podporuje použití biometrie). Jde například o Windows Hello for Business, FIDO2 security key a obecně passkeys (přístupové klíče).

Pokud se chcete vyjádřit k tomuto článku, využijte komentáře níže.

Komentáře

Zatím tento záznam nikdo nekomentoval.

Přidat komentář

Vložit tag: strong em link

Vložit smajlík: :-) ;-) :-( :-O

Nápověda:
  • maximální délka komentáře je 2000 znaků
  • HTML tagy nejsou povoleny (budou odstraněny), použít se mohou pouze speciální tagy (jsou uvedeny nad vstupním polem)
  • nový řádek (ENTER) ukončí odstavec a začne nový
  • pokud odpovídáte na jiný komentář, vložte na začátek odstavce (řádku) číslo komentáře v hranatých závorkách