SlideShare a Scribd company logo
7
Most read
8
Most read
21
Most read
©
2022
Yubico
© 2023 Yubico
Joost van Dijk, Yubico
Nordic APIs Platform Summit - October 18, 2023
Future-proofing Authentication With
Passkeys
©
2023
Yubico
● Passkeys and API security
● What is a passkey?
● FIDO and the WebAuthn API
● Device attestation and the FIDO metadata service
● Assurance levels and step-up authentication
Overview
©
2023
Yubico
Protecting the OAuth Flow
User Agent Application AuthZ Server Resource Server
AuthZ Request
AuthZ Code Response
Token Request
API Request
API Response
Token Validation
User AuthN & Consent
©
2023
Yubico
Protecting the OAuth Flow
User Agent Application AuthZ Server Resource Server
AuthZ Request
AuthZ Code Response
Token Request
API Request
API Response
Token Validation
User AuthN & Consent
???
JAR
PAR
PKCE
DPoP
JARM
Non-
Repudiation
Signed
Response
Sender
Constrained
Aaron Parecki
https://www.udemy.com/course/advanced-oauth-security/
©
2023
Yubico
● Passkeys are a more secure alternative to passwords
● More secure, because:
○ passkeys are resistant to phishing
○ passkeys have no secrets that can be leaked from servers
○ passkeys are generated automatically, never reused
○ passkeys can be stored on secure hardware
● Also easier to use:
○ “Sign in with your face, your finger, or your PIN”
○ Optionally, automatically backed up and synced
What is a passkey?
©
2023
Yubico
Demo
©
2023
Yubico
● Roaming Authenticator
also called cross-platform authenticator
example: a USB security key
● Roaming authenticators can use different
transports: USB, NFC, BLE, hybrid
● Platform Authenticator
Built into user’s device
example: a built-in fingerprint sensor
● Note: a single authenticator can store
multiple passkeys!
TouchID
FaceID
Windows
Hello
Passkeys are stored on Authenticators
©
2023
Yubico
Hardware-bound
● Single-device
● Hardware attestation
● Ideal for high assurance use
cases
● FIPS eligible
● Example: passkey stored on a
security key
Synced | Copyable passkeys
● Multi-device
● Backed up and synced across
devices via a cloud provider
● No need to re-enroll a new
device on every account!
● Synced across devices but not
across ecosystems
(Apple iCloud and Google
Password Manager)
Different types of passkeys
Future-proofing Authentication with Passkeys
©
2023
Yubico
FIDO Public Key authentication
Veri
fi
er
challenge
response = sign(k, challenge)
private key k public key p
response
Client
challenge
response
Authenticator
(Simplified)
result = verify(p, response, challenge)
©
2023
Yubico
Phishing resistance
Veri
fi
er
challenge
response = sign(k, challenge)
private key k public key p
result = verify(p, response, challenge)
response
Client
response
Authenticator
+origin
+origin +origin
(Simplified)
challenge
WebAuthn
API
HTTPS
CTAP
User
Veri
fi
cation
CTAP and Webauthn
Platform
API
Roaming
Authenticator
Platform
Authenticator
(Relying Party)
©
2023
Yubico
● navigator.credentials.create()
register new FIDO credential
● navigator.credentials.get()
authenticate using a previously registered credential
Webauthn: JavaScript API
Client-side
JavaScript
Server-side
application
Browser
WebAuthn
API
HTTPS
CTAP
Web Application
©
2023
Yubico
Attestation and Metadata
● Attestation provides verifiable evidence as to the authenticator’s origin
● Based on a hardware attestation key and certificate
● Use FIDO Alliance Metadata Service to determine provenance
● Implement Allow/Deny lists to filter Authenticators
● Typically used in high-assurance (enterprise) use cases
MDS
Attestation
Data
Authenticator
Metadata
©
2023
Yubico
Metadata example
● aaguid
(Authenticator unique ID)
● keyProtection
e.g. secure_element
● transports
e.g. usb
● status
(certification level)
©
2023
Yubico
Assurance Levels
Password OTP Copyable
passkey
Hardware
bound
passkey
High assurance
Low assurance
©
2022
Yubico
● Step up: elevate the authentication
assurance level for sensitive API calls
● Resource servers will return an error
when step up is required
● Levels are expressed using an
Authentication context class reference
claim, for instance:
"acr": "high"
● Use acr_values parameter in
authorization requests to obtain the
required level
● See RFC 9470:
OAuth 2.0 Step Up Authentication
Challenge Protocol
Step-up Authentication
GET /sensitive HTTP/1.1
Host: server.example.com
Authorization: Bearer mF_9.B5f-4.1JqM
GET /authorize?client_id=…&
response_type=code&acr_values=high
AuthZ Server
Resource Server
API Request
API Response
HTTP/1.1 401 Unauthorized
WWW-Authenticate: Bearer
error="insufficient_user_authentication",
acr_values=“high"
©
2023
Yubico
Step-up Authentication
User Agent Application AuthZ Server Resource Server
AuthZ Request
AuthZ Code Response
Token Request
API Request
API Response
User AuthN & Consent
200 OK
Low Assurance
Authentication
GET /protected
©
2023
Yubico
Step-up - Insufficient User Authentication
User Agent Application AuthZ Server Resource Server
AuthZ Request
AuthZ Code Response
Token Request
API Request
API Response
User AuthN & Consent (High Assurance)
API Request
API Response
401 Unauthorized
200 OK
GET /sensitive
GET /sensitive
High Assurance
Authentication
acr_values=high
©
2023
Yubico
Key Take-aways
● Passkeys are a secure and user-friendly alternative to passwords
● Passkeys are phishing-resistant by design
● Don’t let user authentication become the weakest link of API security
● Don’t frustrate users by unnecessarily excluding authenticators
● Device attestation and the FIDO metadata service let you differentiate
between different types of authenticator
©
2023
Yubico
● Demo:
https://passkey.org/
● Passkeys developers site:
https://passkeys.dev/
● FIDO Metadata Explorer:
https://opotonniee.github.io/fido-mds-explorer/
● Passkey Workshop:
https://developers.yubico.com/Passkeys/
● Workshop source code:
https://github.com/YubicoLabs/passkey-workshop
Resources

More Related Content

PPTX
FIDO Munich Seminar: FIDO Tech Principles.pptx
PDF
Zero trust in a hybrid architecture
PPTX
FIDO Alliance - Simpler Stronger Authentication.pptx
PDF
Prompt-Engineering-Lecture-Elvis learn prompt engineering
PDF
Post Quantum Cryptography: Technical Overview
PPTX
HSM (Hardware Security Module)
PDF
Build Intelligent Fraud Prevention with Machine Learning and Graphs
PPTX
Product Led Growth Strategy
FIDO Munich Seminar: FIDO Tech Principles.pptx
Zero trust in a hybrid architecture
FIDO Alliance - Simpler Stronger Authentication.pptx
Prompt-Engineering-Lecture-Elvis learn prompt engineering
Post Quantum Cryptography: Technical Overview
HSM (Hardware Security Module)
Build Intelligent Fraud Prevention with Machine Learning and Graphs
Product Led Growth Strategy

What's hot (20)

PPTX
OAuth2 + API Security
PDF
OpenID Connect Explained
PPTX
IBM: Hey FIDO, Meet Passkey!.pptx
PDF
Introduction to SAML & OIDC
ODP
OAuth2 - Introduction
PDF
OAuth 2.0
PDF
Demystifying OAuth 2.0
PDF
API Security Best Practices & Guidelines
PPTX
An Introduction to OAuth2
PPTX
An introduction to OAuth 2
PPT
OAuth 2.0 and OpenId Connect
PDF
Demystifying SAML 2.0,Oauth 2.0, OpenID Connect
PDF
OAuth 2.0 with IBM WebSphere DataPower
PDF
OWASP API Security Top 10 - API World
PDF
池澤あやかと学ぼう!: はじめてのOAuthとOpenID Connect - JICS 2014
PPTX
OAuth 2
PPTX
Rest API Security - A quick understanding of Rest API Security
PDF
FIDO2 Specifications Overview
PDF
Getting Started with FIDO2
PDF
Stateless Auth using OAuth2 & JWT
OAuth2 + API Security
OpenID Connect Explained
IBM: Hey FIDO, Meet Passkey!.pptx
Introduction to SAML & OIDC
OAuth2 - Introduction
OAuth 2.0
Demystifying OAuth 2.0
API Security Best Practices & Guidelines
An Introduction to OAuth2
An introduction to OAuth 2
OAuth 2.0 and OpenId Connect
Demystifying SAML 2.0,Oauth 2.0, OpenID Connect
OAuth 2.0 with IBM WebSphere DataPower
OWASP API Security Top 10 - API World
池澤あやかと学ぼう!: はじめてのOAuthとOpenID Connect - JICS 2014
OAuth 2
Rest API Security - A quick understanding of Rest API Security
FIDO2 Specifications Overview
Getting Started with FIDO2
Stateless Auth using OAuth2 & JWT
Ad

Similar to Future-proofing Authentication with Passkeys (20)

PDF
Web Authentication API
PDF
Securing a Web App with Passwordless Web Authentication
PPTX
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
PDF
Auth proxy pattern on Kubernetes
PPTX
Microservices security - jpmc tech fest 2018
PDF
Securing a Web App with Security Keys
PDF
DevConf.CZ 2020 @ Brno, Czech Republic : WebAuthn support for keycloak
PDF
Accessing APIs using OAuth on the federated (WordPress) web
PDF
Cloud and On Premises Collaboration Security Explained
PDF
Cisco connect winnipeg 2018 cloud and on premises collaboration security ex...
PDF
apidays Paris 2022 - Securing APIs in Open Banking, Takashi Norimatsu, Hitachi
PDF
KubeConRecap_nakamura.pdf
PDF
Cisco Connect Vancouver 2017 - Cloud and on premises collaboration security e...
PDF
Cloud and On Premises Collaboration Security Explained
PPTX
New FIDO Specifications Overview -FIDO Alliance -Tokyo Seminar -Nadalin
PDF
Seamless OAuth2.0 and OpenID Connect in VAST
PDF
Apigee Edge: Intro to Microgateway
PDF
WebRTC Identity in SAML Federations
PPTX
apidays LIVE Hong Kong 2021 - Digital Identity Centric Approach to Accelerate...
PPTX
apidays LIVE Hong Kong 2021 - Digital Identity Centric Approach to Accelerate...
Web Authentication API
Securing a Web App with Passwordless Web Authentication
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Auth proxy pattern on Kubernetes
Microservices security - jpmc tech fest 2018
Securing a Web App with Security Keys
DevConf.CZ 2020 @ Brno, Czech Republic : WebAuthn support for keycloak
Accessing APIs using OAuth on the federated (WordPress) web
Cloud and On Premises Collaboration Security Explained
Cisco connect winnipeg 2018 cloud and on premises collaboration security ex...
apidays Paris 2022 - Securing APIs in Open Banking, Takashi Norimatsu, Hitachi
KubeConRecap_nakamura.pdf
Cisco Connect Vancouver 2017 - Cloud and on premises collaboration security e...
Cloud and On Premises Collaboration Security Explained
New FIDO Specifications Overview -FIDO Alliance -Tokyo Seminar -Nadalin
Seamless OAuth2.0 and OpenID Connect in VAST
Apigee Edge: Intro to Microgateway
WebRTC Identity in SAML Federations
apidays LIVE Hong Kong 2021 - Digital Identity Centric Approach to Accelerate...
apidays LIVE Hong Kong 2021 - Digital Identity Centric Approach to Accelerate...
Ad

More from Nordic APIs (20)

PPTX
How to Choose the Right API Platform - We Have the Tool You Need! - Mikkel Iv...
PPTX
Bulletproof Backend Architecture: Building Adaptive Services with Self-Descri...
PDF
Implementing Zero Trust Security in API Gateway with Cilium - Pubudu Gunatila...
PPTX
Event-Driven Architecture the Cloud-Native Way - Manuel Ottlik, HDI Global SE
PPTX
Navigating the Post-OpenAPI Era with Innovative API Design Frameworks - Danie...
PDF
Using Typespec for Open Finance Standards - Chris Wood, Ozone API
PPTX
Schema-first API Design Using Typespec - Cailin Smith, Microsoft
PPTX
Avoiding APIpocalypse; API Resiliency Testing FTW! - Naresh Jain, Xnsio
PPTX
How to Build an Integration Platform with Open Source - Magnus Hedner, Benify
PPTX
API Design First in Practise – An Experience Report - Hari Krishnan, Specmatic
PPTX
The Right Kind of API – How To Choose Appropriate API Protocols and Data Form...
PPTX
Why Frequent API Hackathons Are Key to Product Market Feedback and Go-to-Mark...
PPTX
Maximizing API Management Efficiency: The Power of Shifting Down with APIOps ...
PPTX
APIs Vs Events - Bala Bairapaka, Sandvik AB
PPTX
GraphQL in the Post-Hype Era - Daniel Hervas, Reckon Digital
PPTX
From Good API Design to Secure Design - Axel Grosse, 42Crunch
PPTX
API Revolution in IoT: How Platform Engineering Streamlines API Development -...
PPTX
Unlocking the ROI of API Platforms: What Success Actually Looks Like - Budhad...
PDF
Increase Your Productivity with No-Code GraphQL Mocking - Hugo Guerrero, Red Hat
PPTX
Securely Boosting Any Product with Generative AI APIs - Ruben Sitbon, Theodo ...
How to Choose the Right API Platform - We Have the Tool You Need! - Mikkel Iv...
Bulletproof Backend Architecture: Building Adaptive Services with Self-Descri...
Implementing Zero Trust Security in API Gateway with Cilium - Pubudu Gunatila...
Event-Driven Architecture the Cloud-Native Way - Manuel Ottlik, HDI Global SE
Navigating the Post-OpenAPI Era with Innovative API Design Frameworks - Danie...
Using Typespec for Open Finance Standards - Chris Wood, Ozone API
Schema-first API Design Using Typespec - Cailin Smith, Microsoft
Avoiding APIpocalypse; API Resiliency Testing FTW! - Naresh Jain, Xnsio
How to Build an Integration Platform with Open Source - Magnus Hedner, Benify
API Design First in Practise – An Experience Report - Hari Krishnan, Specmatic
The Right Kind of API – How To Choose Appropriate API Protocols and Data Form...
Why Frequent API Hackathons Are Key to Product Market Feedback and Go-to-Mark...
Maximizing API Management Efficiency: The Power of Shifting Down with APIOps ...
APIs Vs Events - Bala Bairapaka, Sandvik AB
GraphQL in the Post-Hype Era - Daniel Hervas, Reckon Digital
From Good API Design to Secure Design - Axel Grosse, 42Crunch
API Revolution in IoT: How Platform Engineering Streamlines API Development -...
Unlocking the ROI of API Platforms: What Success Actually Looks Like - Budhad...
Increase Your Productivity with No-Code GraphQL Mocking - Hugo Guerrero, Red Hat
Securely Boosting Any Product with Generative AI APIs - Ruben Sitbon, Theodo ...

Recently uploaded (20)

PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Review of recent advances in non-invasive hemoglobin estimation
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
KodekX | Application Modernization Development
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Approach and Philosophy of On baking technology
PDF
Network Security Unit 5.pdf for BCA BBA.
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PPTX
Spectroscopy.pptx food analysis technology
PPT
Teaching material agriculture food technology
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Dropbox Q2 2025 Financial Results & Investor Presentation
Digital-Transformation-Roadmap-for-Companies.pptx
Diabetes mellitus diagnosis method based random forest with bat algorithm
Building Integrated photovoltaic BIPV_UPV.pdf
“AI and Expert System Decision Support & Business Intelligence Systems”
Review of recent advances in non-invasive hemoglobin estimation
20250228 LYD VKU AI Blended-Learning.pptx
KodekX | Application Modernization Development
Reach Out and Touch Someone: Haptics and Empathic Computing
Approach and Philosophy of On baking technology
Network Security Unit 5.pdf for BCA BBA.
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Spectroscopy.pptx food analysis technology
Teaching material agriculture food technology
Chapter 3 Spatial Domain Image Processing.pdf
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy

Future-proofing Authentication with Passkeys

  • 1. © 2022 Yubico © 2023 Yubico Joost van Dijk, Yubico Nordic APIs Platform Summit - October 18, 2023 Future-proofing Authentication With Passkeys
  • 2. © 2023 Yubico ● Passkeys and API security ● What is a passkey? ● FIDO and the WebAuthn API ● Device attestation and the FIDO metadata service ● Assurance levels and step-up authentication Overview
  • 3. © 2023 Yubico Protecting the OAuth Flow User Agent Application AuthZ Server Resource Server AuthZ Request AuthZ Code Response Token Request API Request API Response Token Validation User AuthN & Consent
  • 4. © 2023 Yubico Protecting the OAuth Flow User Agent Application AuthZ Server Resource Server AuthZ Request AuthZ Code Response Token Request API Request API Response Token Validation User AuthN & Consent ??? JAR PAR PKCE DPoP JARM Non- Repudiation Signed Response Sender Constrained Aaron Parecki https://www.udemy.com/course/advanced-oauth-security/
  • 5. © 2023 Yubico ● Passkeys are a more secure alternative to passwords ● More secure, because: ○ passkeys are resistant to phishing ○ passkeys have no secrets that can be leaked from servers ○ passkeys are generated automatically, never reused ○ passkeys can be stored on secure hardware ● Also easier to use: ○ “Sign in with your face, your finger, or your PIN” ○ Optionally, automatically backed up and synced What is a passkey?
  • 7. © 2023 Yubico ● Roaming Authenticator also called cross-platform authenticator example: a USB security key ● Roaming authenticators can use different transports: USB, NFC, BLE, hybrid ● Platform Authenticator Built into user’s device example: a built-in fingerprint sensor ● Note: a single authenticator can store multiple passkeys! TouchID FaceID Windows Hello Passkeys are stored on Authenticators
  • 8. © 2023 Yubico Hardware-bound ● Single-device ● Hardware attestation ● Ideal for high assurance use cases ● FIPS eligible ● Example: passkey stored on a security key Synced | Copyable passkeys ● Multi-device ● Backed up and synced across devices via a cloud provider ● No need to re-enroll a new device on every account! ● Synced across devices but not across ecosystems (Apple iCloud and Google Password Manager) Different types of passkeys
  • 10. © 2023 Yubico FIDO Public Key authentication Veri fi er challenge response = sign(k, challenge) private key k public key p response Client challenge response Authenticator (Simplified) result = verify(p, response, challenge)
  • 11. © 2023 Yubico Phishing resistance Veri fi er challenge response = sign(k, challenge) private key k public key p result = verify(p, response, challenge) response Client response Authenticator +origin +origin +origin (Simplified) challenge
  • 13. © 2023 Yubico ● navigator.credentials.create() register new FIDO credential ● navigator.credentials.get() authenticate using a previously registered credential Webauthn: JavaScript API Client-side JavaScript Server-side application Browser WebAuthn API HTTPS CTAP Web Application
  • 14. © 2023 Yubico Attestation and Metadata ● Attestation provides verifiable evidence as to the authenticator’s origin ● Based on a hardware attestation key and certificate ● Use FIDO Alliance Metadata Service to determine provenance ● Implement Allow/Deny lists to filter Authenticators ● Typically used in high-assurance (enterprise) use cases MDS Attestation Data Authenticator Metadata
  • 15. © 2023 Yubico Metadata example ● aaguid (Authenticator unique ID) ● keyProtection e.g. secure_element ● transports e.g. usb ● status (certification level)
  • 16. © 2023 Yubico Assurance Levels Password OTP Copyable passkey Hardware bound passkey High assurance Low assurance
  • 17. © 2022 Yubico ● Step up: elevate the authentication assurance level for sensitive API calls ● Resource servers will return an error when step up is required ● Levels are expressed using an Authentication context class reference claim, for instance: "acr": "high" ● Use acr_values parameter in authorization requests to obtain the required level ● See RFC 9470: OAuth 2.0 Step Up Authentication Challenge Protocol Step-up Authentication GET /sensitive HTTP/1.1 Host: server.example.com Authorization: Bearer mF_9.B5f-4.1JqM GET /authorize?client_id=…& response_type=code&acr_values=high AuthZ Server Resource Server API Request API Response HTTP/1.1 401 Unauthorized WWW-Authenticate: Bearer error="insufficient_user_authentication", acr_values=“high"
  • 18. © 2023 Yubico Step-up Authentication User Agent Application AuthZ Server Resource Server AuthZ Request AuthZ Code Response Token Request API Request API Response User AuthN & Consent 200 OK Low Assurance Authentication GET /protected
  • 19. © 2023 Yubico Step-up - Insufficient User Authentication User Agent Application AuthZ Server Resource Server AuthZ Request AuthZ Code Response Token Request API Request API Response User AuthN & Consent (High Assurance) API Request API Response 401 Unauthorized 200 OK GET /sensitive GET /sensitive High Assurance Authentication acr_values=high
  • 20. © 2023 Yubico Key Take-aways ● Passkeys are a secure and user-friendly alternative to passwords ● Passkeys are phishing-resistant by design ● Don’t let user authentication become the weakest link of API security ● Don’t frustrate users by unnecessarily excluding authenticators ● Device attestation and the FIDO metadata service let you differentiate between different types of authenticator
  • 21. © 2023 Yubico ● Demo: https://passkey.org/ ● Passkeys developers site: https://passkeys.dev/ ● FIDO Metadata Explorer: https://opotonniee.github.io/fido-mds-explorer/ ● Passkey Workshop: https://developers.yubico.com/Passkeys/ ● Workshop source code: https://github.com/YubicoLabs/passkey-workshop Resources