SlideShare a Scribd company logo
1 of 36
Download to read offline
IdentityasaMatterofPublicSafety
Cloud Identity Summit 2013 – API Workshop
Identity as a Matter of Public Safety
A Case Study in Secure API Access and
SSO Across Security Domains
IdentityasaMatterofPublicSafety
Cloud Identity Summit 2013 – API Workshop
Who We Are
IdentityasaMatterofPublicSafety
Cloud Identity Summit 2013 – API Workshop
The Problem
Lots of Applications,
exposing Lots of APIs …
Running on different servers …
Communicating with clients
on different computing devices …
Lots of Passwords! ☹
IdentityasaMatterofPublicSafety
Cloud Identity Summit 2013 – API Workshop
Our Architecture
SIP
proxy
MSI
server
SIP
client(s)
MSI
client
WS-*
STS
WS-*
server
RTSP
server
RTSP
client
RESTful
server
RESTful
client
SIP
registrar
SIP
server(s)
Proprietary
WS-Trust / SAML
HTTP / RESTRTSPSIP
Web
Browser
Web
Server
HTTP / WebSSO
User
Directory
Identity
Server
AD
LDAP
client
LDAP
server
LDAP bind w/password
LDAP “relay”
WS-*
client
Domain 2
(State or Regional IT)
Domain 1 – Local Police Dept.
Enterprise IT network
Domain 3
WS-* client
WS-*
server WS-Trust Native & Web Apps Running on
Android / Windows / iOS mobile LTE device
Mounted in Trunk
of Police Car
Domain X – User might be a part of either domain 1 or 2 or 3 (or other)
IdentityasaMatterofPublicSafety
Cloud Identity Summit 2013 – API Workshop
So Let’s take a step back …
IdentityasaMatterofPublicSafety
Cloud Identity Summit 2013 – API Workshop
Get apps & APIs out of the password business …
IdentityasaMatterofPublicSafety
Cloud Identity Summit 2013 – API Workshop
… and into the token consumption business.
IdentityasaMatterofPublicSafety
Cloud Identity Summit 2013 – API Workshop
Now we can distill our complex problem into 3 simple steps …
1.  App client asks for a token
2.  App client sends token to App server
3.  App server consumes token
API Client
API ServerToken Server
IdentityasaMatterofPublicSafety
Cloud Identity Summit 2013 – API Workshop
So Something Like This …
1.  Ask for a token
2.  Receive the token
3.  Use the token
Identity
Token Issuer
App.1 App.2 App.3
User
Directory
Authenticate with local credentials
Ask for Identity token
Use the Identity token
Receive the Token
IdentityasaMatterofPublicSafety
Cloud Identity Summit 2013 – API Workshop
Why Tokenizing APIs is Good
•  And why you should want to tokenize yours …
•  SSO
•  Centralized Provisioning of credentials
•  Better Security & Migration to Strong Authentication
•  Federation
IdentityasaMatterofPublicSafety
Cloud Identity Summit 2013 – API Workshop
The BIG question
Keeping in mind the requirements
•  Native desktop clients
•  Native clients running on Mobile computing platforms (iOS, Android, Win)
•  Linux, Unix, Windows servers
•  Must be able to send token across security domains
•  Leverage industry dominant, open standards
How does the
API client
get the Token
???
IdentityasaMatterofPublicSafety
Cloud Identity Summit 2013 – API Workshop
We Looked at Kerberos
• (because it’s enterprise friendly)
•  But it doesn’t cross security domains well
•  And is tied to AD – and we want to be agnostic to the
credential server
(can’t dictate what customers use)
IdentityasaMatterofPublicSafety
Cloud Identity Summit 2013 – API Workshop
So we set our eyes on SAML
• (because unlike Kerberos, it
federates well)
•  But SAML is really designed for WebSSO – uses lots of
HTTP redirects – not the best fit for APIs
IdentityasaMatterofPublicSafety
Cloud Identity Summit 2013 – API Workshop
What about WS-Trust?
• It is a standard way to get tokens for API
access for SOAP-based web services
• And the token type is SAML – which
federates!
• It’s actually not a bad idea in theory …
… Except that in practice, we don’t see too
many people deploying WS-* on
Android/iOS
(and we want to leverage industry trends)
IdentityasaMatterofPublicSafety
Cloud Identity Summit 2013 – API Workshop
And then there was OAuth …
•  OAuth is to REST APIs what WS-Trust is to SOAP APIs
•  A way to exchange a primary credential for a token, and a way to
pass that token to the API provider
•  And it’s mobile friendly
•  And it’s shiny and new
•  And it seems that everybody in the world is deploying it
•  Google, Twitter, Facebook, Salesforce, etc.
•  And we’re looking to leverage trends
IdentityasaMatterofPublicSafety
Cloud Identity Summit 2013 – API Workshop
The OAuth Access Token
•  OAuth doesn’t actually define what the access token
looks like
•  Depending on who you ask, this is a good thing (or
not)
•  Advocates claim it provides flexibility
•  Detractors say it hinders interoperability
•  Regardless, it needs to be defined
•  Several choices come to mind
•  Unstructured
•  Structured
•  SAML
•  JSON Web Token (JWT)
Development teams were
emphatical, they wanted to be able
to validate the token WITHOUT
having to call back to an
introspection endpoint!
JSON friendlier to development than XML –
size more compact for RESTful APIs
IdentityasaMatterofPublicSafety
Cloud Identity Summit 2013 – API Workshop
Hitting the Pause Button
OAuth is for Authorization, not Authentication!
And the end user is the resource owner, right?
And besides, OAuth was designed for the social web,
does it even have a place in the Enterprise?
IdentityasaMatterofPublicSafety
Cloud Identity Summit 2013 – API Workshop
OAuth is for Authorization, not Authentication!
{
"iss": "https://server.example.com",
"sub": "alice@example.com",
"aud": "https://protectedresource1.example.com",
"azp": "mynativeapp.s6BhdRkqt3"
"nonce": "n-0S6_WzA2Mj",
"exp": 1311281970,
"iat": 1311280970,
"auth_time": 1311280969,
"acr": “LOA4",
}
Q: Is this an OpenID Connect id_token,
or an OAuth access_token?
A: it’s an OAuth access_token,
profiled to look like an OpenID
Connect id_token, to enable OAuth-
based authentication
Not necessarily …
OAuth CAN be used for API authentication
(if profiled right)
IdentityasaMatterofPublicSafety
Cloud Identity Summit 2013 – API Workshop
And the end user is the resource owner, right?
•  Classic “social” OAuth use case:
•  Alice authorizes a third party client to access her protected resources
•  But in the Enterprise world, resources, applications and
services are owned by the enterprise, NOT the employee
•  This is easily addressed …
•  End user authenticates to the OAuth AS using enterprise-provisioned
credentials … but the END USER DOES NOT AUTHORIZE ANYTHING
•  OAuth AS issues an access token IDENTIFYING the end user (user id,
method of authentication, time of authentication, etc.)
•  Access token is presented to API servers where user is mapped to roles
according to business logic, localized authorization is performed
•  Alternatively, the OAuth AS could act as an enforcement point for coarse-
grain authorization
IdentityasaMatterofPublicSafety
Cloud Identity Summit 2013 – API Workshop
With that settled, time to flesh out the details …
IdentityasaMatterofPublicSafety
Cloud Identity Summit 2013 – API Workshop
Session Management
•  Exchanging a password for a token is easy …
•  But what about when you want a second token?
•  Does the user have to provide their password again?
•  Doesn’t that break SSO?
•  So tokens alone don’t provide us with TRUE SSO
•  Something MORE is needed:
•  How can the Token server recognize that a user has already been authenticated
across token requests, such that the user does NOT have to enter their password
again (and again, and again)?
•  The answer: SSO Client
•  Manages the session with Token Server
•  Expose simple API to native app clients
•  Abstracts complexity of SSO protocol from app clients (much like Google Play)
•  getToken()
IdentityasaMatterofPublicSafety
Cloud Identity Summit 2013 – API Workshop
The SSO client
Identity
Server
App client 1 App client 2 App client 3
What is your
name &
password?
What is your
name &
password?
What is your
name &
password?
App client 1 App client 2 App client 3
SSO client
Identity
Server
Identity Protocol Identity Protocol Identity Protocol
Identity Protocol
API API API
Without SSO client, each app will need to know
protocol details and SSO is not possible
SSO client – Identity Protocol complexity is
hidden from app clients; SSO client manage
session with Identity Server hence enabling
Single Sign-On
What is your
name &
password?
(only ask
ONCE)
IdentityasaMatterofPublicSafety
Cloud Identity Summit 2013 – API Workshop
But … How?
1.  HTTP cookies
•  Not secure
•  No way to revoke if device is compromised
•  This is a non-starter!
2.  OAuth Refresh Tokens
•  Could ask for a “master token” with all possible scopes, then use refresh token to “down-scope”
the master token for individual scopes
•  Master token can be used as the session token, is revocable (good!)
•  But it requires tight coupling between SSO client, native apps; must know all scopes of all native
apps a priori
•  And it gets worse … some native apps might trigger strong authentication, even when the user
doesn’t want it (bad experience)
•  (So we keep looking)
3.  OAuth Assertion Grants
•  Assertion profiles defined in the OAuth WG allow SAML or JWT assertion to be used as a grant
type to obtain access tokens
•  Enterprise friendly!
•  No coupling between native app clients, SSO client
•  Best standard ways to get SAML or JWT assertions are WS-Trust (SAML) or via OpenID Connect
(JWT): get the JWT assertion, and then use JWT assertion to request scoped access tokens
IdentityasaMatterofPublicSafety
Cloud Identity Summit 2013 – API Workshop
Session Mgmt Illustrated!
OAuthSSO clientUA
1. Authorization Request (scope=openid, azp=SSOclient, aud=token_server)
4. Authorization Response (code)
6. Access Token Response (OIDC id_token)
7. Access Token Request (grant_type=jwt-bearer, id_token, scope=app.1)
2. HTML form requesting primary credentials
What is your
username &
password?
8. Access Token Request (grant_type=jwt-bearer, id_token, scope=app.2)
9. Access Token Request (grant_type=jwt-bearer, id_token, scope=app.3)
Use the JWT assertion as a grant
to request API-scoped access_tokens …
(sort of like a Kerberos TGT!)
3. HTML form submission Primary authentication &
validation of primary credentials
5. Access Token Request (code, grant_type=code)
Native
Authorization Agent
(AZA)
https://groups.google.com/forum/#!
forum/native-authorization-agent
Note that client
doesn’t actually see
the password, the
entire authentication
process is transparent
to the client!
IdentityasaMatterofPublicSafety
Cloud Identity Summit 2013 – API Workshop
Putting the token to work
•  New and Shiny RESTful APIs
•  Legacy WS-* APIs
•  Other
•  Proprietary APIs
•  SIP
•  RTSP
IdentityasaMatterofPublicSafety
Cloud Identity Summit 2013 – API Workshop
Putting it all together …
OAuth AS WS-* STS
WS-* API
server
1. getToken()
2. Token Request (scope=App.1, grant_type=jwt-bearer)
3. JWT-structured OAuth access_token with scope=App.1
4. getToken (JWT-structured OAuth access_token)
5. RESTful API call (JWT-structured OAuth access_token)
6. getToken()
7. Token Request (scope=App.2, grant_type=jwt-bearer)
8. JWT-structured OAuth access_token
9. getToken (JWT-structured OAuth access_token)
10. WS-* RST (JWT-structured OAuth access_token)
RESTful
API server
11. WS-* RSTR (WS-* SAML assertion)
12. WS-* API call (SAML assertion)
Make authorization /
access control decision
based on Identity
asserted in token
Claims communicated
in token: user identity,
possible roles, time of
authentication, method
of authentication
User launches
WS-* app
WS-* App2
RESTful
App1
SSO client
User launches
RESTful app
OAuth-to-WS* token
Translation happens here
IdentityasaMatterofPublicSafety
Cloud Identity Summit 2013 – API Workshop
Tokens can be carried in SIP + RTSP just as well
Identity
Server
RTSP
server
1. getToken()
2. Token Request (scope=SIP.1, grant_type=jwt-bearer)
3. JWT-structured OAuth access_token with scope=SIP.1
4. getToken (JWT-structured OAuth access_token)
5. SIP message (JWT-structured OAuth access_token)
6. getToken()
7. Token Request (scope=RTSP.2, grant_type=jwt-bearer)
8. JWT-structured OAuth access_token with scope=RTSP.2
9. getToken (JWT-structured OAuth access_token)
SIP server
10. RTSP message (JWT-structured OAuth access_token)
User launches
RTSP app
RTSP app SIP app SSO client
User launches
SIP app
OAuth token carried
in SIP header
OAuth token carried
in RTSP header
IdentityasaMatterofPublicSafety
Cloud Identity Summit 2013 – API Workshop
So OAuth works well within a single security domain …
OAuth AS RESTful API WS-* API
Other APIs
and Protocols
SSO client
Active
Directory
Authenticate with primary credentials
Get OAuth access-token
Use the OAuth access-token
IdentityasaMatterofPublicSafety
Cloud Identity Summit 2013 – API Workshop
… But what about accessing APIs across security domains?
IdentityasaMatterofPublicSafety
Cloud Identity Summit 2013 – API Workshop
A token that Travels: Taking OAuth on the Road
What happens when the user of the API is part of security domain 1, but
the provider of the API is part of security domain 2?
Application APIs may be hosted in security domain different from the
end-user
•  Enterprise user accesses SaaS/cloud API
•  Enterprise user access API exposed by a partner Enterprise
•  City employee accesses API exposed by the State
•  State employee accesses API exposed by the Federal Gov
•  Google+ user accesses Facebook API
What does this look like?
IdentityasaMatterofPublicSafety
Cloud Identity Summit 2013 – API Workshop
There are a number of options …
IdentityasaMatterofPublicSafety
Cloud Identity Summit 2013 – API Workshop
Federated Authorization Server
Active Directory
OAuth
AS
Home
Foreign
Resource Server
Foreign
Resource Server
Foreign
Resource Server
password
JWT
JWT
JWT
IdentityasaMatterofPublicSafety
Cloud Identity Summit 2013 – API Workshop
OAuth Assertion Profile
Resource
Server
STS
Resource
Server
STS
Active Directory
Home
STS
password
JWT
JWT
Foreign
Resource
Server
STS
Foreign
Foreign
JWT
IdentityasaMatterofPublicSafety
Cloud Identity Summit 2013 – API Workshop
Federated authentication to Authorization Server
Active Directory
Home
Resource
Server
STS
Resource
Server
STS
Resource
Server
STS
SAML
IdP
password
SAML
SAML
SAML
IdentityasaMatterofPublicSafety
Cloud Identity Summit 2013 – API Workshop
My Thoughts for the Identity Community ahead …
•  An IETF informational RFC on usage of OAuth for Enterprise-style authentication would be
nice
•  Clear up some of the confusion of “it’s for authorization” and “the RO is the end-user”
•  Looking forward to the AZA effort gaining traction
•  JOSE … slow movement in the IETF JOSE WG is causing doubt
•  Looking to the IETF to seal the deal on this and call it a day!
•  A profile for a structured access token would be nice
•  Can’t break existing deployments …
… But could give guidance for new ones
•  Holder of Key specifications – security beyond bearer tokens
•  And if a structured access token is defined, will the future ever see a federated OAuth
provider, the way we see SAML federation servers today?
Finally, a personal rant … fix the power imbalance between Identity Providers & users!!!
IdentityasaMatterofPublicSafety
Cloud Identity Summit 2013 – API Workshop
And in Closing …
• Questions?
• Comments?
• Scrutiny?
• Thank you! :-)
adam.lewis@motorolasolutions.com

More Related Content

What's hot

SSO Strategy Implementation Considerations
SSO Strategy Implementation ConsiderationsSSO Strategy Implementation Considerations
SSO Strategy Implementation ConsiderationsJohn Bauer
 
ACDKOCHI19 - Enterprise grade security for web and mobile applications on AWS
ACDKOCHI19 - Enterprise grade security for web and mobile applications on AWSACDKOCHI19 - Enterprise grade security for web and mobile applications on AWS
ACDKOCHI19 - Enterprise grade security for web and mobile applications on AWSAWS User Group Kochi
 
OpenID Connect and Single Sign-On for Beginners
OpenID Connect and Single Sign-On for BeginnersOpenID Connect and Single Sign-On for Beginners
OpenID Connect and Single Sign-On for BeginnersSalesforce Developers
 
Stateless Auth using OAUTH2 & JWT
Stateless Auth using OAUTH2 & JWTStateless Auth using OAUTH2 & JWT
Stateless Auth using OAUTH2 & JWTMobiliya
 
Oauth Nightmares Abstract OAuth Nightmares
Oauth Nightmares Abstract OAuth Nightmares Oauth Nightmares Abstract OAuth Nightmares
Oauth Nightmares Abstract OAuth Nightmares Nino Ho
 
CIS13: Bootcamp: Ping Identity OAuth and OpenID Connect In Action with PingFe...
CIS13: Bootcamp: Ping Identity OAuth and OpenID Connect In Action with PingFe...CIS13: Bootcamp: Ping Identity OAuth and OpenID Connect In Action with PingFe...
CIS13: Bootcamp: Ping Identity OAuth and OpenID Connect In Action with PingFe...CloudIDSummit
 
Deciphering 'Claims-based Identity'
Deciphering 'Claims-based Identity'Deciphering 'Claims-based Identity'
Deciphering 'Claims-based Identity'Oliver Pfaff
 
CIS13: Introduction to OAuth 2.0
CIS13: Introduction to OAuth 2.0CIS13: Introduction to OAuth 2.0
CIS13: Introduction to OAuth 2.0CloudIDSummit
 
Our road to Single Sign-On, DocPlanner
Our road to Single Sign-On, DocPlannerOur road to Single Sign-On, DocPlanner
Our road to Single Sign-On, DocPlannerTomasz Wójcik
 
Presentation sso design_security
Presentation sso design_securityPresentation sso design_security
Presentation sso design_securityMarco Morana
 
OpenID Connect: The new standard for connecting to your Customers, Partners, ...
OpenID Connect: The new standard for connecting to your Customers, Partners, ...OpenID Connect: The new standard for connecting to your Customers, Partners, ...
OpenID Connect: The new standard for connecting to your Customers, Partners, ...Salesforce Developers
 
JDD2015: Security in the era of modern applications and services - Bolesław D...
JDD2015: Security in the era of modern applications and services - Bolesław D...JDD2015: Security in the era of modern applications and services - Bolesław D...
JDD2015: Security in the era of modern applications and services - Bolesław D...PROIDEA
 
QuickLaunch | AI-driven Identity & Access Management Platform
QuickLaunch | AI-driven Identity & Access Management PlatformQuickLaunch | AI-driven Identity & Access Management Platform
QuickLaunch | AI-driven Identity & Access Management PlatformAtul Bhandari
 
The bits and pieces of Azure AD B2C
The bits and pieces of Azure AD B2CThe bits and pieces of Azure AD B2C
The bits and pieces of Azure AD B2CAnton Staykov
 
CIS14: OAuth and OpenID Connect in Action
CIS14: OAuth and OpenID Connect in ActionCIS14: OAuth and OpenID Connect in Action
CIS14: OAuth and OpenID Connect in ActionCloudIDSummit
 
Mit 2014 introduction to open id connect and o-auth 2
Mit 2014   introduction to open id connect and o-auth 2Mit 2014   introduction to open id connect and o-auth 2
Mit 2014 introduction to open id connect and o-auth 2Justin Richer
 

What's hot (20)

SSO Strategy Implementation Considerations
SSO Strategy Implementation ConsiderationsSSO Strategy Implementation Considerations
SSO Strategy Implementation Considerations
 
ACDKOCHI19 - Enterprise grade security for web and mobile applications on AWS
ACDKOCHI19 - Enterprise grade security for web and mobile applications on AWSACDKOCHI19 - Enterprise grade security for web and mobile applications on AWS
ACDKOCHI19 - Enterprise grade security for web and mobile applications on AWS
 
OpenID Connect and Single Sign-On for Beginners
OpenID Connect and Single Sign-On for BeginnersOpenID Connect and Single Sign-On for Beginners
OpenID Connect and Single Sign-On for Beginners
 
Stateless Auth using OAUTH2 & JWT
Stateless Auth using OAUTH2 & JWTStateless Auth using OAUTH2 & JWT
Stateless Auth using OAUTH2 & JWT
 
Oauth Nightmares Abstract OAuth Nightmares
Oauth Nightmares Abstract OAuth Nightmares Oauth Nightmares Abstract OAuth Nightmares
Oauth Nightmares Abstract OAuth Nightmares
 
CIS13: Bootcamp: Ping Identity OAuth and OpenID Connect In Action with PingFe...
CIS13: Bootcamp: Ping Identity OAuth and OpenID Connect In Action with PingFe...CIS13: Bootcamp: Ping Identity OAuth and OpenID Connect In Action with PingFe...
CIS13: Bootcamp: Ping Identity OAuth and OpenID Connect In Action with PingFe...
 
Deciphering 'Claims-based Identity'
Deciphering 'Claims-based Identity'Deciphering 'Claims-based Identity'
Deciphering 'Claims-based Identity'
 
CIS13: Introduction to OAuth 2.0
CIS13: Introduction to OAuth 2.0CIS13: Introduction to OAuth 2.0
CIS13: Introduction to OAuth 2.0
 
Our road to Single Sign-On, DocPlanner
Our road to Single Sign-On, DocPlannerOur road to Single Sign-On, DocPlanner
Our road to Single Sign-On, DocPlanner
 
Presentation sso design_security
Presentation sso design_securityPresentation sso design_security
Presentation sso design_security
 
Single Sign-On Best Practices
Single Sign-On Best PracticesSingle Sign-On Best Practices
Single Sign-On Best Practices
 
OpenID Connect: The new standard for connecting to your Customers, Partners, ...
OpenID Connect: The new standard for connecting to your Customers, Partners, ...OpenID Connect: The new standard for connecting to your Customers, Partners, ...
OpenID Connect: The new standard for connecting to your Customers, Partners, ...
 
JDD2015: Security in the era of modern applications and services - Bolesław D...
JDD2015: Security in the era of modern applications and services - Bolesław D...JDD2015: Security in the era of modern applications and services - Bolesław D...
JDD2015: Security in the era of modern applications and services - Bolesław D...
 
Auth experience - vol 1.0
Auth experience  - vol 1.0Auth experience  - vol 1.0
Auth experience - vol 1.0
 
Saml in cloud
Saml in cloudSaml in cloud
Saml in cloud
 
IdP, SAML, OAuth
IdP, SAML, OAuthIdP, SAML, OAuth
IdP, SAML, OAuth
 
QuickLaunch | AI-driven Identity & Access Management Platform
QuickLaunch | AI-driven Identity & Access Management PlatformQuickLaunch | AI-driven Identity & Access Management Platform
QuickLaunch | AI-driven Identity & Access Management Platform
 
The bits and pieces of Azure AD B2C
The bits and pieces of Azure AD B2CThe bits and pieces of Azure AD B2C
The bits and pieces of Azure AD B2C
 
CIS14: OAuth and OpenID Connect in Action
CIS14: OAuth and OpenID Connect in ActionCIS14: OAuth and OpenID Connect in Action
CIS14: OAuth and OpenID Connect in Action
 
Mit 2014 introduction to open id connect and o-auth 2
Mit 2014   introduction to open id connect and o-auth 2Mit 2014   introduction to open id connect and o-auth 2
Mit 2014 introduction to open id connect and o-auth 2
 

Viewers also liked

Workplace Safety And Security Hotel.Ppt
Workplace Safety And Security Hotel.PptWorkplace Safety And Security Hotel.Ppt
Workplace Safety And Security Hotel.PptFaheem Ul Hasan
 
Housekeeping, engineering and security department
Housekeeping, engineering and security departmentHousekeeping, engineering and security department
Housekeeping, engineering and security departmentShary Ostonal
 
Security training module
Security training moduleSecurity training module
Security training modulepagare_c
 
Hotel safety & security
Hotel safety & securityHotel safety & security
Hotel safety & securityzaffar abbasi
 

Viewers also liked (7)

Firefighting training
Firefighting trainingFirefighting training
Firefighting training
 
Workplace Safety And Security Hotel.Ppt
Workplace Safety And Security Hotel.PptWorkplace Safety And Security Hotel.Ppt
Workplace Safety And Security Hotel.Ppt
 
Housekeeping, engineering and security department
Housekeeping, engineering and security departmentHousekeeping, engineering and security department
Housekeeping, engineering and security department
 
Security training module
Security training moduleSecurity training module
Security training module
 
Hotel security
Hotel securityHotel security
Hotel security
 
Hotel safety & security
Hotel safety & securityHotel safety & security
Hotel safety & security
 
SOP of Security supervisor
SOP of Security supervisorSOP of Security supervisor
SOP of Security supervisor
 

Similar to CIS13: Identity as a Matter of Public Safety: A Case Study in Secure API Access and SSO Across Security Domains

Identity as a Matter of Public Safety
Identity as a Matter of Public SafetyIdentity as a Matter of Public Safety
Identity as a Matter of Public SafetyAdam Lewis
 
WSO2 Identity Server - Product Overview
WSO2 Identity Server - Product OverviewWSO2 Identity Server - Product Overview
WSO2 Identity Server - Product OverviewWSO2
 
SPCA2013 - It’s Me, and Here’s My ProofIdentity & Authentication in SharePoin...
SPCA2013 - It’s Me, and Here’s My ProofIdentity & Authentication in SharePoin...SPCA2013 - It’s Me, and Here’s My ProofIdentity & Authentication in SharePoin...
SPCA2013 - It’s Me, and Here’s My ProofIdentity & Authentication in SharePoin...NCCOMMS
 
Managing Identities in the World of APIs
Managing Identities in the World of APIsManaging Identities in the World of APIs
Managing Identities in the World of APIsApigee | Google Cloud
 
GHC18 Abstract - API Security, a Grail Quest
GHC18 Abstract - API Security, a Grail QuestGHC18 Abstract - API Security, a Grail Quest
GHC18 Abstract - API Security, a Grail QuestPaulaPaulSlides
 
2022 APIsecure_Why Assertion-based Access Token is preferred to Handle-based ...
2022 APIsecure_Why Assertion-based Access Token is preferred to Handle-based ...2022 APIsecure_Why Assertion-based Access Token is preferred to Handle-based ...
2022 APIsecure_Why Assertion-based Access Token is preferred to Handle-based ...APIsecure_ Official
 
Why Assertion-based Access Token is preferred to Handle-based one?
Why Assertion-based Access Token is preferred to Handle-based one?Why Assertion-based Access Token is preferred to Handle-based one?
Why Assertion-based Access Token is preferred to Handle-based one?Hitachi, Ltd. OSS Solution Center.
 
WSO2Con ASIA 2016: Case Study: Identity in the WSO2 Ecosystem
WSO2Con ASIA 2016: Case Study: Identity in the WSO2 EcosystemWSO2Con ASIA 2016: Case Study: Identity in the WSO2 Ecosystem
WSO2Con ASIA 2016: Case Study: Identity in the WSO2 EcosystemWSO2
 
Single sign on (SSO) How does your company apply?
Single sign on (SSO) How does your company apply?Single sign on (SSO) How does your company apply?
Single sign on (SSO) How does your company apply?Đỗ Duy Trung
 
CIS14: Authentication: Who are You? You are What You Eat
CIS14: Authentication: Who are You? You are What You EatCIS14: Authentication: Who are You? You are What You Eat
CIS14: Authentication: Who are You? You are What You EatCloudIDSummit
 
CIS14: Authentication: Who are You? You are What You Eat
CIS14: Authentication: Who are You? You are What You EatCIS14: Authentication: Who are You? You are What You Eat
CIS14: Authentication: Who are You? You are What You EatCloudIDSummit
 
OAuth in the Real World featuring Webshell
OAuth in the Real World featuring WebshellOAuth in the Real World featuring Webshell
OAuth in the Real World featuring WebshellCA API Management
 
Understanding SharePoint Apps, authentication and authorization infrastructur...
Understanding SharePoint Apps, authentication and authorization infrastructur...Understanding SharePoint Apps, authentication and authorization infrastructur...
Understanding SharePoint Apps, authentication and authorization infrastructur...SPC Adriatics
 
Authorization and Authentication using IdentityServer4
Authorization and Authentication using IdentityServer4Authorization and Authentication using IdentityServer4
Authorization and Authentication using IdentityServer4Aaron Ralls
 
WSO2Con EU 2015: Securing, Monitoring and Monetizing APIs
WSO2Con EU  2015: Securing, Monitoring and Monetizing APIsWSO2Con EU  2015: Securing, Monitoring and Monetizing APIs
WSO2Con EU 2015: Securing, Monitoring and Monetizing APIsWSO2
 
API, Integration, and SOA Convergence
API, Integration, and SOA ConvergenceAPI, Integration, and SOA Convergence
API, Integration, and SOA ConvergenceKasun Indrasiri
 
Single sign on assistant an authentication brokers
Single sign on assistant an authentication brokersSingle sign on assistant an authentication brokers
Single sign on assistant an authentication brokersFinalyear Projects
 
O365Con18 - Hybrid SharePoint Deep Dive - Thomas Vochten
O365Con18 - Hybrid SharePoint Deep Dive - Thomas VochtenO365Con18 - Hybrid SharePoint Deep Dive - Thomas Vochten
O365Con18 - Hybrid SharePoint Deep Dive - Thomas VochtenNCCOMMS
 
CIS 2015 Extreme OAuth - Paul Meyer
CIS 2015 Extreme OAuth - Paul MeyerCIS 2015 Extreme OAuth - Paul Meyer
CIS 2015 Extreme OAuth - Paul MeyerCloudIDSummit
 
PuppetConf 2017: Securing Secrets for Puppet, Without Interrupting Flow- Ryan...
PuppetConf 2017: Securing Secrets for Puppet, Without Interrupting Flow- Ryan...PuppetConf 2017: Securing Secrets for Puppet, Without Interrupting Flow- Ryan...
PuppetConf 2017: Securing Secrets for Puppet, Without Interrupting Flow- Ryan...Puppet
 

Similar to CIS13: Identity as a Matter of Public Safety: A Case Study in Secure API Access and SSO Across Security Domains (20)

Identity as a Matter of Public Safety
Identity as a Matter of Public SafetyIdentity as a Matter of Public Safety
Identity as a Matter of Public Safety
 
WSO2 Identity Server - Product Overview
WSO2 Identity Server - Product OverviewWSO2 Identity Server - Product Overview
WSO2 Identity Server - Product Overview
 
SPCA2013 - It’s Me, and Here’s My ProofIdentity & Authentication in SharePoin...
SPCA2013 - It’s Me, and Here’s My ProofIdentity & Authentication in SharePoin...SPCA2013 - It’s Me, and Here’s My ProofIdentity & Authentication in SharePoin...
SPCA2013 - It’s Me, and Here’s My ProofIdentity & Authentication in SharePoin...
 
Managing Identities in the World of APIs
Managing Identities in the World of APIsManaging Identities in the World of APIs
Managing Identities in the World of APIs
 
GHC18 Abstract - API Security, a Grail Quest
GHC18 Abstract - API Security, a Grail QuestGHC18 Abstract - API Security, a Grail Quest
GHC18 Abstract - API Security, a Grail Quest
 
2022 APIsecure_Why Assertion-based Access Token is preferred to Handle-based ...
2022 APIsecure_Why Assertion-based Access Token is preferred to Handle-based ...2022 APIsecure_Why Assertion-based Access Token is preferred to Handle-based ...
2022 APIsecure_Why Assertion-based Access Token is preferred to Handle-based ...
 
Why Assertion-based Access Token is preferred to Handle-based one?
Why Assertion-based Access Token is preferred to Handle-based one?Why Assertion-based Access Token is preferred to Handle-based one?
Why Assertion-based Access Token is preferred to Handle-based one?
 
WSO2Con ASIA 2016: Case Study: Identity in the WSO2 Ecosystem
WSO2Con ASIA 2016: Case Study: Identity in the WSO2 EcosystemWSO2Con ASIA 2016: Case Study: Identity in the WSO2 Ecosystem
WSO2Con ASIA 2016: Case Study: Identity in the WSO2 Ecosystem
 
Single sign on (SSO) How does your company apply?
Single sign on (SSO) How does your company apply?Single sign on (SSO) How does your company apply?
Single sign on (SSO) How does your company apply?
 
CIS14: Authentication: Who are You? You are What You Eat
CIS14: Authentication: Who are You? You are What You EatCIS14: Authentication: Who are You? You are What You Eat
CIS14: Authentication: Who are You? You are What You Eat
 
CIS14: Authentication: Who are You? You are What You Eat
CIS14: Authentication: Who are You? You are What You EatCIS14: Authentication: Who are You? You are What You Eat
CIS14: Authentication: Who are You? You are What You Eat
 
OAuth in the Real World featuring Webshell
OAuth in the Real World featuring WebshellOAuth in the Real World featuring Webshell
OAuth in the Real World featuring Webshell
 
Understanding SharePoint Apps, authentication and authorization infrastructur...
Understanding SharePoint Apps, authentication and authorization infrastructur...Understanding SharePoint Apps, authentication and authorization infrastructur...
Understanding SharePoint Apps, authentication and authorization infrastructur...
 
Authorization and Authentication using IdentityServer4
Authorization and Authentication using IdentityServer4Authorization and Authentication using IdentityServer4
Authorization and Authentication using IdentityServer4
 
WSO2Con EU 2015: Securing, Monitoring and Monetizing APIs
WSO2Con EU  2015: Securing, Monitoring and Monetizing APIsWSO2Con EU  2015: Securing, Monitoring and Monetizing APIs
WSO2Con EU 2015: Securing, Monitoring and Monetizing APIs
 
API, Integration, and SOA Convergence
API, Integration, and SOA ConvergenceAPI, Integration, and SOA Convergence
API, Integration, and SOA Convergence
 
Single sign on assistant an authentication brokers
Single sign on assistant an authentication brokersSingle sign on assistant an authentication brokers
Single sign on assistant an authentication brokers
 
O365Con18 - Hybrid SharePoint Deep Dive - Thomas Vochten
O365Con18 - Hybrid SharePoint Deep Dive - Thomas VochtenO365Con18 - Hybrid SharePoint Deep Dive - Thomas Vochten
O365Con18 - Hybrid SharePoint Deep Dive - Thomas Vochten
 
CIS 2015 Extreme OAuth - Paul Meyer
CIS 2015 Extreme OAuth - Paul MeyerCIS 2015 Extreme OAuth - Paul Meyer
CIS 2015 Extreme OAuth - Paul Meyer
 
PuppetConf 2017: Securing Secrets for Puppet, Without Interrupting Flow- Ryan...
PuppetConf 2017: Securing Secrets for Puppet, Without Interrupting Flow- Ryan...PuppetConf 2017: Securing Secrets for Puppet, Without Interrupting Flow- Ryan...
PuppetConf 2017: Securing Secrets for Puppet, Without Interrupting Flow- Ryan...
 

More from CloudIDSummit

CIS 2016 Content Highlights
CIS 2016 Content HighlightsCIS 2016 Content Highlights
CIS 2016 Content HighlightsCloudIDSummit
 
Top 6 Reasons You Should Attend Cloud Identity Summit 2016
Top 6 Reasons You Should Attend Cloud Identity Summit 2016Top 6 Reasons You Should Attend Cloud Identity Summit 2016
Top 6 Reasons You Should Attend Cloud Identity Summit 2016CloudIDSummit
 
CIS 2015 Security Without Borders: Taming the Cloud and Mobile Frontier - And...
CIS 2015 Security Without Borders: Taming the Cloud and Mobile Frontier - And...CIS 2015 Security Without Borders: Taming the Cloud and Mobile Frontier - And...
CIS 2015 Security Without Borders: Taming the Cloud and Mobile Frontier - And...CloudIDSummit
 
Mobile security, identity & authentication reasons for optimism 20150607 v2
Mobile security, identity & authentication   reasons for optimism 20150607 v2Mobile security, identity & authentication   reasons for optimism 20150607 v2
Mobile security, identity & authentication reasons for optimism 20150607 v2CloudIDSummit
 
CIS 2015 Mobile Security, Identity & Authentication: Reasons for Optimism - R...
CIS 2015 Mobile Security, Identity & Authentication: Reasons for Optimism - R...CIS 2015 Mobile Security, Identity & Authentication: Reasons for Optimism - R...
CIS 2015 Mobile Security, Identity & Authentication: Reasons for Optimism - R...CloudIDSummit
 
CIS 2015 Virtual Identity: The Vision, Challenges and Experiences in Driving ...
CIS 2015 Virtual Identity: The Vision, Challenges and Experiences in Driving ...CIS 2015 Virtual Identity: The Vision, Challenges and Experiences in Driving ...
CIS 2015 Virtual Identity: The Vision, Challenges and Experiences in Driving ...CloudIDSummit
 
CIS 2015 Deploying Strong Authentication to a Global Enterprise: A Comedy in ...
CIS 2015 Deploying Strong Authentication to a Global Enterprise: A Comedy in ...CIS 2015 Deploying Strong Authentication to a Global Enterprise: A Comedy in ...
CIS 2015 Deploying Strong Authentication to a Global Enterprise: A Comedy in ...CloudIDSummit
 
CIS 2015 Without Great Security, Digital Identity is Not Worth the Electrons ...
CIS 2015 Without Great Security, Digital Identity is Not Worth the Electrons ...CIS 2015 Without Great Security, Digital Identity is Not Worth the Electrons ...
CIS 2015 Without Great Security, Digital Identity is Not Worth the Electrons ...CloudIDSummit
 
CIS 2015 Mergers & Acquisitions in a Cloud Enabled World - Brian Puhl
CIS 2015 Mergers & Acquisitions in a Cloud Enabled World - Brian PuhlCIS 2015 Mergers & Acquisitions in a Cloud Enabled World - Brian Puhl
CIS 2015 Mergers & Acquisitions in a Cloud Enabled World - Brian PuhlCloudIDSummit
 
CIS 2015 IoT and IDM in your Mobile Enterprise - Brian Katz
CIS 2015 IoT and IDM  in your Mobile Enterprise - Brian KatzCIS 2015 IoT and IDM  in your Mobile Enterprise - Brian Katz
CIS 2015 IoT and IDM in your Mobile Enterprise - Brian KatzCloudIDSummit
 
CIS 2015 Practical Deployments Enterprise Cloud Access Management Platform - ...
CIS 2015 Practical Deployments Enterprise Cloud Access Management Platform - ...CIS 2015 Practical Deployments Enterprise Cloud Access Management Platform - ...
CIS 2015 Practical Deployments Enterprise Cloud Access Management Platform - ...CloudIDSummit
 
CIS 2015 What I Learned From Pitching IAM To My CIO - Steve Tout
CIS 2015 What I Learned From Pitching IAM To My CIO - Steve ToutCIS 2015 What I Learned From Pitching IAM To My CIO - Steve Tout
CIS 2015 What I Learned From Pitching IAM To My CIO - Steve ToutCloudIDSummit
 
CIS 2015 How to secure the Internet of Things? Hannes Tschofenig
CIS 2015 How to secure the Internet of Things? Hannes TschofenigCIS 2015 How to secure the Internet of Things? Hannes Tschofenig
CIS 2015 How to secure the Internet of Things? Hannes TschofenigCloudIDSummit
 
CIS 2015 The IDaaS Dating Game - Sean Deuby
CIS 2015 The IDaaS Dating Game - Sean DeubyCIS 2015 The IDaaS Dating Game - Sean Deuby
CIS 2015 The IDaaS Dating Game - Sean DeubyCloudIDSummit
 
CIS 2015 SSO for Mobile and Web Apps Ashish Jain
CIS 2015 SSO for Mobile and Web Apps Ashish JainCIS 2015 SSO for Mobile and Web Apps Ashish Jain
CIS 2015 SSO for Mobile and Web Apps Ashish JainCloudIDSummit
 
The Industrial Internet, the Identity of Everything and the Industrial Enterp...
The Industrial Internet, the Identity of Everything and the Industrial Enterp...The Industrial Internet, the Identity of Everything and the Industrial Enterp...
The Industrial Internet, the Identity of Everything and the Industrial Enterp...CloudIDSummit
 
CIS 2015 SAML-IN / SAML-OUT - Scott Tomilson & John Dasilva
CIS 2015 SAML-IN / SAML-OUT - Scott Tomilson & John DasilvaCIS 2015 SAML-IN / SAML-OUT - Scott Tomilson & John Dasilva
CIS 2015 SAML-IN / SAML-OUT - Scott Tomilson & John DasilvaCloudIDSummit
 
CIS 2015 Session Management at Scale - Scott Tomilson & Jamshid Khosravian
CIS 2015  Session Management at Scale - Scott Tomilson & Jamshid KhosravianCIS 2015  Session Management at Scale - Scott Tomilson & Jamshid Khosravian
CIS 2015 Session Management at Scale - Scott Tomilson & Jamshid KhosravianCloudIDSummit
 
CIS 2015 So you want to SSO … Scott Tomilson & John Dasilva
CIS 2015 So you want to SSO … Scott Tomilson & John DasilvaCIS 2015 So you want to SSO … Scott Tomilson & John Dasilva
CIS 2015 So you want to SSO … Scott Tomilson & John DasilvaCloudIDSummit
 
CIS 2015 Identity Relationship Management in the Internet of Things
CIS 2015 Identity Relationship Management in the Internet of ThingsCIS 2015 Identity Relationship Management in the Internet of Things
CIS 2015 Identity Relationship Management in the Internet of ThingsCloudIDSummit
 

More from CloudIDSummit (20)

CIS 2016 Content Highlights
CIS 2016 Content HighlightsCIS 2016 Content Highlights
CIS 2016 Content Highlights
 
Top 6 Reasons You Should Attend Cloud Identity Summit 2016
Top 6 Reasons You Should Attend Cloud Identity Summit 2016Top 6 Reasons You Should Attend Cloud Identity Summit 2016
Top 6 Reasons You Should Attend Cloud Identity Summit 2016
 
CIS 2015 Security Without Borders: Taming the Cloud and Mobile Frontier - And...
CIS 2015 Security Without Borders: Taming the Cloud and Mobile Frontier - And...CIS 2015 Security Without Borders: Taming the Cloud and Mobile Frontier - And...
CIS 2015 Security Without Borders: Taming the Cloud and Mobile Frontier - And...
 
Mobile security, identity & authentication reasons for optimism 20150607 v2
Mobile security, identity & authentication   reasons for optimism 20150607 v2Mobile security, identity & authentication   reasons for optimism 20150607 v2
Mobile security, identity & authentication reasons for optimism 20150607 v2
 
CIS 2015 Mobile Security, Identity & Authentication: Reasons for Optimism - R...
CIS 2015 Mobile Security, Identity & Authentication: Reasons for Optimism - R...CIS 2015 Mobile Security, Identity & Authentication: Reasons for Optimism - R...
CIS 2015 Mobile Security, Identity & Authentication: Reasons for Optimism - R...
 
CIS 2015 Virtual Identity: The Vision, Challenges and Experiences in Driving ...
CIS 2015 Virtual Identity: The Vision, Challenges and Experiences in Driving ...CIS 2015 Virtual Identity: The Vision, Challenges and Experiences in Driving ...
CIS 2015 Virtual Identity: The Vision, Challenges and Experiences in Driving ...
 
CIS 2015 Deploying Strong Authentication to a Global Enterprise: A Comedy in ...
CIS 2015 Deploying Strong Authentication to a Global Enterprise: A Comedy in ...CIS 2015 Deploying Strong Authentication to a Global Enterprise: A Comedy in ...
CIS 2015 Deploying Strong Authentication to a Global Enterprise: A Comedy in ...
 
CIS 2015 Without Great Security, Digital Identity is Not Worth the Electrons ...
CIS 2015 Without Great Security, Digital Identity is Not Worth the Electrons ...CIS 2015 Without Great Security, Digital Identity is Not Worth the Electrons ...
CIS 2015 Without Great Security, Digital Identity is Not Worth the Electrons ...
 
CIS 2015 Mergers & Acquisitions in a Cloud Enabled World - Brian Puhl
CIS 2015 Mergers & Acquisitions in a Cloud Enabled World - Brian PuhlCIS 2015 Mergers & Acquisitions in a Cloud Enabled World - Brian Puhl
CIS 2015 Mergers & Acquisitions in a Cloud Enabled World - Brian Puhl
 
CIS 2015 IoT and IDM in your Mobile Enterprise - Brian Katz
CIS 2015 IoT and IDM  in your Mobile Enterprise - Brian KatzCIS 2015 IoT and IDM  in your Mobile Enterprise - Brian Katz
CIS 2015 IoT and IDM in your Mobile Enterprise - Brian Katz
 
CIS 2015 Practical Deployments Enterprise Cloud Access Management Platform - ...
CIS 2015 Practical Deployments Enterprise Cloud Access Management Platform - ...CIS 2015 Practical Deployments Enterprise Cloud Access Management Platform - ...
CIS 2015 Practical Deployments Enterprise Cloud Access Management Platform - ...
 
CIS 2015 What I Learned From Pitching IAM To My CIO - Steve Tout
CIS 2015 What I Learned From Pitching IAM To My CIO - Steve ToutCIS 2015 What I Learned From Pitching IAM To My CIO - Steve Tout
CIS 2015 What I Learned From Pitching IAM To My CIO - Steve Tout
 
CIS 2015 How to secure the Internet of Things? Hannes Tschofenig
CIS 2015 How to secure the Internet of Things? Hannes TschofenigCIS 2015 How to secure the Internet of Things? Hannes Tschofenig
CIS 2015 How to secure the Internet of Things? Hannes Tschofenig
 
CIS 2015 The IDaaS Dating Game - Sean Deuby
CIS 2015 The IDaaS Dating Game - Sean DeubyCIS 2015 The IDaaS Dating Game - Sean Deuby
CIS 2015 The IDaaS Dating Game - Sean Deuby
 
CIS 2015 SSO for Mobile and Web Apps Ashish Jain
CIS 2015 SSO for Mobile and Web Apps Ashish JainCIS 2015 SSO for Mobile and Web Apps Ashish Jain
CIS 2015 SSO for Mobile and Web Apps Ashish Jain
 
The Industrial Internet, the Identity of Everything and the Industrial Enterp...
The Industrial Internet, the Identity of Everything and the Industrial Enterp...The Industrial Internet, the Identity of Everything and the Industrial Enterp...
The Industrial Internet, the Identity of Everything and the Industrial Enterp...
 
CIS 2015 SAML-IN / SAML-OUT - Scott Tomilson & John Dasilva
CIS 2015 SAML-IN / SAML-OUT - Scott Tomilson & John DasilvaCIS 2015 SAML-IN / SAML-OUT - Scott Tomilson & John Dasilva
CIS 2015 SAML-IN / SAML-OUT - Scott Tomilson & John Dasilva
 
CIS 2015 Session Management at Scale - Scott Tomilson & Jamshid Khosravian
CIS 2015  Session Management at Scale - Scott Tomilson & Jamshid KhosravianCIS 2015  Session Management at Scale - Scott Tomilson & Jamshid Khosravian
CIS 2015 Session Management at Scale - Scott Tomilson & Jamshid Khosravian
 
CIS 2015 So you want to SSO … Scott Tomilson & John Dasilva
CIS 2015 So you want to SSO … Scott Tomilson & John DasilvaCIS 2015 So you want to SSO … Scott Tomilson & John Dasilva
CIS 2015 So you want to SSO … Scott Tomilson & John Dasilva
 
CIS 2015 Identity Relationship Management in the Internet of Things
CIS 2015 Identity Relationship Management in the Internet of ThingsCIS 2015 Identity Relationship Management in the Internet of Things
CIS 2015 Identity Relationship Management in the Internet of Things
 

Recently uploaded

The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 

Recently uploaded (20)

The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 

CIS13: Identity as a Matter of Public Safety: A Case Study in Secure API Access and SSO Across Security Domains

  • 1. IdentityasaMatterofPublicSafety Cloud Identity Summit 2013 – API Workshop Identity as a Matter of Public Safety A Case Study in Secure API Access and SSO Across Security Domains
  • 2. IdentityasaMatterofPublicSafety Cloud Identity Summit 2013 – API Workshop Who We Are
  • 3. IdentityasaMatterofPublicSafety Cloud Identity Summit 2013 – API Workshop The Problem Lots of Applications, exposing Lots of APIs … Running on different servers … Communicating with clients on different computing devices … Lots of Passwords! ☹
  • 4. IdentityasaMatterofPublicSafety Cloud Identity Summit 2013 – API Workshop Our Architecture SIP proxy MSI server SIP client(s) MSI client WS-* STS WS-* server RTSP server RTSP client RESTful server RESTful client SIP registrar SIP server(s) Proprietary WS-Trust / SAML HTTP / RESTRTSPSIP Web Browser Web Server HTTP / WebSSO User Directory Identity Server AD LDAP client LDAP server LDAP bind w/password LDAP “relay” WS-* client Domain 2 (State or Regional IT) Domain 1 – Local Police Dept. Enterprise IT network Domain 3 WS-* client WS-* server WS-Trust Native & Web Apps Running on Android / Windows / iOS mobile LTE device Mounted in Trunk of Police Car Domain X – User might be a part of either domain 1 or 2 or 3 (or other)
  • 5. IdentityasaMatterofPublicSafety Cloud Identity Summit 2013 – API Workshop So Let’s take a step back …
  • 6. IdentityasaMatterofPublicSafety Cloud Identity Summit 2013 – API Workshop Get apps & APIs out of the password business …
  • 7. IdentityasaMatterofPublicSafety Cloud Identity Summit 2013 – API Workshop … and into the token consumption business.
  • 8. IdentityasaMatterofPublicSafety Cloud Identity Summit 2013 – API Workshop Now we can distill our complex problem into 3 simple steps … 1.  App client asks for a token 2.  App client sends token to App server 3.  App server consumes token API Client API ServerToken Server
  • 9. IdentityasaMatterofPublicSafety Cloud Identity Summit 2013 – API Workshop So Something Like This … 1.  Ask for a token 2.  Receive the token 3.  Use the token Identity Token Issuer App.1 App.2 App.3 User Directory Authenticate with local credentials Ask for Identity token Use the Identity token Receive the Token
  • 10. IdentityasaMatterofPublicSafety Cloud Identity Summit 2013 – API Workshop Why Tokenizing APIs is Good •  And why you should want to tokenize yours … •  SSO •  Centralized Provisioning of credentials •  Better Security & Migration to Strong Authentication •  Federation
  • 11. IdentityasaMatterofPublicSafety Cloud Identity Summit 2013 – API Workshop The BIG question Keeping in mind the requirements •  Native desktop clients •  Native clients running on Mobile computing platforms (iOS, Android, Win) •  Linux, Unix, Windows servers •  Must be able to send token across security domains •  Leverage industry dominant, open standards How does the API client get the Token ???
  • 12. IdentityasaMatterofPublicSafety Cloud Identity Summit 2013 – API Workshop We Looked at Kerberos • (because it’s enterprise friendly) •  But it doesn’t cross security domains well •  And is tied to AD – and we want to be agnostic to the credential server (can’t dictate what customers use)
  • 13. IdentityasaMatterofPublicSafety Cloud Identity Summit 2013 – API Workshop So we set our eyes on SAML • (because unlike Kerberos, it federates well) •  But SAML is really designed for WebSSO – uses lots of HTTP redirects – not the best fit for APIs
  • 14. IdentityasaMatterofPublicSafety Cloud Identity Summit 2013 – API Workshop What about WS-Trust? • It is a standard way to get tokens for API access for SOAP-based web services • And the token type is SAML – which federates! • It’s actually not a bad idea in theory … … Except that in practice, we don’t see too many people deploying WS-* on Android/iOS (and we want to leverage industry trends)
  • 15. IdentityasaMatterofPublicSafety Cloud Identity Summit 2013 – API Workshop And then there was OAuth … •  OAuth is to REST APIs what WS-Trust is to SOAP APIs •  A way to exchange a primary credential for a token, and a way to pass that token to the API provider •  And it’s mobile friendly •  And it’s shiny and new •  And it seems that everybody in the world is deploying it •  Google, Twitter, Facebook, Salesforce, etc. •  And we’re looking to leverage trends
  • 16. IdentityasaMatterofPublicSafety Cloud Identity Summit 2013 – API Workshop The OAuth Access Token •  OAuth doesn’t actually define what the access token looks like •  Depending on who you ask, this is a good thing (or not) •  Advocates claim it provides flexibility •  Detractors say it hinders interoperability •  Regardless, it needs to be defined •  Several choices come to mind •  Unstructured •  Structured •  SAML •  JSON Web Token (JWT) Development teams were emphatical, they wanted to be able to validate the token WITHOUT having to call back to an introspection endpoint! JSON friendlier to development than XML – size more compact for RESTful APIs
  • 17. IdentityasaMatterofPublicSafety Cloud Identity Summit 2013 – API Workshop Hitting the Pause Button OAuth is for Authorization, not Authentication! And the end user is the resource owner, right? And besides, OAuth was designed for the social web, does it even have a place in the Enterprise?
  • 18. IdentityasaMatterofPublicSafety Cloud Identity Summit 2013 – API Workshop OAuth is for Authorization, not Authentication! { "iss": "https://server.example.com", "sub": "alice@example.com", "aud": "https://protectedresource1.example.com", "azp": "mynativeapp.s6BhdRkqt3" "nonce": "n-0S6_WzA2Mj", "exp": 1311281970, "iat": 1311280970, "auth_time": 1311280969, "acr": “LOA4", } Q: Is this an OpenID Connect id_token, or an OAuth access_token? A: it’s an OAuth access_token, profiled to look like an OpenID Connect id_token, to enable OAuth- based authentication Not necessarily … OAuth CAN be used for API authentication (if profiled right)
  • 19. IdentityasaMatterofPublicSafety Cloud Identity Summit 2013 – API Workshop And the end user is the resource owner, right? •  Classic “social” OAuth use case: •  Alice authorizes a third party client to access her protected resources •  But in the Enterprise world, resources, applications and services are owned by the enterprise, NOT the employee •  This is easily addressed … •  End user authenticates to the OAuth AS using enterprise-provisioned credentials … but the END USER DOES NOT AUTHORIZE ANYTHING •  OAuth AS issues an access token IDENTIFYING the end user (user id, method of authentication, time of authentication, etc.) •  Access token is presented to API servers where user is mapped to roles according to business logic, localized authorization is performed •  Alternatively, the OAuth AS could act as an enforcement point for coarse- grain authorization
  • 20. IdentityasaMatterofPublicSafety Cloud Identity Summit 2013 – API Workshop With that settled, time to flesh out the details …
  • 21. IdentityasaMatterofPublicSafety Cloud Identity Summit 2013 – API Workshop Session Management •  Exchanging a password for a token is easy … •  But what about when you want a second token? •  Does the user have to provide their password again? •  Doesn’t that break SSO? •  So tokens alone don’t provide us with TRUE SSO •  Something MORE is needed: •  How can the Token server recognize that a user has already been authenticated across token requests, such that the user does NOT have to enter their password again (and again, and again)? •  The answer: SSO Client •  Manages the session with Token Server •  Expose simple API to native app clients •  Abstracts complexity of SSO protocol from app clients (much like Google Play) •  getToken()
  • 22. IdentityasaMatterofPublicSafety Cloud Identity Summit 2013 – API Workshop The SSO client Identity Server App client 1 App client 2 App client 3 What is your name & password? What is your name & password? What is your name & password? App client 1 App client 2 App client 3 SSO client Identity Server Identity Protocol Identity Protocol Identity Protocol Identity Protocol API API API Without SSO client, each app will need to know protocol details and SSO is not possible SSO client – Identity Protocol complexity is hidden from app clients; SSO client manage session with Identity Server hence enabling Single Sign-On What is your name & password? (only ask ONCE)
  • 23. IdentityasaMatterofPublicSafety Cloud Identity Summit 2013 – API Workshop But … How? 1.  HTTP cookies •  Not secure •  No way to revoke if device is compromised •  This is a non-starter! 2.  OAuth Refresh Tokens •  Could ask for a “master token” with all possible scopes, then use refresh token to “down-scope” the master token for individual scopes •  Master token can be used as the session token, is revocable (good!) •  But it requires tight coupling between SSO client, native apps; must know all scopes of all native apps a priori •  And it gets worse … some native apps might trigger strong authentication, even when the user doesn’t want it (bad experience) •  (So we keep looking) 3.  OAuth Assertion Grants •  Assertion profiles defined in the OAuth WG allow SAML or JWT assertion to be used as a grant type to obtain access tokens •  Enterprise friendly! •  No coupling between native app clients, SSO client •  Best standard ways to get SAML or JWT assertions are WS-Trust (SAML) or via OpenID Connect (JWT): get the JWT assertion, and then use JWT assertion to request scoped access tokens
  • 24. IdentityasaMatterofPublicSafety Cloud Identity Summit 2013 – API Workshop Session Mgmt Illustrated! OAuthSSO clientUA 1. Authorization Request (scope=openid, azp=SSOclient, aud=token_server) 4. Authorization Response (code) 6. Access Token Response (OIDC id_token) 7. Access Token Request (grant_type=jwt-bearer, id_token, scope=app.1) 2. HTML form requesting primary credentials What is your username & password? 8. Access Token Request (grant_type=jwt-bearer, id_token, scope=app.2) 9. Access Token Request (grant_type=jwt-bearer, id_token, scope=app.3) Use the JWT assertion as a grant to request API-scoped access_tokens … (sort of like a Kerberos TGT!) 3. HTML form submission Primary authentication & validation of primary credentials 5. Access Token Request (code, grant_type=code) Native Authorization Agent (AZA) https://groups.google.com/forum/#! forum/native-authorization-agent Note that client doesn’t actually see the password, the entire authentication process is transparent to the client!
  • 25. IdentityasaMatterofPublicSafety Cloud Identity Summit 2013 – API Workshop Putting the token to work •  New and Shiny RESTful APIs •  Legacy WS-* APIs •  Other •  Proprietary APIs •  SIP •  RTSP
  • 26. IdentityasaMatterofPublicSafety Cloud Identity Summit 2013 – API Workshop Putting it all together … OAuth AS WS-* STS WS-* API server 1. getToken() 2. Token Request (scope=App.1, grant_type=jwt-bearer) 3. JWT-structured OAuth access_token with scope=App.1 4. getToken (JWT-structured OAuth access_token) 5. RESTful API call (JWT-structured OAuth access_token) 6. getToken() 7. Token Request (scope=App.2, grant_type=jwt-bearer) 8. JWT-structured OAuth access_token 9. getToken (JWT-structured OAuth access_token) 10. WS-* RST (JWT-structured OAuth access_token) RESTful API server 11. WS-* RSTR (WS-* SAML assertion) 12. WS-* API call (SAML assertion) Make authorization / access control decision based on Identity asserted in token Claims communicated in token: user identity, possible roles, time of authentication, method of authentication User launches WS-* app WS-* App2 RESTful App1 SSO client User launches RESTful app OAuth-to-WS* token Translation happens here
  • 27. IdentityasaMatterofPublicSafety Cloud Identity Summit 2013 – API Workshop Tokens can be carried in SIP + RTSP just as well Identity Server RTSP server 1. getToken() 2. Token Request (scope=SIP.1, grant_type=jwt-bearer) 3. JWT-structured OAuth access_token with scope=SIP.1 4. getToken (JWT-structured OAuth access_token) 5. SIP message (JWT-structured OAuth access_token) 6. getToken() 7. Token Request (scope=RTSP.2, grant_type=jwt-bearer) 8. JWT-structured OAuth access_token with scope=RTSP.2 9. getToken (JWT-structured OAuth access_token) SIP server 10. RTSP message (JWT-structured OAuth access_token) User launches RTSP app RTSP app SIP app SSO client User launches SIP app OAuth token carried in SIP header OAuth token carried in RTSP header
  • 28. IdentityasaMatterofPublicSafety Cloud Identity Summit 2013 – API Workshop So OAuth works well within a single security domain … OAuth AS RESTful API WS-* API Other APIs and Protocols SSO client Active Directory Authenticate with primary credentials Get OAuth access-token Use the OAuth access-token
  • 29. IdentityasaMatterofPublicSafety Cloud Identity Summit 2013 – API Workshop … But what about accessing APIs across security domains?
  • 30. IdentityasaMatterofPublicSafety Cloud Identity Summit 2013 – API Workshop A token that Travels: Taking OAuth on the Road What happens when the user of the API is part of security domain 1, but the provider of the API is part of security domain 2? Application APIs may be hosted in security domain different from the end-user •  Enterprise user accesses SaaS/cloud API •  Enterprise user access API exposed by a partner Enterprise •  City employee accesses API exposed by the State •  State employee accesses API exposed by the Federal Gov •  Google+ user accesses Facebook API What does this look like?
  • 31. IdentityasaMatterofPublicSafety Cloud Identity Summit 2013 – API Workshop There are a number of options …
  • 32. IdentityasaMatterofPublicSafety Cloud Identity Summit 2013 – API Workshop Federated Authorization Server Active Directory OAuth AS Home Foreign Resource Server Foreign Resource Server Foreign Resource Server password JWT JWT JWT
  • 33. IdentityasaMatterofPublicSafety Cloud Identity Summit 2013 – API Workshop OAuth Assertion Profile Resource Server STS Resource Server STS Active Directory Home STS password JWT JWT Foreign Resource Server STS Foreign Foreign JWT
  • 34. IdentityasaMatterofPublicSafety Cloud Identity Summit 2013 – API Workshop Federated authentication to Authorization Server Active Directory Home Resource Server STS Resource Server STS Resource Server STS SAML IdP password SAML SAML SAML
  • 35. IdentityasaMatterofPublicSafety Cloud Identity Summit 2013 – API Workshop My Thoughts for the Identity Community ahead … •  An IETF informational RFC on usage of OAuth for Enterprise-style authentication would be nice •  Clear up some of the confusion of “it’s for authorization” and “the RO is the end-user” •  Looking forward to the AZA effort gaining traction •  JOSE … slow movement in the IETF JOSE WG is causing doubt •  Looking to the IETF to seal the deal on this and call it a day! •  A profile for a structured access token would be nice •  Can’t break existing deployments … … But could give guidance for new ones •  Holder of Key specifications – security beyond bearer tokens •  And if a structured access token is defined, will the future ever see a federated OAuth provider, the way we see SAML federation servers today? Finally, a personal rant … fix the power imbalance between Identity Providers & users!!!
  • 36. IdentityasaMatterofPublicSafety Cloud Identity Summit 2013 – API Workshop And in Closing … • Questions? • Comments? • Scrutiny? • Thank you! :-) adam.lewis@motorolasolutions.com