SlideShare uma empresa Scribd logo
1 de 41
API Security and
Federation Patterns
QCon San Francisco - November 13, 2013
Francois Lascelles, Chief Architect, Layer 7 Technologies

#qconsf
#OAuth
@flascelles
Agenda
 Introduction
 API Security Components
 Authorization Server Patterns
–
–
–
–
–

Two-way token issuing
Redirection-based token issuing
Nested handshakes
Federated handshakes
Other extension handshakes

 Vulnerabilities and Mitigation
– Fishing attacks
– Public vs Confidential clients
– Bearer vs MAC token types

 Managing API Security
2

API Security and Federation Patterns
Information fragmentation
– Users and organizations interact with IT assets fragmented across
an increasing number of service providers, applications and
devices

Your Org

– In isolation, each asset provides limited value
3

API Security and Federation Patterns
Application-to-application interaction

– APIs let providers and applications interact
 HTTP
 REST

 OData
 XML/JSON
 Web Services

4

API Security and Federation Patterns
Secure API exchange

– These APIs deal with personal and/or sensitive information and need to
be secured
 Confidentiality
 Integrity
 Availability
 …

5

API Security and Federation Patterns
Interactions on behalf of users

– OAuth lets users and organizations control these interactions
 Express consent
 Limit scope
 Turn on/off

6

API Security and Federation Patterns
API security logical components

IdP

User

Authorization Server
Application

Token Server
Policy Enforcement Point
Resource Server

7

API Security and Federation Patterns

API Endpoint
Authorization server patterns

Let us count the ways…

8

API Security and Federation Patterns
Two-way handshakes
 Limit shared-secret exposure by negotiating temporary token

1. Authenticate with secret, get token

2. Consume API, include token in requests

9

API Security and Federation Patterns
E.g. OAuth client credentials grant type

 In this grant type, the application presents its own credentials
to get a token.
– No concept of user identity

 Alternatives
– Present client credentials with every API call (over secure channel)
– HMAC signatures for every API call

 Only for confidential clients
 No refresh token in this case

10

API Security and Federation Patterns
E.g. OAuth password grant type (ropc)
 Resource-owner password credentials
– For trusted apps only
– For public or confidential clients
– Optimal UX on mobile apps
1. App collects user credentials

POST /token
[Authorization: Basic optional]
Content-Type: application/x-www-form-urlencoded
grant_type=password&username=franco&password=bl
ah

Email:
_______
Passwd: _______
[Login]

3. App gets back token(s)
Content-Type: application/json
{
"access_token":”foo”,
"expires_in":3600,
["refresh_token":”optional”]
11

2. App uses creds in call to token
endpoint

}

API Security and Federation Patterns
Redirection-based handshakes

12

API Security and Federation Patterns
Redirection-based handshakes – Why?
 Avoid the password sharing anti-pattern

Online
statement

Pretend to be user
Pull statement

Please provide your cc account info:
• Username
• Password

This seems
wrong

13

Expense
system

API Security and Federation Patterns
RBH – step 1

(Authorization server)

Authenticate locally (if needed)
Express consent

14

Redirect

API Security and Federation Patterns
RBH – step 2

- User did not share
passwd with app
(callback address)

Redirect
back

15

Receive
code

API Security and Federation Patterns
RBH – step 3

tmp code

I can haz
token?

access token

Call API
(with token)

- Application now accesses

Much
better…
16

data on behalf of user

API Security and Federation Patterns
E.g. OAuth 2.0 code, implicit

OAuth 2.0 core specifies two variations on a redirection-based
handshake
1. Authorization code
–

As we just described

2. Implicit
– No temporary code
– App gets token directly through redirect back from authorization server

17

API Security and Federation Patterns
Social Login
 An application delegates user authentication to a social
platform
– Enhanced user experience
– Remove burden of managing shared secrets with users

18

API Security and Federation Patterns
Social Login – Step 1

 User click Login with [Social provider]
– Redirected to Social provider’s authorization server

 User authenticated, expresses consent

Do you authorize app to get basic info
about you?
Yes [x]
No [ ]

19

API Security and Federation Patterns
Social Login – Step 2

 User expresses consent
– Redirected back to the application
– Application now has OAuth access token to call API on behalf of user

++token

20

API Security and Federation Patterns
Social Login – Step 3

 App calls [Social provider]’s api
– User_info endpoint
– Discovers identity of user
– Attaches it to session between app and user-agent

Who was this? [access_token]
user_info

21

{ ‘sub’: ‘franco’, ‘email’: ‘flascelles@gmail.com’…}

API Security and Federation Patterns
Social Login -> OpenID Connect
 In this case, the API provided is there to enable the federated
authentication

 This pattern is specified in standard OpenID Connect
– Extends OAuth 2.0
– Describes user_info, ID token based on JWT, …

 Web-friendly and modern alternative to SAML web browser
SSO
– No SAML, no XML, no digital signatures,…

API Provider -> IdP
22

API Security and Federation Patterns
Nested handshakes
 When users interact with an authorization server, they need to
be authenticated

 What happens when the API provider wants to delegate
authentication to a social login/openid connect provider?

Username: _________
Password: _________ [Login]

Log in with [Google] [facebook] […]

23

API Security and Federation Patterns

Step 1
App wants to consume API
on behalf of user, redirects
to API provider’s
authorization server to get
back access token

app
Nested handshakes

Step 2
User redirected to IdP of choice so that the first
authorization server gets an access token from the
2nd authorization server

app
Do you authorize app* to get basic info
about you?
Yes [x]
No [ ]

24

API Security and Federation Patterns
Nested handshakes

Step 3
User redirected back, its identity now known to the
first authorization server, expresses consent.

Do you authorize app* to [scope] on
your behalf?
Yes [x]
No [ ]

25

API Security and Federation Patterns

app
Nested handshakes

Step 4
User redirected back to app. Nested handshakes
complete.

Two apps, two access tokens

26

API Security and Federation Patterns
Federated handshakes

 Application already has a ‘proof-of-authentication’, needs to
consume API on behalf of user
– Login using SAML on a web app
– OpenID Connect

 No redirection, no credentials

<saml>
{jwt}

27

?

API Security and Federation Patterns
Federated handshakes
 SAML Bearer Grant
– urn:ietf:params:oauth:grant-type:samXX-bearer
<saml>
access_token

 JWT Bearer Grant
– urn:ietf:params:oauth:grant-type:jwt-bearer
{jwt}
access_token
28

API Security and Federation Patterns
Example: Domain of apps sharing an auth context
 A domain of apps on a mobile device share an auth context
– OpenID Connect -> JWT

 Each app gets its own access token
– urn:ietf:params:oauth:grant-type:jwt-bearer

 Single sign-on experience
OpenID Connect

JWT Bearer Grant
Group KeyChain

API Provider

Mobile apps

29

API Security and Federation Patterns
Other ‘extension’ handshakes

 Challenge-response grant
– One-time passwords

– Risk-based, context-based auth
– Multi-factor

 [Insert Secret] bearer grant
– Cookie
– …

30

API Security and Federation Patterns
Threats and Mitigation

31

API Security and Federation Patterns
Fishing attacks
 Risk associated with redirection-based handshakes
– Malicious ‘application’ pretends to be legitimate
– Inserts its own endpoint in callback address
– Gets token

 (especially implicit grant)
Do you authorize Legitimate
app to access API on your
behalf?

Tricked
you

[X] Yes
[ ] No

GET
/authorize?response_type=token&client_id=legitimate
&redirect_uri=[malicious]
32

API Security and Federation Patterns
Fishing mitigation 101
 Register and validate redirection URIs
 Strict validation (not partial)

 Never skip consent step
(out-of-band)
Register Legitimate app
Callback=foo

foiled
Error
Invalid callback
GET
/authorize?response_type=token&client_id=legitimate
&redirect_uri=[malicious]
33

API Security and Federation Patterns
Fishing on mobile
 On the web, the user-agent is responsible for redirecting to
the callback address
– On the web, DNS resolves addresses and HTTPS validates server-side
trust

 With native mobile apps, each app registers its own URL
scheme instead
APPLE:
“If more than one third-party app registers to handle
the same URL scheme, there is currently no process
for determining which app will be given that scheme.
”
--link

34

API Security and Federation Patterns
Public vs confidential clients

 It’s either confidential, or it isn’t
– Don’t ‘hide’ a secret on a public app
store or render on a web page

(badly hidden witch)

35

API Security and Federation Patterns
Client confidentiality does strengthen security

 Assigned secrets to clients (when appropriate) adds security
– E.g. compromised refresh token:

1. Compromised
access tokens,
refresh
foiled tokens

2. Exploit stolen
token for x
minutes
3. Token expired

4. Attempt to get fresh token
(using refresh token)

5. Authentication required
36

API Security and Federation Patterns
Bearer vs MAC tokens

 Bearer

 MAC

Adoption!

Tough
choice

App developer
37

API Security and Federation Patterns
Bearer, use responsibly
 Bearer tokens are easier but need to be used responsibly
– Exchanged and used over a secure channel

- Don’t log them.
- Forget original (hash
them).

tokens in
query strings

App developer

API Publisher
OAuth Server Impl
38

- Don’t render them where
they can be copied from.
Store them securely.
Server-side trust

API Security and Federation Patterns
MAC, is it really more secure?
 Pros
– Better protected against man-in-the-middle
– If a request is intercepted, no big deal

 Cons
– You have to keep two secrets safe on the server side (per client)

39

API Security and Federation Patterns
Managing API Security

Extend
framework to
client app

Integrate

•
•
•
•
•

Authorization Server
Policy Enforcement Point
Resource Server
ALFW
…

Protect

Configure, not
code
40

API Security and Federation Patterns

•
•
•
•

Web SSO
Analytics
Dev/User Portal
…

Decouple
Thank you

QCon SF 2013
Francois Lascelles, Chief Architect, Layer 7 Technologies

Mais conteúdo relacionado

Mais procurados

Securing RESTful APIs using OAuth 2 and OpenID Connect
Securing RESTful APIs using OAuth 2 and OpenID ConnectSecuring RESTful APIs using OAuth 2 and OpenID Connect
Securing RESTful APIs using OAuth 2 and OpenID ConnectJonathan LeBlanc
 
REST Service Authetication with TLS & JWTs
REST Service Authetication with TLS & JWTsREST Service Authetication with TLS & JWTs
REST Service Authetication with TLS & JWTsJon Todd
 
OAuth - Open API Authentication
OAuth - Open API AuthenticationOAuth - Open API Authentication
OAuth - Open API Authenticationleahculver
 
API Security : Patterns and Practices
API Security : Patterns and PracticesAPI Security : Patterns and Practices
API Security : Patterns and PracticesPrabath Siriwardena
 
Rest API Security - A quick understanding of Rest API Security
Rest API Security - A quick understanding of Rest API SecurityRest API Security - A quick understanding of Rest API Security
Rest API Security - A quick understanding of Rest API SecurityMohammed Fazuluddin
 
Oauth2 and OWSM OAuth2 support
Oauth2 and OWSM OAuth2 supportOauth2 and OWSM OAuth2 support
Oauth2 and OWSM OAuth2 supportGaurav Sharma
 
Stateless authentication for microservices - GR8Conf 2015
Stateless authentication for microservices - GR8Conf 2015Stateless authentication for microservices - GR8Conf 2015
Stateless authentication for microservices - GR8Conf 2015Alvaro Sanchez-Mariscal
 
Secure Your REST API (The Right Way)
Secure Your REST API (The Right Way)Secure Your REST API (The Right Way)
Secure Your REST API (The Right Way)Stormpath
 
API Security from the DevOps and CSO Perspectives (Webcast)
API Security from the DevOps and CSO Perspectives (Webcast)API Security from the DevOps and CSO Perspectives (Webcast)
API Security from the DevOps and CSO Perspectives (Webcast)Apigee | Google Cloud
 
Authentication: Cookies vs JWTs and why you’re doing it wrong
Authentication: Cookies vs JWTs and why you’re doing it wrongAuthentication: Cookies vs JWTs and why you’re doing it wrong
Authentication: Cookies vs JWTs and why you’re doing it wrongDerek Perkins
 
Mohanraj - Securing Your Web Api With OAuth
Mohanraj - Securing Your Web Api With OAuthMohanraj - Securing Your Web Api With OAuth
Mohanraj - Securing Your Web Api With OAuthfossmy
 
JavaOne 2014 - Securing RESTful Resources with OAuth2
JavaOne 2014 - Securing RESTful Resources with OAuth2JavaOne 2014 - Securing RESTful Resources with OAuth2
JavaOne 2014 - Securing RESTful Resources with OAuth2Rodrigo Cândido da Silva
 
Modern Security with OAuth 2.0 and JWT and Spring by Dmitry Buzdin
Modern Security with OAuth 2.0 and JWT and Spring by Dmitry BuzdinModern Security with OAuth 2.0 and JWT and Spring by Dmitry Buzdin
Modern Security with OAuth 2.0 and JWT and Spring by Dmitry BuzdinJava User Group Latvia
 
OAuth 2.0 and Mobile Devices: Is that a token in your phone in your pocket or...
OAuth 2.0 and Mobile Devices: Is that a token in your phone in your pocket or...OAuth 2.0 and Mobile Devices: Is that a token in your phone in your pocket or...
OAuth 2.0 and Mobile Devices: Is that a token in your phone in your pocket or...Brian Campbell
 
Making Sense of API Access Control
Making Sense of API Access ControlMaking Sense of API Access Control
Making Sense of API Access ControlCA API Management
 
ConFoo 2015 - Securing RESTful resources with OAuth2
ConFoo 2015 - Securing RESTful resources with OAuth2ConFoo 2015 - Securing RESTful resources with OAuth2
ConFoo 2015 - Securing RESTful resources with OAuth2Rodrigo Cândido da Silva
 
Enabling Cloud Native Security with OAuth2 and Multi-Tenant UAA
Enabling Cloud Native Security with OAuth2 and Multi-Tenant UAA Enabling Cloud Native Security with OAuth2 and Multi-Tenant UAA
Enabling Cloud Native Security with OAuth2 and Multi-Tenant UAA Will Tran
 
Enterprise Access Control Patterns for REST and Web APIs Gluecon 2011, Franco...
Enterprise Access Control Patterns for REST and Web APIs Gluecon 2011, Franco...Enterprise Access Control Patterns for REST and Web APIs Gluecon 2011, Franco...
Enterprise Access Control Patterns for REST and Web APIs Gluecon 2011, Franco...CA API Management
 
Securty Testing For RESTful Applications
Securty Testing For RESTful ApplicationsSecurty Testing For RESTful Applications
Securty Testing For RESTful ApplicationsSource Conference
 

Mais procurados (20)

Securing RESTful APIs using OAuth 2 and OpenID Connect
Securing RESTful APIs using OAuth 2 and OpenID ConnectSecuring RESTful APIs using OAuth 2 and OpenID Connect
Securing RESTful APIs using OAuth 2 and OpenID Connect
 
REST Service Authetication with TLS & JWTs
REST Service Authetication with TLS & JWTsREST Service Authetication with TLS & JWTs
REST Service Authetication with TLS & JWTs
 
OAuth - Open API Authentication
OAuth - Open API AuthenticationOAuth - Open API Authentication
OAuth - Open API Authentication
 
API Security : Patterns and Practices
API Security : Patterns and PracticesAPI Security : Patterns and Practices
API Security : Patterns and Practices
 
Rest API Security - A quick understanding of Rest API Security
Rest API Security - A quick understanding of Rest API SecurityRest API Security - A quick understanding of Rest API Security
Rest API Security - A quick understanding of Rest API Security
 
OAuth2 + API Security
OAuth2 + API SecurityOAuth2 + API Security
OAuth2 + API Security
 
Oauth2 and OWSM OAuth2 support
Oauth2 and OWSM OAuth2 supportOauth2 and OWSM OAuth2 support
Oauth2 and OWSM OAuth2 support
 
Stateless authentication for microservices - GR8Conf 2015
Stateless authentication for microservices - GR8Conf 2015Stateless authentication for microservices - GR8Conf 2015
Stateless authentication for microservices - GR8Conf 2015
 
Secure Your REST API (The Right Way)
Secure Your REST API (The Right Way)Secure Your REST API (The Right Way)
Secure Your REST API (The Right Way)
 
API Security from the DevOps and CSO Perspectives (Webcast)
API Security from the DevOps and CSO Perspectives (Webcast)API Security from the DevOps and CSO Perspectives (Webcast)
API Security from the DevOps and CSO Perspectives (Webcast)
 
Authentication: Cookies vs JWTs and why you’re doing it wrong
Authentication: Cookies vs JWTs and why you’re doing it wrongAuthentication: Cookies vs JWTs and why you’re doing it wrong
Authentication: Cookies vs JWTs and why you’re doing it wrong
 
Mohanraj - Securing Your Web Api With OAuth
Mohanraj - Securing Your Web Api With OAuthMohanraj - Securing Your Web Api With OAuth
Mohanraj - Securing Your Web Api With OAuth
 
JavaOne 2014 - Securing RESTful Resources with OAuth2
JavaOne 2014 - Securing RESTful Resources with OAuth2JavaOne 2014 - Securing RESTful Resources with OAuth2
JavaOne 2014 - Securing RESTful Resources with OAuth2
 
Modern Security with OAuth 2.0 and JWT and Spring by Dmitry Buzdin
Modern Security with OAuth 2.0 and JWT and Spring by Dmitry BuzdinModern Security with OAuth 2.0 and JWT and Spring by Dmitry Buzdin
Modern Security with OAuth 2.0 and JWT and Spring by Dmitry Buzdin
 
OAuth 2.0 and Mobile Devices: Is that a token in your phone in your pocket or...
OAuth 2.0 and Mobile Devices: Is that a token in your phone in your pocket or...OAuth 2.0 and Mobile Devices: Is that a token in your phone in your pocket or...
OAuth 2.0 and Mobile Devices: Is that a token in your phone in your pocket or...
 
Making Sense of API Access Control
Making Sense of API Access ControlMaking Sense of API Access Control
Making Sense of API Access Control
 
ConFoo 2015 - Securing RESTful resources with OAuth2
ConFoo 2015 - Securing RESTful resources with OAuth2ConFoo 2015 - Securing RESTful resources with OAuth2
ConFoo 2015 - Securing RESTful resources with OAuth2
 
Enabling Cloud Native Security with OAuth2 and Multi-Tenant UAA
Enabling Cloud Native Security with OAuth2 and Multi-Tenant UAA Enabling Cloud Native Security with OAuth2 and Multi-Tenant UAA
Enabling Cloud Native Security with OAuth2 and Multi-Tenant UAA
 
Enterprise Access Control Patterns for REST and Web APIs Gluecon 2011, Franco...
Enterprise Access Control Patterns for REST and Web APIs Gluecon 2011, Franco...Enterprise Access Control Patterns for REST and Web APIs Gluecon 2011, Franco...
Enterprise Access Control Patterns for REST and Web APIs Gluecon 2011, Franco...
 
Securty Testing For RESTful Applications
Securty Testing For RESTful ApplicationsSecurty Testing For RESTful Applications
Securty Testing For RESTful Applications
 

Semelhante a API Security and Federation Patterns QCon SF 2013

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
 
Stateless Auth using OAuth2 & JWT
Stateless Auth using OAuth2 & JWTStateless Auth using OAuth2 & JWT
Stateless Auth using OAuth2 & JWTGaurav Roy
 
Stateless Auth using OAUTH2 & JWT
Stateless Auth using OAUTH2 & JWTStateless Auth using OAUTH2 & JWT
Stateless Auth using OAUTH2 & JWTMobiliya
 
e-SUAP - Security - Windows azure access control list (english version)
e-SUAP - Security - Windows azure access control list (english version)e-SUAP - Security - Windows azure access control list (english version)
e-SUAP - Security - Windows azure access control list (english version)Sabino Labarile
 
Microservice security with spring security 5.1,Oauth 2.0 and open id connect
Microservice security with spring security 5.1,Oauth 2.0 and open id connect Microservice security with spring security 5.1,Oauth 2.0 and open id connect
Microservice security with spring security 5.1,Oauth 2.0 and open id connect Nilanjan Roy
 
O auth2 with angular js
O auth2 with angular jsO auth2 with angular js
O auth2 with angular jsBixlabs
 
API Security - Null meet
API Security - Null meetAPI Security - Null meet
API Security - Null meetvinoth kumar
 
Balancing Mobile UX & Security: An API Management Perspective Presentation fr...
Balancing Mobile UX & Security: An API Management Perspective Presentation fr...Balancing Mobile UX & Security: An API Management Perspective Presentation fr...
Balancing Mobile UX & Security: An API Management Perspective Presentation fr...CA API Management
 
Oauth Nightmares Abstract OAuth Nightmares
Oauth Nightmares Abstract OAuth Nightmares Oauth Nightmares Abstract OAuth Nightmares
Oauth Nightmares Abstract OAuth Nightmares Nino Ho
 
Devteach 2017 OAuth and Open id connect demystified
Devteach 2017 OAuth and Open id connect demystifiedDevteach 2017 OAuth and Open id connect demystified
Devteach 2017 OAuth and Open id connect demystifiedTaswar Bhatti
 
LF_APIStrat17_OWASP’s Latest Category: API Underprotection
LF_APIStrat17_OWASP’s Latest Category: API UnderprotectionLF_APIStrat17_OWASP’s Latest Category: API Underprotection
LF_APIStrat17_OWASP’s Latest Category: API UnderprotectionLF_APIStrat
 
OAuth with Salesforce - Demystified
OAuth with Salesforce - DemystifiedOAuth with Salesforce - Demystified
OAuth with Salesforce - DemystifiedCalvin Noronha
 
OAuth 2.0 - The fundamentals, the good , the bad, technical primer and commo...
OAuth 2.0  - The fundamentals, the good , the bad, technical primer and commo...OAuth 2.0  - The fundamentals, the good , the bad, technical primer and commo...
OAuth 2.0 - The fundamentals, the good , the bad, technical primer and commo...Good Dog Labs, Inc.
 
attacks-oauth-secure-oauth-implementation-33644.pdf
attacks-oauth-secure-oauth-implementation-33644.pdfattacks-oauth-secure-oauth-implementation-33644.pdf
attacks-oauth-secure-oauth-implementation-33644.pdfMohitRampal5
 
Access Management for Cloud and Mobile
Access Management for Cloud and MobileAccess Management for Cloud and Mobile
Access Management for Cloud and MobileForgeRock
 

Semelhante a API Security and Federation Patterns QCon SF 2013 (20)

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
 
Stateless Auth using OAuth2 & JWT
Stateless Auth using OAuth2 & JWTStateless Auth using OAuth2 & JWT
Stateless Auth using OAuth2 & JWT
 
OAuth in the Wild
OAuth in the WildOAuth in the Wild
OAuth in the Wild
 
Stateless Auth using OAUTH2 & JWT
Stateless Auth using OAUTH2 & JWTStateless Auth using OAUTH2 & JWT
Stateless Auth using OAUTH2 & JWT
 
O auth2.0 guide
O auth2.0 guideO auth2.0 guide
O auth2.0 guide
 
e-SUAP - Security - Windows azure access control list (english version)
e-SUAP - Security - Windows azure access control list (english version)e-SUAP - Security - Windows azure access control list (english version)
e-SUAP - Security - Windows azure access control list (english version)
 
Microservice security with spring security 5.1,Oauth 2.0 and open id connect
Microservice security with spring security 5.1,Oauth 2.0 and open id connect Microservice security with spring security 5.1,Oauth 2.0 and open id connect
Microservice security with spring security 5.1,Oauth 2.0 and open id connect
 
O auth2 with angular js
O auth2 with angular jsO auth2 with angular js
O auth2 with angular js
 
API Security - Null meet
API Security - Null meetAPI Security - Null meet
API Security - Null meet
 
Balancing Mobile UX & Security: An API Management Perspective Presentation fr...
Balancing Mobile UX & Security: An API Management Perspective Presentation fr...Balancing Mobile UX & Security: An API Management Perspective Presentation fr...
Balancing Mobile UX & Security: An API Management Perspective Presentation fr...
 
Oauth Nightmares Abstract OAuth Nightmares
Oauth Nightmares Abstract OAuth Nightmares Oauth Nightmares Abstract OAuth Nightmares
Oauth Nightmares Abstract OAuth Nightmares
 
Devteach 2017 OAuth and Open id connect demystified
Devteach 2017 OAuth and Open id connect demystifiedDevteach 2017 OAuth and Open id connect demystified
Devteach 2017 OAuth and Open id connect demystified
 
Iam f42 a
Iam f42 aIam f42 a
Iam f42 a
 
LF_APIStrat17_OWASP’s Latest Category: API Underprotection
LF_APIStrat17_OWASP’s Latest Category: API UnderprotectionLF_APIStrat17_OWASP’s Latest Category: API Underprotection
LF_APIStrat17_OWASP’s Latest Category: API Underprotection
 
OAuth with Salesforce - Demystified
OAuth with Salesforce - DemystifiedOAuth with Salesforce - Demystified
OAuth with Salesforce - Demystified
 
OAuth 2.0 - The fundamentals, the good , the bad, technical primer and commo...
OAuth 2.0  - The fundamentals, the good , the bad, technical primer and commo...OAuth 2.0  - The fundamentals, the good , the bad, technical primer and commo...
OAuth 2.0 - The fundamentals, the good , the bad, technical primer and commo...
 
Presentation
PresentationPresentation
Presentation
 
attacks-oauth-secure-oauth-implementation-33644.pdf
attacks-oauth-secure-oauth-implementation-33644.pdfattacks-oauth-secure-oauth-implementation-33644.pdf
attacks-oauth-secure-oauth-implementation-33644.pdf
 
Access Management for Cloud and Mobile
Access Management for Cloud and MobileAccess Management for Cloud and Mobile
Access Management for Cloud and Mobile
 
OAuth2 primer
OAuth2 primerOAuth2 primer
OAuth2 primer
 

Mais de CA API Management

Api architectures for the modern enterprise
Api architectures for the modern enterpriseApi architectures for the modern enterprise
Api architectures for the modern enterpriseCA API Management
 
Mastering Digital Channels with APIs
Mastering Digital Channels with APIsMastering Digital Channels with APIs
Mastering Digital Channels with APIsCA API Management
 
Takeaways from API Security Breaches Webinar
Takeaways from API Security Breaches WebinarTakeaways from API Security Breaches Webinar
Takeaways from API Security Breaches WebinarCA API Management
 
API Design Methodology - Mike Amundsen, Director of API Architecture, API Aca...
API Design Methodology - Mike Amundsen, Director of API Architecture, API Aca...API Design Methodology - Mike Amundsen, Director of API Architecture, API Aca...
API Design Methodology - Mike Amundsen, Director of API Architecture, API Aca...CA API Management
 
Liberating the API Economy with Scale-Free Networks - Mike Amundsen, Director...
Liberating the API Economy with Scale-Free Networks - Mike Amundsen, Director...Liberating the API Economy with Scale-Free Networks - Mike Amundsen, Director...
Liberating the API Economy with Scale-Free Networks - Mike Amundsen, Director...CA API Management
 
API360 – A How-To Guide for Enterprise APIs - Learn how to position your ente...
API360 – A How-To Guide for Enterprise APIs - Learn how to position your ente...API360 – A How-To Guide for Enterprise APIs - Learn how to position your ente...
API360 – A How-To Guide for Enterprise APIs - Learn how to position your ente...CA API Management
 
API Monetization: Unlock the Value of Your Data
API Monetization: Unlock the Value of Your DataAPI Monetization: Unlock the Value of Your Data
API Monetization: Unlock the Value of Your DataCA API Management
 
Revisiting Geddes' Outlook Tower - Mike Amundsen, Director of API Architectur...
Revisiting Geddes' Outlook Tower - Mike Amundsen, Director of API Architectur...Revisiting Geddes' Outlook Tower - Mike Amundsen, Director of API Architectur...
Revisiting Geddes' Outlook Tower - Mike Amundsen, Director of API Architectur...CA API Management
 
Managing Identity by Giving Up Control - Scott Morrison, SVP & Distinguished ...
Managing Identity by Giving Up Control - Scott Morrison, SVP & Distinguished ...Managing Identity by Giving Up Control - Scott Morrison, SVP & Distinguished ...
Managing Identity by Giving Up Control - Scott Morrison, SVP & Distinguished ...CA API Management
 
Enabling the Multi-Device Universe
Enabling the Multi-Device UniverseEnabling the Multi-Device Universe
Enabling the Multi-Device UniverseCA API Management
 
Building APIs That Last for Decades - Irakli Nadareishvili, Director of API S...
Building APIs That Last for Decades - Irakli Nadareishvili, Director of API S...Building APIs That Last for Decades - Irakli Nadareishvili, Director of API S...
Building APIs That Last for Decades - Irakli Nadareishvili, Director of API S...CA API Management
 
The Art of API Design - Ronnie Mitra, Director of API Design, API Academy at ...
The Art of API Design - Ronnie Mitra, Director of API Design, API Academy at ...The Art of API Design - Ronnie Mitra, Director of API Design, API Academy at ...
The Art of API Design - Ronnie Mitra, Director of API Design, API Academy at ...CA API Management
 
APIs Fueling the Connected Car Opportunity - Scott Morrison, SVP & Distinguis...
APIs Fueling the Connected Car Opportunity - Scott Morrison, SVP & Distinguis...APIs Fueling the Connected Car Opportunity - Scott Morrison, SVP & Distinguis...
APIs Fueling the Connected Car Opportunity - Scott Morrison, SVP & Distinguis...CA API Management
 
Adapting to Digital Change: Use APIs to Delight Customers & Win
Adapting to Digital Change: Use APIs to Delight Customers & WinAdapting to Digital Change: Use APIs to Delight Customers & Win
Adapting to Digital Change: Use APIs to Delight Customers & WinCA API Management
 
Balancing Security & Developer Enablement in Enterprise Mobility - Jaime Ryan...
Balancing Security & Developer Enablement in Enterprise Mobility - Jaime Ryan...Balancing Security & Developer Enablement in Enterprise Mobility - Jaime Ryan...
Balancing Security & Developer Enablement in Enterprise Mobility - Jaime Ryan...CA API Management
 
5 steps end to end security consumer apps
5 steps end to end security consumer apps5 steps end to end security consumer apps
5 steps end to end security consumer appsCA API Management
 
Best Practices You Must Apply to Secure Your APIs - Scott Morrison, SVP & Dis...
Best Practices You Must Apply to Secure Your APIs - Scott Morrison, SVP & Dis...Best Practices You Must Apply to Secure Your APIs - Scott Morrison, SVP & Dis...
Best Practices You Must Apply to Secure Your APIs - Scott Morrison, SVP & Dis...CA API Management
 
Drones, Phones & Pwns the Promise & Dangers of IoT APIs: Use APIs to Securely...
Drones, Phones & Pwns the Promise & Dangers of IoT APIs: Use APIs to Securely...Drones, Phones & Pwns the Promise & Dangers of IoT APIs: Use APIs to Securely...
Drones, Phones & Pwns the Promise & Dangers of IoT APIs: Use APIs to Securely...CA API Management
 
Gartner AADI Summit Sydney 2014 Implementing the Layer 7 API Management Pla...
Gartner AADI Summit Sydney 2014   Implementing the Layer 7 API Management Pla...Gartner AADI Summit Sydney 2014   Implementing the Layer 7 API Management Pla...
Gartner AADI Summit Sydney 2014 Implementing the Layer 7 API Management Pla...CA API Management
 
Using APIs to Create an Omni-Channel Retail Experience
Using APIs to Create an Omni-Channel Retail ExperienceUsing APIs to Create an Omni-Channel Retail Experience
Using APIs to Create an Omni-Channel Retail ExperienceCA API Management
 

Mais de CA API Management (20)

Api architectures for the modern enterprise
Api architectures for the modern enterpriseApi architectures for the modern enterprise
Api architectures for the modern enterprise
 
Mastering Digital Channels with APIs
Mastering Digital Channels with APIsMastering Digital Channels with APIs
Mastering Digital Channels with APIs
 
Takeaways from API Security Breaches Webinar
Takeaways from API Security Breaches WebinarTakeaways from API Security Breaches Webinar
Takeaways from API Security Breaches Webinar
 
API Design Methodology - Mike Amundsen, Director of API Architecture, API Aca...
API Design Methodology - Mike Amundsen, Director of API Architecture, API Aca...API Design Methodology - Mike Amundsen, Director of API Architecture, API Aca...
API Design Methodology - Mike Amundsen, Director of API Architecture, API Aca...
 
Liberating the API Economy with Scale-Free Networks - Mike Amundsen, Director...
Liberating the API Economy with Scale-Free Networks - Mike Amundsen, Director...Liberating the API Economy with Scale-Free Networks - Mike Amundsen, Director...
Liberating the API Economy with Scale-Free Networks - Mike Amundsen, Director...
 
API360 – A How-To Guide for Enterprise APIs - Learn how to position your ente...
API360 – A How-To Guide for Enterprise APIs - Learn how to position your ente...API360 – A How-To Guide for Enterprise APIs - Learn how to position your ente...
API360 – A How-To Guide for Enterprise APIs - Learn how to position your ente...
 
API Monetization: Unlock the Value of Your Data
API Monetization: Unlock the Value of Your DataAPI Monetization: Unlock the Value of Your Data
API Monetization: Unlock the Value of Your Data
 
Revisiting Geddes' Outlook Tower - Mike Amundsen, Director of API Architectur...
Revisiting Geddes' Outlook Tower - Mike Amundsen, Director of API Architectur...Revisiting Geddes' Outlook Tower - Mike Amundsen, Director of API Architectur...
Revisiting Geddes' Outlook Tower - Mike Amundsen, Director of API Architectur...
 
Managing Identity by Giving Up Control - Scott Morrison, SVP & Distinguished ...
Managing Identity by Giving Up Control - Scott Morrison, SVP & Distinguished ...Managing Identity by Giving Up Control - Scott Morrison, SVP & Distinguished ...
Managing Identity by Giving Up Control - Scott Morrison, SVP & Distinguished ...
 
Enabling the Multi-Device Universe
Enabling the Multi-Device UniverseEnabling the Multi-Device Universe
Enabling the Multi-Device Universe
 
Building APIs That Last for Decades - Irakli Nadareishvili, Director of API S...
Building APIs That Last for Decades - Irakli Nadareishvili, Director of API S...Building APIs That Last for Decades - Irakli Nadareishvili, Director of API S...
Building APIs That Last for Decades - Irakli Nadareishvili, Director of API S...
 
The Art of API Design - Ronnie Mitra, Director of API Design, API Academy at ...
The Art of API Design - Ronnie Mitra, Director of API Design, API Academy at ...The Art of API Design - Ronnie Mitra, Director of API Design, API Academy at ...
The Art of API Design - Ronnie Mitra, Director of API Design, API Academy at ...
 
APIs Fueling the Connected Car Opportunity - Scott Morrison, SVP & Distinguis...
APIs Fueling the Connected Car Opportunity - Scott Morrison, SVP & Distinguis...APIs Fueling the Connected Car Opportunity - Scott Morrison, SVP & Distinguis...
APIs Fueling the Connected Car Opportunity - Scott Morrison, SVP & Distinguis...
 
Adapting to Digital Change: Use APIs to Delight Customers & Win
Adapting to Digital Change: Use APIs to Delight Customers & WinAdapting to Digital Change: Use APIs to Delight Customers & Win
Adapting to Digital Change: Use APIs to Delight Customers & Win
 
Balancing Security & Developer Enablement in Enterprise Mobility - Jaime Ryan...
Balancing Security & Developer Enablement in Enterprise Mobility - Jaime Ryan...Balancing Security & Developer Enablement in Enterprise Mobility - Jaime Ryan...
Balancing Security & Developer Enablement in Enterprise Mobility - Jaime Ryan...
 
5 steps end to end security consumer apps
5 steps end to end security consumer apps5 steps end to end security consumer apps
5 steps end to end security consumer apps
 
Best Practices You Must Apply to Secure Your APIs - Scott Morrison, SVP & Dis...
Best Practices You Must Apply to Secure Your APIs - Scott Morrison, SVP & Dis...Best Practices You Must Apply to Secure Your APIs - Scott Morrison, SVP & Dis...
Best Practices You Must Apply to Secure Your APIs - Scott Morrison, SVP & Dis...
 
Drones, Phones & Pwns the Promise & Dangers of IoT APIs: Use APIs to Securely...
Drones, Phones & Pwns the Promise & Dangers of IoT APIs: Use APIs to Securely...Drones, Phones & Pwns the Promise & Dangers of IoT APIs: Use APIs to Securely...
Drones, Phones & Pwns the Promise & Dangers of IoT APIs: Use APIs to Securely...
 
Gartner AADI Summit Sydney 2014 Implementing the Layer 7 API Management Pla...
Gartner AADI Summit Sydney 2014   Implementing the Layer 7 API Management Pla...Gartner AADI Summit Sydney 2014   Implementing the Layer 7 API Management Pla...
Gartner AADI Summit Sydney 2014 Implementing the Layer 7 API Management Pla...
 
Using APIs to Create an Omni-Channel Retail Experience
Using APIs to Create an Omni-Channel Retail ExperienceUsing APIs to Create an Omni-Channel Retail Experience
Using APIs to Create an Omni-Channel Retail Experience
 

Último

Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
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
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 

Último (20)

Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
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
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 

API Security and Federation Patterns QCon SF 2013

  • 1. API Security and Federation Patterns QCon San Francisco - November 13, 2013 Francois Lascelles, Chief Architect, Layer 7 Technologies #qconsf #OAuth @flascelles
  • 2. Agenda  Introduction  API Security Components  Authorization Server Patterns – – – – – Two-way token issuing Redirection-based token issuing Nested handshakes Federated handshakes Other extension handshakes  Vulnerabilities and Mitigation – Fishing attacks – Public vs Confidential clients – Bearer vs MAC token types  Managing API Security 2 API Security and Federation Patterns
  • 3. Information fragmentation – Users and organizations interact with IT assets fragmented across an increasing number of service providers, applications and devices Your Org – In isolation, each asset provides limited value 3 API Security and Federation Patterns
  • 4. Application-to-application interaction – APIs let providers and applications interact  HTTP  REST  OData  XML/JSON  Web Services 4 API Security and Federation Patterns
  • 5. Secure API exchange – These APIs deal with personal and/or sensitive information and need to be secured  Confidentiality  Integrity  Availability  … 5 API Security and Federation Patterns
  • 6. Interactions on behalf of users – OAuth lets users and organizations control these interactions  Express consent  Limit scope  Turn on/off 6 API Security and Federation Patterns
  • 7. API security logical components IdP User Authorization Server Application Token Server Policy Enforcement Point Resource Server 7 API Security and Federation Patterns API Endpoint
  • 8. Authorization server patterns Let us count the ways… 8 API Security and Federation Patterns
  • 9. Two-way handshakes  Limit shared-secret exposure by negotiating temporary token 1. Authenticate with secret, get token 2. Consume API, include token in requests 9 API Security and Federation Patterns
  • 10. E.g. OAuth client credentials grant type  In this grant type, the application presents its own credentials to get a token. – No concept of user identity  Alternatives – Present client credentials with every API call (over secure channel) – HMAC signatures for every API call  Only for confidential clients  No refresh token in this case 10 API Security and Federation Patterns
  • 11. E.g. OAuth password grant type (ropc)  Resource-owner password credentials – For trusted apps only – For public or confidential clients – Optimal UX on mobile apps 1. App collects user credentials POST /token [Authorization: Basic optional] Content-Type: application/x-www-form-urlencoded grant_type=password&username=franco&password=bl ah Email: _______ Passwd: _______ [Login] 3. App gets back token(s) Content-Type: application/json { "access_token":”foo”, "expires_in":3600, ["refresh_token":”optional”] 11 2. App uses creds in call to token endpoint } API Security and Federation Patterns
  • 13. Redirection-based handshakes – Why?  Avoid the password sharing anti-pattern Online statement Pretend to be user Pull statement Please provide your cc account info: • Username • Password This seems wrong 13 Expense system API Security and Federation Patterns
  • 14. RBH – step 1 (Authorization server) Authenticate locally (if needed) Express consent 14 Redirect API Security and Federation Patterns
  • 15. RBH – step 2 - User did not share passwd with app (callback address) Redirect back 15 Receive code API Security and Federation Patterns
  • 16. RBH – step 3 tmp code I can haz token? access token Call API (with token) - Application now accesses Much better… 16 data on behalf of user API Security and Federation Patterns
  • 17. E.g. OAuth 2.0 code, implicit OAuth 2.0 core specifies two variations on a redirection-based handshake 1. Authorization code – As we just described 2. Implicit – No temporary code – App gets token directly through redirect back from authorization server 17 API Security and Federation Patterns
  • 18. Social Login  An application delegates user authentication to a social platform – Enhanced user experience – Remove burden of managing shared secrets with users 18 API Security and Federation Patterns
  • 19. Social Login – Step 1  User click Login with [Social provider] – Redirected to Social provider’s authorization server  User authenticated, expresses consent Do you authorize app to get basic info about you? Yes [x] No [ ] 19 API Security and Federation Patterns
  • 20. Social Login – Step 2  User expresses consent – Redirected back to the application – Application now has OAuth access token to call API on behalf of user ++token 20 API Security and Federation Patterns
  • 21. Social Login – Step 3  App calls [Social provider]’s api – User_info endpoint – Discovers identity of user – Attaches it to session between app and user-agent Who was this? [access_token] user_info 21 { ‘sub’: ‘franco’, ‘email’: ‘flascelles@gmail.com’…} API Security and Federation Patterns
  • 22. Social Login -> OpenID Connect  In this case, the API provided is there to enable the federated authentication  This pattern is specified in standard OpenID Connect – Extends OAuth 2.0 – Describes user_info, ID token based on JWT, …  Web-friendly and modern alternative to SAML web browser SSO – No SAML, no XML, no digital signatures,… API Provider -> IdP 22 API Security and Federation Patterns
  • 23. Nested handshakes  When users interact with an authorization server, they need to be authenticated  What happens when the API provider wants to delegate authentication to a social login/openid connect provider? Username: _________ Password: _________ [Login] Log in with [Google] [facebook] […] 23 API Security and Federation Patterns Step 1 App wants to consume API on behalf of user, redirects to API provider’s authorization server to get back access token app
  • 24. Nested handshakes Step 2 User redirected to IdP of choice so that the first authorization server gets an access token from the 2nd authorization server app Do you authorize app* to get basic info about you? Yes [x] No [ ] 24 API Security and Federation Patterns
  • 25. Nested handshakes Step 3 User redirected back, its identity now known to the first authorization server, expresses consent. Do you authorize app* to [scope] on your behalf? Yes [x] No [ ] 25 API Security and Federation Patterns app
  • 26. Nested handshakes Step 4 User redirected back to app. Nested handshakes complete. Two apps, two access tokens 26 API Security and Federation Patterns
  • 27. Federated handshakes  Application already has a ‘proof-of-authentication’, needs to consume API on behalf of user – Login using SAML on a web app – OpenID Connect  No redirection, no credentials <saml> {jwt} 27 ? API Security and Federation Patterns
  • 28. Federated handshakes  SAML Bearer Grant – urn:ietf:params:oauth:grant-type:samXX-bearer <saml> access_token  JWT Bearer Grant – urn:ietf:params:oauth:grant-type:jwt-bearer {jwt} access_token 28 API Security and Federation Patterns
  • 29. Example: Domain of apps sharing an auth context  A domain of apps on a mobile device share an auth context – OpenID Connect -> JWT  Each app gets its own access token – urn:ietf:params:oauth:grant-type:jwt-bearer  Single sign-on experience OpenID Connect JWT Bearer Grant Group KeyChain API Provider Mobile apps 29 API Security and Federation Patterns
  • 30. Other ‘extension’ handshakes  Challenge-response grant – One-time passwords – Risk-based, context-based auth – Multi-factor  [Insert Secret] bearer grant – Cookie – … 30 API Security and Federation Patterns
  • 31. Threats and Mitigation 31 API Security and Federation Patterns
  • 32. Fishing attacks  Risk associated with redirection-based handshakes – Malicious ‘application’ pretends to be legitimate – Inserts its own endpoint in callback address – Gets token  (especially implicit grant) Do you authorize Legitimate app to access API on your behalf? Tricked you [X] Yes [ ] No GET /authorize?response_type=token&client_id=legitimate &redirect_uri=[malicious] 32 API Security and Federation Patterns
  • 33. Fishing mitigation 101  Register and validate redirection URIs  Strict validation (not partial)  Never skip consent step (out-of-band) Register Legitimate app Callback=foo foiled Error Invalid callback GET /authorize?response_type=token&client_id=legitimate &redirect_uri=[malicious] 33 API Security and Federation Patterns
  • 34. Fishing on mobile  On the web, the user-agent is responsible for redirecting to the callback address – On the web, DNS resolves addresses and HTTPS validates server-side trust  With native mobile apps, each app registers its own URL scheme instead APPLE: “If more than one third-party app registers to handle the same URL scheme, there is currently no process for determining which app will be given that scheme. ” --link 34 API Security and Federation Patterns
  • 35. Public vs confidential clients  It’s either confidential, or it isn’t – Don’t ‘hide’ a secret on a public app store or render on a web page (badly hidden witch) 35 API Security and Federation Patterns
  • 36. Client confidentiality does strengthen security  Assigned secrets to clients (when appropriate) adds security – E.g. compromised refresh token: 1. Compromised access tokens, refresh foiled tokens 2. Exploit stolen token for x minutes 3. Token expired 4. Attempt to get fresh token (using refresh token) 5. Authentication required 36 API Security and Federation Patterns
  • 37. Bearer vs MAC tokens  Bearer  MAC Adoption! Tough choice App developer 37 API Security and Federation Patterns
  • 38. Bearer, use responsibly  Bearer tokens are easier but need to be used responsibly – Exchanged and used over a secure channel - Don’t log them. - Forget original (hash them). tokens in query strings App developer API Publisher OAuth Server Impl 38 - Don’t render them where they can be copied from. Store them securely. Server-side trust API Security and Federation Patterns
  • 39. MAC, is it really more secure?  Pros – Better protected against man-in-the-middle – If a request is intercepted, no big deal  Cons – You have to keep two secrets safe on the server side (per client) 39 API Security and Federation Patterns
  • 40. Managing API Security Extend framework to client app Integrate • • • • • Authorization Server Policy Enforcement Point Resource Server ALFW … Protect Configure, not code 40 API Security and Federation Patterns • • • • Web SSO Analytics Dev/User Portal … Decouple
  • 41. Thank you QCon SF 2013 Francois Lascelles, Chief Architect, Layer 7 Technologies

Notas do Editor

  1. Think M2M
  2. 12.30
  3. This is very similar to saml web browsersso except that there is no complex saml to parse and digital signatures to validate
  4. 25m
  5. Show a domain of apps sharing a auth context in the form of a JWT issued from an openid connect handshake, then each app getting its own access token based on thatWeb-&gt;domain cookieMobile apps -&gt; a JWT stored in a shared keychain-&gt; ‘Mobile SSO’, ‘Layer 7 MAG”
  6. 37.30