A digitális világban a jelszavak évtizedek óta a belépési pontot jelentik online identitásunkhoz. Azonban a kényelemért cserébe számos biztonsági kockázatot hordoznak: könnyen ellophatók, elfelejthetők, vagy éppen túl egyszerűek ahhoz, hogy hatékonyan védjenek minket az egyre kifinomultabb kiberbűnözői támadások ellen. Az adathalászat, a szótár-támadások és a jelszavakkal való visszaélés mindennapos fenyegetéssé váltak, rávilágítva arra, hogy a jelszóalapú hitelesítés rendszere elavulttá vált. Egy új, biztonságosabb és felhasználóbarátabb megoldásra van szükség, amely képes felváltani ezt a sebezhető rendszert. Itt lép színre a WebAuthn API, a jelszómentes hitelesítés gerince, amely forradalmasíthatja az online biztonságot.
A WebAuthn nem csupán egy újabb biztonsági protokoll; egy paradigmaváltást jelent a digitális azonosításban. A FIDO2 szabványcsalád részeként, amelyet a FIDO Alliance és a W3C (World Wide Web Consortium) fejlesztett ki, a WebAuthn lehetővé teszi a webes alkalmazások számára, hogy erős, kriptográfiai alapú hitelesítést alkalmazzanak anélkül, hogy a felhasználóknak jelszavakra kellene támaszkodniuk. Ez a technológia nemcsak a biztonságot növeli drámai mértékben, hanem a felhasználói élményt is jelentősen javítja, kiküszöbölve a jelszavakkal járó frusztrációt és a gyakori jelszó-újraállítások szükségességét. A cél egy olyan jövő megteremtése, ahol a jelszavak már a múltéi, és a felhasználók egyszerűen, biztonságosan és intuitívan férhetnek hozzá online szolgáltatásaikhoz.
Mi az a WebAuthn API és hogyan illeszkedik a FIDO2 szabványba?
A WebAuthn (Web Authentication) API egy nyílt webes szabvány, amely lehetővé teszi a webalkalmazások számára, hogy hozzáférjenek a felhasználók helyi hitelesítő eszközeihez (authenticators), mint például biometrikus érzékelőkhöz (ujjlenyomat-olvasó, arcfelismerés) vagy fizikai biztonsági kulcsokhoz. Ezáltal a felhasználók jelszómentesen, vagy legalábbis erős másodlagos tényezővel hitelesíthetik magukat weboldalakon és online szolgáltatásokon. A WebAuthn a böngészőkbe épül be, és szabványosított módon kommunikál a hitelesítőkkel, biztosítva a széles körű kompatibilitást és a zökkenőmentes felhasználói élményt.
A WebAuthn az FIDO2 szabványcsalád központi eleme. A FIDO (Fast IDentity Online) Alliance egy iparági konzorcium, amelynek célja a jelszavakhoz kapcsolódó problémák megoldása egy nyílt, skálázható és átjárható hitelesítési keretrendszer létrehozásával. A FIDO2 szabvány két fő komponensből áll: a WebAuthn API-ból és a Client to Authenticator Protocol 2 (CTAP2)-ből. Míg a WebAuthn a webböngésző és a Relying Party (azaz a weboldal vagy szolgáltatás) közötti kommunikációt definiálja, addig a CTAP2 a böngésző és maga a hitelesítő eszköz közötti kommunikációért felelős. Ez a két protokoll együtt teszi lehetővé a jelszómentes, erős hitelesítést a webes környezetben.
A FIDO2 a korábbi FIDO specifikációk (U2F – Universal Second Factor és UAF – Universal Authentication Framework) továbbfejlesztése, amelyek már elindultak a jelszómentes hitelesítés útján, de a FIDO2 az első, amely teljes mértékben támogatja a jelszómentes bejelentkezést. A WebAuthn révén a webfejlesztők szabványosított módon integrálhatják a FIDO2 hitelesítést a weboldalaikba, anélkül, hogy bonyolult, specifikus hardver- vagy szoftverintegrációval kellene foglalkozniuk. Ez a megközelítés demokratizálja az erős hitelesítést, és széles körben elérhetővé teszi azt mindenki számára.
A nyilvános kulcsú kriptográfia jelenti a WebAuthn alapját. A hagyományos jelszavak egy megosztott titokra épülnek – a felhasználó tudja a jelszót, és a szerver is tudja (vagy annak hash-ét). Ezzel szemben a WebAuthn egy kulcspárra támaszkodik: egy privát kulcsra, amely soha nem hagyja el a felhasználó hitelesítő eszközét, és egy nyilvános kulcsra, amelyet a szerver tárol. A hitelesítés során a felhasználó a privát kulcsával ír alá egy kihívást, amelyet a szerver a nyilvános kulccsal ellenőriz. Ez a mechanizmus rendkívül ellenállóvá teszi a rendszert az adathalászattal és más online támadásokkal szemben, mivel a privát kulcs soha nem kerül átvitelre a hálózaton.
A WebAuthn nem csupán egy technológia, hanem egy ígéret a biztonságosabb, egyszerűbb és jelszómentes digitális jövőre, ahol az online identitásunk védelme nem jelent kompromisszumot a kényelem rovására.
Miért van szükség jelszómentes hitelesítésre? A jelszavak kihívásai
A jelszavak már régóta a digitális világ Achilles-sarka. Bár évtizedekig a legelterjedtebb hitelesítési módszernek számítottak, számtalan problémát okoznak mind a felhasználóknak, mind a szolgáltatóknak. A jelszómentes hitelesítés térnyerése nem luxus, hanem sürgető szükséglet, amelyet a jelszavak inherens gyengeségei és a digitális fenyegetések fejlődése indokol.
Az egyik legnagyobb kihívás a gyenge jelszavak használata. A felhasználók gyakran választanak könnyen megjegyezhető, de gyenge jelszavakat, mint például „123456”, „password” vagy személyes adatokhoz köthető kifejezéseket. Ezek a jelszavak rendkívül sebezhetőek a szótár-támadásokkal és a brute-force támadásokkal szemben, ahol a támadó automatizált módon próbálja meg kitalálni a helyes kombinációt. Még ha a felhasználó erős jelszót is választ, a jelszavak újrafelhasználása több weboldalon keresztül hatalmas kockázatot jelent. Ha egyetlen szolgáltatás adatbázisa kompromittálódik, a támadók ezeket a hitelesítő adatokat felhasználhatják más platformokon is, egy úgynevezett credential stuffing támadás során.
Az adathalászat (phishing) a jelszavak egyik legveszélyesebb ellensége. Az adathalász támadások során a bűnözők megtévesztő weboldalakat vagy e-maileket hoznak létre, amelyek hitelesnek tűnnek, és arra ösztönzik a felhasználókat, hogy adja meg jelszavát. Mivel a jelszavak egyszerű szöveges adatok, könnyen ellophatók, ha a felhasználó bedől egy ilyen trükknek. A WebAuthn és a nyilvános kulcsú kriptográfia ezzel szemben ellenálló az adathalászattal szemben, mivel a privát kulcs soha nem kerül átvitelre, és a hitelesítés a domainhez kötődik, így a hamisított oldalakon nem működik.
A jelszavak kezelése emellett jelentős felhasználói frusztrációt is okoz. A bonyolult jelszókövetelmények (kis- és nagybetűk, számok, speciális karakterek, minimális hossz) miatt a felhasználók nehezen jegyzik meg jelszavaikat, ami gyakori jelszó-visszaállításokhoz vezet. Ez nemcsak a felhasználó számára kellemetlen, hanem a szolgáltatók számára is adminisztratív terhet és költséget jelent. A jelszómentes hitelesítés leegyszerűsíti a bejelentkezési folyamatot, ami gyorsabb és kényelmesebb hozzáférést biztosít a felhasználók számára.
A szerveroldali biztonság is kulcsfontosságú. Még ha a felhasználó erős jelszót is választ, és nem használja újra, ha a szolgáltatás adatbázisa kompromittálódik, és a jelszavak nincsenek megfelelően hash-elve vagy sózva, azok kikerülhetnek. Bár a modern gyakorlatok magukban foglalják a jelszavak hashelését, a hash-ek ellopása továbbra is kockázatot jelent, különösen, ha a támadók rendelkeznek elegendő számítási kapacitással a hash-ek visszafejtésére. A WebAuthn esetében a szerver csak a nyilvános kulcsot tárolja, amely önmagában nem elegendő a felhasználó fiókjának kompromittálásához, még adatbázis-feltörés esetén sem.
Végül, a kétfaktoros hitelesítés (2FA), bár javít a biztonságon, gyakran továbbra is jelszóra épül mint elsődleges tényezőre. Emellett a hagyományos 2FA módszerek, mint az SMS-kódok vagy az authentikátor alkalmazásokból származó TOTP kódok, sebezhetőek lehetnek bizonyos típusú támadásokkal szemben (pl. SIM-swap támadások az SMS esetében, vagy MitM támadások TOTP esetén, ha a felhasználó nem figyelmes). A WebAuthn, mint erős, phishing-rezisztens multifaktoros hitelesítés, magasabb szintű védelmet biztosít, mivel a privát kulcs és a felhasználói ellenőrzés (PIN vagy biometria) együttesen biztosítja a hitelesítést.
A WebAuthn működési alapjai: kulcsfogalmak és mechanizmusok
A WebAuthn API komplex, mégis elegánsan egyszerű mechanizmusra épül, amelynek megértéséhez néhány kulcsfogalom tisztázása szükséges. Ezek az elemek alkotják a jelszómentes hitelesítés robusztus alapját.
Nyilvános kulcsú kriptográfia: a biztonság szíve
A nyilvános kulcsú kriptográfia (Public Key Cryptography), más néven aszimmetrikus kriptográfia, a WebAuthn biztonságának fundamentuma. Ez a rendszer két különböző, de matematikailag összekapcsolt kulcsot használ: egy privát kulcsot (private key) és egy nyilvános kulcsot (public key). A privát kulcsot a felhasználó hitelesítő eszköze generálja és tárolja, és soha nem hagyja el azt. Ez a kulcs abszolút titkos. A nyilvános kulcs ezzel szemben megosztható, és a szolgáltató (Relying Party) tárolja. Amit a privát kulccsal titkosítanak vagy aláírnak, azt csak a hozzá tartozó nyilvános kulccsal lehet visszafejteni vagy ellenőrizni, és fordítva.
Ez a mechanizmus kritikus fontosságú: a hitelesítés során a felhasználó hitelesítő eszköze a privát kulccsal „aláír” egy egyedi, szerver által generált „kihívást”. A szerver ezt az aláírást a hozzá tartozó nyilvános kulccsal ellenőrzi. Mivel a privát kulcs soha nem kerül átvitelre a hálózaton, és a kihívás minden alkalommal egyedi, a rendszer rendkívül ellenálló az adathalászattal, a lehallgatással és a visszajátszásos támadásokkal szemben.
Authentikátorok: a digitális kulcsőrzők
Az authentikátorok (vagy hitelesítő eszközök) azok a hardveres vagy szoftveres entitások, amelyek a felhasználó privát kulcsát tárolják, és a kriptográfiai műveleteket végrehajtják. Két fő típusa van:
- Platform Authenticators (platform hitelesítők): Ezek beépített, a felhasználó eszközéhez (laptop, okostelefon) integrált hitelesítők. Példák: Apple Face ID és Touch ID, Windows Hello (biometrikus érzékelők és TPM chip), Android ujjlenyomat-olvasók. Ezek a hitelesítők általában kényelmesek, mivel mindig kéznél vannak, és gyakran biometrikus adatokkal kombinálódnak a felhasználói ellenőrzéshez.
- Roaming Authenticators (roaming hitelesítők): Ezek külső, hordozható eszközök, amelyek USB-n, Bluetooth-on vagy NFC-n keresztül csatlakoznak a felhasználó eszközéhez. Példák: YubiKey, Google Titan Security Key, Ledger Nano S. Előnyük, hogy eszközfüggetlenek, és a felhasználó több eszközön is használhatja ugyanazt a kulcsot.
Mindkét típusú authentikátor a privát kulcsot biztonságosan, hardveresen védett környezetben tárolja, megakadályozva annak illetéktelen hozzáférését vagy exportálását.
Credentials (hitelesítő adatok): a kulcspár azonosítója
A WebAuthn kontextusában a credential nem maga a jelszó, hanem egy egyedi azonosító, amely a felhasználó és a Relying Party (RP) közötti hitelesítési kapcsolatot reprezentálja. Minden egyes regisztráció során az authentikátor generál egy kulcspárt, és ezzel együtt egy credential ID-t. Ez az ID egy véletlenszerűen generált bájtsorozat, amelyet a szerver tárol a felhasználó nyilvános kulcsával együtt. Amikor a felhasználó bejelentkezik, a böngésző a credential ID segítségével kéri meg az authentikátort, hogy hajtsa végre a hitelesítést. A credential ID tehát nem titkos, hanem egyfajta „felhasználónév” a kulcspár számára.
Relying Party (RP): a szolgáltató oldal
A Relying Party (RP) az a weboldal vagy online szolgáltatás, amely a felhasználót hitelesíteni kívánja a WebAuthn segítségével. Ez lehet egy banki weboldal, egy e-kereskedelmi platform vagy bármilyen más online szolgáltatás, amely felhasználói fiókokat kezel. Az RP felelős a WebAuthn API-hívások kezdeményezéséért, a kihívások generálásáért, a nyilvános kulcsok tárolásáért és az aláírások ellenőrzéséért. Az RP határozza meg a hitelesítési szabályokat és paramétereket is, például, hogy milyen típusú authentikátorok elfogadottak, vagy szükséges-e felhasználói ellenőrzés (User Verification).
User Verification (felhasználói ellenőrzés): megerősítés a felhasználótól
A User Verification (UV) az a lépés, amikor a felhasználó megerősíti szándékát a hitelesítésre. Ez általában a felhasználó biometrikus adatainak (ujjlenyomat, arcfelismerés) beolvasásával, vagy egy PIN kód megadásával történik az authentikátoron. A felhasználói ellenőrzés biztosítja, hogy még ha valaki hozzáférne is a felhasználó fizikai authentikátorához, az illetéktelen személy ne tudjon hitelesíteni anélkül, hogy a felhasználó személyes azonosítóját is ismeri. Ez egy további biztonsági réteg, amely a multifaktoros hitelesítés elveit erősíti, mivel a „valamid van” (az authentikátor) és a „valami vagy” (biometria) vagy „valamit tudsz” (PIN) tényezőket kombinálja.
Attesztáció (Attestation): a hitelesítő megbízhatóságának igazolása
Az attesztáció egy opcionális, de fontos mechanizmus a WebAuthn-ban, amely lehetővé teszi a Relying Party számára, hogy ellenőrizze az authentikátor eredetiségét és tulajdonságait a regisztráció során. Az attesztáció során az authentikátor egy speciális, kriptográfiailag aláírt nyilatkozatot küld az RP-nek, amely igazolja, hogy az authentikátor valóban egy megbízható gyártótól származik, és megfelel bizonyos biztonsági elvárásoknak. Ez segíthet az RP-nek kiszűrni a potenciálisan rosszindulatú vagy hamisított hitelesítő eszközöket. Bár az attesztáció növeli a biztonságot, implementációja bonyolultabb, és adatvédelmi aggályokat is felvethet, mivel az authentikátorok egyedi azonosítóit is felfedheti.
Ezek a kulcsfogalmak együttesen alkotják a WebAuthn robusztus és biztonságos hitelesítési keretrendszerét, amely képes felváltani a jelszavakat, és egy biztonságosabb digitális jövőt teremteni.
A WebAuthn részletes működése: regisztráció és hitelesítés

A WebAuthn API két fő műveletet támogat: a felhasználó regisztrációját (új hitelesítő adat létrehozása) és a felhasználó hitelesítését (bejelentkezés a már regisztrált hitelesítő adatokkal). Mindkét folyamat a nyilvános kulcsú kriptográfia elvein alapul, és szigorúan protokollizált lépések sorozatából áll.
1. Regisztráció (Credential Creation): az első lépés a jelszómentes világba
A regisztráció az a folyamat, amikor a felhasználó először társít egy authentikátort a fiókjához egy adott Relying Party-nál. Ez a folyamat biztosítja, hogy a szerver rendelkezzen a felhasználó nyilvános kulcsával, amelyet a későbbi bejelentkezések során használhat.
- Felhasználó kezdeményezése: A felhasználó a weboldalon (Relying Party) kiválasztja a jelszómentes regisztráció opciót, vagy egy meglévő fiókjához hozzáad egy új authentikátort.
- Relying Party (RP) kihívás generálása: Az RP generál egy egyedi, kriptográfiailag erős „kihívást” (challenge) – egy véletlenszerű bájtsorozatot. Ez a kihívás a támadások, például a visszajátszásos támadások elleni védelem alapja. Az RP ekkor elkészít egy WebAuthn API hívást a kliens (böngésző) felé, amely tartalmazza a kihívást, a felhasználó azonosítóját, a felhasználó nevét, valamint az RP saját azonosítóját (origin).
- Böngésző közvetítése: A böngésző megkapja az RP kérését, és továbbítja azt a felhasználó authentikátorának. Ezen a ponton a böngésző felkéri a felhasználót, hogy érintse meg az authentikátort, vagy hajtsa végre a felhasználói ellenőrzést (pl. ujjlenyomat, PIN).
- Authentikátor kulcspár generálása: Az authentikátor ekkor generál egy új, egyedi nyilvános/privát kulcspárt kifejezetten ehhez a Relying Party-hoz. A privát kulcs biztonságosan az authentikátoron belül marad, és soha nem hagyja el azt. A nyilvános kulcsot az authentikátor becsomagolja egy úgynevezett Attestation Objectbe, amelyet aláír a privát kulcsával. Ezen felül generál egy credential ID-t is, amely a kulcspár egyedi azonosítója.
- Válasz küldése az RP-nek: Az authentikátor a böngészőn keresztül visszaküldi az RP-nek a nyilvános kulcsot, a credential ID-t, a kihívás aláírását, valamint az attesztációs információkat (ha kérik).
- Relying Party ellenőrzése és tárolása: Az RP megkapja a választ. Először is ellenőrzi, hogy a válasz valóban az általa küldött kihívásra érkezett-e, és hogy az aláírás érvényes-e. Ezután ellenőrzi az attesztációt (ha van), hogy megbizonyosodjon az authentikátor eredetiségéről. Ha minden ellenőrzés sikeres, az RP eltárolja a felhasználóhoz tartozó nyilvános kulcsot és a credential ID-t a saját adatbázisában. Ezen a ponton a felhasználó sikeresen regisztrálta authentikátorát a fiókjához.
A regisztráció során a privát kulcs soha nem kerül átvitelre a hálózaton, ez a WebAuthn alapvető biztonsági pillére, amely megakadályozza az adathalászatot és a kulcsok ellopását.
2. Hitelesítés (Credential Assertion): a jelszómentes bejelentkezés
A hitelesítés az a folyamat, amikor a felhasználó egy már regisztrált authentikátor segítségével bejelentkezik egy weboldalra.
- Felhasználó kezdeményezése: A felhasználó a weboldalon (Relying Party) a bejelentkezés opciót választja. Előfordulhat, hogy meg kell adnia a felhasználónevét, vagy a böngésző automatikusan felajánlja a regisztrált authentikátorokat.
- Relying Party (RP) kihívás generálása: Az RP ismét generál egy új, egyedi kihívást. Ezen felül összegyűjti a felhasználóhoz korábban regisztrált összes credential ID-t, és ezeket is elküldi a böngészőnek. Ez lehetővé teszi a böngésző számára, hogy tudja, mely kulcspárokra keresse az authentikátoron.
- Böngésző közvetítése: A böngésző megkapja az RP kérését, és továbbítja azt a felhasználó authentikátorának. A böngésző ekkor felkéri a felhasználót, hogy érintse meg az authentikátort, vagy hajtsa végre a felhasználói ellenőrzést (pl. ujjlenyomat, PIN).
- Authentikátor aláírása: Az authentikátor megkeresi a megfelelő privát kulcsot a megadott credential ID-k alapján. Ha megtalálja, a privát kulccsal aláírja az RP által küldött kihívást. Ez az aláírás egy kriptográfiai bizonyíték arra, hogy a felhasználó birtokában van a privát kulcsnak.
- Válasz küldése az RP-nek: Az authentikátor a böngészőn keresztül visszaküldi az RP-nek az aláírást, a kihívást, valamint a credential ID-t, amelyikkel az aláírás történt.
- Relying Party ellenőrzése: Az RP megkapja a választ. Felhasználja a korábban eltárolt nyilvános kulcsot (amely a kapott credential ID-hez tartozik), hogy ellenőrizze az aláírást. Ha az aláírás érvényes, az RP tudja, hogy a felhasználó birtokában van a megfelelő privát kulcsnak, és sikeresen hitelesítette magát. A felhasználó ekkor bejelentkezik a fiókjába.
Ez a kihívás-válasz protokoll biztosítja a WebAuthn robusztusságát. Minden bejelentkezési kísérlet egyedi, és a privát kulcs soha nem kerül nyilvánosságra, ami rendkívül magas szintű biztonságot nyújt a hagyományos jelszavakkal szemben.
A WebAuthn komponensei: a rendszer felépítése
A WebAuthn ökoszisztéma több egymással együttműködő komponensből áll, amelyek együttesen biztosítják a jelszómentes hitelesítés zökkenőmentes és biztonságos működését. Ezek az elemek egy jól definiált interakciós modellt követnek.
WebAuthn API (JavaScript): az interfész a böngészőben
A WebAuthn API maga egy JavaScript interfész, amelyet a böngészők implementálnak. Ez az API teszi lehetővé a weboldalak (Relying Party) számára, hogy kezdeményezzék a regisztrációs és hitelesítési folyamatokat. A fejlesztők ezen az API-n keresztül kommunikálnak a felhasználó böngészőjével, amely aztán továbbítja a kéréseket az authentikátor felé. Az API olyan funkciókat tartalmaz, mint a `navigator.credentials.create()` a regisztrációhoz és a `navigator.credentials.get()` a hitelesítéshez. Ez a szabványosított felület biztosítja, hogy a WebAuthn integráció viszonylag egyszerű legyen a webfejlesztők számára, és egységesen működjön a különböző böngészőkben és platformokon.
Kliens (böngésző): a közvetítő és a felhasználói felület
A kliens, jellemzően egy modern webböngésző (pl. Chrome, Firefox, Edge, Safari), kulcsszerepet játszik a WebAuthn folyamatban. A böngésző felelős a WebAuthn API implementálásáért, a Relying Party és az authentikátor közötti kommunikáció közvetítéséért. Amikor egy WebAuthn műveletet kezdeményeznek, a böngésző kezeli a felhasználói felületet is: megjeleníti a kéréseket, például „Érintse meg a biztonsági kulcsot” vagy „Használja az ujjlenyomat-olvasót”. A böngésző biztosítja a transport layer-t is, amelyen keresztül a CTAP protokoll üzenetek cserélődnek az authentikátorral. Emellett a böngésző felelős a origin (származás) ellenőrzésért, ami kritikus az adathalászat elleni védelemben, mivel biztosítja, hogy a hitelesítés csak az eredeti, megbízható weboldalon történjen meg.
Authentikátor: a kulcsok őrzője és a kriptográfiai motor
Az authentikátor (hitelesítő eszköz) a WebAuthn ökoszisztéma hardveres vagy szoftveres magja. Ez az eszköz tárolja biztonságosan a felhasználó privát kulcsait, és végzi el a szükséges kriptográfiai műveleteket (kulcspár generálás, aláírás). Ahogy korábban említettük, lehet platform authentikátor (pl. beépített biometrikus szenzorok és biztonságos chip a készülékben) vagy roaming authentikátor (pl. USB biztonsági kulcs). Az authentikátor felelős a felhasználói ellenőrzésért (User Verification) is, ami azt jelenti, hogy a felhasználónak PIN-kódot kell megadnia, vagy biometrikus adatával kell igazolnia magát, mielőtt az authentikátor hozzáférne a privát kulcsokhoz és végrehajtaná az aláírást. Ez a réteg biztosítja, hogy még a fizikai kulcs ellopása esetén is védve legyen a felhasználó fiókja.
Relying Party (RP) szerver: a hitelesítési logikát futtató entitás
A Relying Party (RP) szerver az a háttérrendszer, amely a weboldalt vagy szolgáltatást üzemelteti. Ez a szerver felelős a WebAuthn tranzakciók szerveroldali logikájáért. Feladatai közé tartozik:
- A kihívások generálása mind a regisztrációhoz, mind a hitelesítéshez.
- A felhasználó által küldött nyilvános kulcsok és credential ID-k biztonságos tárolása az adatbázisban.
- Az authentikátor által küldött kriptográfiai aláírások ellenőrzése a tárolt nyilvános kulcsok segítségével.
- Az attesztációs információk feldolgozása (ha használják), hogy ellenőrizze az authentikátor megbízhatóságát.
- A felhasználói munkamenetek kezelése és a hozzáférés biztosítása a hitelesített felhasználók számára.
Az RP szervernek gondosan kell implementálnia a WebAuthn specifikációt, beleértve a kihívások megfelelő generálását és ellenőrzését, valamint a biztonságos tárolást, hogy elkerülje a biztonsági réseket. Számos nyelven léteznek már kész WebAuthn szerveroldali könyvtárak, amelyek megkönnyítik az integrációt.
Ez a négy komponens – az API, a kliens, az authentikátor és az RP szerver – együttesen biztosítja a WebAuthn ökoszisztéma működését. Az erős protokollok és a biztonságos hardveres elemek kombinációja teszi a WebAuthnt a jelszómentes hitelesítés egyik legígéretesebb és legbiztonságosabb megoldásává.
A FIDO2 és a WebAuthn kapcsolata: egy erősebb jövő
A FIDO2 nem csupán egy technológia, hanem egy szabványgyűjtemény, amelynek célja a jelszavakhoz kapcsolódó problémák globális megoldása. A WebAuthn ennek a szabványgyűjteménynek a sarokköve, amely a webes környezetben teszi lehetővé a jelszómentes hitelesítést. A kettő elválaszthatatlanul kapcsolódik egymáshoz, és együtt alkotnak egy erős, biztonságos és felhasználóbarát keretrendszert.
A FIDO Alliance szerepe
A FIDO Alliance egy 2012-ben alapított iparági konzorcium, amelynek tagjai között technológiai óriások, bankok, telekommunikációs cégek és kormányzati szervek is megtalálhatók. Céljuk a jelszóalapú hitelesítés gyengeségeinek kiküszöbölése egy nyílt, skálázható és átjárható hitelesítési szabvány létrehozásával. A FIDO Alliance dolgozta ki az U2F (Universal Second Factor) és az UAF (Universal Authentication Framework) protokollokat, amelyek a FIDO2 előfutárai voltak.
- U2F: Kétfaktoros hitelesítésre (2FA) készült, ahol egy fizikai biztonsági kulcs (pl. YubiKey) kiegészíti a jelszót. Ez volt az első lépés a phishing-rezisztens hitelesítés felé.
- UAF: A teljes jelszómentes hitelesítésre törekedett, főként mobil eszközökön, biometrikus azonosítással.
A FIDO2 a FIDO Alliance és a W3C (World Wide Web Consortium) együttműködésének eredménye. A FIDO Alliance a CTAP2 (Client to Authenticator Protocol 2) protokollért felelős, míg a W3C a WebAuthn API webes szabványát felügyeli. Ez a kettős megközelítés biztosítja, hogy a jelszómentes hitelesítés ne csak egyedi alkalmazásokon belül, hanem a globális weben is egységesen és biztonságosan működjön.
CTAP2: a kliens és az authentikátor közötti nyelv
A Client to Authenticator Protocol 2 (CTAP2) a FIDO2 szabvány másik fontos része. Ez a protokoll határozza meg, hogyan kommunikál a kliens (például a webböngésző vagy egy operációs rendszer) a külső vagy belső authentikátorokkal. A CTAP2 felelős az olyan alacsony szintű műveletekért, mint a kulcspárok generálása, az aláírások létrehozása, a felhasználói ellenőrzés kezelése és az attesztációs adatok továbbítása. A CTAP2 támogatja a különböző kommunikációs interfészeket, mint például az USB, Bluetooth Low Energy (BLE) és Near Field Communication (NFC), lehetővé téve a széles körű hardverkompatibilitást.
Lényegében, míg a WebAuthn a felsőbb szintű webes API-t biztosítja, addig a CTAP2 az alatta lévő „hardveres” kommunikációért felel. A WebAuthn API hívásai a böngészőn keresztül CTAP2 üzenetekké alakulnak, amelyeket az authentikátor értelmez és végrehajt. Ez a rétegzett architektúra teszi a FIDO2-t rugalmas és robusztus megoldássá.
Az átjárhatóság és a jövő
A FIDO2 és a WebAuthn szabványok egyik legnagyobb előnye az átjárhatóság. Ez azt jelenti, hogy egy FIDO2-kompatibilis authentikátorral (legyen az egy fizikai kulcs vagy egy beépített biometrikus érzékelő) a felhasználók bármely WebAuthn-kompatibilis weboldalon hitelesíthetik magukat, függetlenül attól, hogy melyik böngészőt vagy operációs rendszert használják. Ez jelentősen leegyszerűsíti a felhasználói élményt és csökkenti a szolgáltatók integrációs terheit.
A FIDO2 folyamatosan fejlődik, és a Passkeys (jelszókulcsok) megjelenése jelzi a jövő irányát. A Passkeys lényegében szinkronizált WebAuthn kulcsok, amelyek lehetővé teszik a felhasználók számára, hogy jelszómentesen jelentkezzenek be különböző eszközeiken, anélkül, hogy minden egyes eszközön külön regisztrálniuk kellene egy authentikátort. Ez tovább növeli a kényelmet, miközben fenntartja a magas szintű biztonságot. A FIDO2 és a WebAuthn együttműködése egy olyan jövőt vizionál, ahol a jelszavak teljesen eltűnnek, és helyüket egy sokkal biztonságosabb, egyszerűbb és univerzálisabb hitelesítési módszer veszi át.
Az authentikátorok típusai és alkalmazásuk
Az authentikátorok, mint a WebAuthn rendszer alapvető elemei, sokféle formában léteznek, és a felhasználói igényekhez és a biztonsági elvárásokhoz igazodva választhatók meg. Két fő kategóriájuk van, amelyek különböző előnyökkel és hátrányokkal járnak.
Platform Authenticators (platform hitelesítők)
A platform hitelesítők olyan authentikátorok, amelyek szorosan integrálódnak a felhasználó eszközébe, legyen az egy okostelefon, tablet vagy laptop. Ezek a hitelesítők kihasználják az eszköz beépített biztonsági funkcióit és biometrikus szenzorait.
- Jellemzők:
- Beépítettek: Az eszköz hardverének és szoftverének szerves részét képezik.
- Biometrikus azonosítás: Gyakran használnak ujjlenyomat-olvasót (pl. Touch ID, Windows Hello Fingerprint), arcfelismerést (pl. Face ID, Windows Hello Face) vagy PIN-kódot a felhasználói ellenőrzéshez.
- Kényelem: Mindig kéznél vannak, nem igényelnek külön hardvert.
- Hardveres biztonság: A privát kulcsokat általában egy biztonságos hardver chipben tárolják (pl. Trusted Platform Module – TPM, Secure Enclave), amely megakadályozza a kulcsok illetéktelen hozzáférését vagy exportálását.
- Eszközhöz kötött: Általában csak azon az eszközön használhatók, amelybe be vannak építve.
- Alkalmazások és példák:
- Apple Face ID és Touch ID: Az iPhone-ok és Mac-ek beépített biometrikus rendszerei, amelyek a WebAuthn-nal együttműködve jelszómentes bejelentkezést biztosítanak számos weboldalon.
- Windows Hello: A Windows operációs rendszer biometrikus hitelesítési megoldása, amely támogatja az arcfelismerést, ujjlenyomat-olvasást és PIN-kódokat. A TPM chip biztosítja a kulcsok biztonságos tárolását.
- Android biometrikus hitelesítés: Az Android készülékek ujjlenyomat-olvasói és arcfelismerő rendszerei, amelyek szintén WebAuthn-kompatibilisek.
A platform hitelesítők a felhasználók számára a legkönnyebben hozzáférhető és legkényelmesebb WebAuthn megoldást jelentik, mivel a legtöbb modern eszköz már rendelkezik a szükséges hardverrel.
Roaming Authenticators (roaming hitelesítők)
A roaming hitelesítők külső, hordozható eszközök, amelyek különböző csatlakozási módokon keresztül kommunikálnak a felhasználó eszközével. Ezeket gyakran biztonsági kulcsoknak is nevezik.
- Jellemzők:
- Hordozhatók: A felhasználó magával viheti őket, és több eszközön is használhatja.
- Eszközfüggetlenek: Nem kötődnek egy adott készülékhez, így rugalmasságot biztosítanak.
- Magas biztonság: Dedikált hardveres biztonsági elemeket tartalmaznak, amelyek ellenállnak a manipulációnak.
- Csatlakozási módok: USB (Type-A, Type-C), Bluetooth Low Energy (BLE), Near Field Communication (NFC).
- Felhasználói ellenőrzés: Egyes roaming authentikátorok beépített ujjlenyomat-olvasóval rendelkeznek, míg mások egyszerű érintéssel aktiválhatók, vagy PIN-kód megadását igénylik.
- Alkalmazások és példák:
- YubiKey (Yubico): A legismertebb és legelterjedtebb roaming authentikátor márka. Különböző formában és csatlakozási móddal kaphatók, és széles körben támogatják a FIDO2/WebAuthn szabványt.
- Google Titan Security Key: A Google saját márkájú biztonsági kulcsai, amelyek szintén FIDO2-kompatibilisek, és a Google szolgáltatásokhoz optimalizáltak.
- Ledger Nano S/X: Bár elsősorban kriptovaluta tárcaként ismertek, ezek az eszközök WebAuthn-kompatibilis biztonsági kulcsként is funkcionálhatnak.
A roaming hitelesítők ideálisak azoknak a felhasználóknak, akik magas szintű biztonságot és hordozhatóságot igényelnek, vagy több eszközön is szeretnék ugyanazt a hitelesítési módszert használni. Különösen népszerűek vállalati környezetben és a kiemelt biztonsági igényű felhasználók körében.
Melyiket válasszuk?
A választás a felhasználói preferenciáktól és a biztonsági igényektől függ. A platform hitelesítők a kényelem és az egyszerűség bajnokai, mivel a legtöbb felhasználó már rendelkezik velük. A roaming hitelesítők extra biztonsági réteget és hordozhatóságot kínálnak, ideálisak azok számára, akik hajlandóak egy dedikált eszközt magukkal hordani. Sok esetben a legjobb megoldás a kettő kombinációja: egy platform hitelesítő a mindennapi használatra, és egy roaming hitelesítő biztonsági mentésként vagy extra védelmi rétegként a kritikus fiókokhoz.
WebAuthn biztonsági előnyei: miért jobb a jelszavaknál?

A WebAuthn API és a FIDO2 szabvány a jelszómentes hitelesítés révén alapvetően javítja az online biztonságot. Számos olyan kritikus sebezhetőséget orvosol, amelyek a hagyományos jelszóalapú rendszereket sújtják. Ezek az előnyök teszik a WebAuthn-t a jövő hitelesítési megoldásává.
Adathalászat elleni ellenállás (phishing resistance)
Ez a WebAuthn egyik legfontosabb biztonsági előnye. A hagyományos jelszavakkal ellentétben, amelyek egyszerű szöveges adatok, és könnyen ellophatók hamis weboldalakon keresztül, a WebAuthn a nyilvános kulcsú kriptográfiára épül. A hitelesítés során az authentikátor kriptográfiailag aláírja a szerver által küldött kihívást, de csak akkor, ha az aláírási kérés az eredeti domainről (origin) származik. Ha egy adathalász oldal megpróbálná ellopni a felhasználó hitelesítő adatait, az authentikátor észrevenné, hogy a kérés nem az eredeti domainről érkezik, és megtagadná az aláírást. Ez megvédi a felhasználót attól, hogy véletlenül felfedje a titkos kulcsát egy hamisított webhelyen.
Man-in-the-Middle (MitM) támadások elleni védelem
A WebAuthn mechanizmusai, különösen a kihívás-válasz protokoll és az origin ellenőrzés, hatékonyan védenek a Man-in-the-Middle (MitM) támadások ellen. Mivel a hitelesítés során generált kihívás mindig egyedi, és az aláírás a privát kulcs felhasználásával történik az authentikátoron belül, egy támadó nem tudja lehallgatni és újra felhasználni a hitelesítési adatokat. Még ha egy támadó be is ékelődik a felhasználó és a szerver közé, a kriptográfiai protokollok biztosítják, hogy az átadott információk ne legyenek visszaélésre alkalmasak.
Replay attack (visszajátszásos támadás) ellenállás
Minden hitelesítési kísérlet során a Relying Party egy új, egyedi kihívást (challenge) generál. Ez a kihívás a hitelesítési válasz részét képezi, és az aláírásba is beletartozik. Amikor a szerver ellenőrzi az aláírást, nemcsak azt nézi, hogy érvényes-e az aláírás, hanem azt is, hogy a kihívás megegyezik-e azzal, amit ő küldött. Ez megakadályozza, hogy egy támadó elfogjon egy korábbi, érvényes hitelesítési választ, és később újra elküldje azt (replay attack). A rendszer garantálja, hogy minden bejelentkezési kísérlet friss és egyedi.
A credentialek (privát kulcsok) biztonsága
A WebAuthn egyik alapvető biztonsági pillére, hogy a privát kulcs soha nem hagyja el az authentikátort. Ez azt jelenti, hogy még ha a Relying Party szerver adatbázisa kompromittálódik is, a támadók nem férhetnek hozzá a felhasználók privát kulcsaihoz, mivel azok fizikailag elkülönülnek a szervertől és biztonságosan tárolódnak a felhasználó eszközén vagy fizikai kulcsán. A szerveren csak a nyilvános kulcsok vannak, amelyek önmagukban nem elegendőek a fiókok feltöréséhez. Ez alapvetően különbözik a jelszóalapú rendszerektől, ahol a szerveroldali adatszivárgás a felhasználói fiókok tömeges kompromittálódásához vezethet.
Attesztáció és megbízhatóság
Az attesztáció egy opcionális mechanizmus, amely lehetővé teszi a Relying Party számára, hogy ellenőrizze az authentikátor eredetiségét és megbízhatóságát a regisztráció során. Az attesztáció során az authentikátor egy kriptográfiailag aláírt nyilatkozatot küld, amely igazolja a gyártóját és modelljét. Ez segít az RP-nek abban, hogy csak megbízható, hitelesített eszközöket fogadjon el, és kiszűrje a potenciálisan rosszindulatú vagy hamisított authentikátorokat. Noha adatvédelmi megfontolások miatt nem mindig használják, a magas biztonsági igényű környezetekben értékes extra védelmet nyújthat.
Felhasználói ellenőrzés (User Verification)
A WebAuthn lehetővé teszi a felhasználói ellenőrzés (User Verification) megkövetelését, amely egy további biztonsági réteget ad hozzá a hitelesítési folyamathoz. Ez lehet egy biometrikus azonosítás (ujjlenyomat, arcfelismerés) vagy egy PIN-kód megadása az authentikátoron. Ez azt jelenti, hogy még ha valaki fizikailag hozzáférne is a felhasználó authentikátorához, nem tudná használni azt a felhasználó tudta és beleegyezése nélkül. Ez a „valamid van” (az authentikátor) és a „valami vagy” (biometria) vagy „valamit tudsz” (PIN) tényezők kombinációjával biztosítja a multifaktoros hitelesítést.
Ezek az előnyök együttesen teszik a WebAuthn-t egy olyan hitelesítési megoldássá, amely messze felülmúlja a hagyományos jelszavakat a biztonság, az adathalászat elleni védelem és a felhasználói adatok integritása szempontjából.
Felhasználói élmény (UX) és a WebAuthn: kényelem a biztonság mellett
A WebAuthn API nemcsak a biztonságot forradalmasítja, hanem a felhasználói élményt (UX) is jelentősen javítja. A jelszavakkal járó frusztráció és bonyolultság kiküszöbölése kulcsfontosságú a széles körű elfogadáshoz. A WebAuthn a kényelmet és az egyszerűséget ötvözi a robusztus biztonsággal.
Egyszerűsített bejelentkezési folyamat
A legkézzelfoghatóbb UX előny az egyszerűsített bejelentkezési folyamat. Ahelyett, hogy emlékezni kellene bonyolult jelszavakra, be kellene gépelni azokat, majd esetleg még egy 2FA kódot is meg kellene adni, a WebAuthn-nal a felhasználóknak gyakran csak egyetlen, intuitív lépést kell megtenniük:
- Platform authentikátorok esetén: A bejelentkezéshez elegendő lehet egy ujjlenyomat-olvasó érintése, vagy az arcfelismerés. Ez a folyamat másodpercek alatt lezajlik, és sokkal gyorsabb, mint a jelszavak begépelése.
- Roaming authentikátorok esetén: A felhasználó egyszerűen bedugja az USB kulcsot, vagy érinti az NFC-képes eszközt, majd esetleg megnyom egy gombot vagy beír egy PIN-t. Ez is sokkal gyorsabb és kevésbé hibalehetőséges, mint egy hosszú jelszó.
Ez a súrlódásmentes élmény drámaian javítja a felhasználói elégedettséget és csökkenti a bejelentkezési kudarcok számát.
Nincs több jelszófelejtés és jelszó-újraállítás
A jelszómentes hitelesítés kiküszöböli a jelszófelejtés problémáját. Mivel nincs jelszó, amelyet el lehetne felejteni, nincs szükség a frusztráló jelszó-újraállítási folyamatokra. Ez nemcsak a felhasználók számára jelent megkönnyebbülést, hanem a szolgáltatók ügyfélszolgálati terheit is csökkenti, mivel kevesebb jelszó-visszaállítási kérést kell kezelniük.
Ismerős interakciók
Sok felhasználó már hozzászokott a biometrikus azonosításhoz okostelefonján vagy laptopján. A WebAuthn ezeket az ismerős interakciókat viszi át a webes környezetbe, így a felhasználók számára a jelszómentes bejelentkezés természetesnek és intuitívnak tűnik. Nincs szükség új viselkedésminták elsajátítására, ami gyorsítja az elfogadást.
Fokozott biztonság, kevesebb aggodalom
Bár a biztonság egy technikai szempont, annak érzékelése jelentősen hozzájárul a felhasználói élményhez. Amikor a felhasználók tudják, hogy fiókjaik erősen védettek az adathalászat és a jelszólopás ellen, nagyobb nyugalmat és bizalmat éreznek az online szolgáltatások iránt. Ez a fokozott bizalom hosszú távon erősíti a felhasználói hűséget.
Az onboarding kihívásai
Noha a WebAuthn kiváló felhasználói élményt nyújt a mindennapi használat során, az onboarding (bevezetés), azaz a kezdeti regisztrációs folyamat jelenthet némi kihívást. A felhasználóknak meg kell érteniük az új hitelesítési módszer működését, és el kell fogadniuk azt. A szolgáltatóknak világos és egyszerű útmutatókat kell biztosítaniuk a regisztrációhoz, és gondoskodniuk kell arról, hogy a folyamat zökkenőmentes legyen. Az oktatás és a megfelelő tájékoztatás kulcsfontosságú a sikeres bevezetéshez.
A WebAuthn célja, hogy a biztonság ne kompromisszumot jelentsen a kényelem rovására, hanem éppen ellenkezőleg: a biztonságosabb hitelesítés egyben egyszerűbb és felhasználóbarátabb is legyen. Ez a kettős előny teszi a WebAuthn-t rendkívül vonzó megoldássá mind a felhasználók, mind a szolgáltatók számára.
Fejlesztői integráció: a WebAuthn beépítése webalkalmazásokba
A WebAuthn API implementálása egy webalkalmazásba magában foglalja a kliens- és szerveroldali logikát is. A fejlesztőknek meg kell érteniük az API működését, a biztonsági megfontolásokat, és a felhasználói élményre gyakorolt hatásokat. Bár a koncepció komplexnek tűnhet, számos eszköz és könyvtár létezik, amelyek megkönnyítik az integrációt.
Szerveroldali implementáció
A szerveroldali implementáció a WebAuthn folyamat kritikus része. A Relying Party (RP) szerver felelős a kihívások generálásáért, a válaszok ellenőrzéséért, és a nyilvános kulcsok biztonságos tárolásáért.
- Kihívások generálása: A szervernek egyedi, kriptográfiailag erős kihívásokat kell generálnia minden regisztrációs és hitelesítési kísérlethez. Ezen kihívásokat biztonságosan kell tárolni a szerver oldalon, amíg a kliens válasza meg nem érkezik, majd ellenőrizni kell, hogy a válasz a megfelelő kihívásra vonatkozik-e.
- Nyilvános kulcsok tárolása: A regisztráció során kapott nyilvános kulcsokat és credential ID-ket biztonságosan kell tárolni a felhasználó fiókjához rendelve. Fontos, hogy ezeket az adatokat titkosítva tároljuk az adatbázisban, és gondoskodjunk az adatintegritásról.
- Válaszok ellenőrzése: Ez a legösszetettebb szerveroldali feladat. A szervernek ellenőriznie kell az authentikátor által küldött aláírást a tárolt nyilvános kulccsal. Ezen felül számos más paramétert is ellenőrizni kell a WebAuthn specifikáció szerint, mint például az origin, a kihívás, a felhasználói azonosító, és a counter érték (amely a visszajátszásos támadások ellen véd).
- Könyvtárak és keretrendszerek: A WebAuthn szerveroldali logika implementálása nulláról bonyolult lehet. Szerencsére számos nyelven (Java, Python, Node.js, C#, PHP, Go, Ruby) léteznek már megbízható, nyílt forráskódú vagy kereskedelmi könyvtárak, amelyek absztrahálják ezt a komplexitást. Ezek a könyvtárak kezelik a kriptográfiai ellenőrzéseket és a specifikációval való kompatibilitást, jelentősen felgyorsítva a fejlesztési folyamatot.
Kliensoldali implementáció (JavaScript)
A kliensoldali implementáció a böngészőben futó JavaScript kódot jelenti, amely a WebAuthn API-n keresztül kommunikál az authentikátorral.
- API hívások: A `navigator.credentials.create()` (regisztrációhoz) és `navigator.credentials.get()` (hitelesítéshez) metódusok a kulcsfontosságú API hívások. Ezeket kell meghívni a megfelelő paraméterekkel, amelyeket a szerver generál (pl. a kihívás).
- Felhasználói felület: A kliensoldali kód felelős a felhasználói felület elemeinek megjelenítéséért is, amelyek elindítják a WebAuthn folyamatot (pl. „Jelszómentes bejelentkezés” gomb). Emellett kezelnie kell az API hívások válaszait és a lehetséges hibákat, megfelelő visszajelzést adva a felhasználónak.
- Böngészőkompatibilitás: Fontos ellenőrizni a böngésző WebAuthn támogatását (`window.PublicKeyCredential` objektum megléte), és biztosítani kell a fallback mechanizmusokat az olyan böngészők vagy platformok számára, amelyek még nem támogatják teljesen a WebAuthn-t.
Fallback mechanizmusok és felhasználói migráció
Mivel a WebAuthn még nem univerzálisan elterjedt, elengedhetetlen a fallback mechanizmusok biztosítása. Ez azt jelenti, hogy ha egy felhasználó böngészője vagy eszköze nem támogatja a WebAuthn-t, vagy ha nem regisztrált authentikátort, akkor továbbra is be tudjon jelentkezni egy alternatív módszerrel (pl. jelszóval + 2FA-val). A felhasználói migráció is kulcsfontosságú: hogyan lehet a meglévő, jelszóalapú fiókokat átállítani WebAuthn alapú hitelesítésre? A szolgáltatóknak fokozatosan kell bevezetniük a WebAuthn-t, lehetővé téve a felhasználók számára, hogy fokozatosan térjenek át az új módszerre, miközben a régi módszerek is működőképesek maradnak.
Több authentikátor kezelése és fiók-helyreállítás
A fejlesztőknek meg kell fontolniuk, hogyan kezeljék, ha egy felhasználó több authentikátort is regisztrál egy fiókhoz. Ez növeli a rugalmasságot és a biztonságot (ha az egyik elveszik, a másik még használható). Ugyanakkor gondoskodni kell egy fiók-helyreállítási stratégiáról is arra az esetre, ha a felhasználó elveszíti az összes regisztrált authentikátorát. Ez a folyamat rendkívül kritikus és biztonságosnak kell lennie, hogy megakadályozza az illetéktelen hozzáférést, miközben lehetővé teszi a jogos felhasználó számára a hozzáférést.
A WebAuthn integrációja tehát alapos tervezést és megértést igényel, de a hosszú távú biztonsági és UX előnyök messze felülmúlják a kezdeti befektetést. A szabvány érettsége és a növekvő támogatás révén egyre könnyebbé válik a bevezetése.
Passkeys: a WebAuthn jövője és a valóban jelszómentes élmény
A Passkeys (jelszókulcsok) képviselik a WebAuthn és a jelszómentes hitelesítés következő nagy lépését. Bár a WebAuthn önmagában is jelentős előrelépés, a Passkeys célja, hogy a felhasználói élményt még zökkenőmentesebbé és valóban platformfüggetlenné tegye, kiküszöbölve a korábbi korlátokat.
Mi az a Passkey?
A Passkey lényegében egy szinkronizált WebAuthn credential. Eddig minden WebAuthn regisztráció egy adott eszközön (platform authentikátoron) vagy fizikai kulcson (roaming authentikátoron) tárolt egy privát kulcsot. Ha a felhasználó egy másik eszközön akart bejelentkezni, vagy elvesztette az eredeti authentikátorát, az problémát jelentett. A Passkeys ezt a problémát oldja meg azáltal, hogy lehetővé teszi a WebAuthn credentialek (azaz a privát kulcsok) biztonságos szinkronizálását a felhasználó eszközei között.
Ez a szinkronizáció a felhőn keresztül történik (pl. iCloud Keychain, Google Password Manager, Microsoft Authenticator), de a privát kulcsok továbbra is végponttól végpontig titkosítva maradnak. Ez azt jelenti, hogy még a felhőszolgáltató sem férhet hozzá a kulcsokhoz. Amikor a felhasználó regisztrál egy Passkey-t egy eszközön, az automatikusan elérhetővé válik minden más, ugyanazon fiókkal bejelentkezett eszközön.
A Passkeys előnyei
- Valóban jelszómentes élmény: A felhasználóknak nem kell többé jelszavakat megjegyezniük vagy authentikátorokat regisztrálniuk minden egyes eszközön. Egyszerűen kiválaszthatják a „Bejelentkezés Passkey-vel” opciót, majd biometrikus azonosítással vagy PIN-kóddal igazolják magukat az eszközükön.
- Eszközök közötti szinkronizáció: Ha a felhasználó vesz egy új telefont, a Passkeys automatikusan megjelennek rajta, így azonnal bejelentkezhet a szolgáltatásokba. Nincs szükség újraregisztrációra vagy bonyolult beállításokra.
- Fiók-helyreállítás: Mivel a kulcsok szinkronizálva vannak, az elveszett eszközök miatti fiók-helyreállítás sokkal egyszerűbbé válik. Ha egy felhasználó elveszíti az összes eszközét, a felhőszolgáltató által biztosított helyreállítási mechanizmusokkal (pl. biztonsági kódok, visszaállítási folyamatok) visszaállíthatja a Passkey-jeit.
- Phishing-rezisztens és biztonságos: A Passkeys továbbra is a WebAuthn alapjain működnek, így megőrzik az adathalászat elleni ellenállást és a nyilvános kulcsú kriptográfia által nyújtott magas szintű biztonságot. A privát kulcsok soha nem hagyják el a biztonságos enklávét, és csak akkor kerülnek felhasználásra, ha a felhasználó kifejezetten engedélyezi.
- Egyszerűbb onboarding: A fejlesztők számára az onboarding is egyszerűbbé válik, mivel a felhasználók már rendelkezhetnek Passkeys-szel, és nem kell külön authentikátort regisztrálniuk.
Hogyan működnek a Passkeys?
Amikor egy felhasználó regisztrál egy Passkey-t egy weboldalon (Relying Party), az authentikátor (pl. a telefon platform authentikátora) létrehozza a kulcspárt. A privát kulcsot nemcsak helyben tárolja, hanem biztonságosan, titkosítva feltölti a felhasználó felhőbeli jelszókezelőjébe (pl. Google Password Manager). Amikor a felhasználó egy másik eszközön szeretne bejelentkezni ugyanarra a weboldalra, a böngésző felajánlja a Passkey használatát. A felhasználó ekkor biometrikus azonosítással vagy PIN-nel igazolja magát az aktuális eszközön, és az eszköz lekéri a Passkey-t a felhőből (ha még nincs helyben). A hitelesítés ezután a standard WebAuthn protokoll szerint történik.
A Passkeys a Cross-Device Authentication (eszközök közötti hitelesítés) koncepciójára is épül. Ha a felhasználó egy olyan eszközön szeretne bejelentkezni, amelyen nincs helyi Passkey, vagy amely nem támogatja a Passkey-t, a Passkey-t tároló eszközt (pl. telefonját) használhatja a bejelentkezés megerősítésére egy QR-kód szkennelésével vagy Bluetooth kapcsolaton keresztül.
A Passkeys széles körű iparági támogatást élvez, az Apple, a Google és a Microsoft is aktívan fejleszti és implementálja. Ez a technológia jelenti a valóban jelszómentes jövő kulcsát, ahol a biztonság és a kényelem kéz a kézben járnak, és a felhasználók végre búcsút inthetnek a jelszavaknak.
Kihívások és korlátok a WebAuthn bevezetésében

Bár a WebAuthn API és a jelszómentes hitelesítés számos előnnyel jár, bevezetése nem mentes a kihívásoktól és korlátoktól. Ezeket figyelembe kell venni a sikeres adoptáció és implementáció érdekében.
Adopciós ráta és felhasználói edukáció
A legjelentősebb kihívás az adopciós ráta. A felhasználók évtizedek óta hozzászoktak a jelszavakhoz, és az új technológiák bevezetése mindig igényel némi edukációt és időt. Sokan idegenkedhetnek az új módszerektől, vagy nem értik azok működését és előnyeit. A szolgáltatóknak proaktívan kell kommunikálniuk a WebAuthn előnyeiről, és egyszerű, érthető útmutatókat kell biztosítaniuk a regisztrációhoz és a használathoz. Az elavult eszközpark is lassíthatja az elfogadást, mivel nem minden régi eszköz támogatja a WebAuthn-t vagy a szükséges hardveres biztonsági elemeket.
Fiók-helyreállítási (account recovery) komplexitás
A jelszómentes hitelesítés egyik legnagyobb kihívása a fiók-helyreállítás. Ha egy felhasználó elveszíti az összes regisztrált authentikátorát (pl. elveszik a telefonja és a biztonsági kulcsa is), vagy ha az authentikátor tönkremegy, hogyan szerezheti vissza a fiókjához való hozzáférést? A hagyományos jelszó-visszaállítási módszerek (pl. e-mailben küldött link) nem alkalmazhatók, mivel azok sebezhetőek lehetnek. A szolgáltatóknak robusztus, mégis biztonságos helyreállítási mechanizmusokat kell kidolgozniuk, amelyek gyakran magukban foglalják a személyazonosság ellenőrzését (pl. személyi igazolvány feltöltése, videóhívás az ügyfélszolgálattal), ami időigényes és súrlódást okozhat a felhasználói élményben.
Hardverfüggőség (egyes típusoknál)
Bár a platform authentikátorok egyre elterjedtebbek, a roaming authentikátorok (fizikai biztonsági kulcsok) használata hardverfüggőséget jelent. A felhasználóknak be kell szerezniük és magukkal kell hordozniuk ezeket az eszközöket. Ez extra költséget és egy újabb tárgyat jelent, amit el lehet veszíteni. Noha a Passkeys enyhíti ezt a problémát a szinkronizációval, a kezdeti bevezetés során ez még akadályt jelenthet.
Fejlesztői integrációs komplexitás
Ahogy azt korábban említettük, a WebAuthn implementációja a szerveroldalon jelentős technikai tudást és odafigyelést igényel. A specifikáció részletes, és a helyes implementáció kritikus a biztonság szempontjából. Bár léteznek könyvtárak, a fejlesztőknek meg kell érteniük a mögöttes elveket és a lehetséges biztonsági buktatókat. A kompatibilitás biztosítása a különböző böngészők, operációs rendszerek és authentikátorok között is kihívást jelenthet.
Adatvédelmi aggályok (attesztáció)
Az attesztáció, bár növeli a biztonságot, adatvédelmi aggályokat is felvethet. Az attesztáció során az authentikátor információkat küld a gyártójáról és modelljéről, sőt, egyes esetekben akár egyedi azonosítókat is. Ez lehetővé teheti a felhasználók nyomon követését vagy az authentikátorok globális azonosítását. A szolgáltatóknak gondosan mérlegelniük kell az attesztáció használatának előnyeit és hátrányait az adatvédelmi szempontok figyelembevételével, és sok esetben az attesztációt elhagyják, vagy anonimizált formában használják.
Jogszabályi és szabályozási környezet
A WebAuthn bevezetése új kérdéseket vet fel a jogszabályi és szabályozási környezetben is, különösen a pénzügyi szektorban vagy az egészségügyben, ahol szigorú hitelesítési szabványok vannak érvényben. Bizonyos esetekben szükség lehet a szabályozások frissítésére, hogy azok megfelelően támogassák a WebAuthn-t, és elismerjék annak biztonsági szintjét.
Ezek a kihívások nem leküzdhetetlenek, de figyelmet és proaktív megközelítést igényelnek a szolgáltatóktól és a technológiai iparágtól. A WebAuthn és a Passkeys folyamatos fejlődése azonban azt mutatja, hogy ezek a korlátok fokozatosan enyhülnek, és a jelszómentes jövő egyre közelebb kerül.
Összehasonlítás más hitelesítési módszerekkel: hol a helye a WebAuthn-nak?
A WebAuthn nem az egyetlen alternatívája a jelszavaknak, de számos szempontból felülmúlja a legtöbb más hitelesítési módszert, különösen a biztonság és a felhasználói élmény kombinációját tekintve.
WebAuthn vs. SMS OTP (Egyszeri jelszó SMS-ben)
Jellemző | SMS OTP | WebAuthn |
---|---|---|
Biztonság | Alacsonyabb. Sebezhető SIM-swap támadásokkal, lehallgatással, és az SMS-ek nem védettek adathalászat ellen. | Magas. Phishing-rezisztens, MitM-rezisztens, replay attack-rezisztens. Privát kulcs sosem hagyja el az authentikátort. |
Felhasználói élmény | Kényelmes, de lassú lehet (SMS megérkezése), és a kód begépelése hibalehetőséges. | Rendkívül kényelmes és gyors (egy érintés/biometria). Nincs kód begépelés. |
Hardverfüggőség | Mobiltelefon és aktív SIM kártya szükséges. | Platform authentikátor (beépített) vagy roaming authentikátor (fizikai kulcs) szükséges. |
Adathalászat elleni védelem | Nincs. Az SMS kód könnyen ellopható, ha a felhasználó adathalász oldalra írja be. | Kiváló. A hitelesítés az originhez kötődik, így hamis oldalon nem működik. |
Az SMS OTP a legalacsonyabb biztonsági szintet képviseli a 2FA módszerek között, és egyre inkább elavulttá válik a WebAuthn mellett.
WebAuthn vs. Authentikátor appok (TOTP – Time-based One-Time Password)
Jellemző | TOTP app (pl. Google Authenticator) | WebAuthn |
---|---|---|
Biztonság | Közepes-magas. Erősebb az SMS-nél, de sebezhető MitM vagy social engineering támadásokkal, ha a felhasználó bedől egy adathalász oldalnak és begépeli a kódot. | Magas. Phishing-rezisztens, MitM-rezisztens, replay attack-rezisztens. Privát kulcs sosem hagyja el az authentikátort. |
Felhasználói élmény | Jó. A kód gyorsan generálódik, de át kell váltani az alkalmazás és a böngésző között, és be kell gépelni a kódot. | Rendkívül kényelmes és gyors (egy érintés/biometria). Nincs kód begépelés. |
Hardverfüggőség | Okostelefon szükséges az alkalmazáshoz. | Platform authentikátor vagy roaming authentikátor szükséges. |
Adathalászat elleni védelem | Nincs. Ha a felhasználó egy adathalász oldalra írja be a TOTP kódot, az felhasználható. | Kiváló. A hitelesítés az originhez kötődik, így hamis oldalon nem működik. |
A TOTP appok népszerűek, de a WebAuthn biztonsági előnye abban rejlik, hogy a felhasználó nem tudja véletlenül sem megosztani a titkos kulcsát egy adathalász oldallal, mivel a hitelesítés a domainhez kötődik.
WebAuthn vs. Hagyományos hardver tokenek (pl. RSA SecurID)
Jellemző | Hagyományos hardver token | WebAuthn |
---|---|---|
Biztonság | Magas. Különálló eszköz, de a generált kód továbbra is beírható adathalász oldalon. | Magas. Phishing-rezisztens és a kulcs sosem hagyja el az eszközt. |
Felhasználói élmény | Közepes. Külön eszközt kell magaddal hordani, be kell írni a kódot. | Kényelmes. Beépített authentikátorok esetén nincs extra eszköz, fizikai kulcsok esetén is egyszerűbb interakció. |
Hardverfüggőség | Dedikált hardver token szükséges. | Platform authentikátor vagy roaming authentikátor szükséges. |
Adathalászat elleni védelem | Nincs. A token által generált kód adathalász oldalon is felhasználható. | Kiváló. A hitelesítés az originhez kötődik, így hamis oldalon nem működik. |
A WebAuthn fizikai kulcsok (roaming authentikátorok) hasonló biztonsági szintet nyújtanak, de sokkal jobb felhasználói élményt és adathalászat elleni védelmet biztosítanak.
A WebAuthn, különösen a Passkeys-szel kombinálva, a legmagasabb szintű biztonságot kínálja a széles körben elérhető hitelesítési módszerek közül, miközben a legkényelmesebb felhasználói élményt nyújtja. Ez a kombináció teszi a WebAuthn-t a jövő standardjává a jelszómentes hitelesítésben.
A jelszómentes jövő: mikor érkezik el a teljes paradigmaváltás?
A WebAuthn API és a Passkeys megjelenése nemcsak technikai fejlesztést jelent, hanem egy paradigmaváltást is a digitális identitás és biztonság terén. A jelszómentes jövő már nem sci-fi, hanem egyre inkább valósággá válik, de a teljes átállás még időbe telik.
A jelenlegi állapot és a növekedés
A WebAuthn már széles körben támogatott a modern webböngészőkben (Chrome, Firefox, Edge, Safari) és operációs rendszerekben (Windows, macOS, Android, iOS). Számos nagyvállalat, mint a Google, Microsoft és Apple aktívan támogatja és implementálja a FIDO2 szabványokat, beleértve a Passkeys-t is. Ez a széles körű iparági támogatás kulcsfontosságú az adoptáció szempontjából. Egyre több weboldal és szolgáltatás kínál WebAuthn alapú bejelentkezést, akár jelszómentes, akár kétfaktoros hitelesítési opcióként.
Az elmúlt években jelentősen nőtt a platform authentikátorok elterjedtsége is. A modern okostelefonok, tabletek és laptopok szinte kivétel nélkül rendelkeznek biometrikus érzékelőkkel és biztonságos hardverchipekkel, amelyek WebAuthn-kompatibilisek. Ez azt jelenti, hogy a felhasználók nagy része már rendelkezik a jelszómentes hitelesítéshez szükséges eszközzel, anélkül, hogy külön hardvert kellene vásárolnia.
A Passkeys mint gyorsító tényező
A Passkeys bevezetése várhatóan jelentősen felgyorsítja a jelszómentes jövő eljövetelét. Az eszközök közötti szinkronizáció és a könnyített fiók-helyreállítás megszünteti a WebAuthn korábbi korlátainak jelentős részét. Amikor a felhasználók egyszerűen, automatikusan és biztonságosan jelentkezhetnek be minden eszközükön anélkül, hogy egyetlen jelszóra is emlékezniük kellene, az áttérés sokkal vonzóbbá válik. Az Apple, Google és Microsoft által nyújtott natív Passkeys támogatás beépülése az operációs rendszerekbe alapvetően változtatja meg a felhasználói elvárásokat.
Mikor érkezik el a teljes paradigmaváltás?
A „teljes paradigmaváltás” valószínűleg egy fokozatos folyamat lesz, nem pedig egy hirtelen esemény.
- Rövid távon (1-3 év): A WebAuthn és a Passkeys egyre elterjedtebbé válnak, mint preferált hitelesítési módszer, különösen az új szolgáltatások és a technológiailag érettebb felhasználói bázis körében. A jelszavak még mindig jelen lesznek, de egyre inkább egy fallback mechanizmusként funkcionálnak.
- Közép távon (3-7 év): A legtöbb online szolgáltatás felajánlja majd a WebAuthn/Passkeys alapú bejelentkezést. A felhasználók nagy része aktívan használni fogja ezt a módszert. A jelszavak használata jelentősen csökken, és a szolgáltatók egyre inkább ösztönözni fogják a jelszómentes átállást. Az oktatás és a tudatosság jelentősen nő.
- Hosszú távon (7+ év): A jelszavak szinte teljesen eltűnnek a mindennapi online interakciókból. Előfordulhat, hogy csak nagyon speciális, örökölt rendszerekben maradnak fenn, vagy ritka fiók-helyreállítási esetekben. A jelszómentes hitelesítés lesz az alapértelmezett és elvárt módszer.
A teljes paradigmaváltás sebességét befolyásolja a felhasználói edukáció, a fejlesztői közösség adoptációja, a szolgáltatók befektetései az integrációba, valamint a jogszabályi és szabályozási környezet fejlődése. Azonban az irány egyértelmű: a jelszavak kora lejár, és a WebAuthn API által meghajtott jelszómentes hitelesítés veszi át a vezető szerepet, biztonságosabbá és egyszerűbbé téve online életünket.