SlideShare a Scribd company logo
1 of 30
Download to read offline
Hypermedia
API for Secure, Seamless
User Authentication
By Travis Spencer, CEO
• Need for a hypermedia authentication API
• How it works (compared to a browser-based solution)
• Demo
• Client identification using attestation
• Contextualizing authentication based on first- or third-party app
Agenda
• Avoid customer dropoff during login
• Seamless login & authorization of mobile & web apps
• Control UX
• Reduce frequency & friction involved in login
• Regulatory compliance
Requirements Driving Need for API
• Control branding / look & feel of login views
• Use technologies & techniques teams already use
• Client-side JavaScript frameworks for web
• Mobile apps want to use native UI widgets
• Safe and private
Requirements Driving Need for API
• Browser-based login can be frictionful & non-compliant with
regulation
• Browsers are on a death march to kill third-party cookies
• Non-experts are inventing unsafe APIs & shoehorning into OAuth
• Using ROPC and even smuggling MFA through it
Challenge to Meet Requirements
• REST architectural pattern lends itself to the problem of login
• User authentication without a browser
• All authentication methods (including federation) can work
• Supports (client-side and/or server-side) localization
• Existing clients are unaffected
Hypermedia is the Solution
API
Token Management
App to Server (back-channel)
API
Token Management
App to Server (back-channel)
User Authentication
Browser to Server (front-channel)
API
Token Management
App to Server (back-channel)
User Authentication
Browser to Server (front-channel)
API
Token Management
App to Server (back-channel)
User Authentication
Browser to Server (front-channel)
Server-side HTML rendering
with page post-backs
API
Token Management
App to Server (back-channel)
User Authentication
App to Server
API
Remove the need for the browser
Initial request
Hypermedia-based API
Initial request
Authentication Step – Available Actions and Links
Hypermedia
Hypermedia-based API
Initial request
Authentication Step – Available Actions and Links
User provided information
Hypermedia
Hypermedia-based API
Initial request
Authentication Step – Available Actions and Links
User provided information
Hypermedia
Hypermedia-based API
Initial request
Authentication Step – Available Actions and Links
User provided information
Authentication Result
Hypermedia
Hypermedia-based API
Demo
• Method to assert application identity characteristics
• Android’s package ID and signature certificate
• iOS’s app ID (Apple team ID + app bundle ID)
• Provided by the application’s execution platform
• Android Key Attestation
• iOS Application Attestation
Application Attestation
Authorization: DPOP haapi-access-token
DPoP: dpop-proof-token HAAPI
{ … hypermedia-based authentication state response …}
dpop-private-key
HAAPI is an API, therefore:
• All accesses require an haapi-access-token
• With key proof-of-possession using DPoP
• To authenticate the client application
Authorization: DPOP haapi-access-token
DPoP: dpop-proof-token HAAPI
Token Endpoint
{“token_type”: “DPoP”, “access_token”: “haapi-access-token”, … }
DPoP: dpop-proof-token
grant_type=client_credentials
client_assertion_type=urn:se:curity:attestation:client
client_assertion=client-attestation-token
{ … hypermedia-based authentication state response …}
dpop-private-key
haapi-access-token obtained:
• Via an OAuth 2.0 token request
• Using the OAuth 2.0 Assertion Framework (RFC 7521)
• Based on an attestation-based assertion/token.
dpop-private-key
Authorization: DPOP haapi-access-token
DPoP: dpop-proof-token HAAPI
Token Endpoint
Attestation-specific
challenge-response protocol Attestation Endpoint
{“token_type”: “DPoP”, “access_token”: “haapi-access-token”, … }
{“cat”: “client-attestation-token”, … }
DPoP: dpop-proof-token
grant_type=client_credentials
client_assertion_type=urn:se:curity:attestation:client
client_assertion=client-attestation-token
{ … hypermedia-based authentication state response …}
dpop-private-key
dpop-private-key
device-specific
attestation mechanism
Authorization: DPOP haapi-access-token
DPoP: dpop-proof-token HAAPI
Token Endpoint
X.509 certificate binding the public-key
to the app identity and execution environment Attestation Endpoint
{“token_type”: “DPoP”, “access_token”: “haapi-access-token”, … }
{“cat”: “client-attestation-token”, … }
DPoP: dpop-proof-token
grant_type=client_credentials
client_assertion_type=urn:se:curity:attestation:client
client_assertion=client-attestation-token
{ … hypermedia-based authentication state response …}
hardware stored
private-key
hardware stored
private-key
hardware stored
private-key
The Android robot is reproduced or modified from work created and shared by Google and used according to terms described in the Creative Commons 3.0 Attribution License.
Authorization: DPOP haapi-access-token
DPoP: dpop-proof-token HAAPI
Token Endpoint
X.509 certificate binding the public-key
to the app identity and execution environment Attestation Endpoint
{“token_type”: “DPoP”, “access_token”: “haapi-access-token”, … }
{“cat”: “client-attestation-token”, … }
DPoP: dpop-proof-token
grant_type=client_credentials
client_assertion_type=urn:se:curity:attestation:client
client_assertion=client-attestation-token
{ … hypermedia-based authentication state response …}
hardware stored
private-key
hardware stored
private-key
hardware stored
private-key
Authorization: DPOP haapi-access-token
DPoP: dpop-proof-token HAAPI
Token Endpoint
X.509 certificate binding the public-key
to the app identity and execution environment Attestation Endpoint
{“token_type”: “DPoP”, “access_token”: “haapi-access-token”, … }
{“cat”: “client-attestation-token”, … }
DPoP: dpop-proof-token
grant_type=client_credentials
client_assertion_type=urn:se:curity:attestation:client
client_assertion=client-attestation-token
{ … hypermedia-based authentication state response …}
hardware stored
private-key
hardware stored
private-key
hardware stored
private-key
Authorization: DPOP haapi-access-token
DPoP: dpop-proof-token HAAPI
Token Endpoint
X.509 certificate binding the public-key
to the app identity and execution environment Attestation Endpoint
{“token_type”: “DPoP”, “access_token”: “haapi-access-token”, … }
{“cat”: “client-attestation-token”, … }
DPoP: dpop-proof-token
grant_type=client_credentials
client_assertion_type=urn:se:curity:attestation:client
client_assertion=client-attestation-token
{ … hypermedia-based authentication state response …}
hardware stored
private-key
hardware stored
private-key
hardware stored
private-key
Attestation
• Attestation binds public-key to
• app identity
• and execution environment (e.g. non-rooted device)
• Private-key remains stored in the device (hardware-backed)
• On all HAAPI interactions, client app proves possession of this private-key
Attestation
• Android Attestation binds public-key to
• app identity
• and execution environment (e.g. non-rooted device)
• Private-key remains stored in the device (hardware-backed)
• On all HAAPI interactions, client app proves possession of this private-key
• Using standards-based solutions
• OAuth 2.0 DPoP - access tokens with proof-of-possession
• OAuth 2.0 Assertion framework – attestation-based client authentication
1. Once the app is identified
2. First- or third-party can be determined
3. Requirement for MFA + signed consent can be judged
Attestation Provides Context
• Hypermedia is a perfect fit for a login API
• Removes need for browser
• Need to identify client using attestation
• Determine how authentication & consent must be performed
based on first- or third-party publisher
Conclusion
Thank You!
curity.io
developer.curity.io
@curityio
info@curity.io

More Related Content

Similar to apidays LIVE LONDON - Hypermedia API for Secure, Seamless User Authentication by Travis Spencer

How to build Simple yet powerful API.pptx
How to build Simple yet powerful API.pptxHow to build Simple yet powerful API.pptx
How to build Simple yet powerful API.pptxChanna Ly
 
Application Security in ASP.NET Core
Application Security in ASP.NET CoreApplication Security in ASP.NET Core
Application Security in ASP.NET CoreNETUserGroupBern
 
SenchaCon 2016: A Look Ahead: Survey Next-Gen Modern Browser APIs - Shikhir S...
SenchaCon 2016: A Look Ahead: Survey Next-Gen Modern Browser APIs - Shikhir S...SenchaCon 2016: A Look Ahead: Survey Next-Gen Modern Browser APIs - Shikhir S...
SenchaCon 2016: A Look Ahead: Survey Next-Gen Modern Browser APIs - Shikhir S...Sencha
 
Developing Apps with Azure AD
Developing Apps with Azure ADDeveloping Apps with Azure AD
Developing Apps with Azure ADSharePointRadi
 
FIDO2 Specifications Overview
FIDO2 Specifications OverviewFIDO2 Specifications Overview
FIDO2 Specifications OverviewFIDO Alliance
 
Office Track: SharePoint Apps for the IT Pro - Thomas Vochten
Office Track: SharePoint Apps for the IT Pro - Thomas VochtenOffice Track: SharePoint Apps for the IT Pro - Thomas Vochten
Office Track: SharePoint Apps for the IT Pro - Thomas VochtenITProceed
 
FIDO2 Specifications Overview
FIDO2 Specifications OverviewFIDO2 Specifications Overview
FIDO2 Specifications OverviewFIDO Alliance
 
Redesigning PayPal APIs for Scale and Simplicity - QCon San Francisco 2013
Redesigning PayPal APIs for Scale and Simplicity - QCon San Francisco 2013Redesigning PayPal APIs for Scale and Simplicity - QCon San Francisco 2013
Redesigning PayPal APIs for Scale and Simplicity - QCon San Francisco 2013Deepak Nadig
 
Intro to OAuth2 and OpenID Connect
Intro to OAuth2 and OpenID ConnectIntro to OAuth2 and OpenID Connect
Intro to OAuth2 and OpenID ConnectLiamWadman
 
How to Build an Indivo X Personal Health App
How to Build an Indivo X Personal Health AppHow to Build an Indivo X Personal Health App
How to Build an Indivo X Personal Health AppBen Adida
 
Spring4 security oauth2
Spring4 security oauth2Spring4 security oauth2
Spring4 security oauth2axykim00
 
Understanding Identity in the World of Web APIs – Ronnie Mitra, API Architec...
Understanding Identity in the World of Web APIs – Ronnie Mitra,  API Architec...Understanding Identity in the World of Web APIs – Ronnie Mitra,  API Architec...
Understanding Identity in the World of Web APIs – Ronnie Mitra, API Architec...CA API Management
 
Wso2 is integration with .net core
Wso2 is   integration with .net coreWso2 is   integration with .net core
Wso2 is integration with .net coreIsmaeel Enjreny
 
I Love APIs 2015: Advanced Crash Course in Apigee Edge Workshop
I Love APIs 2015: Advanced Crash Course in Apigee Edge Workshop I Love APIs 2015: Advanced Crash Course in Apigee Edge Workshop
I Love APIs 2015: Advanced Crash Course in Apigee Edge Workshop Apigee | Google Cloud
 
Strengthen Mobile Logins with the Hypermedia Authentication API
Strengthen Mobile Logins with the Hypermedia Authentication APIStrengthen Mobile Logins with the Hypermedia Authentication API
Strengthen Mobile Logins with the Hypermedia Authentication APICurity
 
validation of user credentials in social network by using Django backend aut...
validation of user credentials in social network by using  Django backend aut...validation of user credentials in social network by using  Django backend aut...
validation of user credentials in social network by using Django backend aut...izzatisholehah
 
OAuth and OEmbed
OAuth and OEmbedOAuth and OEmbed
OAuth and OEmbedleahculver
 
Getting Started with Globus for Developers
Getting Started with Globus for DevelopersGetting Started with Globus for Developers
Getting Started with Globus for DevelopersGlobus
 
Using API platform to build ticketing system (translations, time zones, ...) ...
Using API platform to build ticketing system (translations, time zones, ...) ...Using API platform to build ticketing system (translations, time zones, ...) ...
Using API platform to build ticketing system (translations, time zones, ...) ...Antonio Peric-Mazar
 
API as a Product in 2021 by PayPal Sr PM
API as a Product in 2021 by PayPal Sr PMAPI as a Product in 2021 by PayPal Sr PM
API as a Product in 2021 by PayPal Sr PMProduct School
 

Similar to apidays LIVE LONDON - Hypermedia API for Secure, Seamless User Authentication by Travis Spencer (20)

How to build Simple yet powerful API.pptx
How to build Simple yet powerful API.pptxHow to build Simple yet powerful API.pptx
How to build Simple yet powerful API.pptx
 
Application Security in ASP.NET Core
Application Security in ASP.NET CoreApplication Security in ASP.NET Core
Application Security in ASP.NET Core
 
SenchaCon 2016: A Look Ahead: Survey Next-Gen Modern Browser APIs - Shikhir S...
SenchaCon 2016: A Look Ahead: Survey Next-Gen Modern Browser APIs - Shikhir S...SenchaCon 2016: A Look Ahead: Survey Next-Gen Modern Browser APIs - Shikhir S...
SenchaCon 2016: A Look Ahead: Survey Next-Gen Modern Browser APIs - Shikhir S...
 
Developing Apps with Azure AD
Developing Apps with Azure ADDeveloping Apps with Azure AD
Developing Apps with Azure AD
 
FIDO2 Specifications Overview
FIDO2 Specifications OverviewFIDO2 Specifications Overview
FIDO2 Specifications Overview
 
Office Track: SharePoint Apps for the IT Pro - Thomas Vochten
Office Track: SharePoint Apps for the IT Pro - Thomas VochtenOffice Track: SharePoint Apps for the IT Pro - Thomas Vochten
Office Track: SharePoint Apps for the IT Pro - Thomas Vochten
 
FIDO2 Specifications Overview
FIDO2 Specifications OverviewFIDO2 Specifications Overview
FIDO2 Specifications Overview
 
Redesigning PayPal APIs for Scale and Simplicity - QCon San Francisco 2013
Redesigning PayPal APIs for Scale and Simplicity - QCon San Francisco 2013Redesigning PayPal APIs for Scale and Simplicity - QCon San Francisco 2013
Redesigning PayPal APIs for Scale and Simplicity - QCon San Francisco 2013
 
Intro to OAuth2 and OpenID Connect
Intro to OAuth2 and OpenID ConnectIntro to OAuth2 and OpenID Connect
Intro to OAuth2 and OpenID Connect
 
How to Build an Indivo X Personal Health App
How to Build an Indivo X Personal Health AppHow to Build an Indivo X Personal Health App
How to Build an Indivo X Personal Health App
 
Spring4 security oauth2
Spring4 security oauth2Spring4 security oauth2
Spring4 security oauth2
 
Understanding Identity in the World of Web APIs – Ronnie Mitra, API Architec...
Understanding Identity in the World of Web APIs – Ronnie Mitra,  API Architec...Understanding Identity in the World of Web APIs – Ronnie Mitra,  API Architec...
Understanding Identity in the World of Web APIs – Ronnie Mitra, API Architec...
 
Wso2 is integration with .net core
Wso2 is   integration with .net coreWso2 is   integration with .net core
Wso2 is integration with .net core
 
I Love APIs 2015: Advanced Crash Course in Apigee Edge Workshop
I Love APIs 2015: Advanced Crash Course in Apigee Edge Workshop I Love APIs 2015: Advanced Crash Course in Apigee Edge Workshop
I Love APIs 2015: Advanced Crash Course in Apigee Edge Workshop
 
Strengthen Mobile Logins with the Hypermedia Authentication API
Strengthen Mobile Logins with the Hypermedia Authentication APIStrengthen Mobile Logins with the Hypermedia Authentication API
Strengthen Mobile Logins with the Hypermedia Authentication API
 
validation of user credentials in social network by using Django backend aut...
validation of user credentials in social network by using  Django backend aut...validation of user credentials in social network by using  Django backend aut...
validation of user credentials in social network by using Django backend aut...
 
OAuth and OEmbed
OAuth and OEmbedOAuth and OEmbed
OAuth and OEmbed
 
Getting Started with Globus for Developers
Getting Started with Globus for DevelopersGetting Started with Globus for Developers
Getting Started with Globus for Developers
 
Using API platform to build ticketing system (translations, time zones, ...) ...
Using API platform to build ticketing system (translations, time zones, ...) ...Using API platform to build ticketing system (translations, time zones, ...) ...
Using API platform to build ticketing system (translations, time zones, ...) ...
 
API as a Product in 2021 by PayPal Sr PM
API as a Product in 2021 by PayPal Sr PMAPI as a Product in 2021 by PayPal Sr PM
API as a Product in 2021 by PayPal Sr PM
 

More from apidays

Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Apidays New York 2024 - The secrets to Graph success, by Leah Hurwich Adler, ...
Apidays New York 2024 - The secrets to Graph success, by Leah Hurwich Adler, ...Apidays New York 2024 - The secrets to Graph success, by Leah Hurwich Adler, ...
Apidays New York 2024 - The secrets to Graph success, by Leah Hurwich Adler, ...apidays
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...apidays
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...apidays
 
Apidays New York 2024 - API Discovery - From Crawl to Run by Rob Dickinson, G...
Apidays New York 2024 - API Discovery - From Crawl to Run by Rob Dickinson, G...Apidays New York 2024 - API Discovery - From Crawl to Run by Rob Dickinson, G...
Apidays New York 2024 - API Discovery - From Crawl to Run by Rob Dickinson, G...apidays
 
Apidays Singapore 2024 - Building with the Planet in Mind by Sandeep Joshi, M...
Apidays Singapore 2024 - Building with the Planet in Mind by Sandeep Joshi, M...Apidays Singapore 2024 - Building with the Planet in Mind by Sandeep Joshi, M...
Apidays Singapore 2024 - Building with the Planet in Mind by Sandeep Joshi, M...apidays
 
Apidays Singapore 2024 - Connecting Cross Border Commerce with Payments by Gu...
Apidays Singapore 2024 - Connecting Cross Border Commerce with Payments by Gu...Apidays Singapore 2024 - Connecting Cross Border Commerce with Payments by Gu...
Apidays Singapore 2024 - Connecting Cross Border Commerce with Payments by Gu...apidays
 
Apidays Singapore 2024 - Privacy Enhancing Technologies for AI by Mark Choo, ...
Apidays Singapore 2024 - Privacy Enhancing Technologies for AI by Mark Choo, ...Apidays Singapore 2024 - Privacy Enhancing Technologies for AI by Mark Choo, ...
Apidays Singapore 2024 - Privacy Enhancing Technologies for AI by Mark Choo, ...apidays
 
Apidays Singapore 2024 - Blending AI and IoT for Smarter Health by Matthew Ch...
Apidays Singapore 2024 - Blending AI and IoT for Smarter Health by Matthew Ch...Apidays Singapore 2024 - Blending AI and IoT for Smarter Health by Matthew Ch...
Apidays Singapore 2024 - Blending AI and IoT for Smarter Health by Matthew Ch...apidays
 
Apidays Singapore 2024 - OpenTelemetry for API Monitoring by Danielle Kayumbi...
Apidays Singapore 2024 - OpenTelemetry for API Monitoring by Danielle Kayumbi...Apidays Singapore 2024 - OpenTelemetry for API Monitoring by Danielle Kayumbi...
Apidays Singapore 2024 - OpenTelemetry for API Monitoring by Danielle Kayumbi...apidays
 
Apidays Singapore 2024 - Connecting Product and Engineering Teams with Testin...
Apidays Singapore 2024 - Connecting Product and Engineering Teams with Testin...Apidays Singapore 2024 - Connecting Product and Engineering Teams with Testin...
Apidays Singapore 2024 - Connecting Product and Engineering Teams with Testin...apidays
 
Apidays Singapore 2024 - The Growing Carbon Footprint of Digitalization and H...
Apidays Singapore 2024 - The Growing Carbon Footprint of Digitalization and H...Apidays Singapore 2024 - The Growing Carbon Footprint of Digitalization and H...
Apidays Singapore 2024 - The Growing Carbon Footprint of Digitalization and H...apidays
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Apidays Singapore 2024 - API Monitoring x SRE by Ryan Ashneil and Eugene Wong...
Apidays Singapore 2024 - API Monitoring x SRE by Ryan Ashneil and Eugene Wong...Apidays Singapore 2024 - API Monitoring x SRE by Ryan Ashneil and Eugene Wong...
Apidays Singapore 2024 - API Monitoring x SRE by Ryan Ashneil and Eugene Wong...apidays
 
Apidays Singapore 2024 - A nuanced approach on AI costs and benefits for the ...
Apidays Singapore 2024 - A nuanced approach on AI costs and benefits for the ...Apidays Singapore 2024 - A nuanced approach on AI costs and benefits for the ...
Apidays Singapore 2024 - A nuanced approach on AI costs and benefits for the ...apidays
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbuapidays
 
Apidays Singapore 2024 - How APIs drive business at BNP Paribas by Quy-Doan D...
Apidays Singapore 2024 - How APIs drive business at BNP Paribas by Quy-Doan D...Apidays Singapore 2024 - How APIs drive business at BNP Paribas by Quy-Doan D...
Apidays Singapore 2024 - How APIs drive business at BNP Paribas by Quy-Doan D...apidays
 

More from apidays (20)

Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Apidays New York 2024 - The secrets to Graph success, by Leah Hurwich Adler, ...
Apidays New York 2024 - The secrets to Graph success, by Leah Hurwich Adler, ...Apidays New York 2024 - The secrets to Graph success, by Leah Hurwich Adler, ...
Apidays New York 2024 - The secrets to Graph success, by Leah Hurwich Adler, ...
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Apidays New York 2024 - API Discovery - From Crawl to Run by Rob Dickinson, G...
Apidays New York 2024 - API Discovery - From Crawl to Run by Rob Dickinson, G...Apidays New York 2024 - API Discovery - From Crawl to Run by Rob Dickinson, G...
Apidays New York 2024 - API Discovery - From Crawl to Run by Rob Dickinson, G...
 
Apidays Singapore 2024 - Building with the Planet in Mind by Sandeep Joshi, M...
Apidays Singapore 2024 - Building with the Planet in Mind by Sandeep Joshi, M...Apidays Singapore 2024 - Building with the Planet in Mind by Sandeep Joshi, M...
Apidays Singapore 2024 - Building with the Planet in Mind by Sandeep Joshi, M...
 
Apidays Singapore 2024 - Connecting Cross Border Commerce with Payments by Gu...
Apidays Singapore 2024 - Connecting Cross Border Commerce with Payments by Gu...Apidays Singapore 2024 - Connecting Cross Border Commerce with Payments by Gu...
Apidays Singapore 2024 - Connecting Cross Border Commerce with Payments by Gu...
 
Apidays Singapore 2024 - Privacy Enhancing Technologies for AI by Mark Choo, ...
Apidays Singapore 2024 - Privacy Enhancing Technologies for AI by Mark Choo, ...Apidays Singapore 2024 - Privacy Enhancing Technologies for AI by Mark Choo, ...
Apidays Singapore 2024 - Privacy Enhancing Technologies for AI by Mark Choo, ...
 
Apidays Singapore 2024 - Blending AI and IoT for Smarter Health by Matthew Ch...
Apidays Singapore 2024 - Blending AI and IoT for Smarter Health by Matthew Ch...Apidays Singapore 2024 - Blending AI and IoT for Smarter Health by Matthew Ch...
Apidays Singapore 2024 - Blending AI and IoT for Smarter Health by Matthew Ch...
 
Apidays Singapore 2024 - OpenTelemetry for API Monitoring by Danielle Kayumbi...
Apidays Singapore 2024 - OpenTelemetry for API Monitoring by Danielle Kayumbi...Apidays Singapore 2024 - OpenTelemetry for API Monitoring by Danielle Kayumbi...
Apidays Singapore 2024 - OpenTelemetry for API Monitoring by Danielle Kayumbi...
 
Apidays Singapore 2024 - Connecting Product and Engineering Teams with Testin...
Apidays Singapore 2024 - Connecting Product and Engineering Teams with Testin...Apidays Singapore 2024 - Connecting Product and Engineering Teams with Testin...
Apidays Singapore 2024 - Connecting Product and Engineering Teams with Testin...
 
Apidays Singapore 2024 - The Growing Carbon Footprint of Digitalization and H...
Apidays Singapore 2024 - The Growing Carbon Footprint of Digitalization and H...Apidays Singapore 2024 - The Growing Carbon Footprint of Digitalization and H...
Apidays Singapore 2024 - The Growing Carbon Footprint of Digitalization and H...
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Apidays Singapore 2024 - API Monitoring x SRE by Ryan Ashneil and Eugene Wong...
Apidays Singapore 2024 - API Monitoring x SRE by Ryan Ashneil and Eugene Wong...Apidays Singapore 2024 - API Monitoring x SRE by Ryan Ashneil and Eugene Wong...
Apidays Singapore 2024 - API Monitoring x SRE by Ryan Ashneil and Eugene Wong...
 
Apidays Singapore 2024 - A nuanced approach on AI costs and benefits for the ...
Apidays Singapore 2024 - A nuanced approach on AI costs and benefits for the ...Apidays Singapore 2024 - A nuanced approach on AI costs and benefits for the ...
Apidays Singapore 2024 - A nuanced approach on AI costs and benefits for the ...
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
 
Apidays Singapore 2024 - How APIs drive business at BNP Paribas by Quy-Doan D...
Apidays Singapore 2024 - How APIs drive business at BNP Paribas by Quy-Doan D...Apidays Singapore 2024 - How APIs drive business at BNP Paribas by Quy-Doan D...
Apidays Singapore 2024 - How APIs drive business at BNP Paribas by Quy-Doan D...
 

Recently uploaded

Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityWSO2
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Bhuvaneswari Subramani
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfOrbitshub
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusZilliz
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdfSandro Moreira
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamUiPathCommunity
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxRemote DBA Services
 

Recently uploaded (20)

Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 

apidays LIVE LONDON - Hypermedia API for Secure, Seamless User Authentication by Travis Spencer

  • 1. Hypermedia API for Secure, Seamless User Authentication By Travis Spencer, CEO
  • 2. • Need for a hypermedia authentication API • How it works (compared to a browser-based solution) • Demo • Client identification using attestation • Contextualizing authentication based on first- or third-party app Agenda
  • 3. • Avoid customer dropoff during login • Seamless login & authorization of mobile & web apps • Control UX • Reduce frequency & friction involved in login • Regulatory compliance Requirements Driving Need for API
  • 4. • Control branding / look & feel of login views • Use technologies & techniques teams already use • Client-side JavaScript frameworks for web • Mobile apps want to use native UI widgets • Safe and private Requirements Driving Need for API
  • 5. • Browser-based login can be frictionful & non-compliant with regulation • Browsers are on a death march to kill third-party cookies • Non-experts are inventing unsafe APIs & shoehorning into OAuth • Using ROPC and even smuggling MFA through it Challenge to Meet Requirements
  • 6. • REST architectural pattern lends itself to the problem of login • User authentication without a browser • All authentication methods (including federation) can work • Supports (client-side and/or server-side) localization • Existing clients are unaffected Hypermedia is the Solution
  • 7. API Token Management App to Server (back-channel)
  • 8. API Token Management App to Server (back-channel) User Authentication Browser to Server (front-channel)
  • 9. API Token Management App to Server (back-channel) User Authentication Browser to Server (front-channel)
  • 10. API Token Management App to Server (back-channel) User Authentication Browser to Server (front-channel) Server-side HTML rendering with page post-backs
  • 11. API Token Management App to Server (back-channel) User Authentication App to Server API Remove the need for the browser
  • 13. Initial request Authentication Step – Available Actions and Links Hypermedia Hypermedia-based API
  • 14. Initial request Authentication Step – Available Actions and Links User provided information Hypermedia Hypermedia-based API
  • 15. Initial request Authentication Step – Available Actions and Links User provided information Hypermedia Hypermedia-based API
  • 16. Initial request Authentication Step – Available Actions and Links User provided information Authentication Result Hypermedia Hypermedia-based API
  • 17. Demo
  • 18. • Method to assert application identity characteristics • Android’s package ID and signature certificate • iOS’s app ID (Apple team ID + app bundle ID) • Provided by the application’s execution platform • Android Key Attestation • iOS Application Attestation Application Attestation
  • 19. Authorization: DPOP haapi-access-token DPoP: dpop-proof-token HAAPI { … hypermedia-based authentication state response …} dpop-private-key HAAPI is an API, therefore: • All accesses require an haapi-access-token • With key proof-of-possession using DPoP • To authenticate the client application
  • 20. Authorization: DPOP haapi-access-token DPoP: dpop-proof-token HAAPI Token Endpoint {“token_type”: “DPoP”, “access_token”: “haapi-access-token”, … } DPoP: dpop-proof-token grant_type=client_credentials client_assertion_type=urn:se:curity:attestation:client client_assertion=client-attestation-token { … hypermedia-based authentication state response …} dpop-private-key haapi-access-token obtained: • Via an OAuth 2.0 token request • Using the OAuth 2.0 Assertion Framework (RFC 7521) • Based on an attestation-based assertion/token. dpop-private-key
  • 21. Authorization: DPOP haapi-access-token DPoP: dpop-proof-token HAAPI Token Endpoint Attestation-specific challenge-response protocol Attestation Endpoint {“token_type”: “DPoP”, “access_token”: “haapi-access-token”, … } {“cat”: “client-attestation-token”, … } DPoP: dpop-proof-token grant_type=client_credentials client_assertion_type=urn:se:curity:attestation:client client_assertion=client-attestation-token { … hypermedia-based authentication state response …} dpop-private-key dpop-private-key device-specific attestation mechanism
  • 22. Authorization: DPOP haapi-access-token DPoP: dpop-proof-token HAAPI Token Endpoint X.509 certificate binding the public-key to the app identity and execution environment Attestation Endpoint {“token_type”: “DPoP”, “access_token”: “haapi-access-token”, … } {“cat”: “client-attestation-token”, … } DPoP: dpop-proof-token grant_type=client_credentials client_assertion_type=urn:se:curity:attestation:client client_assertion=client-attestation-token { … hypermedia-based authentication state response …} hardware stored private-key hardware stored private-key hardware stored private-key The Android robot is reproduced or modified from work created and shared by Google and used according to terms described in the Creative Commons 3.0 Attribution License.
  • 23. Authorization: DPOP haapi-access-token DPoP: dpop-proof-token HAAPI Token Endpoint X.509 certificate binding the public-key to the app identity and execution environment Attestation Endpoint {“token_type”: “DPoP”, “access_token”: “haapi-access-token”, … } {“cat”: “client-attestation-token”, … } DPoP: dpop-proof-token grant_type=client_credentials client_assertion_type=urn:se:curity:attestation:client client_assertion=client-attestation-token { … hypermedia-based authentication state response …} hardware stored private-key hardware stored private-key hardware stored private-key
  • 24. Authorization: DPOP haapi-access-token DPoP: dpop-proof-token HAAPI Token Endpoint X.509 certificate binding the public-key to the app identity and execution environment Attestation Endpoint {“token_type”: “DPoP”, “access_token”: “haapi-access-token”, … } {“cat”: “client-attestation-token”, … } DPoP: dpop-proof-token grant_type=client_credentials client_assertion_type=urn:se:curity:attestation:client client_assertion=client-attestation-token { … hypermedia-based authentication state response …} hardware stored private-key hardware stored private-key hardware stored private-key
  • 25. Authorization: DPOP haapi-access-token DPoP: dpop-proof-token HAAPI Token Endpoint X.509 certificate binding the public-key to the app identity and execution environment Attestation Endpoint {“token_type”: “DPoP”, “access_token”: “haapi-access-token”, … } {“cat”: “client-attestation-token”, … } DPoP: dpop-proof-token grant_type=client_credentials client_assertion_type=urn:se:curity:attestation:client client_assertion=client-attestation-token { … hypermedia-based authentication state response …} hardware stored private-key hardware stored private-key hardware stored private-key
  • 26. Attestation • Attestation binds public-key to • app identity • and execution environment (e.g. non-rooted device) • Private-key remains stored in the device (hardware-backed) • On all HAAPI interactions, client app proves possession of this private-key
  • 27. Attestation • Android Attestation binds public-key to • app identity • and execution environment (e.g. non-rooted device) • Private-key remains stored in the device (hardware-backed) • On all HAAPI interactions, client app proves possession of this private-key • Using standards-based solutions • OAuth 2.0 DPoP - access tokens with proof-of-possession • OAuth 2.0 Assertion framework – attestation-based client authentication
  • 28. 1. Once the app is identified 2. First- or third-party can be determined 3. Requirement for MFA + signed consent can be judged Attestation Provides Context
  • 29. • Hypermedia is a perfect fit for a login API • Removes need for browser • Need to identify client using attestation • Determine how authentication & consent must be performed based on first- or third-party publisher Conclusion