WebAuthn Authentication
Authentication
Browser
Authentication
1
Relying
Party
Javascript
Client
WebAuthn API
Username
Name
Web Server/
Relying Party
Server
Authenticator
Server Challenge - Get Credentials
Browser
Authentication
1
2
Relying
Party
Javascript
Client
WebAuthn API
Challenge
Credential Id
Challenge
Username
Name
Authenticator
Web Server/
Relying Party
Server
Server Challenge - Get Credentials
Browser
Relying
Party
Javascript
Client
WebAuthn API
Challenge
Credential Id
RP Id
Challenge +
Domain
3
Web Server/
Relying Party
Server
2
1
Challenge
Credential Id
Challenge
Authenticator
Username
Name
Authentication
Authenticator
Browser
3
Relying
Party
Javascript
Client
WebAuthn API
4
Challenge +
Domain
User
Verification &
Create Signed
Assertion
Assertion
Challenge
Credential Id
RP Id
Web Server/
Relying Party
Server
Authenticator
2
1
Challenge
Credential Id
Challenge
Username
Name
Authentication
Response to the Server
Browser
3
Relying
Party
Javascript
Client
WebAuthn API
4
User
Verification &
Create Signed
Assertion
Assertion
Web Server/
Relying Party
Server
Authenticator
2
1
Challenge
Credential Id
Challenge
5
Authenticator
Assertion
Challenge+R
P ID
(clientDataHa
sh)User Handle
Authenticato
r Data
Signature
Username
Name
Authentication
Challenge
Credential Id
RP Id
Challenge +
Domain
Response to the Server
Browser
3
Relying
Party
Javascript
Client
WebAuthn API
4
User
Verification &
Create Signed
Assertion
Web Server/
Relying Party
Server
Authenticator
2
1
Challenge
Credential Id
Challenge
5
Authenticator
Assertion
Challenge+R
P ID
(clientDataHa
sh)User Handle
Authenticato
r Data
Signature
6
Challenge+R
P ID
(clientDataHa
sh)User Handle
Authenticato
r Data
Signature
Challenge
Response
Username
Name
Authentication
Challenge
Credential Id
RP Id
Challenge +
Domain
Assertion
Response to the Server
Browser
3
Relying
Party
Javascript
Client
WebAuthn API
4
User
Verification &
Create Signed
Assertion
Web Server/
Relying Party
Server
Authenticator
2
1
Challenge
Credential Id
Challenge
5
Authenticator
Assertion
6
Challenge+R
P ID
(clientDataHa
sh)User Handle
Authenticato
r Data
Signature
Challenge
Response
7
Verify Signature
Username
Name
Authentication
Challenge
Credential Id
RP Id
Challenge +
Domain
Assertion
Challenge+R
P ID
(clientDataHa
sh)User Handle
Authenticato
r Data
Signature

Webauthn Authentication

  • 1.
  • 2.
  • 3.
    Server Challenge -Get Credentials Browser Authentication 1 2 Relying Party Javascript Client WebAuthn API Challenge Credential Id Challenge Username Name Authenticator Web Server/ Relying Party Server
  • 4.
    Server Challenge -Get Credentials Browser Relying Party Javascript Client WebAuthn API Challenge Credential Id RP Id Challenge + Domain 3 Web Server/ Relying Party Server 2 1 Challenge Credential Id Challenge Authenticator Username Name Authentication
  • 5.
    Authenticator Browser 3 Relying Party Javascript Client WebAuthn API 4 Challenge + Domain User Verification& Create Signed Assertion Assertion Challenge Credential Id RP Id Web Server/ Relying Party Server Authenticator 2 1 Challenge Credential Id Challenge Username Name Authentication
  • 6.
    Response to theServer Browser 3 Relying Party Javascript Client WebAuthn API 4 User Verification & Create Signed Assertion Assertion Web Server/ Relying Party Server Authenticator 2 1 Challenge Credential Id Challenge 5 Authenticator Assertion Challenge+R P ID (clientDataHa sh)User Handle Authenticato r Data Signature Username Name Authentication Challenge Credential Id RP Id Challenge + Domain
  • 7.
    Response to theServer Browser 3 Relying Party Javascript Client WebAuthn API 4 User Verification & Create Signed Assertion Web Server/ Relying Party Server Authenticator 2 1 Challenge Credential Id Challenge 5 Authenticator Assertion Challenge+R P ID (clientDataHa sh)User Handle Authenticato r Data Signature 6 Challenge+R P ID (clientDataHa sh)User Handle Authenticato r Data Signature Challenge Response Username Name Authentication Challenge Credential Id RP Id Challenge + Domain Assertion
  • 8.
    Response to theServer Browser 3 Relying Party Javascript Client WebAuthn API 4 User Verification & Create Signed Assertion Web Server/ Relying Party Server Authenticator 2 1 Challenge Credential Id Challenge 5 Authenticator Assertion 6 Challenge+R P ID (clientDataHa sh)User Handle Authenticato r Data Signature Challenge Response 7 Verify Signature Username Name Authentication Challenge Credential Id RP Id Challenge + Domain Assertion Challenge+R P ID (clientDataHa sh)User Handle Authenticato r Data Signature