SlideShare a Scribd company logo
SESSION ID:SESSION ID:
#RSAC
Brian Campbell
Identity and Access Management:
Past/Present/Future, SAML, OAuth, FIDO, OIDC, other
acronyms, and emerging trends
SEM-M04
Distinguished Engineer
Ping Identity
@__b_c
#RSAC
I am going to talk about IAM
Identity and
Access
Management
let the right people access what they need
keep the wrong people out
1961:
Password
Invented
#RSAC
Back Where It All Begins
6
Okay, passwords are ancient
But first known computer use was in ‘61
at MIT for the Compatible Time-Sharing System
— each user had a private set of files and allotment of
computing time
Even back then IAM was about the right people
having access to the right things at the right time
System defeated just one year later
request to print the password file offline
Sixteen years later I was born
(not actually me)
And I’m a little hazy on what happened in that time
#RSAC
Twenty-Some Years Later
The World Wide Web is Now a Thing
HTTP Basic Authentication
Per application credentials
Centralized LDAP
credentials sent & checked on every request
HTML form based login
Cookie based session established from login
Typically opaque value referencing server side memory
Around this time I’d write my first single sign-on
system…
(blindly trusting a user id value in a site-wide cookie, what could possibly go wrong?)
#RSAC
Luckily, competent people were also working on it
Web Access Management (WAM) Products/Solutions
Single sign-on, authorization policy, and authentication management
Web sever agent (but sometimes also proxies)
Domain-wide cookie (but secured unlike mine)
Centralized policy server
Typically deployed in
— Large consumer web sites
— Enterprise applications behind the firewall
Cross-domain solutions existed but proprietary & non-interoperable
Cross Domain Standardization Efforts Also Underway
SAML 1.0, 1.1 & 2.0 ID-FF 1.0, 1.1 & 1.2
Identity and Access Management - RSA 2017 Security Foundations Seminar
It's a SaaS world after all
It's a SaaS world after all
It's a SaaS world after all
How does that make
you feel?
Too many damn
Passwords
Inconsistent
policies
Stronger
authentication, if
any, is per SaaS.
SAML Single Sign-On to SaaS
AuthnRequest
SAML Single Sign-On to SaaS
UserAuthenticates
SAML Single Sign-On to SaaS
SAMLAssertion
&SessionCookie
SAML Single Sign-On to SaaS
AuthnRequest&
SessionCookie
SAML Single Sign-On to SaaS
SAMLAssertion
SAML Single Sign-On to SaaS
et cetera, et cetera, et cetera, etc.
<saml:Assertion ID="y2bvAdFrnRNvnm103yjiimgjhw7" IssueInstant="2016-12-05T21:38:44.771Z”
Version="2.0” xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion">
<saml:Issuer>https://pongidentity.com</saml:Issuer>
<ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#"><ds:SignedInfo>
<ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
<ds:SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha256"/>
<ds:Reference URI="#y2bvAdFrnRNvnm103yjiimgjhw7"><ds:Transforms>
<ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/>
<ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/></ds:Transforms>
<ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/>
<ds:DigestValue>zsB4Oo4ebepuGBJ3FC7z6qRei5d4DWjQlEqhJhEu/+4=</ds:DigestValue>
</ds:Reference></ds:SignedInfo><ds:SignatureValue>gZbkpGU[...omitted...]o2riMFGnTraY=</ds:SignatureValue></ds:Signature>
<saml:Subject>
<saml:NameID Format="rn:oasis:names:tc:SAML:1.1:nameid-format:unspecified">bcampbell</saml:NameID>
<saml:SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer">
<saml:SubjectConfirmationData Recipient="https://workplace247.com/ACS" NotOnOrAfter="2016-12-05T21:48:44.771Z"/>
</saml:SubjectConfirmation></saml:Subject>
<saml:Conditions NotBefore="2016-12-05T21:33:44.771Z" NotOnOrAfter="2016-12-05T21:48:44.771Z">
<saml:AudienceRestriction><saml:Audience>urn:federation:workplace-24-7</saml:Audience></saml:AudienceRestriction>
</saml:Conditions>
<saml:AuthnStatement SessionIndex="y2bvAdFrnRNvnm103yjiimgjhw7" AuthnInstant="2016-12-05T21:27:35.000Z">
<saml:AuthnContext><saml:AuthnContextClassRef>urn:oasis:names:tc:SAML:2.0:ac:classes:Password</saml:AuthnContextClassRef></saml:AuthnContext>
</saml:AuthnStatement>
<saml:AttributeStatement xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<saml:Attribute Name="fname" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:basic">
<saml:AttributeValue xsi:type="xs:string">Brian</saml:AttributeValue></saml:Attribute>
<saml:Attribute Name="lname" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:basic">
<saml:AttributeValue xsi:type="xs:string">Campbell</saml:AttributeValue></saml:Attribute>
<saml:Attribute Name="email" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:basic">
<saml:AttributeValue xsi:type="xs:string">bcampbell@pongidentity.com</saml:AttributeValue></saml:Attribute>
</saml:AttributeStatement></saml:Assertion>
SAML: XML standard for exchanging security & identity information
From
To (also a constraint)
Signatur
e
Who
Constraints
More Constraints
Authentication
info
More user info
#RSAC
OAuth Drivers: Password Sharing is Bad
Other sites asks YOU for your
<redacted> password so it can
access your <redacted> stuff.
#RSAC
OAuth Drivers: SOAP -> REST & JSON
but there were no
comparable authentication
& authorization standards
to WS-*
#RSAC
OAuth 2.0 In A Nutshell
Client
Resource
Server
Authorization
Server
#RSAC
OpenID Connect: SSO built on OAuth 2.0
“OpenID Connect is a simple
identity layer on top of the
OAuth 2.0 protocol.”
Simple is in the eye of the
beholder
But complexity burden shifted
to the identity provider
Adds a lot to OAuth
But the main thing is the JSON
Web Token (JWT) based ID
Token
Client
Resource
Server
Authorization
Server
#RSAC
jot or not?
The JWT
eyJraWQiOiI1IiwiYWxnIjoiRVMyNTYifQ.eyJpc3MiOiJodHRwczpcL1wvaWRwLmV4YW1wbGUuY29tIiwKIm
V4cCI6MTM1NzI1NTc4OCwKImF1ZCI6Imh0dHBzOlwvXC9zcC5leGFtcGxlLm9yZyIsCiJqdGkiOiJ0bVl2WVZ
VMng4THZONzJCNVFfRWFjSC5fNUEiLAoiYWNyIjoiMiIsCiJzdWIiOiJCcmlhbiJ9.
The Header
{"kid":"5","alg":"ES256"}
The Payload
{"iss":"https://idp.example.com",
"exp":1357255788,
"aud":"https://sp.example.org",
"jti":"tmYvYVU2x8LvN72B5Q_EacH._5A",
"acr":"2",
"sub":"Brian"}
#RSAC
it’s not the size of your token…
eyJraWQiOiI1IiwiYWxnIjoiRVMyNTYifQ.eyJpc3MiOiJodHRwczpcL1wvaWRwLmV4YW1wbGUuY29tIiwKImV4cCI6MTM1NzI1NTc4OCwKImF1ZCI6Imh0dHBzOlwvXC9zcC5leGFtcG
xlLm9yZyIsCiJqdGkiOiJ0bVl2WVZVMng4THZONzJCNVFfRWFjSC5fNUEiLAoiYWNyIjoiMiIsCiJzdWIiOiJCcmlhbiJ9.SbPJIx_JSRM1wluioY0SvfykKWK_yK4LO0BKBiESHu0GUG
wikgC8iPrv8qnVkIK1aljVMXcbgYnZixZJ5UOArg
<Assertion Version="2.0" IssueInstant="2013-01-03T23:34:38.546Z" ID="oPm.DxOqT3ZZi83IwuVr3x83xlr"
xmlns="urn:oasis:names:tc:SAML:2.0:assertion" xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<Issuer>https://idp.example.com</Issuer>
<ds:Signature><ds:SignedInfo>
<ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
<ds:SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#ecdsa-sha256"/>
<ds:Reference URI="#oPm.DxOqT3ZZi83IwuVr3x83xlr">
<ds:Transforms><ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/>
<ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/></ds:Transforms>
<ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/>
<ds:DigestValue>8JT03jjlsqBgXhStxmDhs2zlCPsgMkMTC1lIK9g7e0o=</ds:DigestValue>
</ds:Reference></ds:SignedInfo>
<ds:SignatureValue>SAXf8eCmTjuhV742blyvLvVumZJ+TqiG3eMsRDUQU8RnNSspZzNJ8MOUwffkT6kvAR3BXeVzob5p08jsb99UJQ==</ds:SignatureValue>
</ds:Signature>
<Subject>
<NameID Format="urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified">Brian</NameID>
<SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer">
<SubjectConfirmationData NotOnOrAfter="2013-01-03T23:39:38.552Z" Recipient="https://sp.example.org"/>
</SubjectConfirmation>
</Subject>
<Conditions NotOnOrAfter="2013-01-03T23:39:38.552Z" NotBefore="2013-01-03T23:29:38.552Z">
<AudienceRestriction><Audience>https://sp.example.org</Audience></AudienceRestriction>
</Conditions>
<AuthnStatement AuthnInstant="2013-01-03T23:34:38.483Z" SessionIndex="oPm.DxOqT3ZZi83IwuVr3x83xlr">
<AuthnContext><AuthnContextClassRef>2</AuthnContextClassRef></AuthnContext>
</AuthnStatement>
</Assertion>
#RSAC
…it’s how you use it
Simpler = Better
Web safe encoding w/ no canonicalization
(Because canonicalization is a four letter word*)
Improved Interoperability & Security
Mostly been true
Eliminates entire classes of attacks
XSLT Transform DOS, Remote Code Execution, and Bypass
C14N Hash Truncation
Entity Expansion Attacks
XPath Transform DOS and Bypass
External Reference DOS
Signature Wrapping Attacks
Brad Hill, pictured here speaking in 2011, published some of these attacks
* especially when you spell it c14n
Analysts* Predict 4.81 Zillion Mobile
Devices by 2020
* Might have been me
OAuth 2.0 used
for sign-on with
native mobile
applications
https://tools.ietf.org/html/draft-ietf-oauth-native-apps
#RSAC
OAuth 2.0 for Native Apps
1. Request
authorization +
PKCE
2. User
authentication &
approval
3. Callback to
custom scheme
URI
4. Exchange code for
tokens + PKCE
5. Access protected
API
Device
Native
App
System Browser
1
https:// Home Service
1
2
3
Authorization
Endpoint
Token
Endpoint
3
45
#RSAC
Enables Federated and Multi-factor Sign-on
Device
Native
App
System Browser
1
https:// Home Service
1
2
3
Authorization
Endpoint
Token
Endpoint
3
45
Enterprise or
Social Identity
Provider
Leveraging existing and future
investment in web based
authentication
• Standardized Online
Authentication Using Public
Key Cryptography
• PKI without the I
• UAF & U2F
Fast IDentity Online
Strong cryptographic 2nd
factor option for end user
security
U2F device: USB, NFC,
Bluetooth LE, on-board
machine/mobile
Registration of client
generated site-specific
public key
Authentication by signing a
challenge
U2F
What’s In Your Pocket?
Phone becoming a nearly ubiquitous “something you have”
Biometrics
Used as device local authentication to unlock a key used
in remote authentication
Token Binding
• Enables a long-lived binding to
browser generated public-private key
pair used to sign TLS exported keying
material and sent as an HTTP header
• Bind to cookies, SSO tokens, OAuth
tokens
#RSAC
Are we done yet?
IAM: Seamlessly enabling the
right people to have access to
the right resources at the right
time
Federated single sign-on to SaaS &
organizational applications
Stronger user authentication with
less frequent direct user
interaction
Stronger session and SSO tokens
bound to keys on the device
Almost…
SESSION ID:SESSION ID:
#RSAC
Brian Campbell
Identity and Access Management:
Past/Present/Future, SAML, OAuth, FIDO, OIDC, other
acronyms, and emerging trends
SEM-M04
Distinguished Engineer
Ping Identity
@__b_c
Thanks!
You’ve been watching:

More Related Content

PDF
Identity and Access Management 101
PDF
Open iam technicalarchitecture-v3-a
PPTX
What to Expect in 2016: Top 5 Predictions for Security and Access Control
PPTX
2013 12 18 webcast - building the privileged identity management business case
PPTX
Identity Management Over the Horizon: What’s New and What’s Next
PDF
Pragmatic Identity and Access Management: Secure Your Business without Breaki...
PPTX
The Path to IAM Maturity
PDF
Identity and Access Management - Data modeling concepts
Identity and Access Management 101
Open iam technicalarchitecture-v3-a
What to Expect in 2016: Top 5 Predictions for Security and Access Control
2013 12 18 webcast - building the privileged identity management business case
Identity Management Over the Horizon: What’s New and What’s Next
Pragmatic Identity and Access Management: Secure Your Business without Breaki...
The Path to IAM Maturity
Identity and Access Management - Data modeling concepts

What's hot (20)

PDF
IDENTITY ACCESS MANAGEMENT
PDF
Identity Management for the 21st Century IT Mission
PPT
A Pragmatic Approach to Identity and Access Management
PDF
50 data principles for loosely coupled identity management v1 0
PDF
Comparing forefront identity manager vs. other identity managers
PDF
Digital documents & e-discovery
PDF
CA Technologies and Deloitte: Unleash and Protect your Business with Identity...
PPTX
Identity & access management
PDF
Identity and Access Management (IAM)
PPTX
Identity & Access Management - Securing Your Data in the 21st Century Enterprise
PPT
Mr. desmond cloud security_format
PDF
PIM, PAM, PUM: Best Practices for Unix/Linux Privileged Identity & Access Man...
PDF
CIS13: Avoiding the Pitfalls of Managing IAM for a Hybrid Environment
PPT
Building an Effective Identity Management Strategy
PPTX
Identity and Access Management (IAM)
PPT
Identity Access Management (IAM)
PDF
The Essentials | Privileged Access Management
PDF
Privileged identity management
 
PPTX
Sailpoint Training | Best Sailpoint IdentityIQ Online Course -GOT
PDF
Identity Governance: Not Just For Compliance
IDENTITY ACCESS MANAGEMENT
Identity Management for the 21st Century IT Mission
A Pragmatic Approach to Identity and Access Management
50 data principles for loosely coupled identity management v1 0
Comparing forefront identity manager vs. other identity managers
Digital documents & e-discovery
CA Technologies and Deloitte: Unleash and Protect your Business with Identity...
Identity & access management
Identity and Access Management (IAM)
Identity & Access Management - Securing Your Data in the 21st Century Enterprise
Mr. desmond cloud security_format
PIM, PAM, PUM: Best Practices for Unix/Linux Privileged Identity & Access Man...
CIS13: Avoiding the Pitfalls of Managing IAM for a Hybrid Environment
Building an Effective Identity Management Strategy
Identity and Access Management (IAM)
Identity Access Management (IAM)
The Essentials | Privileged Access Management
Privileged identity management
 
Sailpoint Training | Best Sailpoint IdentityIQ Online Course -GOT
Identity Governance: Not Just For Compliance
Ad

Viewers also liked (17)

PDF
OAuth 2.0 Token Exchange: An STS for the REST of Us
PDF
オープンソースRDBMS新機能ランダウンOSC2017TokyoSpring
PPTX
Identity and Access Management in the Era of Digital Transformation
PDF
Identity and Access Management from Microsoft and Razor Technology
PPTX
超先取りShenandoahGC
PDF
About DevOps++ Alliance
PDF
MySQL 5.7 InnoDB 日本語全文検索
PDF
JWTを使った簡易SSOで徐々にシステムをリニューアルしている話
PDF
PDF
Сторінками юридичних періодичних видань.
PPT
Finding Key Influencers and Viral Topics in Twitter Networks Related to ISIS ...
PPTX
Missions Mobilization Principles @globalcast
PDF
NeuString - Roaming Discount Agreements vs Spreadsheets e.1.1
PDF
BioSharing - ELIXIR All Hands, March 2017
PPTX
XOHW17 - tReeSearch Project Presentation
PPTX
Thank you 3.22.2017
OAuth 2.0 Token Exchange: An STS for the REST of Us
オープンソースRDBMS新機能ランダウンOSC2017TokyoSpring
Identity and Access Management in the Era of Digital Transformation
Identity and Access Management from Microsoft and Razor Technology
超先取りShenandoahGC
About DevOps++ Alliance
MySQL 5.7 InnoDB 日本語全文検索
JWTを使った簡易SSOで徐々にシステムをリニューアルしている話
Сторінками юридичних періодичних видань.
Finding Key Influencers and Viral Topics in Twitter Networks Related to ISIS ...
Missions Mobilization Principles @globalcast
NeuString - Roaming Discount Agreements vs Spreadsheets e.1.1
BioSharing - ELIXIR All Hands, March 2017
XOHW17 - tReeSearch Project Presentation
Thank you 3.22.2017
Ad

Similar to Identity and Access Management - RSA 2017 Security Foundations Seminar (20)

PPTX
IAM Overview Identiverse 2018
PDF
JDD2015: Security in the era of modern applications and services - Bolesław D...
PPTX
Help! I Have An Identity Crisis: A look at various mechanisms of Single Sign On
PPTX
Single Sign On 101
PDF
Managing Identity by Giving Up Control - Scott Morrison, SVP & Distinguished ...
PDF
Patterns to Bring Enterprise and Social Identity to the Cloud
PDF
CIS13: Identity as a Matter of Public Safety: A Case Study in Secure API Acce...
PDF
Open sso fisl9.0
PDF
Improving Mobile Authentication for Public Safety and First Responders
PDF
OpenID Connect "101" Introduction -- October 23, 2018
PPTX
Presentation- SecurID presentation for the Channel (1).pptx
PDF
Passwords and Fingerprints and Faces—Oh My! Comparing Old and New Authentication
PDF
DON'T Use Two-Factor Authentication...Unless You Need It!
PPTX
RSA Conference 2016: Don't Use Two-Factor Authentication... Unless You Need It!
PDF
Openstack identity protocols unconference
PPTX
Presentation
PDF
The Case For Next Generation IAM
PPT
RSASecureID (2).ppt
PPT
RSASecureID.ppt
PDF
[4developers2016] - Security in the era of modern applications and services (...
IAM Overview Identiverse 2018
JDD2015: Security in the era of modern applications and services - Bolesław D...
Help! I Have An Identity Crisis: A look at various mechanisms of Single Sign On
Single Sign On 101
Managing Identity by Giving Up Control - Scott Morrison, SVP & Distinguished ...
Patterns to Bring Enterprise and Social Identity to the Cloud
CIS13: Identity as a Matter of Public Safety: A Case Study in Secure API Acce...
Open sso fisl9.0
Improving Mobile Authentication for Public Safety and First Responders
OpenID Connect "101" Introduction -- October 23, 2018
Presentation- SecurID presentation for the Channel (1).pptx
Passwords and Fingerprints and Faces—Oh My! Comparing Old and New Authentication
DON'T Use Two-Factor Authentication...Unless You Need It!
RSA Conference 2016: Don't Use Two-Factor Authentication... Unless You Need It!
Openstack identity protocols unconference
Presentation
The Case For Next Generation IAM
RSASecureID (2).ppt
RSASecureID.ppt
[4developers2016] - Security in the era of modern applications and services (...

More from Brian Campbell (15)

PPTX
The Burden of Proof
PPTX
Token Binding Identiverse 2018
PPTX
Beyond Bearer: Token Binding as the Foundation for a More Secure Web
PPTX
Denver Startup Week '15: Mobile SSO
PPTX
Mobile SSO: are we there yet?
PPTX
Mobile Single Sign-On (Gluecon '15)
PPTX
I Left My JWT in San JOSE
PPTX
OpenID Connect - a simple[sic] single sign-on & identity layer on top of OAut...
PPTX
JOSE Can You See...
PPTX
An Introduction to the Emerging JSON-Based Identity and Security Protocols (O...
PPTX
Hope or Hype: A Look at the Next Generation of Identity Standards
PPTX
Introduction to the Emerging JSON-Based Identity and Security Protocols
PPTX
OAuth 101 & Secure APIs 2012 Cloud Identity Summit
PPTX
OAuth 2.0 and Mobile Devices: Is that a token in your phone in your pocket or...
PDF
OAuth 101 & Secure API's - Paul Madsen and Brian Campbell, Ping Identity
The Burden of Proof
Token Binding Identiverse 2018
Beyond Bearer: Token Binding as the Foundation for a More Secure Web
Denver Startup Week '15: Mobile SSO
Mobile SSO: are we there yet?
Mobile Single Sign-On (Gluecon '15)
I Left My JWT in San JOSE
OpenID Connect - a simple[sic] single sign-on & identity layer on top of OAut...
JOSE Can You See...
An Introduction to the Emerging JSON-Based Identity and Security Protocols (O...
Hope or Hype: A Look at the Next Generation of Identity Standards
Introduction to the Emerging JSON-Based Identity and Security Protocols
OAuth 101 & Secure APIs 2012 Cloud Identity Summit
OAuth 2.0 and Mobile Devices: Is that a token in your phone in your pocket or...
OAuth 101 & Secure API's - Paul Madsen and Brian Campbell, Ping Identity

Recently uploaded (20)

PPTX
CHAPTER 2 - PM Management and IT Context
PPTX
Transform Your Business with a Software ERP System
PDF
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
PDF
Design an Analysis of Algorithms II-SECS-1021-03
PPTX
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
PDF
Softaken Excel to vCard Converter Software.pdf
PDF
Understanding Forklifts - TECH EHS Solution
PPTX
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
PDF
Digital Strategies for Manufacturing Companies
PDF
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
PPTX
L1 - Introduction to python Backend.pptx
PDF
System and Network Administraation Chapter 3
PDF
Upgrade and Innovation Strategies for SAP ERP Customers
PDF
How to Migrate SBCGlobal Email to Yahoo Easily
PDF
Design an Analysis of Algorithms I-SECS-1021-03
PPTX
VVF-Customer-Presentation2025-Ver1.9.pptx
PPTX
ai tools demonstartion for schools and inter college
PDF
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
PDF
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
PDF
AI in Product Development-omnex systems
CHAPTER 2 - PM Management and IT Context
Transform Your Business with a Software ERP System
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
Design an Analysis of Algorithms II-SECS-1021-03
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
Softaken Excel to vCard Converter Software.pdf
Understanding Forklifts - TECH EHS Solution
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
Digital Strategies for Manufacturing Companies
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
L1 - Introduction to python Backend.pptx
System and Network Administraation Chapter 3
Upgrade and Innovation Strategies for SAP ERP Customers
How to Migrate SBCGlobal Email to Yahoo Easily
Design an Analysis of Algorithms I-SECS-1021-03
VVF-Customer-Presentation2025-Ver1.9.pptx
ai tools demonstartion for schools and inter college
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
AI in Product Development-omnex systems

Identity and Access Management - RSA 2017 Security Foundations Seminar

  • 1. SESSION ID:SESSION ID: #RSAC Brian Campbell Identity and Access Management: Past/Present/Future, SAML, OAuth, FIDO, OIDC, other acronyms, and emerging trends SEM-M04 Distinguished Engineer Ping Identity @__b_c
  • 2. #RSAC I am going to talk about IAM Identity and Access Management
  • 3. let the right people access what they need
  • 4. keep the wrong people out
  • 6. #RSAC Back Where It All Begins 6 Okay, passwords are ancient But first known computer use was in ‘61 at MIT for the Compatible Time-Sharing System — each user had a private set of files and allotment of computing time Even back then IAM was about the right people having access to the right things at the right time System defeated just one year later request to print the password file offline
  • 7. Sixteen years later I was born (not actually me)
  • 8. And I’m a little hazy on what happened in that time
  • 9. #RSAC Twenty-Some Years Later The World Wide Web is Now a Thing HTTP Basic Authentication Per application credentials Centralized LDAP credentials sent & checked on every request HTML form based login Cookie based session established from login Typically opaque value referencing server side memory Around this time I’d write my first single sign-on system…
  • 10. (blindly trusting a user id value in a site-wide cookie, what could possibly go wrong?)
  • 11. #RSAC Luckily, competent people were also working on it Web Access Management (WAM) Products/Solutions Single sign-on, authorization policy, and authentication management Web sever agent (but sometimes also proxies) Domain-wide cookie (but secured unlike mine) Centralized policy server Typically deployed in — Large consumer web sites — Enterprise applications behind the firewall Cross-domain solutions existed but proprietary & non-interoperable
  • 12. Cross Domain Standardization Efforts Also Underway SAML 1.0, 1.1 & 2.0 ID-FF 1.0, 1.1 & 1.2
  • 14. It's a SaaS world after all
  • 15. It's a SaaS world after all
  • 16. It's a SaaS world after all
  • 17. How does that make you feel?
  • 19. SAML Single Sign-On to SaaS AuthnRequest
  • 20. SAML Single Sign-On to SaaS UserAuthenticates
  • 21. SAML Single Sign-On to SaaS SAMLAssertion &SessionCookie
  • 22. SAML Single Sign-On to SaaS AuthnRequest& SessionCookie
  • 23. SAML Single Sign-On to SaaS SAMLAssertion
  • 24. SAML Single Sign-On to SaaS et cetera, et cetera, et cetera, etc.
  • 25. <saml:Assertion ID="y2bvAdFrnRNvnm103yjiimgjhw7" IssueInstant="2016-12-05T21:38:44.771Z” Version="2.0” xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion"> <saml:Issuer>https://pongidentity.com</saml:Issuer> <ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#"><ds:SignedInfo> <ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/> <ds:SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha256"/> <ds:Reference URI="#y2bvAdFrnRNvnm103yjiimgjhw7"><ds:Transforms> <ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/> <ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/></ds:Transforms> <ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/> <ds:DigestValue>zsB4Oo4ebepuGBJ3FC7z6qRei5d4DWjQlEqhJhEu/+4=</ds:DigestValue> </ds:Reference></ds:SignedInfo><ds:SignatureValue>gZbkpGU[...omitted...]o2riMFGnTraY=</ds:SignatureValue></ds:Signature> <saml:Subject> <saml:NameID Format="rn:oasis:names:tc:SAML:1.1:nameid-format:unspecified">bcampbell</saml:NameID> <saml:SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer"> <saml:SubjectConfirmationData Recipient="https://workplace247.com/ACS" NotOnOrAfter="2016-12-05T21:48:44.771Z"/> </saml:SubjectConfirmation></saml:Subject> <saml:Conditions NotBefore="2016-12-05T21:33:44.771Z" NotOnOrAfter="2016-12-05T21:48:44.771Z"> <saml:AudienceRestriction><saml:Audience>urn:federation:workplace-24-7</saml:Audience></saml:AudienceRestriction> </saml:Conditions> <saml:AuthnStatement SessionIndex="y2bvAdFrnRNvnm103yjiimgjhw7" AuthnInstant="2016-12-05T21:27:35.000Z"> <saml:AuthnContext><saml:AuthnContextClassRef>urn:oasis:names:tc:SAML:2.0:ac:classes:Password</saml:AuthnContextClassRef></saml:AuthnContext> </saml:AuthnStatement> <saml:AttributeStatement xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <saml:Attribute Name="fname" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:basic"> <saml:AttributeValue xsi:type="xs:string">Brian</saml:AttributeValue></saml:Attribute> <saml:Attribute Name="lname" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:basic"> <saml:AttributeValue xsi:type="xs:string">Campbell</saml:AttributeValue></saml:Attribute> <saml:Attribute Name="email" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:basic"> <saml:AttributeValue xsi:type="xs:string">bcampbell@pongidentity.com</saml:AttributeValue></saml:Attribute> </saml:AttributeStatement></saml:Assertion> SAML: XML standard for exchanging security & identity information From To (also a constraint) Signatur e Who Constraints More Constraints Authentication info More user info
  • 26. #RSAC OAuth Drivers: Password Sharing is Bad Other sites asks YOU for your <redacted> password so it can access your <redacted> stuff.
  • 27. #RSAC OAuth Drivers: SOAP -> REST & JSON but there were no comparable authentication & authorization standards to WS-*
  • 28. #RSAC OAuth 2.0 In A Nutshell Client Resource Server Authorization Server
  • 29. #RSAC OpenID Connect: SSO built on OAuth 2.0 “OpenID Connect is a simple identity layer on top of the OAuth 2.0 protocol.” Simple is in the eye of the beholder But complexity burden shifted to the identity provider Adds a lot to OAuth But the main thing is the JSON Web Token (JWT) based ID Token Client Resource Server Authorization Server
  • 30. #RSAC jot or not? The JWT eyJraWQiOiI1IiwiYWxnIjoiRVMyNTYifQ.eyJpc3MiOiJodHRwczpcL1wvaWRwLmV4YW1wbGUuY29tIiwKIm V4cCI6MTM1NzI1NTc4OCwKImF1ZCI6Imh0dHBzOlwvXC9zcC5leGFtcGxlLm9yZyIsCiJqdGkiOiJ0bVl2WVZ VMng4THZONzJCNVFfRWFjSC5fNUEiLAoiYWNyIjoiMiIsCiJzdWIiOiJCcmlhbiJ9. The Header {"kid":"5","alg":"ES256"} The Payload {"iss":"https://idp.example.com", "exp":1357255788, "aud":"https://sp.example.org", "jti":"tmYvYVU2x8LvN72B5Q_EacH._5A", "acr":"2", "sub":"Brian"}
  • 31. #RSAC it’s not the size of your token… eyJraWQiOiI1IiwiYWxnIjoiRVMyNTYifQ.eyJpc3MiOiJodHRwczpcL1wvaWRwLmV4YW1wbGUuY29tIiwKImV4cCI6MTM1NzI1NTc4OCwKImF1ZCI6Imh0dHBzOlwvXC9zcC5leGFtcG xlLm9yZyIsCiJqdGkiOiJ0bVl2WVZVMng4THZONzJCNVFfRWFjSC5fNUEiLAoiYWNyIjoiMiIsCiJzdWIiOiJCcmlhbiJ9.SbPJIx_JSRM1wluioY0SvfykKWK_yK4LO0BKBiESHu0GUG wikgC8iPrv8qnVkIK1aljVMXcbgYnZixZJ5UOArg <Assertion Version="2.0" IssueInstant="2013-01-03T23:34:38.546Z" ID="oPm.DxOqT3ZZi83IwuVr3x83xlr" xmlns="urn:oasis:names:tc:SAML:2.0:assertion" xmlns:ds="http://www.w3.org/2000/09/xmldsig#"> <Issuer>https://idp.example.com</Issuer> <ds:Signature><ds:SignedInfo> <ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/> <ds:SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#ecdsa-sha256"/> <ds:Reference URI="#oPm.DxOqT3ZZi83IwuVr3x83xlr"> <ds:Transforms><ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/> <ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/></ds:Transforms> <ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/> <ds:DigestValue>8JT03jjlsqBgXhStxmDhs2zlCPsgMkMTC1lIK9g7e0o=</ds:DigestValue> </ds:Reference></ds:SignedInfo> <ds:SignatureValue>SAXf8eCmTjuhV742blyvLvVumZJ+TqiG3eMsRDUQU8RnNSspZzNJ8MOUwffkT6kvAR3BXeVzob5p08jsb99UJQ==</ds:SignatureValue> </ds:Signature> <Subject> <NameID Format="urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified">Brian</NameID> <SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer"> <SubjectConfirmationData NotOnOrAfter="2013-01-03T23:39:38.552Z" Recipient="https://sp.example.org"/> </SubjectConfirmation> </Subject> <Conditions NotOnOrAfter="2013-01-03T23:39:38.552Z" NotBefore="2013-01-03T23:29:38.552Z"> <AudienceRestriction><Audience>https://sp.example.org</Audience></AudienceRestriction> </Conditions> <AuthnStatement AuthnInstant="2013-01-03T23:34:38.483Z" SessionIndex="oPm.DxOqT3ZZi83IwuVr3x83xlr"> <AuthnContext><AuthnContextClassRef>2</AuthnContextClassRef></AuthnContext> </AuthnStatement> </Assertion>
  • 32. #RSAC …it’s how you use it Simpler = Better Web safe encoding w/ no canonicalization (Because canonicalization is a four letter word*) Improved Interoperability & Security Mostly been true Eliminates entire classes of attacks XSLT Transform DOS, Remote Code Execution, and Bypass C14N Hash Truncation Entity Expansion Attacks XPath Transform DOS and Bypass External Reference DOS Signature Wrapping Attacks Brad Hill, pictured here speaking in 2011, published some of these attacks * especially when you spell it c14n
  • 33. Analysts* Predict 4.81 Zillion Mobile Devices by 2020 * Might have been me
  • 34. OAuth 2.0 used for sign-on with native mobile applications https://tools.ietf.org/html/draft-ietf-oauth-native-apps
  • 35. #RSAC OAuth 2.0 for Native Apps 1. Request authorization + PKCE 2. User authentication & approval 3. Callback to custom scheme URI 4. Exchange code for tokens + PKCE 5. Access protected API Device Native App System Browser 1 https:// Home Service 1 2 3 Authorization Endpoint Token Endpoint 3 45
  • 36. #RSAC Enables Federated and Multi-factor Sign-on Device Native App System Browser 1 https:// Home Service 1 2 3 Authorization Endpoint Token Endpoint 3 45 Enterprise or Social Identity Provider Leveraging existing and future investment in web based authentication
  • 37. • Standardized Online Authentication Using Public Key Cryptography • PKI without the I • UAF & U2F
  • 38. Fast IDentity Online Strong cryptographic 2nd factor option for end user security U2F device: USB, NFC, Bluetooth LE, on-board machine/mobile Registration of client generated site-specific public key Authentication by signing a challenge U2F
  • 39. What’s In Your Pocket? Phone becoming a nearly ubiquitous “something you have”
  • 40. Biometrics Used as device local authentication to unlock a key used in remote authentication
  • 41. Token Binding • Enables a long-lived binding to browser generated public-private key pair used to sign TLS exported keying material and sent as an HTTP header • Bind to cookies, SSO tokens, OAuth tokens
  • 42. #RSAC Are we done yet? IAM: Seamlessly enabling the right people to have access to the right resources at the right time Federated single sign-on to SaaS & organizational applications Stronger user authentication with less frequent direct user interaction Stronger session and SSO tokens bound to keys on the device Almost…
  • 43. SESSION ID:SESSION ID: #RSAC Brian Campbell Identity and Access Management: Past/Present/Future, SAML, OAuth, FIDO, OIDC, other acronyms, and emerging trends SEM-M04 Distinguished Engineer Ping Identity @__b_c Thanks! You’ve been watching: