2019·biometric
Cutting edge
WebAuthn / FIDO2
Криптография на устройстве, привязка к origin → unphishable.
Плюсы
- +Anti-phishing
- +Без shared secret
Минусы
- −Управление credentials
- −Recovery flow
WebAuthn — Register + Authenticate
- 1.Browser → RPPOST /register/begin
- 2.RP → BrowserPublicKeyCredentialCreationOptions
- 3.Browser → Authenticatornavigator.credentials.create(opts)
- 4.Authenticator ↺ Authenticatorgen ECDSA P-256 keypair
- 5.Authenticator → BrowsercredentialId + publicKey + attestation
- 6.Browser → RPPOST /register/finish (pub)
- 7.Browser → RPPOST /authenticate/begin
- 8.RP → Browserchallenge + allowCredentials
- 9.Browser → Authenticatornavigator.credentials.get(opts)
- 10.Authenticator ↺ Authenticatorsign(authData ‖ clientDataHash)
- 11.Authenticator → Browserassertion (signature)
- 12.Browser → RPPOST /authenticate/finish
- 13.RP ↺ RPverify ECDSA с сохранённым публичным ключом
- 14.RP → Browser200 OK
WebAuthn (ECDSA P-256, демо)
Аутентификатор симулируется в браузере через WebCrypto. Сервер хранит publicKey и сверяет наличие challenge в подписи.
Network · DevTools