Hesla představují dlouhodobý problém. Je všeobecně známo, že značná část uživatelů běžně používá snadno odhadnutelná a slabá hesla. I když se tomu vyhneme, zapamatování složitých hesel se stává náročným úkolem.
Znepokojující skutečností je, že ani silná hesla s komplexními kombinacemi nejsou plně chráněna před phishingem a podvody. Dočasným řešením se staly správci hesel, ale ani ty nejsou bez nedostatků a zranitelností.
Na obzoru se však rýsuje nadějná alternativa: Po téměř desetiletí příprav jsou přístupové klíče připraveny k revoluci v oblasti digitálního zabezpečení. Následující text shrnuje klíčové informace o tom, co přístupové klíče jsou, jak mohou změnit způsob, jakým se ověřujeme v digitálním prostoru, a jaký to bude mít dopad na vaši spotřebitelskou aplikaci.
Co jsou to přístupové klíče?
Přístupový klíč nahrazuje tradiční kombinaci uživatelského jména a hesla a nabízí bezpečnější a jednodušší metodu přihlašování do online prostředí. Hlavní výhoda přístupových klíčů spočívá v jejich využití kryptografie s veřejným klíčem. Bez nutnosti hlubšího zkoumání technických detailů – při každém přihlášení vaše zařízení obdrží unikátní přihlašovací údaje.
Tento postup minimalizuje riziko, že by útočníci získali vaše citlivé informace. Tento průlom je výsledkem snahy FIDO Alliance, konsorcia významných technologických společností jako Apple, Google, Microsoft a dalších, které si uvědomily naléhavou potřebu vytvořit bezpečnější způsob ověřování.
Jak fungují přístupové klíče?
Přístupové klíče spadají pod systém Web Authentication (WebAuthn). Tento systém využívá kryptografii s veřejným klíčem, což je osvědčený postup, který se používá na různých platformách pro bezpečné zasílání zpráv a provádění plateb.
Následuje stručný popis principu fungování:
- Veřejný a soukromý klíč: Při založení účtu se vygenerují dva klíče. Veřejný klíč, který je uložen na serverech dané služby, není tajný. Naproti tomu soukromý klíč zůstává uložen v bezpečí ve vašem zařízení.
- Proces autentizace: Při přihlašování služba využívá váš veřejný klíč k ověření vašeho zařízení. Soukromý klíč ve vašem zařízení na tuto výzvu odpoví, aniž by odhalil jakékoliv citlivé údaje. Tím je zajištěno bezpečné ověření, odolné proti hackerským útokům.
Pro uživatele je celý proces převážně skrytý. Jediné, s čím se setkáte, je jednoduchá výzva od zařízení nebo prohlížeče, abyste zadali PIN nebo provedli biometrické ověření, jako je FaceID nebo TouchID.
Přístupové klíče mají další úroveň, která synchronizuje tyto klíče mezi cloudovými službami velkých technologických společností (Apple, Google, Microsoft). Tato významná vlastnost řeší problém v uživatelském prostředí a umožňuje bezproblémové přepínání mezi zařízeními bez nutnosti opakované registrace klíčů, což bylo považováno za zásadní překážku v širším přijetí standardu FIDO2.
Vzhledem k tomu, že přístupové klíče ze své podstaty zahrnují více faktorů, splňují definici vícefaktorové autentizace (MFA), konkrétně splňují následující:
- Faktor vlastnictví (něco, co máte) – Uživatel vlastní zařízení, které obsahuje soukromý klíč.
- Faktor inherence nebo faktor znalostí – Biometrické údaje uživatele (FaceID, Touch ID, otisk prstu) nebo PIN kód zařízení.
Díky těmto vlastnostem představují přístupové klíče platný jediný ověřovací faktor pro přihlašování nebo doplňují další faktory v situacích, které vyžadují zvýšenou úroveň autentizace. Podívejte se na tuto demonstraci přístupových klíčů pro praktickou ukázku jejich implementace.
Kompatibilita zařízení
V současnosti probíhá vývoj funkcí pro přístupové klíče mezi různými platformami. Zařízení Apple s iOS a macOS podporují přístupové klíče, stejně tak jako zařízení Android od Google. I Microsoft pracuje na vylepšení podpory přístupových klíčů a brzy se očekávají významné aktualizace v této oblasti.
Zde naleznete aktuální seznam podporovaných zařízení.
Jak začít implementovat přístupové klíče?
Zavedení přístupových klíčů může být poměrně jednoduché za předpokladu, že máte k dispozici nezbytnou infrastrukturu. Klíčovým prvkem vaší architektury je back-endová služba nebo server WebAuthn, která poskytuje back-endová API pro správu celého životního cyklu přístupových klíčů.
Po zprovoznění služby WebAuthn je potřeba získat přístup k sadám SDK a klientským knihovnám pro provedení registrace a ověření na straně klienta. Dobrou zprávou je, že v současné době existuje mnoho snadno dostupných klientských knihoven, které mohou tento proces usnadnit. Například společnost Authsignal nabízí následující sady SDK:
- Javascript SDK pro přístupové klíče
- React Native SDK pro přístupové klíče
- iOS SDK pro přístupové klíče
- Android SDK pro přístupové klíče
Je nutné si uvědomit, že technická integrace představuje pouze jednu část komplexní implementace. Měly by být dobře pochopeny aspekty uživatelského prostředí a bezpečnosti. Úvahy týkající se implementace přístupových klíčů jsou detailně popsány v příspěvku na blogu.
Přístupové klíče – budoucnost je tady
Nacházíme se v zajímavé fázi rychlého vývoje technologie přístupových klíčů. Moderní prohlížeče a zařízení, zejména v ekosystému Apple a Android, již široce podporují přístupové klíče a běžné spotřebitelské aplikace postupně zavádějí funkce založené na přístupových klíčích (například Kayak, TikTok). Kromě toho se technická integrace stala jednodušší díky hotovým řešením pro přístupové klíče, jako je Authsignal, které nabízí všechny potřebné komponenty, včetně back-endové služby WebAuthn a klientských SDK.
Pro vaši aplikaci by neměly existovat žádné zásadní důvody nebo překážky, které by bránily v přijetí přístupových klíčů jako klíčové součásti interakce se zákazníky. Přístupové klíče nabízí bezproblémové uživatelské prostředí a především vysokou úroveň zabezpečení.