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
- Účet Google - Google Account
- Platforma Google Android
- Platforma Microsoft Windows
- Přihlášení pomocí přístupových klíčů
- Remote Desktop - využití passkeys na vzdálené ploše
- Přístupové klíče synchronizované nebo vázané na zařízení
Ú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.
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)
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
- v 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
- The simplest and most secure way to sign in to your Google Account
- Sign in with a passkey instead of a password
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.
Pozn.: Pro obecné testování můžeme využít demo Passkeys.io.
Platforma Google Android
- Passwordless login with passkeys
- Passkey support on Android and Chrome
- Security of Passkeys in the Google Password Manager
- Android - passkeys.dev
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
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.
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.
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
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).
Tak již můžeme vytvořit přístupový klíč.
- 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)
- přístupový klíč se vytvoří
V seznamu přístupových klíčů se objeví nově vytvořený passkey. Můžeme otestovat autentizaci pomocí něj.
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
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.
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).
- 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íč
Přístupový klíč se vystaví a uloží. Opět jej vidíme v seznamu vytvořených passkeys.
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.
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.
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.
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.
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í 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í 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 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.
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.
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).
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í.
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í.
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ě.
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 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.
Zatím zde nejsou žádné komentáře.