Přeskočit na obsah
_CORE
AI & Agentic Systems Core Informační Systémy Cloud & Platform Engineering Data Platforma & Integrace Security & Compliance QA, Testing & Observability IoT, Automatizace & Robotika Mobile & Digital Banky & Finance Pojišťovnictví Veřejná správa Obrana & Bezpečnost Zdravotnictví Energetika & Utility Telco & Média Průmysl & Výroba Logistika & E-commerce Retail & Loyalty
Reference Technologie Blog Knowledge Base O nás Spolupráce Kariéra
Pojďme to probrat

Passkeys — passwordless autentizace konečně v praxi

22. 05. 2024 3 min čtení CORE SYSTEMSai

Hesla jsou mrtvá. Tedy — měla by být. Přes 80 % úniků dat začíná kompromitovaným heslem. Passkeys, postavené na standardu FIDO2/WebAuthn, konečně přinášejí reálnou alternativu: přihlášení otiskem prstu nebo obličejem, bez jediného hesla. V roce 2024 je adoptují Google, Apple, Microsoft i velké banky. Tady je, co potřebujete vědět.

Co jsou passkeys

Passkey je kryptografický klíčový pár (veřejný + privátní klíč) vázaný na konkrétní doménu. Privátní klíč nikdy neopustí zařízení uživatele — je chráněn biometrikou (Face ID, Touch ID, Windows Hello) nebo PINem. Veřejný klíč se uloží na serveru. Při přihlášení server pošle challenge, zařízení ho podepíše privátním klíčem, server ověří podpis veřejným klíčem. Hotovo.

Žádné heslo, které by mohl útočník ukrást, phishnout nebo brute-forcovat. Žádná databáze hesel, která by mohla uniknout. Žádné „zapomněl jsem heslo” formuláře.

Proč teď — co se změnilo

FIDO2/WebAuthn standard existuje od roku 2019, ale chyběla klíčová ingredience: synchronizace klíčů mezi zařízeními. Původní model (device-bound credentials) znamenal, že ztráta telefonu = ztráta přístupu. V roce 2022 Apple, Google a Microsoft oznámily podporu pro synced passkeys — klíče se synchronizují přes iCloud Keychain, Google Password Manager nebo Microsoft Account.

V roce 2024 je podpora univerzální: Safari, Chrome, Firefox, Edge. iOS 16+, Android 14+, Windows 11, macOS Sonoma. Ekosystém je připravený.

Jak passkeys fungují technicky

Registrace: Server vygeneruje challenge a parametry (relying party ID = doména, user info, podporované algoritmy). Prohlížeč zavolá navigator.credentials.create(). OS zobrazí biometrický prompt. Po ověření se vytvoří klíčový pár, veřejný klíč + credential ID se pošlou serveru.

Přihlášení: Server pošle challenge a seznam povolených credential ID. Prohlížeč zavolá navigator.credentials.get(). OS nabídne dostupné passkeys pro danou doménu. Uživatel ověří biometrikou. Zařízení podepíše challenge privátním klíčem. Server ověří podpis.

Celý proces trvá typicky 2–3 sekundy. Žádné vyplňování formulářů, žádné kopírování kódů z SMS.

Phishing-resistant by design

Passkeys jsou vázané na doménu (origin). Pokud se uživatel dostane na phishingovou stránku fake-banka.cz místo banka.cz, prohlížeč jednoduše nenajde žádný passkey pro tuto doménu. Útok selže automaticky, bez jakéhokoliv rozhodování uživatele. To je zásadní rozdíl oproti heslům a dokonce i OTP kódům, které lze přeposílat v reálném čase.

Implementace ve webové aplikaci

Na serverové straně potřebujete WebAuthn knihovnu. V Node.js je to @simplewebauthn/server, v Javě java-webauthn-server (Yubico), v Pythonu py_webauthn. Základní flow:

  • Endpoint pro generování registration options (challenge, RP info)
  • Endpoint pro verifikaci registration response (uložení veřejného klíče)
  • Endpoint pro generování authentication options (challenge)
  • Endpoint pro verifikaci authentication response (ověření podpisu)

Na klientské straně stačí volání WebAuthn API — pár desítek řádků JavaScriptu. Žádné SDK, žádné závislosti.

Conditional UI — passkeys bez tlačítka

Novinka v roce 2024: conditional mediation. Prohlížeč automaticky nabídne passkey v autocomplete dropdown přímo v login formuláři. Uživatel nemusí klikat na „Přihlásit se passkey” — prostě klikne na nabídnutý účet v autocomplete. UX je totožný s password managerem, ale pod kapotou běží kryptografie místo hesla.

Enterprise adopce a výzvy

Pro enterprise prostředí jsou klíčové otázky: device management (co když zaměstnanec odejde?), recovery (co když ztratí všechna zařízení?) a attestation (jak ověřit, že passkey je na firemním, ne osobním zařízení?).

Řešení: kombinace synced passkeys (pro běžné uživatele) a device-bound passkeys na hardware klíčích YubiKey (pro privilegované účty). Recovery přes IT helpdesk s identity verification. Attestation metadata service (FIDO MDS) pro ověření typu authenticatoru.

Migrace z hesel — postupný přístup

Nedoporučujeme big bang. Osvědčený postup:

  1. Nabídněte passkey registraci po úspěšném přihlášení heslem
  2. Promujte passkeys v UI — „Přihlaste se rychleji bez hesla”
  3. Po dosažení kritické masy (60 %+) nastavte passkey jako default login method
  4. Heslo ponechte jako fallback, ale s přísnějším MFA

Hesla patří do minulosti

Passkeys nejsou budoucnost — jsou přítomnost. Ekosystém je v roce 2024 připravený, knihovny zralé, uživatelská zkušenost lepší než s hesly. Každá nová aplikace by měla passkeys podporovat od prvního dne. A ty existující? Začněte s optional passkey registrací. Vaši uživatelé (a váš security tým) vám poděkují.

passkeyswebauthnfido2security