SlideShare a Scribd company logo
1 of 38
Download to read offline
Ed Olson-Morgan (he/his), Tuesday March 14th 2023
OAuth, OIDC and protecting
third party credentials
APIsecure 2023
Photo by Danil Aksenov on Unsplash
Ed Olson-Morgan
• Engineer -> management
consultant -> engineer
• Part of the founding team of two
digital consulting practices
• ADAPT@Bain
• Oliver Wyman Digital
• Core API & Innovation Lead at
Marsh McLennan since 2021
About me
Agenda for today
• Explain the business problem we’re trying to solve: protecting third party
credentials when working with vendors and multiple development teams
• Discuss the credential abstraction pattern and how it helps us here
• Review some of the issues that came up and how OAuth / OIDC standards
helped us solve them
• Talk through some of the technical implementation details
• Show how we put it all together to better protect our environments
• Share what we’re looking at doing next
Our business problem
Who is Marsh McLennan?
• Big, global professional services
fi
rm: insurance and reinsurance broking,
human resources and bene
fi
ts consulting, management consulting
• Celebrated 150th anniversary last year; over $20BB in revenue
• Four main operating companies (Marsh, Mercer, Guy Carpenter, Oliver
Wyman)
• Central technology capability (MMC Tech) established in 2020; accelerate and
standardize the adoption of technology throughout the business
APIs are at the heart of our reuse strategy
The “reuse taxonomy”
• We build software for ourselves, our clients, our clients’ employees and our
clients’ clients across multiple lines of business
• Doing so e
ff
ectively requires focusing on solving the unique problems of each
application and reusing common solutions everywhere else
Templates
Code snippets Libraries APIs
Increasingly e
ffi
cient to reuse and maintain; decreased developer
fl
exibility
• Part of reuse is also not creating
things in the
fi
rst place: there are
many technology areas that are
not core to our business
• As such, we partner with over a
hundred SaaS providers (from
household names like Microsoft
and Docusign to boutique
providers) to support our work
• In most cases, this requires
some form of shared trust
(single-sign-on, shared
credentials etc.)
Working with SaaS partners
Photo by Cytonn Photography on Unsplash
• One particular challenge we face is
sharing long-lived credentials with
our vendors
• This broadens the attack surface
if these credentials are leaked or
otherwise compromised
• When these credentials are for
another vendor / third-party (e.g.
Microsoft Graph API), we also risk
issues with security miscon
fi
guration
or excessive authorization
• We use credential abstraction
patterns to reduce this risk
Protecting our credentials
Photo by Markus Winkler on Unsplash
Credential abstraction
Calling
application
Authentication
service
Intermediate proxy
1
Validate caller
credentials
Underlying
service
Obtain service
credentials
Rewrite URI
2
3 4 5
Communicate
response
6
7
Credential abstraction: an overview
• Using a credential abstraction
pattern requires providing an
alternative method for callers to
authenticate themselves
• Because these are typically
service-to-service calls, we use
the OAuth Client Credentials
grant to generate short-lived
tokens for the calling
applications to use
• We’ll come back to some of the
challenges this posed later
Authenticating the application
Photo by Volodymyr Kondriianenko on Unsplash
• The calling application then
presents the short-lived credentials
to the credential abstraction
service
• The abstraction service is then
responsible for validating these
with the issuer before allowing the
call to proceed any further
• When using OAuth, this should
make a call back to the credential
issuer to make sure that the
provided credentials are still valid,
rather than just validating the
token using the provided signature
Validating application credentials
Photo by Levi Ventura on Unsplash
• The abstraction service then reviews
the request being made to the
underlying service
• Each calling application should be
granted least-privilege permissions
at the endpoint/method level
• If this check is passed, the abstraction
service then removes the credentials
supplied by the application and
replaces those with valid credentials
for the underlying service
• Where possible, these credentials
should be application-speci
fi
c and
tightly scoped
Obtaining service credentials
Photo by Maria Ziegler on Unsplash
• The abstraction service then
needs to re-write the URI so that
the request can be passed onto
the underlying service
• This may also involve adding in
incremental headers or other
components (query parameters,
message body elements etc.)
needed to meet the requirements
of the underlying service
Rewrite the URI
Photo by Luca Bravo on Unsplash
• After the call has been made to
the underlying service, the
abstraction service needs to
pass on the response
• All secrets and sensitives still
attached to the call should be
removed prior to returning it to
the calling application
• Errors should be handled and
replaced / masked where
necessary
Communicate the response
Photo by Diana Light on Unsplash
Improving our authentication
approach
• OAuth is not an authentication standard
- but it does suggest authentication
methods to use (https://www.rfc-
editor.org/rfc/rfc6749#section-2.3.1)
• Over time, those have become
ubiquitous - either using HTTP basic
authentication methods or providing
credentials in the body of a request
• While the standard requires TLS, this
becomes vulnerable to man-in-the-
middle attacks, inadvertent logging,
early TLS termination …
OAuth 2.0
to the rescue?
• Section 9 of OIDC Core 1.0 lists out
four recommended approaches for
client authentication
• The two methods from the OAuth
standard, now called
client_secret_basic and
client_secret_post
• Two new methods: client_secret_jwt
and private_key_jwt
• The two new methods no longer require
sending your client secret as part of
your token request
OIDC Core 1.0
Using symmetric secrets
• The client_secret_jwt authentication approach
is the simpler of the two options
• Clients / calling applications are still given a
client ID and client secret, but instead of
providing those in the request, the calling
application generates a JWT containing the
client ID and signs it with the client secret
• Because the authentication server has both of
these elements, it can verify the JWT and then
return a token if successful
• The main downside here is that a shared
secret is still required between the client and
authentication server
• This secret needs to be passed out of
band between the two environments
client_secret_jwt
Photo by Robin Spielmann on Unsplash
Using asymmetric keys
• In private_key_jwt, the calling application uses
asymmetric cryptography to protect the
request instead
• The calling application generates a key pair
and signs the request with the private key
• It then shares the public key with the API
server
• The API server can then use the public key
to verify the signature
• In addition, if the calling application shares a
URL rather than the key itself, any updates
required to the key pair are shared
automatically
private_key_jwt
Photo by Johannes Ortner on Unsplash
• Open ID Connect also provides
lightweight guidance on how to
handle custom claims in the auth
request
“The JWT MAY contain other
Claims. Any Claims used that are
not understood MUST be ignored.”
• We implement this feature by
embedding a list of authorized
claims within the con
fi
guration of
each calling application, and then
embedding those in the returned
token if they are found in the
request
Embedding custom claims
Photo by Theodor Vasile on Unsplash
For our purposes, we made the tradeoff
to use client_secret_jwt as it was easier
for clients to build into their applications
Some implementation details
• We use Apigee Hybrid as our API gateway,
and this already served as our OAuth token
issuer for machine-to-machine calls
• Unfortunately Apigee’s standard policies
only accommodated the older
authentication approaches
(client_secret_basic and client_secret_post)
that we were trying to avoid
Leveraging our API gateway
Photo by Piyush Wadhwa on Unsplash
• We decided to enhance the
authentication components of
our proxy so that it could
validate and transform the call
into a form that Apigee could
then validate as standard
From this …
… to this
Enhancements
1 2 3
The proxy extracts
the supplied JWT
from the request and
decodes it to extract
the client id from the
token
The proxy veri
fi
es the
client ID is valid,
looks up the
corresponding client
secret and uses that
to verify the token’s
signature
The proxy then
checks that the jti
value supplied with
the token is unique,
and if so assigns the
credentials to the
request body
Client support
We have sample libraries available in common languages to support adoption
• We implemented the remainder of the
credential abstraction pattern inside of
Apigee Hybrid as well, using it to validate
the JWT, substitute in the credentials for
the underlying service and do any rewriting
of the URL that is required
Applying credential abstraction
Photo by Meghan Rodgers on Unsplash
Putting it all together
Example 1
• Third-party billing provider
required ability to send e-mails
and review e-mail inboxes for
replies using Marsh McLennan
identities
• Implemented credential facade in
front of Microsoft Graph APIs in
Apigee Hybrid, using
client_secret_jwt to authenticate
request for OAuth Client
Credentials token
APAC healthcare provider
Photo by Sincerely Media on Unsplash
Example 2
• Third-party HR software required
ability to send e-mails using
Marsh McLennan identities
• Implemented credential facade in
front of Microsoft Graph APIs in
Apigee Hybrid, using
client_secret_jwt to authenticate
request for OAuth Client
Credentials token
EMEA HR Vendor
Photo by Christina @ wocintechchat.com on Unsplash
Example 3
• Client bank had embedded
Marsh digital broking services
inside of a combined auto loan /
insurance product
• Implemented client_secret_jwt to
authenticate request for OAuth
Client Credentials token, using
custom claims to provide
additional veri
fi
ed data about the
customer
EMEA Bank
Photo by Matthew Henry on Unsplash
What comes next?
• We still see private_key_jwt as
the better of the two new
methods provided by OIDC
Core, and are looking to support
key-pair signed tokens for auth
credentials
• We also want to create a signing
infrastructure for our internal
developers so that they don’t
need to stand up their own
capabilities and key
management
Adding private_key_jwt
Photo by regularguy.eth on Unsplash
• To date, we’ve been using
common patterns to solve speci
fi
c
client or internal challenges but
not reusing the underlying code
• We’re starting to see some shared
patterns (such as the MS Graph
API) that we think we can solve
once for many users
• This will involve moving towards
increased con
fi
guration for each
new application that is onboarded,
rather than copies and
customization
Create standardized facades
Photo by Mika Baumeister on Unsplash
Thanks and acknowledgements
• Core API team: Brian Geoghegan, Hugh Greenish, Arushi Goel, Susanne Hart and Kambui
Nurse
• MMC Enterprise Architecture: Richard Giles, Mike Coe, Jason Bent, Steve Mycock
• MMC Information Security: Mike Nepomnyashy, Ben Cheng, AJ Colangelo, Mark Mittendorf
• MMC Tech community: Ray Taylor, Thomas Siu
• Jamie Tanna, whose blog (https://www.jvt.me/posts/2021/11/09/avoid-client-secret/) set me
o
ff
down this road
• Apidays and APIsecure 2023 for having me here
• All the artists on Unsplash who provided visuals for this talk

More Related Content

What's hot

APIsecure 2023 - API orchestration: to build resilient applications, Cherish ...
APIsecure 2023 - API orchestration: to build resilient applications, Cherish ...APIsecure 2023 - API orchestration: to build resilient applications, Cherish ...
APIsecure 2023 - API orchestration: to build resilient applications, Cherish ...apidays
 
API as-a-Product with Azure API Management (APIM)
API as-a-Product with Azure API Management (APIM)API as-a-Product with Azure API Management (APIM)
API as-a-Product with Azure API Management (APIM)Bishoy Demian
 
The fundamentals of AWS cloud security - FND209-R - AWS re:Inforce 2019
The fundamentals of AWS cloud security - FND209-R - AWS re:Inforce 2019 The fundamentals of AWS cloud security - FND209-R - AWS re:Inforce 2019
The fundamentals of AWS cloud security - FND209-R - AWS re:Inforce 2019 Amazon Web Services
 
OAuth & OpenID Connect Deep Dive
OAuth & OpenID Connect Deep DiveOAuth & OpenID Connect Deep Dive
OAuth & OpenID Connect Deep DiveNordic APIs
 
Introduction to Kong API Gateway
Introduction to Kong API GatewayIntroduction to Kong API Gateway
Introduction to Kong API GatewayYohann Ciurlik
 
OAuth2 - Introduction
OAuth2 - IntroductionOAuth2 - Introduction
OAuth2 - IntroductionKnoldus Inc.
 
API Management Part 1 - An Introduction to Azure API Management
API Management Part 1 - An Introduction to Azure API ManagementAPI Management Part 1 - An Introduction to Azure API Management
API Management Part 1 - An Introduction to Azure API ManagementBizTalk360
 
WEBINAR: OWASP API Security Top 10
WEBINAR: OWASP API Security Top 10WEBINAR: OWASP API Security Top 10
WEBINAR: OWASP API Security Top 1042Crunch
 
INTERFACE by apidays 2023 - The Swiss Cheese Model of Layered API Security, L...
INTERFACE by apidays 2023 - The Swiss Cheese Model of Layered API Security, L...INTERFACE by apidays 2023 - The Swiss Cheese Model of Layered API Security, L...
INTERFACE by apidays 2023 - The Swiss Cheese Model of Layered API Security, L...apidays
 
An Introduction to OAuth2
An Introduction to OAuth2An Introduction to OAuth2
An Introduction to OAuth2Aaron Parecki
 
Azure API Management
Azure API ManagementAzure API Management
Azure API ManagementDaniel Toomey
 
API Security Best Practices & Guidelines
API Security Best Practices & GuidelinesAPI Security Best Practices & Guidelines
API Security Best Practices & GuidelinesPrabath Siriwardena
 
Azure API Management
Azure API ManagementAzure API Management
Azure API Managementjeremysbrown
 
Demystifying SAML 2.0,Oauth 2.0, OpenID Connect
Demystifying SAML 2.0,Oauth 2.0, OpenID ConnectDemystifying SAML 2.0,Oauth 2.0, OpenID Connect
Demystifying SAML 2.0,Oauth 2.0, OpenID ConnectVinay Manglani
 
APISecurity_OWASP_MitigationGuide
APISecurity_OWASP_MitigationGuide APISecurity_OWASP_MitigationGuide
APISecurity_OWASP_MitigationGuide Isabelle Mauny
 
Introduction to OpenID Connect
Introduction to OpenID Connect Introduction to OpenID Connect
Introduction to OpenID Connect Nat Sakimura
 
What is an API Gateway?
What is an API Gateway?What is an API Gateway?
What is an API Gateway?LunchBadger
 

What's hot (20)

APIsecure 2023 - API orchestration: to build resilient applications, Cherish ...
APIsecure 2023 - API orchestration: to build resilient applications, Cherish ...APIsecure 2023 - API orchestration: to build resilient applications, Cherish ...
APIsecure 2023 - API orchestration: to build resilient applications, Cherish ...
 
API as-a-Product with Azure API Management (APIM)
API as-a-Product with Azure API Management (APIM)API as-a-Product with Azure API Management (APIM)
API as-a-Product with Azure API Management (APIM)
 
The fundamentals of AWS cloud security - FND209-R - AWS re:Inforce 2019
The fundamentals of AWS cloud security - FND209-R - AWS re:Inforce 2019 The fundamentals of AWS cloud security - FND209-R - AWS re:Inforce 2019
The fundamentals of AWS cloud security - FND209-R - AWS re:Inforce 2019
 
API Security Lifecycle
API Security LifecycleAPI Security Lifecycle
API Security Lifecycle
 
OAuth & OpenID Connect Deep Dive
OAuth & OpenID Connect Deep DiveOAuth & OpenID Connect Deep Dive
OAuth & OpenID Connect Deep Dive
 
Introduction to Kong API Gateway
Introduction to Kong API GatewayIntroduction to Kong API Gateway
Introduction to Kong API Gateway
 
API Security Fundamentals
API Security FundamentalsAPI Security Fundamentals
API Security Fundamentals
 
OAuth2 - Introduction
OAuth2 - IntroductionOAuth2 - Introduction
OAuth2 - Introduction
 
API Management Part 1 - An Introduction to Azure API Management
API Management Part 1 - An Introduction to Azure API ManagementAPI Management Part 1 - An Introduction to Azure API Management
API Management Part 1 - An Introduction to Azure API Management
 
WEBINAR: OWASP API Security Top 10
WEBINAR: OWASP API Security Top 10WEBINAR: OWASP API Security Top 10
WEBINAR: OWASP API Security Top 10
 
INTERFACE by apidays 2023 - The Swiss Cheese Model of Layered API Security, L...
INTERFACE by apidays 2023 - The Swiss Cheese Model of Layered API Security, L...INTERFACE by apidays 2023 - The Swiss Cheese Model of Layered API Security, L...
INTERFACE by apidays 2023 - The Swiss Cheese Model of Layered API Security, L...
 
Apigee Products Overview
Apigee Products OverviewApigee Products Overview
Apigee Products Overview
 
An Introduction to OAuth2
An Introduction to OAuth2An Introduction to OAuth2
An Introduction to OAuth2
 
Azure API Management
Azure API ManagementAzure API Management
Azure API Management
 
API Security Best Practices & Guidelines
API Security Best Practices & GuidelinesAPI Security Best Practices & Guidelines
API Security Best Practices & Guidelines
 
Azure API Management
Azure API ManagementAzure API Management
Azure API Management
 
Demystifying SAML 2.0,Oauth 2.0, OpenID Connect
Demystifying SAML 2.0,Oauth 2.0, OpenID ConnectDemystifying SAML 2.0,Oauth 2.0, OpenID Connect
Demystifying SAML 2.0,Oauth 2.0, OpenID Connect
 
APISecurity_OWASP_MitigationGuide
APISecurity_OWASP_MitigationGuide APISecurity_OWASP_MitigationGuide
APISecurity_OWASP_MitigationGuide
 
Introduction to OpenID Connect
Introduction to OpenID Connect Introduction to OpenID Connect
Introduction to OpenID Connect
 
What is an API Gateway?
What is an API Gateway?What is an API Gateway?
What is an API Gateway?
 

Similar to APIsecure 2023 - OAuth, OIDC and protecting third-party credentials, Ed Olson Morgan (Marsh McLennan)

Governance and Security Solution Patterns
Governance and Security Solution Patterns Governance and Security Solution Patterns
Governance and Security Solution Patterns WSO2
 
Leverage your application architecture with azure services
Leverage your application architecture with azure servicesLeverage your application architecture with azure services
Leverage your application architecture with azure servicesSammani Palansuriya
 
Global azure virtual 2021 - Azure Lighthouse
Global azure virtual 2021 - Azure LighthouseGlobal azure virtual 2021 - Azure Lighthouse
Global azure virtual 2021 - Azure LighthouseIvo Andreev
 
Ladies Be Architects - Study Group III: OAuth 2.0 (Ep 1)
Ladies Be Architects - Study Group III: OAuth 2.0 (Ep 1)Ladies Be Architects - Study Group III: OAuth 2.0 (Ep 1)
Ladies Be Architects - Study Group III: OAuth 2.0 (Ep 1)gemziebeth
 
Secure Development on the Salesforce Platform - Part 3
Secure Development on the Salesforce Platform - Part 3Secure Development on the Salesforce Platform - Part 3
Secure Development on the Salesforce Platform - Part 3Mark Adcock
 
Data Synchronization Patterns in Mobile Application Design
Data Synchronization Patterns in Mobile Application DesignData Synchronization Patterns in Mobile Application Design
Data Synchronization Patterns in Mobile Application DesignEric Maxwell
 
Azure AD B2C Webinar Series: Custom Policies Part 1
Azure AD B2C Webinar Series: Custom Policies Part 1Azure AD B2C Webinar Series: Custom Policies Part 1
Azure AD B2C Webinar Series: Custom Policies Part 1Vinu Gunasekaran
 
Fragments-Plug the vulnerabilities in your App
Fragments-Plug the vulnerabilities in your AppFragments-Plug the vulnerabilities in your App
Fragments-Plug the vulnerabilities in your AppAppsecco
 
Azure AD B2C Webinar Series: Custom Policies Part 2 Policy Walkthrough
Azure AD B2C Webinar Series: Custom Policies Part 2 Policy WalkthroughAzure AD B2C Webinar Series: Custom Policies Part 2 Policy Walkthrough
Azure AD B2C Webinar Series: Custom Policies Part 2 Policy WalkthroughVinu Gunasekaran
 
7 Deadly Sins in Azure AD App Development
7 Deadly Sins in Azure AD App Development7 Deadly Sins in Azure AD App Development
7 Deadly Sins in Azure AD App DevelopmentJoonas Westlin
 
Transform IT Operations and Management
Transform IT Operations and ManagementTransform IT Operations and Management
Transform IT Operations and ManagementAmazon Web Services
 
Attribute-Based Encryption for Cloud Security
Attribute-Based Encryption for Cloud SecurityAttribute-Based Encryption for Cloud Security
Attribute-Based Encryption for Cloud SecurityMphasis
 
Federation Evolved: How Cloud, Mobile & APIs Change the Way We Broker Identity
Federation Evolved: How Cloud, Mobile & APIs Change the Way We Broker IdentityFederation Evolved: How Cloud, Mobile & APIs Change the Way We Broker Identity
Federation Evolved: How Cloud, Mobile & APIs Change the Way We Broker IdentityCA API Management
 
OAuth 2.0 and OpenId Connect
OAuth 2.0 and OpenId ConnectOAuth 2.0 and OpenId Connect
OAuth 2.0 and OpenId ConnectSaran Doraiswamy
 

Similar to APIsecure 2023 - OAuth, OIDC and protecting third-party credentials, Ed Olson Morgan (Marsh McLennan) (20)

Governance and Security Solution Patterns
Governance and Security Solution Patterns Governance and Security Solution Patterns
Governance and Security Solution Patterns
 
Cloud Identity Management
Cloud Identity ManagementCloud Identity Management
Cloud Identity Management
 
Leverage your application architecture with azure services
Leverage your application architecture with azure servicesLeverage your application architecture with azure services
Leverage your application architecture with azure services
 
API Security with OAuth2.0.
API Security with OAuth2.0.API Security with OAuth2.0.
API Security with OAuth2.0.
 
Unit 5
Unit 5Unit 5
Unit 5
 
Global azure virtual 2021 - Azure Lighthouse
Global azure virtual 2021 - Azure LighthouseGlobal azure virtual 2021 - Azure Lighthouse
Global azure virtual 2021 - Azure Lighthouse
 
Ladies Be Architects - Study Group III: OAuth 2.0 (Ep 1)
Ladies Be Architects - Study Group III: OAuth 2.0 (Ep 1)Ladies Be Architects - Study Group III: OAuth 2.0 (Ep 1)
Ladies Be Architects - Study Group III: OAuth 2.0 (Ep 1)
 
Secure Development on the Salesforce Platform - Part 3
Secure Development on the Salesforce Platform - Part 3Secure Development on the Salesforce Platform - Part 3
Secure Development on the Salesforce Platform - Part 3
 
Data Synchronization Patterns in Mobile Application Design
Data Synchronization Patterns in Mobile Application DesignData Synchronization Patterns in Mobile Application Design
Data Synchronization Patterns in Mobile Application Design
 
Azure AD B2C Webinar Series: Custom Policies Part 1
Azure AD B2C Webinar Series: Custom Policies Part 1Azure AD B2C Webinar Series: Custom Policies Part 1
Azure AD B2C Webinar Series: Custom Policies Part 1
 
Fragments-Plug the vulnerabilities in your App
Fragments-Plug the vulnerabilities in your AppFragments-Plug the vulnerabilities in your App
Fragments-Plug the vulnerabilities in your App
 
Presentation
PresentationPresentation
Presentation
 
Super charged prototyping
Super charged prototypingSuper charged prototyping
Super charged prototyping
 
Azure AD B2C Webinar Series: Custom Policies Part 2 Policy Walkthrough
Azure AD B2C Webinar Series: Custom Policies Part 2 Policy WalkthroughAzure AD B2C Webinar Series: Custom Policies Part 2 Policy Walkthrough
Azure AD B2C Webinar Series: Custom Policies Part 2 Policy Walkthrough
 
7 Deadly Sins in Azure AD App Development
7 Deadly Sins in Azure AD App Development7 Deadly Sins in Azure AD App Development
7 Deadly Sins in Azure AD App Development
 
Transform IT Operations and Management
Transform IT Operations and ManagementTransform IT Operations and Management
Transform IT Operations and Management
 
Attribute-Based Encryption for Cloud Security
Attribute-Based Encryption for Cloud SecurityAttribute-Based Encryption for Cloud Security
Attribute-Based Encryption for Cloud Security
 
Federation Evolved: How Cloud, Mobile & APIs Change the Way We Broker Identity
Federation Evolved: How Cloud, Mobile & APIs Change the Way We Broker IdentityFederation Evolved: How Cloud, Mobile & APIs Change the Way We Broker Identity
Federation Evolved: How Cloud, Mobile & APIs Change the Way We Broker Identity
 
OAuth 2.0 and OpenId Connect
OAuth 2.0 and OpenId ConnectOAuth 2.0 and OpenId Connect
OAuth 2.0 and OpenId Connect
 
AbedElilahElmahmoumP1.pptx
AbedElilahElmahmoumP1.pptxAbedElilahElmahmoumP1.pptx
AbedElilahElmahmoumP1.pptx
 

More from 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
 
Apidays Singapore 2024 - Harnessing Green IT by Jai Prakash and Timothée Dufr...
Apidays Singapore 2024 - Harnessing Green IT by Jai Prakash and Timothée Dufr...Apidays Singapore 2024 - Harnessing Green IT by Jai Prakash and Timothée Dufr...
Apidays Singapore 2024 - Harnessing Green IT by Jai Prakash and Timothée Dufr...apidays
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...apidays
 
Apidays Singapore 2024 - Creating API First Engineering Team by Asim Suvedi, ...
Apidays Singapore 2024 - Creating API First Engineering Team by Asim Suvedi, ...Apidays Singapore 2024 - Creating API First Engineering Team by Asim Suvedi, ...
Apidays Singapore 2024 - Creating API First Engineering Team by Asim Suvedi, ...apidays
 
Apidays Singapore 2024 - Designing a Scalable MLOps Pipeline by Victoria Lo, ...
Apidays Singapore 2024 - Designing a Scalable MLOps Pipeline by Victoria Lo, ...Apidays Singapore 2024 - Designing a Scalable MLOps Pipeline by Victoria Lo, ...
Apidays Singapore 2024 - Designing a Scalable MLOps Pipeline by Victoria Lo, ...apidays
 
Apidays Singapore 2024 - The 5 Key Tenets of a Multiform API Management Strat...
Apidays Singapore 2024 - The 5 Key Tenets of a Multiform API Management Strat...Apidays Singapore 2024 - The 5 Key Tenets of a Multiform API Management Strat...
Apidays Singapore 2024 - The 5 Key Tenets of a Multiform API Management Strat...apidays
 
Apidays Singapore 2024 - APIs in the world of Generative AI by Claudio Tag, IBM
Apidays Singapore 2024 - APIs in the world of Generative AI by Claudio Tag, IBMApidays Singapore 2024 - APIs in the world of Generative AI by Claudio Tag, IBM
Apidays Singapore 2024 - APIs in the world of Generative AI by Claudio Tag, IBMapidays
 
Apidays Singapore 2024 - Banking: From Obsolete to Absolute by Indra Salim, a...
Apidays Singapore 2024 - Banking: From Obsolete to Absolute by Indra Salim, a...Apidays Singapore 2024 - Banking: From Obsolete to Absolute by Indra Salim, a...
Apidays Singapore 2024 - Banking: From Obsolete to Absolute by Indra Salim, a...apidays
 
Apidays Singapore 2024 - Application and Platform Optimization through Power ...
Apidays Singapore 2024 - Application and Platform Optimization through Power ...Apidays Singapore 2024 - Application and Platform Optimization through Power ...
Apidays Singapore 2024 - Application and Platform Optimization through Power ...apidays
 
Apidays Singapore 2024 - Shift RIGHT to Better Product Resilience by Abhijit ...
Apidays Singapore 2024 - Shift RIGHT to Better Product Resilience by Abhijit ...Apidays Singapore 2024 - Shift RIGHT to Better Product Resilience by Abhijit ...
Apidays Singapore 2024 - Shift RIGHT to Better Product Resilience by Abhijit ...apidays
 

More from apidays (20)

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...
 
Apidays Singapore 2024 - Harnessing Green IT by Jai Prakash and Timothée Dufr...
Apidays Singapore 2024 - Harnessing Green IT by Jai Prakash and Timothée Dufr...Apidays Singapore 2024 - Harnessing Green IT by Jai Prakash and Timothée Dufr...
Apidays Singapore 2024 - Harnessing Green IT by Jai Prakash and Timothée Dufr...
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
 
Apidays Singapore 2024 - Creating API First Engineering Team by Asim Suvedi, ...
Apidays Singapore 2024 - Creating API First Engineering Team by Asim Suvedi, ...Apidays Singapore 2024 - Creating API First Engineering Team by Asim Suvedi, ...
Apidays Singapore 2024 - Creating API First Engineering Team by Asim Suvedi, ...
 
Apidays Singapore 2024 - Designing a Scalable MLOps Pipeline by Victoria Lo, ...
Apidays Singapore 2024 - Designing a Scalable MLOps Pipeline by Victoria Lo, ...Apidays Singapore 2024 - Designing a Scalable MLOps Pipeline by Victoria Lo, ...
Apidays Singapore 2024 - Designing a Scalable MLOps Pipeline by Victoria Lo, ...
 
Apidays Singapore 2024 - The 5 Key Tenets of a Multiform API Management Strat...
Apidays Singapore 2024 - The 5 Key Tenets of a Multiform API Management Strat...Apidays Singapore 2024 - The 5 Key Tenets of a Multiform API Management Strat...
Apidays Singapore 2024 - The 5 Key Tenets of a Multiform API Management Strat...
 
Apidays Singapore 2024 - APIs in the world of Generative AI by Claudio Tag, IBM
Apidays Singapore 2024 - APIs in the world of Generative AI by Claudio Tag, IBMApidays Singapore 2024 - APIs in the world of Generative AI by Claudio Tag, IBM
Apidays Singapore 2024 - APIs in the world of Generative AI by Claudio Tag, IBM
 
Apidays Singapore 2024 - Banking: From Obsolete to Absolute by Indra Salim, a...
Apidays Singapore 2024 - Banking: From Obsolete to Absolute by Indra Salim, a...Apidays Singapore 2024 - Banking: From Obsolete to Absolute by Indra Salim, a...
Apidays Singapore 2024 - Banking: From Obsolete to Absolute by Indra Salim, a...
 
Apidays Singapore 2024 - Application and Platform Optimization through Power ...
Apidays Singapore 2024 - Application and Platform Optimization through Power ...Apidays Singapore 2024 - Application and Platform Optimization through Power ...
Apidays Singapore 2024 - Application and Platform Optimization through Power ...
 
Apidays Singapore 2024 - Shift RIGHT to Better Product Resilience by Abhijit ...
Apidays Singapore 2024 - Shift RIGHT to Better Product Resilience by Abhijit ...Apidays Singapore 2024 - Shift RIGHT to Better Product Resilience by Abhijit ...
Apidays Singapore 2024 - Shift RIGHT to Better Product Resilience by Abhijit ...
 

Recently uploaded

Networking in the Penumbra presented by Geoff Huston at NZNOG
Networking in the Penumbra presented by Geoff Huston at NZNOGNetworking in the Penumbra presented by Geoff Huston at NZNOG
Networking in the Penumbra presented by Geoff Huston at NZNOGAPNIC
 
Enjoy Night⚡Call Girls Dlf City Phase 3 Gurgaon >༒8448380779 Escort Service
Enjoy Night⚡Call Girls Dlf City Phase 3 Gurgaon >༒8448380779 Escort ServiceEnjoy Night⚡Call Girls Dlf City Phase 3 Gurgaon >༒8448380779 Escort Service
Enjoy Night⚡Call Girls Dlf City Phase 3 Gurgaon >༒8448380779 Escort ServiceDelhi Call girls
 
VIP 7001035870 Find & Meet Hyderabad Call Girls Dilsukhnagar high-profile Cal...
VIP 7001035870 Find & Meet Hyderabad Call Girls Dilsukhnagar high-profile Cal...VIP 7001035870 Find & Meet Hyderabad Call Girls Dilsukhnagar high-profile Cal...
VIP 7001035870 Find & Meet Hyderabad Call Girls Dilsukhnagar high-profile Cal...aditipandeya
 
Chennai Call Girls Porur Phone 🍆 8250192130 👅 celebrity escorts service
Chennai Call Girls Porur Phone 🍆 8250192130 👅 celebrity escorts serviceChennai Call Girls Porur Phone 🍆 8250192130 👅 celebrity escorts service
Chennai Call Girls Porur Phone 🍆 8250192130 👅 celebrity escorts servicesonalikaur4
 
Russian Call Girls in Kolkata Samaira 🤌 8250192130 🚀 Vip Call Girls Kolkata
Russian Call Girls in Kolkata Samaira 🤌  8250192130 🚀 Vip Call Girls KolkataRussian Call Girls in Kolkata Samaira 🤌  8250192130 🚀 Vip Call Girls Kolkata
Russian Call Girls in Kolkata Samaira 🤌 8250192130 🚀 Vip Call Girls Kolkataanamikaraghav4
 
VIP Kolkata Call Girl Dum Dum 👉 8250192130 Available With Room
VIP Kolkata Call Girl Dum Dum 👉 8250192130  Available With RoomVIP Kolkata Call Girl Dum Dum 👉 8250192130  Available With Room
VIP Kolkata Call Girl Dum Dum 👉 8250192130 Available With Roomdivyansh0kumar0
 
Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...
Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...
Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...Sheetaleventcompany
 
Russian Call Girls in Kolkata Ishita 🤌 8250192130 🚀 Vip Call Girls Kolkata
Russian Call Girls in Kolkata Ishita 🤌  8250192130 🚀 Vip Call Girls KolkataRussian Call Girls in Kolkata Ishita 🤌  8250192130 🚀 Vip Call Girls Kolkata
Russian Call Girls in Kolkata Ishita 🤌 8250192130 🚀 Vip Call Girls Kolkataanamikaraghav4
 
Best VIP Call Girls Noida Sector 75 Call Me: 8448380779
Best VIP Call Girls Noida Sector 75 Call Me: 8448380779Best VIP Call Girls Noida Sector 75 Call Me: 8448380779
Best VIP Call Girls Noida Sector 75 Call Me: 8448380779Delhi Call girls
 
Chennai Call Girls Alwarpet Phone 🍆 8250192130 👅 celebrity escorts service
Chennai Call Girls Alwarpet Phone 🍆 8250192130 👅 celebrity escorts serviceChennai Call Girls Alwarpet Phone 🍆 8250192130 👅 celebrity escorts service
Chennai Call Girls Alwarpet Phone 🍆 8250192130 👅 celebrity escorts servicevipmodelshub1
 
VIP Kolkata Call Girls Salt Lake 8250192130 Available With Room
VIP Kolkata Call Girls Salt Lake 8250192130 Available With RoomVIP Kolkata Call Girls Salt Lake 8250192130 Available With Room
VIP Kolkata Call Girls Salt Lake 8250192130 Available With Roomgirls4nights
 
₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...
₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...
₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...Diya Sharma
 
Russian Call girl in Ajman +971563133746 Ajman Call girl Service
Russian Call girl in Ajman +971563133746 Ajman Call girl ServiceRussian Call girl in Ajman +971563133746 Ajman Call girl Service
Russian Call girl in Ajman +971563133746 Ajman Call girl Servicegwenoracqe6
 
How is AI changing journalism? (v. April 2024)
How is AI changing journalism? (v. April 2024)How is AI changing journalism? (v. April 2024)
How is AI changing journalism? (v. April 2024)Damian Radcliffe
 
Challengers I Told Ya ShirtChallengers I Told Ya Shirt
Challengers I Told Ya ShirtChallengers I Told Ya ShirtChallengers I Told Ya ShirtChallengers I Told Ya Shirt
Challengers I Told Ya ShirtChallengers I Told Ya Shirtrahman018755
 
VIP Kolkata Call Girl Salt Lake 👉 8250192130 Available With Room
VIP Kolkata Call Girl Salt Lake 👉 8250192130  Available With RoomVIP Kolkata Call Girl Salt Lake 👉 8250192130  Available With Room
VIP Kolkata Call Girl Salt Lake 👉 8250192130 Available With Roomishabajaj13
 

Recently uploaded (20)

Networking in the Penumbra presented by Geoff Huston at NZNOG
Networking in the Penumbra presented by Geoff Huston at NZNOGNetworking in the Penumbra presented by Geoff Huston at NZNOG
Networking in the Penumbra presented by Geoff Huston at NZNOG
 
Rohini Sector 26 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
Rohini Sector 26 Call Girls Delhi 9999965857 @Sabina Saikh No AdvanceRohini Sector 26 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
Rohini Sector 26 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
 
Enjoy Night⚡Call Girls Dlf City Phase 3 Gurgaon >༒8448380779 Escort Service
Enjoy Night⚡Call Girls Dlf City Phase 3 Gurgaon >༒8448380779 Escort ServiceEnjoy Night⚡Call Girls Dlf City Phase 3 Gurgaon >༒8448380779 Escort Service
Enjoy Night⚡Call Girls Dlf City Phase 3 Gurgaon >༒8448380779 Escort Service
 
VIP 7001035870 Find & Meet Hyderabad Call Girls Dilsukhnagar high-profile Cal...
VIP 7001035870 Find & Meet Hyderabad Call Girls Dilsukhnagar high-profile Cal...VIP 7001035870 Find & Meet Hyderabad Call Girls Dilsukhnagar high-profile Cal...
VIP 7001035870 Find & Meet Hyderabad Call Girls Dilsukhnagar high-profile Cal...
 
Chennai Call Girls Porur Phone 🍆 8250192130 👅 celebrity escorts service
Chennai Call Girls Porur Phone 🍆 8250192130 👅 celebrity escorts serviceChennai Call Girls Porur Phone 🍆 8250192130 👅 celebrity escorts service
Chennai Call Girls Porur Phone 🍆 8250192130 👅 celebrity escorts service
 
Rohini Sector 6 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
Rohini Sector 6 Call Girls Delhi 9999965857 @Sabina Saikh No AdvanceRohini Sector 6 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
Rohini Sector 6 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
 
Russian Call Girls in Kolkata Samaira 🤌 8250192130 🚀 Vip Call Girls Kolkata
Russian Call Girls in Kolkata Samaira 🤌  8250192130 🚀 Vip Call Girls KolkataRussian Call Girls in Kolkata Samaira 🤌  8250192130 🚀 Vip Call Girls Kolkata
Russian Call Girls in Kolkata Samaira 🤌 8250192130 🚀 Vip Call Girls Kolkata
 
VIP Kolkata Call Girl Dum Dum 👉 8250192130 Available With Room
VIP Kolkata Call Girl Dum Dum 👉 8250192130  Available With RoomVIP Kolkata Call Girl Dum Dum 👉 8250192130  Available With Room
VIP Kolkata Call Girl Dum Dum 👉 8250192130 Available With Room
 
Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...
Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...
Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...
 
Russian Call Girls in Kolkata Ishita 🤌 8250192130 🚀 Vip Call Girls Kolkata
Russian Call Girls in Kolkata Ishita 🤌  8250192130 🚀 Vip Call Girls KolkataRussian Call Girls in Kolkata Ishita 🤌  8250192130 🚀 Vip Call Girls Kolkata
Russian Call Girls in Kolkata Ishita 🤌 8250192130 🚀 Vip Call Girls Kolkata
 
Best VIP Call Girls Noida Sector 75 Call Me: 8448380779
Best VIP Call Girls Noida Sector 75 Call Me: 8448380779Best VIP Call Girls Noida Sector 75 Call Me: 8448380779
Best VIP Call Girls Noida Sector 75 Call Me: 8448380779
 
Rohini Sector 22 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
Rohini Sector 22 Call Girls Delhi 9999965857 @Sabina Saikh No AdvanceRohini Sector 22 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
Rohini Sector 22 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
 
Chennai Call Girls Alwarpet Phone 🍆 8250192130 👅 celebrity escorts service
Chennai Call Girls Alwarpet Phone 🍆 8250192130 👅 celebrity escorts serviceChennai Call Girls Alwarpet Phone 🍆 8250192130 👅 celebrity escorts service
Chennai Call Girls Alwarpet Phone 🍆 8250192130 👅 celebrity escorts service
 
VIP Kolkata Call Girls Salt Lake 8250192130 Available With Room
VIP Kolkata Call Girls Salt Lake 8250192130 Available With RoomVIP Kolkata Call Girls Salt Lake 8250192130 Available With Room
VIP Kolkata Call Girls Salt Lake 8250192130 Available With Room
 
Dwarka Sector 26 Call Girls | Delhi | 9999965857 🫦 Vanshika Verma More Our Se...
Dwarka Sector 26 Call Girls | Delhi | 9999965857 🫦 Vanshika Verma More Our Se...Dwarka Sector 26 Call Girls | Delhi | 9999965857 🫦 Vanshika Verma More Our Se...
Dwarka Sector 26 Call Girls | Delhi | 9999965857 🫦 Vanshika Verma More Our Se...
 
₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...
₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...
₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...
 
Russian Call girl in Ajman +971563133746 Ajman Call girl Service
Russian Call girl in Ajman +971563133746 Ajman Call girl ServiceRussian Call girl in Ajman +971563133746 Ajman Call girl Service
Russian Call girl in Ajman +971563133746 Ajman Call girl Service
 
How is AI changing journalism? (v. April 2024)
How is AI changing journalism? (v. April 2024)How is AI changing journalism? (v. April 2024)
How is AI changing journalism? (v. April 2024)
 
Challengers I Told Ya ShirtChallengers I Told Ya Shirt
Challengers I Told Ya ShirtChallengers I Told Ya ShirtChallengers I Told Ya ShirtChallengers I Told Ya Shirt
Challengers I Told Ya ShirtChallengers I Told Ya Shirt
 
VIP Kolkata Call Girl Salt Lake 👉 8250192130 Available With Room
VIP Kolkata Call Girl Salt Lake 👉 8250192130  Available With RoomVIP Kolkata Call Girl Salt Lake 👉 8250192130  Available With Room
VIP Kolkata Call Girl Salt Lake 👉 8250192130 Available With Room
 

APIsecure 2023 - OAuth, OIDC and protecting third-party credentials, Ed Olson Morgan (Marsh McLennan)

  • 1. Ed Olson-Morgan (he/his), Tuesday March 14th 2023 OAuth, OIDC and protecting third party credentials APIsecure 2023
  • 2. Photo by Danil Aksenov on Unsplash
  • 3. Ed Olson-Morgan • Engineer -> management consultant -> engineer • Part of the founding team of two digital consulting practices • ADAPT@Bain • Oliver Wyman Digital • Core API & Innovation Lead at Marsh McLennan since 2021 About me
  • 4. Agenda for today • Explain the business problem we’re trying to solve: protecting third party credentials when working with vendors and multiple development teams • Discuss the credential abstraction pattern and how it helps us here • Review some of the issues that came up and how OAuth / OIDC standards helped us solve them • Talk through some of the technical implementation details • Show how we put it all together to better protect our environments • Share what we’re looking at doing next
  • 6. Who is Marsh McLennan? • Big, global professional services fi rm: insurance and reinsurance broking, human resources and bene fi ts consulting, management consulting • Celebrated 150th anniversary last year; over $20BB in revenue • Four main operating companies (Marsh, Mercer, Guy Carpenter, Oliver Wyman) • Central technology capability (MMC Tech) established in 2020; accelerate and standardize the adoption of technology throughout the business
  • 7. APIs are at the heart of our reuse strategy The “reuse taxonomy” • We build software for ourselves, our clients, our clients’ employees and our clients’ clients across multiple lines of business • Doing so e ff ectively requires focusing on solving the unique problems of each application and reusing common solutions everywhere else Templates Code snippets Libraries APIs Increasingly e ffi cient to reuse and maintain; decreased developer fl exibility
  • 8. • Part of reuse is also not creating things in the fi rst place: there are many technology areas that are not core to our business • As such, we partner with over a hundred SaaS providers (from household names like Microsoft and Docusign to boutique providers) to support our work • In most cases, this requires some form of shared trust (single-sign-on, shared credentials etc.) Working with SaaS partners Photo by Cytonn Photography on Unsplash
  • 9. • One particular challenge we face is sharing long-lived credentials with our vendors • This broadens the attack surface if these credentials are leaked or otherwise compromised • When these credentials are for another vendor / third-party (e.g. Microsoft Graph API), we also risk issues with security miscon fi guration or excessive authorization • We use credential abstraction patterns to reduce this risk Protecting our credentials Photo by Markus Winkler on Unsplash
  • 11. Calling application Authentication service Intermediate proxy 1 Validate caller credentials Underlying service Obtain service credentials Rewrite URI 2 3 4 5 Communicate response 6 7 Credential abstraction: an overview
  • 12. • Using a credential abstraction pattern requires providing an alternative method for callers to authenticate themselves • Because these are typically service-to-service calls, we use the OAuth Client Credentials grant to generate short-lived tokens for the calling applications to use • We’ll come back to some of the challenges this posed later Authenticating the application Photo by Volodymyr Kondriianenko on Unsplash
  • 13. • The calling application then presents the short-lived credentials to the credential abstraction service • The abstraction service is then responsible for validating these with the issuer before allowing the call to proceed any further • When using OAuth, this should make a call back to the credential issuer to make sure that the provided credentials are still valid, rather than just validating the token using the provided signature Validating application credentials Photo by Levi Ventura on Unsplash
  • 14. • The abstraction service then reviews the request being made to the underlying service • Each calling application should be granted least-privilege permissions at the endpoint/method level • If this check is passed, the abstraction service then removes the credentials supplied by the application and replaces those with valid credentials for the underlying service • Where possible, these credentials should be application-speci fi c and tightly scoped Obtaining service credentials Photo by Maria Ziegler on Unsplash
  • 15. • The abstraction service then needs to re-write the URI so that the request can be passed onto the underlying service • This may also involve adding in incremental headers or other components (query parameters, message body elements etc.) needed to meet the requirements of the underlying service Rewrite the URI Photo by Luca Bravo on Unsplash
  • 16. • After the call has been made to the underlying service, the abstraction service needs to pass on the response • All secrets and sensitives still attached to the call should be removed prior to returning it to the calling application • Errors should be handled and replaced / masked where necessary Communicate the response Photo by Diana Light on Unsplash
  • 18.
  • 19. • OAuth is not an authentication standard - but it does suggest authentication methods to use (https://www.rfc- editor.org/rfc/rfc6749#section-2.3.1) • Over time, those have become ubiquitous - either using HTTP basic authentication methods or providing credentials in the body of a request • While the standard requires TLS, this becomes vulnerable to man-in-the- middle attacks, inadvertent logging, early TLS termination … OAuth 2.0
  • 20. to the rescue? • Section 9 of OIDC Core 1.0 lists out four recommended approaches for client authentication • The two methods from the OAuth standard, now called client_secret_basic and client_secret_post • Two new methods: client_secret_jwt and private_key_jwt • The two new methods no longer require sending your client secret as part of your token request OIDC Core 1.0
  • 21. Using symmetric secrets • The client_secret_jwt authentication approach is the simpler of the two options • Clients / calling applications are still given a client ID and client secret, but instead of providing those in the request, the calling application generates a JWT containing the client ID and signs it with the client secret • Because the authentication server has both of these elements, it can verify the JWT and then return a token if successful • The main downside here is that a shared secret is still required between the client and authentication server • This secret needs to be passed out of band between the two environments client_secret_jwt Photo by Robin Spielmann on Unsplash
  • 22. Using asymmetric keys • In private_key_jwt, the calling application uses asymmetric cryptography to protect the request instead • The calling application generates a key pair and signs the request with the private key • It then shares the public key with the API server • The API server can then use the public key to verify the signature • In addition, if the calling application shares a URL rather than the key itself, any updates required to the key pair are shared automatically private_key_jwt Photo by Johannes Ortner on Unsplash
  • 23. • Open ID Connect also provides lightweight guidance on how to handle custom claims in the auth request “The JWT MAY contain other Claims. Any Claims used that are not understood MUST be ignored.” • We implement this feature by embedding a list of authorized claims within the con fi guration of each calling application, and then embedding those in the returned token if they are found in the request Embedding custom claims Photo by Theodor Vasile on Unsplash
  • 24. For our purposes, we made the tradeoff to use client_secret_jwt as it was easier for clients to build into their applications
  • 26. • We use Apigee Hybrid as our API gateway, and this already served as our OAuth token issuer for machine-to-machine calls • Unfortunately Apigee’s standard policies only accommodated the older authentication approaches (client_secret_basic and client_secret_post) that we were trying to avoid Leveraging our API gateway Photo by Piyush Wadhwa on Unsplash • We decided to enhance the authentication components of our proxy so that it could validate and transform the call into a form that Apigee could then validate as standard
  • 27. From this … … to this
  • 28. Enhancements 1 2 3 The proxy extracts the supplied JWT from the request and decodes it to extract the client id from the token The proxy veri fi es the client ID is valid, looks up the corresponding client secret and uses that to verify the token’s signature The proxy then checks that the jti value supplied with the token is unique, and if so assigns the credentials to the request body
  • 29. Client support We have sample libraries available in common languages to support adoption
  • 30. • We implemented the remainder of the credential abstraction pattern inside of Apigee Hybrid as well, using it to validate the JWT, substitute in the credentials for the underlying service and do any rewriting of the URL that is required Applying credential abstraction Photo by Meghan Rodgers on Unsplash
  • 31. Putting it all together
  • 32. Example 1 • Third-party billing provider required ability to send e-mails and review e-mail inboxes for replies using Marsh McLennan identities • Implemented credential facade in front of Microsoft Graph APIs in Apigee Hybrid, using client_secret_jwt to authenticate request for OAuth Client Credentials token APAC healthcare provider Photo by Sincerely Media on Unsplash
  • 33. Example 2 • Third-party HR software required ability to send e-mails using Marsh McLennan identities • Implemented credential facade in front of Microsoft Graph APIs in Apigee Hybrid, using client_secret_jwt to authenticate request for OAuth Client Credentials token EMEA HR Vendor Photo by Christina @ wocintechchat.com on Unsplash
  • 34. Example 3 • Client bank had embedded Marsh digital broking services inside of a combined auto loan / insurance product • Implemented client_secret_jwt to authenticate request for OAuth Client Credentials token, using custom claims to provide additional veri fi ed data about the customer EMEA Bank Photo by Matthew Henry on Unsplash
  • 36. • We still see private_key_jwt as the better of the two new methods provided by OIDC Core, and are looking to support key-pair signed tokens for auth credentials • We also want to create a signing infrastructure for our internal developers so that they don’t need to stand up their own capabilities and key management Adding private_key_jwt Photo by regularguy.eth on Unsplash
  • 37. • To date, we’ve been using common patterns to solve speci fi c client or internal challenges but not reusing the underlying code • We’re starting to see some shared patterns (such as the MS Graph API) that we think we can solve once for many users • This will involve moving towards increased con fi guration for each new application that is onboarded, rather than copies and customization Create standardized facades Photo by Mika Baumeister on Unsplash
  • 38. Thanks and acknowledgements • Core API team: Brian Geoghegan, Hugh Greenish, Arushi Goel, Susanne Hart and Kambui Nurse • MMC Enterprise Architecture: Richard Giles, Mike Coe, Jason Bent, Steve Mycock • MMC Information Security: Mike Nepomnyashy, Ben Cheng, AJ Colangelo, Mark Mittendorf • MMC Tech community: Ray Taylor, Thomas Siu • Jamie Tanna, whose blog (https://www.jvt.me/posts/2021/11/09/avoid-client-secret/) set me o ff down this road • Apidays and APIsecure 2023 for having me here • All the artists on Unsplash who provided visuals for this talk