SlideShare a Scribd company logo
W3C Web Authentication
(a.k.a. FIDO 2.0)
@nov
#idcon vol.20 - またの名を #fidcon
https://idcon.org
Overview
FIDO Authenticator
User Agent
End-User Device
FIDO Authenticator
FIDO Client
Relying Party
Web Apps
FIDO Authenticator
Metadata
FIDO Server
FIDO の基本的な流れ
❖ Registration と Authentication の2フェーズ
❖ Registration
❖ FIDO Authenticator 内で鍵ペアを生成し公開鍵を FIDO Server に登録
❖ Authentication
❖ 登録済の鍵を持つ FIDO Authenticator でローカル認証
❖ FIDO Assertion を FIDO Server に送ってリモート認証
Registration
User Agent
End-User Device
FIDO Authenticator
FIDO Client
Relying Party
Web Apps
FIDO Authenticator
Metadata
FIDO Server
Registration
User Agent
End-User Device
FIDO Authenticator
FIDO Client
Relying Party
Web Apps
FIDO Authenticator
Metadata
FIDO Server
Init
Reg. Request
Registration
User Agent
End-User Device
FIDO Authenticator
FIDO Client
Relying Party
Web Apps
FIDO Authenticator
Metadata
FIDO Server
init
Register Request
Registration
User Agent
End-User Device
FIDO Authenticator
FIDO Client
Relying Party
Web Apps
FIDO Authenticator
Metadata
FIDO Server
init
Reg. Request
Select Authenticator
&
Authenticate
Registration
User Agent
End-User Device
FIDO Authenticator
FIDO Client
Relying Party
Web Apps
FIDO Authenticator
Metadata
FIDO Server
init
Reg. Request
Select Authenticator
&
Authenticate
Key Generation
Registration
User Agent
End-User Device
FIDO Authenticator
FIDO Client
Relying Party
Web Apps
FIDO Authenticator
Metadata
FIDO Server
init
Reg. Request
AttestationAuth
Key Generation
Registration
User Agent
End-User Device
FIDO Authenticator
FIDO Client
Relying Party
Web Apps
FIDO Authenticator
Metadata
FIDO Server
init
Reg. Request
Reg. Response
AttestationAuth
Key Generation
Registration
User Agent
End-User Device
FIDO Authenticator
FIDO Client
Relying Party
Web Apps
FIDO Authenticator
Metadata
FIDO Server
init
Reg. Request
Select Authenticator
&
Authenticate
Reg. Response
Registration
User Agent
End-User Device
FIDO Authenticator
FIDO Client
Relying Party
Web Apps
FIDO Authenticator
Metadata
FIDO Server
init
Reg. Request
Reg. Response
Verify Authenticator
Key Generation
AttestationAuth
Authentication
User Agent
End-User Device
FIDO Authenticator
FIDO Client
Relying Party
Web Apps
FIDO Authenticator
Metadata
FIDO Server
Authentication
User Agent
End-User Device
FIDO Authenticator
FIDO Client
Relying Party
Web Apps
FIDO Authenticator
Metadata
FIDO Server
Init
Auth Request
Authentication
User Agent
End-User Device
FIDO Authenticator
FIDO Client
Relying Party
Web Apps
FIDO Authenticator
Metadata
FIDO Server
Init
Auth Request
Authentication
User Agent
End-User Device
FIDO Authenticator
FIDO Client
Relying Party
Web Apps
FIDO Authenticator
Metadata
FIDO Server
Init
Auth Request
AssertionAuth
Fetch Key
Authentication
User Agent
End-User Device
FIDO Authenticator
FIDO Client
Relying Party
Web Apps
FIDO Authenticator
Metadata
FIDO Server
Auth Response
Init
Auth Request
AssertionAuth
Authentication
User Agent
End-User Device
FIDO Authenticator
FIDO Client
Relying Party
Web Apps
FIDO Authenticator
Metadata
FIDO Server
Authenticate
Auth Response
Init
Auth Request
❖ Web AuthN 仕様的には (一部) 考慮されて
いるように見えるが、現状実装はなし。
❖ まだ解決すべき課題が残っている、らしい。
❖ 詳細は後の関水さんの発表で。
❖ Chrome, FireFox, Edge が実装済。
❖ WebKit も実装は開始している痕跡有。
❖ この発表ではこちらを扱う。
W3C Web Authentication
https://www.w3.org/TR/webauthn
W3C Web Authentication
❖ 対象は Browser, FIDO Authenticator, FIDO Server
❖ FIDO Server 側の処理については後ほど倉林くんから
❖ この発表では JS API の話をメインに
❖ Browser and/or FIDO Authenticator 作る人は自分で頑張れ (!?)
❖ JS API Interface は W3C Credential Management API (*1) ベース
❖ “public-key” という Credential Type を追加定義
(*1) Credential Management API については #idcon vol.23 参照
https://web-authn.self-issued.app/u2f.js
https://web-authn.self-issued.app/u2f.js
https://web-authn.self-issued.app/u2f.js
※ 現状利用する鍵を指定する必要あり。
allowCredentials 必須 = U2F 相当
(chrome v68.0.3432.3)
open "Google Chrome (dev).app” --args 
--enable-features=WebAuthenticationCtap2
CTAP2 Authenticators?
FIDO Attestation & Assertion
FIDO Attestation
(Registration Response)
URL-safe Base64 Encoded JSON
URL-safe Base64 Encoded CBOR Obj
※ CBOR については @ritou より
Decoded Attestation Object
authData contains..
Name Length (in bytes) Description
rpIdHash 32 SHA-256 hash of the RP ID associated with the credential.
flags 1
Flags (bit 0 is the least significant bit):
• Bit 0: User Present (UP) result.
• Bit 1: Reserved for future use (RFU1).
• Bit 2: User Verified (UV) result.
• Bits 3-5: Reserved for future use (RFU2).
• Bit 6: Attested credential data included (AT).
• Bit 7: Extension data included (ED).
signCount 4 Signature counter, 32-bit unsigned big-endian integer.
attestedCredentialData variable (if present)
attested credential data (if present). See §6.3.1 Attested credential
data for details. Its length depends on the length of the credential ID
and credential public key being attested.
extensions variable (if present)
Extension-defined authenticator data. This is a CBOR [RFC7049]
map with extension identifiers as keys, and authenticator extension
outputs as values. See §9 WebAuthn Extensions for details.
attestedCredentialData contains..
Name Length (in bytes) Description
aaguid 16 The AAGUID of the authenticator.
credentialIdLength 2 Byte length L of Credential ID, 16-bit unsigned big-endian integer.
credentialId L Credential ID
credentialPublicKey variable
The credential public key encoded in COSE_Key format, as defined
in Section 7 of [RFC8152], using the CTAP2 canonical CBOR
encoding form. The COSE_Key-encoded credential public key MUST
contain the optional "alg" parameter and MUST NOT contain any
other optional parameters. The "alg" parameter MUST contain a
COSEAlgorithmIdentifier value. The encoded credential public
key MUST also contain any additional required parameters stipulated
by the relevant key type specification, i.e., required for the key type
"kty" and algorithm "alg" (see Section 8 of [RFC8152]).
Credential Public Key
※ 実際には COSE Key フォーマット
Decoded Client Data JSON
FIDO Assertion
(Authentication Response)
Decoded Client Data JSON
authData contains..
Name Length (in bytes) Description
rpIdHash 32 SHA-256 hash of the RP ID associated with the credential.
flags 1
Flags (bit 0 is the least significant bit):
• Bit 0: User Present (UP) result.
• Bit 1: Reserved for future use (RFU1).
• Bit 2: User Verified (UV) result.
• Bits 3-5: Reserved for future use (RFU2).
• Bit 6: Attested credential data included (AT).
• Bit 7: Extension data included (ED).
signCount 4 Signature counter, 32-bit unsigned big-endian integer.
attestedCredentialData variable (if present)
attested credential data (if present). See §6.3.1 Attested credential
data for details. Its length depends on the length of the credential ID
and credential public key being attested.
extensions variable (if present)
Extension-defined authenticator data. This is a CBOR [RFC7049]
map with extension identifiers as keys, and authenticator extension
outputs as values. See §9 WebAuthn Extensions for details.
Android OS as FIDO Authenticator
What's new in Android security (Google I/O '18)
iOS as FIDO Authenticator?
https://github.com/WebKit/webkit/blob/master/Source/
WebCore/Modules/webauthn/cocoa/LocalAuthenticator.mm

More Related Content

PDF
NIST SP 800-63C #idcon vol.22
PDF
ID連携入門 (実習編) - Security Camp 2016
PDF
Sign in with Apple
PDF
FIDO2 Specifications Overview
PDF
Authlete: API Authorization Enabler for API Economy
PDF
OPTiM StoreにおけるSCIM & OIDC活用事例 - ID&IT 2016
PDF
In-house OAuth/OIDC Infrastructure as a Competitive Advantage #eic2021
PDF
FIDO2 Specifications Overview
NIST SP 800-63C #idcon vol.22
ID連携入門 (実習編) - Security Camp 2016
Sign in with Apple
FIDO2 Specifications Overview
Authlete: API Authorization Enabler for API Economy
OPTiM StoreにおけるSCIM & OIDC活用事例 - ID&IT 2016
In-house OAuth/OIDC Infrastructure as a Competitive Advantage #eic2021
FIDO2 Specifications Overview

What's hot (20)

PDF
NIST SP 800-63-3 #idcon vol.22
PDF
Integrating FIDO Authentication & Federation Protocols
PDF
アプリ開発で知っておきたい認証技術 - OAuth 1.0 + OAuth 2.0 + OpenID Connect -
PDF
OAuth 2.0 Updates #technight
PDF
FIDO alliance #idcon vol.18
PDF
Authentication and Authorization Architecture in the MEAN Stack
PDF
OpenID Foundation RISC WG Update - 2017-10-16
PPTX
Overall pictures of Identity provider mix-up attack patterns and trade-offs b...
PDF
OAuth 2.0 & OpenID Connect @ OpenSource Conference 2011 Tokyo #osc11tk
PPTX
An Authentication and Authorization Architecture for a Microservices World
PDF
Full stack security
PDF
OpenID Connect: The new standard for connecting to your Customers, Partners, ...
PDF
Consideration on Holder-of-Key Bound Token < from Financial-grade API (FAPI) ...
PDF
CIS14: An Overview of FIDO's Universal Factor (UAF) Specifications
PPTX
Lightweight Zero-trust Network Implementation and Transition with Keycloak an...
PPTX
API Security : Patterns and Practices
PDF
TrustBearer - CTST 2009 - OpenID & Strong Authentication
PDF
Enterprise Single Sign On
PDF
FIDO U2F & UAF Tutorial
PDF
OAuth and OpenID Connect for Microservices
NIST SP 800-63-3 #idcon vol.22
Integrating FIDO Authentication & Federation Protocols
アプリ開発で知っておきたい認証技術 - OAuth 1.0 + OAuth 2.0 + OpenID Connect -
OAuth 2.0 Updates #technight
FIDO alliance #idcon vol.18
Authentication and Authorization Architecture in the MEAN Stack
OpenID Foundation RISC WG Update - 2017-10-16
Overall pictures of Identity provider mix-up attack patterns and trade-offs b...
OAuth 2.0 & OpenID Connect @ OpenSource Conference 2011 Tokyo #osc11tk
An Authentication and Authorization Architecture for a Microservices World
Full stack security
OpenID Connect: The new standard for connecting to your Customers, Partners, ...
Consideration on Holder-of-Key Bound Token < from Financial-grade API (FAPI) ...
CIS14: An Overview of FIDO's Universal Factor (UAF) Specifications
Lightweight Zero-trust Network Implementation and Transition with Keycloak an...
API Security : Patterns and Practices
TrustBearer - CTST 2009 - OpenID & Strong Authentication
Enterprise Single Sign On
FIDO U2F & UAF Tutorial
OAuth and OpenID Connect for Microservices
Ad

Similar to W3C Web Authentication - #idcon vol.24 (20)

PDF
RPで受け入れる認証器を選択する ~Idance lesson 2~
 
PPTX
U2F/FIDO2 implementation of YubiKey
PDF
FIDO Authentication: Its Evolution and Opportunities in Business -FIDO Allian...
PDF
Web Authentication API
PDF
エンタープライズの視点からFIDOとFederationのビジネスを考える
PPTX
New FIDO Specifications Overview -FIDO Alliance -Tokyo Seminar -Nadalin
PDF
170724 JP/UK Open Banking Summit English Translation
PDF
Ritou idcon7
PPTX
FIDOAlliance
PDF
JavaScriptを使って学ぶEnd-to-Endセキュリティ Appendix
PPTX
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
PDF
Future-proofing Authentication with Passkeys
PDF
Web Authentication: a Future Without Passwords?
PPTX
Technical Considerations for Deploying FIDO Authentication
PPTX
Getting Started With WebAuthn
PDF
OpenID Connect 101 @ OpenID TechNight vol.11
PDF
Securing a Web App with Security Keys
PDF
FIDO Technical Specifications Overview
PDF
Securing a Web App with Passwordless Web Authentication
PDF
ざっくり解説 LINE ログイン
RPで受け入れる認証器を選択する ~Idance lesson 2~
 
U2F/FIDO2 implementation of YubiKey
FIDO Authentication: Its Evolution and Opportunities in Business -FIDO Allian...
Web Authentication API
エンタープライズの視点からFIDOとFederationのビジネスを考える
New FIDO Specifications Overview -FIDO Alliance -Tokyo Seminar -Nadalin
170724 JP/UK Open Banking Summit English Translation
Ritou idcon7
FIDOAlliance
JavaScriptを使って学ぶEnd-to-Endセキュリティ Appendix
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Future-proofing Authentication with Passkeys
Web Authentication: a Future Without Passwords?
Technical Considerations for Deploying FIDO Authentication
Getting Started With WebAuthn
OpenID Connect 101 @ OpenID TechNight vol.11
Securing a Web App with Security Keys
FIDO Technical Specifications Overview
Securing a Web App with Passwordless Web Authentication
ざっくり解説 LINE ログイン
Ad

More from Nov Matake (20)

PDF
#idcon vol.29 - #fidcon WebAuthn, Next Stage
PDF
FedCM - OpenID TechNight vol.19
PDF
Safari (ITP) & Chrome (SameSite=Lax as default) が Federation に与える影響 - OpenID ...
PDF
FIDO @ LINE - #idcon vol.24
PDF
NIST SP 800-63C - Federation and Assertions (FINAL)
PDF
ID連携概要 - OpenID TechNight vol.13
PDF
ミスコンとプライバシー ~ IdentityDuck誕生秘話 ~ #idcon
PDF
SAML / OpenID Connect / OAuth / SCIM 技術解説 - ID&IT 2014 #idit2014
PDF
池澤あやかと学ぼう!: はじめてのOAuthとOpenID Connect - JICS 2014
PDF
OAuth認証再考からのOpenID Connect #devlove
PDF
ID & IT 2013 - OpenID Connect Hands-on
PDF
JWT Translation #technight
PDF
MIT-KIT Intro at #idcon sattelite
PDF
Self isssued-idp
PDF
IIW 16th Report at #idcon
PDF
Whats wrong oauth_authn
PDF
OAuth 2.0 #idit2012
PDF
Account Chooser #idit2012
PPTX
諸外国の国民ID制度 #idcon 13th
PDF
OpenID Connect via WebIntents
#idcon vol.29 - #fidcon WebAuthn, Next Stage
FedCM - OpenID TechNight vol.19
Safari (ITP) & Chrome (SameSite=Lax as default) が Federation に与える影響 - OpenID ...
FIDO @ LINE - #idcon vol.24
NIST SP 800-63C - Federation and Assertions (FINAL)
ID連携概要 - OpenID TechNight vol.13
ミスコンとプライバシー ~ IdentityDuck誕生秘話 ~ #idcon
SAML / OpenID Connect / OAuth / SCIM 技術解説 - ID&IT 2014 #idit2014
池澤あやかと学ぼう!: はじめてのOAuthとOpenID Connect - JICS 2014
OAuth認証再考からのOpenID Connect #devlove
ID & IT 2013 - OpenID Connect Hands-on
JWT Translation #technight
MIT-KIT Intro at #idcon sattelite
Self isssued-idp
IIW 16th Report at #idcon
Whats wrong oauth_authn
OAuth 2.0 #idit2012
Account Chooser #idit2012
諸外国の国民ID制度 #idcon 13th
OpenID Connect via WebIntents

Recently uploaded (20)

PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PDF
cuic standard and advanced reporting.pdf
PDF
Unlocking AI with Model Context Protocol (MCP)
DOCX
The AUB Centre for AI in Media Proposal.docx
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
Network Security Unit 5.pdf for BCA BBA.
PPTX
sap open course for s4hana steps from ECC to s4
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
Encapsulation_ Review paper, used for researhc scholars
PPTX
Programs and apps: productivity, graphics, security and other tools
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PPTX
Cloud computing and distributed systems.
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PPTX
Spectroscopy.pptx food analysis technology
PPTX
MYSQL Presentation for SQL database connectivity
Per capita expenditure prediction using model stacking based on satellite ima...
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
cuic standard and advanced reporting.pdf
Unlocking AI with Model Context Protocol (MCP)
The AUB Centre for AI in Media Proposal.docx
Understanding_Digital_Forensics_Presentation.pptx
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Network Security Unit 5.pdf for BCA BBA.
sap open course for s4hana steps from ECC to s4
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Encapsulation_ Review paper, used for researhc scholars
Programs and apps: productivity, graphics, security and other tools
“AI and Expert System Decision Support & Business Intelligence Systems”
Spectral efficient network and resource selection model in 5G networks
MIND Revenue Release Quarter 2 2025 Press Release
Cloud computing and distributed systems.
The Rise and Fall of 3GPP – Time for a Sabbatical?
Spectroscopy.pptx food analysis technology
MYSQL Presentation for SQL database connectivity

W3C Web Authentication - #idcon vol.24