SlideShare a Scribd company logo
1 of 26
© 2017 Brian Campbell 1
Beyond Bearer
Token Binding as the Foundation for a More Secure Web
BRIAN CAMPBELL
@__b_c
featuring guest contributor
MICHAEL B. JONES
@selfissued
© 2017 Brian Campbell
© 2017 Brian Campbell 2
Formalities, Introductions, Safe Harbor, etc.
• Working for Ping Identity since ’04
– Product Development & Standards
– Contributions from Mike Jones, Identity
Standards Architect at Microsoft
• Pretending to have a different career
via CIS since ’11
– Presentation MAY contain gratuitous
photos
– gratuitous photos
• Presentation may contain forward-
looking statements and no investment
or purchasing decisions should be made
based on the content herein
– Except to hire a photographer for an
obscene amount of money
"L'Arroseur Arrosé”
by
David Brossard
© 2017 Brian Campbell 3
Formalities, Introductions, Safe Harbor, etc.
• Working for Ping Identity since ’04
– Product Development & Standards
– Contributions from Mike Jones, Identity
Standards Architect at Microsoft
• Pretending to have a different career
via CIS since ’11
– Presentation MAY contain gratuitous
photos
• This presentation may contain forward-
looking statements and no investment
or purchasing decisions should be made
based solely on the content herein
– Except to hire a photographer for an
obscene amount of money
"L'Arroseur arrosé”
By
David Brossard
© 2017 Brian Campbell 4
The Problem With Bearer Tokens
One truth and a lie
© 2017 Brian Campbell 5
Make HTTP Stateful Again!
HttpOnlysecure
The archetypal bearer token
© 2017 Brian Campbell 6
Single Page Apps
(everyone is doing it)
it's like déjà vu all over again with XSS and local storage
© 2017 Brian Campbell 7
Token Binding
• Enables a long-lived binding via client
generated public-private key pair used
to sign TLS exported keying material
and sent as an HTTP header
© 2017 Brian Campbell
© 2017 Brian Campbell 8
© 2017 Brian Campbell 9© 2017 Brian Campbell
© 2017 Brian Campbell 10
Hello! Do you like my extension?
© 2017 Brian Campbell 11
Do you even bind tokens, bro?
Client Server
ClientHello
...
token_binding [24]
token_binding_version [1,0]
key_parameters_list [2,0]
ServerHello
...
token_binding [24]
token_binding_version [1,0]
key_parameters_list [2]
Key Parameters:
(0) rsa2048_pkcs1.5
(1) rsa2048_pss
(2) ecdsap256
Also need extenstions:
Extended Master Secret
Renegotiation Indication
TLS Handshake
© 2017 Brian Campbell 12
Token Binding over HTTPS
Client Server
GET /stuff HTTP/1.1
Host: example.com
Sec-Token-Binding: AIkAAgBBQLgtRpWFPN66kxhxGrtaKrzcMtHw7HV8
yMk_-MdRXJXbDMYxZCWnCASRRrmHHHL5wmpP3bhYt0ChRDbsMapfh_QAQ
N1He3Ftj4Wa_S_fzZVns4saLfj6aBoMSQW6rLs19IIvHze7LrGjKyCfPT
KXjajebxp-TLPFZCc0JTqTY5_0MBAAAA
HTTP Request
• Encoded Token Binding Message
– (1 or more) Token Bindings
• Type (provided / referred)
• Token Binding ID (key type and public key)
• Signature over type, key type, and EKM (TLS Exported Keying Material)
• Extensions
• Proves possession of the private key on the TLS connection
• Keys are long-lived and span TLS connections
© 2017 Brian Campbell 13
Binding Cookies
• The most straightforward application binds a cookie to the Token Binding key
• Server associates Token Binding ID with cookie & checks on subsequent use
• Augments existing authentication and session mechanisms
• Transparent to users
• Deployment can be phased in
© 2017 Brian Campbell 14
Okay, Just Take It Easy Privacy Nerds Advocates
• Token Binding is not a
supercookie or new big brother
tracking mechanism
• Client generates a unique key
pair per effective top-level
domain + 1 (eTLD+1)
– E.g., example.com, www.example.com,
and etc.example.com share binding but
not example.org or example.co.uk
• Same scoping rules and privacy
implications as cookies
© 2017 Brian Campbell
© 2017 Brian Campbell 15
But what if we need 2Federate?
There’s an HTTP response header for that! Tells the browser that it should reveal the Token Binding ID used
between itself and the RP (referred) in addition to the one used between itself and the IDP (provided).
Browser
Identity Provider (IDP)Relying Party (RP)
HTTP/1.1 302 Found
Location: https://idp.example.com
Include-Referred-Token-Binding-ID: true
GET / HTTP/1.1
Host: idp.example.com
Sec-Token-Binding: ARIAAgBBQB-XOPf5ePlf7ikATiAFEGOS503
lPmRfkyymzdWwHCxl0njjxC3D0E_OVfBNqrIQxzIfkF7tWby2Zfya
E6XpwTsAQBYqhFX78vMOgDX_Fd_b2dlHyHlMmkIz8iMVBY_reM98O
UaJFz5IB7PG9nZ11j58LoG5QhmQoI9NXYktKZRXxrYAAAECAEFAdU
FTnfQADkn1uDbQnvJEk6oQs38L92gv-KO-qlYadLoDIKe2h53hSiK
wIP98iRj_unedkNkAMyg9e2mY4Gp7WwBAeDUOwaSXNz1e6gKohwN4
SAZ5eNyx45Mh8VI4woL1BipLoqrJRoK6dxFkWgHRMuBROcLGUj5Pi
OoxybQH_Tom3gAA
I'll tell you what
I'd do, man, two
bindings at the
same time, man.
© 2017 Brian Campbell 16
Token Binding for OpenID Connect
• Utilizes the Include-
Referred-Token-
Binding-ID header
and the Referred
Token Binding
• Binds the ID Token to
the Token Binding ID
the browser uses
between itself and the
Relying Party
• Uses token binding hash
“tbh” member of the
confirmation claim
“cnf”
© 2017 Brian Campbell 17
“Demo”
• Showing a bound:
– ID Token SSO
– Session Cookie
Browser
Identity Provider (IDP)
https://idp.example.com
Relying Party (RP)
https://rp.example.io:3000
http://httpbin.org/
© 2017 Brian Campbell 18
Unauthenticated access request to RP
is redirected for SSO
© 2017 Brian Campbell 19
Authentication request
to the IDP
© 2017 Brian Campbell 20
ID Token
delivered to RP
© 2017 Brian Campbell 21
Authenticated
access to RP
© 2017 Brian Campbell 22
“Demo” Finished
© 2017 Brian Campbell 23
Token Binding for OAuth Too
• Access tokens with
referred Token
Binding ID
• Refresh tokens with
provided Token
Binding ID
• Authorization codes
via PKCE
– Native app clients
– Web server clients
© 2017 Brian Campbell 24
But What about Client Certificates?
• “rarely used in end-user applications” -
Wikipedia
• Seen specialized/niche deployments
rather than large scale
• Less than friendly user experience
– Comprehending
– Obtaining
– Using
– Logging out
– Portability
– Managing
• Privacy implications
RFC 5280 is X.509 Public
Key Infrastructure
Certificate Profile
Denver is nicknamed the
Mile-High City because of
its 5280 foot elevation
Blue Mustang is public art
at Denver International
Airport
Q.E.D.
© 2017 Brian Campbell 25
The Landscape (some of it anyway)
• Three IETF Token Binding specs soon to be RFCs
• Draft support
– Chrome and Edge/IE (others?!!)
– Global on Google servers (since Jan)
– .NET Framework (4.6 for server side)
– Open source
• OpenSSL (https://github.com/google/token_bind)
• Apache (https://github.com/zmartzone/mod_token_binding)
• NGINX (https://github.com/google/ngx_token_binding)
• Java (… er, yeah…)
– Online demo at https://www.ietf.org/mail-archive/web/unbearable/current/msg01332.html
• OpenID Connect Token Bound Authentication spec is coming along
• OAuth 2.0 Token Binding spec is coming along a bit behind that
• Working to spec how it’ll work with TLS terminating reverse proxies
© 2017 Brian Campbell 26
FIN
© 2015 Brian Campbell
BRIAN CAMPBELL
@__b_c
featuring guest contributor
MICHAEL B. JONES
@selfissued

More Related Content

What's hot

What's hot (20)

OIDF Workshop at Verizon Media -- 9/30/2019 -- FastFed Working Group Update
OIDF Workshop at Verizon Media -- 9/30/2019 -- FastFed Working Group UpdateOIDF Workshop at Verizon Media -- 9/30/2019 -- FastFed Working Group Update
OIDF Workshop at Verizon Media -- 9/30/2019 -- FastFed Working Group Update
 
Exploring Advanced Authentication Methods in Novell Access Manager
Exploring Advanced Authentication Methods in Novell Access ManagerExploring Advanced Authentication Methods in Novell Access Manager
Exploring Advanced Authentication Methods in Novell Access Manager
 
OIDF Workshop at Verizon Media -- 9/30/2019 -- Continuous Access Evaluation P...
OIDF Workshop at Verizon Media -- 9/30/2019 -- Continuous Access Evaluation P...OIDF Workshop at Verizon Media -- 9/30/2019 -- Continuous Access Evaluation P...
OIDF Workshop at Verizon Media -- 9/30/2019 -- Continuous Access Evaluation P...
 
OAuth 2.0 Security Reinforced
OAuth 2.0 Security ReinforcedOAuth 2.0 Security Reinforced
OAuth 2.0 Security Reinforced
 
OAuth Assisted Token Flow for Single Page Applications
OAuth Assisted Token Flow for Single Page ApplicationsOAuth Assisted Token Flow for Single Page Applications
OAuth Assisted Token Flow for Single Page Applications
 
CIS13: Bootcamp: Ping Identity SAML in Action with PingFederate Hands-On
CIS13: Bootcamp: Ping Identity SAML in Action with PingFederate Hands-OnCIS13: Bootcamp: Ping Identity SAML in Action with PingFederate Hands-On
CIS13: Bootcamp: Ping Identity SAML in Action with PingFederate Hands-On
 
How to integration DataPower with Zos
How to integration DataPower with ZosHow to integration DataPower with Zos
How to integration DataPower with Zos
 
OAuth and OpenID Connect for Microservices
OAuth and OpenID Connect for MicroservicesOAuth and OpenID Connect for Microservices
OAuth and OpenID Connect for Microservices
 
Con Foo 2017 - Don't Loose Sleep - Secure Your REST
Con Foo 2017 - Don't Loose Sleep - Secure Your RESTCon Foo 2017 - Don't Loose Sleep - Secure Your REST
Con Foo 2017 - Don't Loose Sleep - Secure Your REST
 
Token, token... From SAML to OIDC
Token, token... From SAML to OIDCToken, token... From SAML to OIDC
Token, token... From SAML to OIDC
 
Alfresco DevCon 2019: Encryption at-rest and in-transit
Alfresco DevCon 2019: Encryption at-rest and in-transitAlfresco DevCon 2019: Encryption at-rest and in-transit
Alfresco DevCon 2019: Encryption at-rest and in-transit
 
W3C Web Authentication - #idcon vol.24
W3C Web Authentication - #idcon vol.24W3C Web Authentication - #idcon vol.24
W3C Web Authentication - #idcon vol.24
 
Hyperledger Fabric update Meetup 20181101
Hyperledger Fabric update Meetup 20181101Hyperledger Fabric update Meetup 20181101
Hyperledger Fabric update Meetup 20181101
 
ID連携入門 (実習編) - Security Camp 2016
ID連携入門 (実習編) - Security Camp 2016ID連携入門 (実習編) - Security Camp 2016
ID連携入門 (実習編) - Security Camp 2016
 
Alfresco DevCon 2019 - Alfresco Identity Services in Action
Alfresco DevCon 2019 - Alfresco Identity Services in ActionAlfresco DevCon 2019 - Alfresco Identity Services in Action
Alfresco DevCon 2019 - Alfresco Identity Services in Action
 
PHP UK 2017 - Don't Lose Sleep - Secure Your REST
PHP UK 2017 - Don't Lose Sleep - Secure Your RESTPHP UK 2017 - Don't Lose Sleep - Secure Your REST
PHP UK 2017 - Don't Lose Sleep - Secure Your REST
 
IBM Blockchain Overview
IBM Blockchain OverviewIBM Blockchain Overview
IBM Blockchain Overview
 
Hyperledger fabric 20180528
Hyperledger fabric 20180528Hyperledger fabric 20180528
Hyperledger fabric 20180528
 
WebRTC for Telco: Informa's WebRTC Global Summit Preconference
WebRTC for Telco: Informa's WebRTC Global Summit PreconferenceWebRTC for Telco: Informa's WebRTC Global Summit Preconference
WebRTC for Telco: Informa's WebRTC Global Summit Preconference
 
Synergies of Cloud Identity: Putting it All Together
Synergies of Cloud Identity: Putting it All TogetherSynergies of Cloud Identity: Putting it All Together
Synergies of Cloud Identity: Putting it All Together
 

Similar to Beyond Bearer: Token Binding as the Foundation for a More Secure Web

Similar to Beyond Bearer: Token Binding as the Foundation for a More Secure Web (20)

Token Binding as the Foundation for a More Secure Web
Token Binding as the Foundation for a More Secure WebToken Binding as the Foundation for a More Secure Web
Token Binding as the Foundation for a More Secure Web
 
Cisco Connect Toronto 2018 cloud and on premises collaboration security exp...
Cisco Connect Toronto 2018   cloud and on premises collaboration security exp...Cisco Connect Toronto 2018   cloud and on premises collaboration security exp...
Cisco Connect Toronto 2018 cloud and on premises collaboration security exp...
 
Integrations - Thinking outside the box - Presentation Engage 2023 in Amsterdam
Integrations - Thinking outside the box - Presentation Engage 2023 in AmsterdamIntegrations - Thinking outside the box - Presentation Engage 2023 in Amsterdam
Integrations - Thinking outside the box - Presentation Engage 2023 in Amsterdam
 
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
 
Обнаружение вредоносного кода в зашифрованном с помощью TLS трафике (без деши...
Обнаружение вредоносного кода в зашифрованном с помощью TLS трафике (без деши...Обнаружение вредоносного кода в зашифрованном с помощью TLS трафике (без деши...
Обнаружение вредоносного кода в зашифрованном с помощью TLS трафике (без деши...
 
Docker Enterprise Networking and Cisco Contiv - Cisco Live 2017 BRKSDN-2256
Docker Enterprise Networking and Cisco Contiv - Cisco Live 2017 BRKSDN-2256Docker Enterprise Networking and Cisco Contiv - Cisco Live 2017 BRKSDN-2256
Docker Enterprise Networking and Cisco Contiv - Cisco Live 2017 BRKSDN-2256
 
Secure Content Delivery Using Amazon CloudFront
Secure Content Delivery Using Amazon CloudFrontSecure Content Delivery Using Amazon CloudFront
Secure Content Delivery Using Amazon CloudFront
 
Cisco Connect Vancouver 2017 - Cloud and on premises collaboration security e...
Cisco Connect Vancouver 2017 - Cloud and on premises collaboration security e...Cisco Connect Vancouver 2017 - Cloud and on premises collaboration security e...
Cisco Connect Vancouver 2017 - Cloud and on premises collaboration security e...
 
TechWiseTV Workshop: Intercloud Fabric
TechWiseTV Workshop: Intercloud FabricTechWiseTV Workshop: Intercloud Fabric
TechWiseTV Workshop: Intercloud Fabric
 
16370 cics project opening and project update f
16370  cics project opening and project update f16370  cics project opening and project update f
16370 cics project opening and project update f
 
ProSBC on Azure - A Tutorial
ProSBC on Azure - A TutorialProSBC on Azure - A Tutorial
ProSBC on Azure - A Tutorial
 
ProSBC on Azure - A Tutorial
ProSBC on Azure - A TutorialProSBC on Azure - A Tutorial
ProSBC on Azure - A Tutorial
 
Cloud and On Premises Collaboration Security Explained
Cloud and On Premises Collaboration Security ExplainedCloud and On Premises Collaboration Security Explained
Cloud and On Premises Collaboration Security Explained
 
Shedding Light on LINE Token Economy You Won't Find in Our White Paper
Shedding Light on LINE Token Economy You Won't Find in Our White PaperShedding Light on LINE Token Economy You Won't Find in Our White Paper
Shedding Light on LINE Token Economy You Won't Find in Our White Paper
 
Impact 2014 Best practices for_cics_soa_co
Impact 2014 Best practices for_cics_soa_coImpact 2014 Best practices for_cics_soa_co
Impact 2014 Best practices for_cics_soa_co
 
HostBridge Virtual User Group December 2020
HostBridge Virtual User Group December 2020HostBridge Virtual User Group December 2020
HostBridge Virtual User Group December 2020
 
Cisco connect winnipeg 2018 cloud and on premises collaboration security ex...
Cisco connect winnipeg 2018   cloud and on premises collaboration security ex...Cisco connect winnipeg 2018   cloud and on premises collaboration security ex...
Cisco connect winnipeg 2018 cloud and on premises collaboration security ex...
 
Cisco Connect Ottawa 2018 cloud and on premises collaboration security explained
Cisco Connect Ottawa 2018 cloud and on premises collaboration security explainedCisco Connect Ottawa 2018 cloud and on premises collaboration security explained
Cisco Connect Ottawa 2018 cloud and on premises collaboration security explained
 
Into The Box 2023 Keynote Day 1
Into The Box 2023 Keynote Day 1Into The Box 2023 Keynote Day 1
Into The Box 2023 Keynote Day 1
 
Interop2018 contrail ContrailEnterpriseMulticloud
Interop2018 contrail ContrailEnterpriseMulticloudInterop2018 contrail ContrailEnterpriseMulticloud
Interop2018 contrail ContrailEnterpriseMulticloud
 

More from Brian Campbell

OAuth 101 & Secure API's - Paul Madsen and Brian Campbell, Ping Identity
OAuth 101 & Secure API's - Paul Madsen and Brian Campbell, Ping IdentityOAuth 101 & Secure API's - Paul Madsen and Brian Campbell, Ping Identity
OAuth 101 & Secure API's - Paul Madsen and Brian Campbell, Ping Identity
Brian Campbell
 

More from Brian Campbell (15)

The Burden of Proof
The Burden of ProofThe Burden of Proof
The Burden of Proof
 
IAM Overview Identiverse 2018
IAM Overview Identiverse 2018IAM Overview Identiverse 2018
IAM Overview Identiverse 2018
 
Identity and Access Management - RSA 2017 Security Foundations Seminar
Identity and Access Management - RSA 2017 Security Foundations SeminarIdentity and Access Management - RSA 2017 Security Foundations Seminar
Identity and Access Management - RSA 2017 Security Foundations Seminar
 
OAuth 2.0 Token Exchange: An STS for the REST of Us
OAuth 2.0 Token Exchange: An STS for the REST of UsOAuth 2.0 Token Exchange: An STS for the REST of Us
OAuth 2.0 Token Exchange: An STS for the REST of Us
 
Denver Startup Week '15: Mobile SSO
Denver Startup Week '15: Mobile SSODenver Startup Week '15: Mobile SSO
Denver Startup Week '15: Mobile SSO
 
Mobile SSO: are we there yet?
Mobile SSO: are we there yet?Mobile SSO: are we there yet?
Mobile SSO: are we there yet?
 
Mobile Single Sign-On (Gluecon '15)
Mobile Single Sign-On (Gluecon '15)Mobile Single Sign-On (Gluecon '15)
Mobile Single Sign-On (Gluecon '15)
 
I Left My JWT in San JOSE
I Left My JWT in San JOSEI Left My JWT in San JOSE
I Left My JWT in San JOSE
 
JOSE Can You See...
JOSE Can You See...JOSE Can You See...
JOSE Can You See...
 
An Introduction to the Emerging JSON-Based Identity and Security Protocols (O...
An Introduction to the Emerging JSON-Based Identity and Security Protocols (O...An Introduction to the Emerging JSON-Based Identity and Security Protocols (O...
An Introduction to the Emerging JSON-Based Identity and Security Protocols (O...
 
Hope or Hype: A Look at the Next Generation of Identity Standards
Hope or Hype: A Look at the Next Generation of Identity StandardsHope or Hype: A Look at the Next Generation of Identity Standards
Hope or Hype: A Look at the Next Generation of Identity Standards
 
Introduction to the Emerging JSON-Based Identity and Security Protocols
Introduction to the Emerging JSON-Based Identity and Security ProtocolsIntroduction to the Emerging JSON-Based Identity and Security Protocols
Introduction to the Emerging JSON-Based Identity and Security Protocols
 
OAuth 101 & Secure APIs 2012 Cloud Identity Summit
OAuth 101 & Secure APIs 2012 Cloud Identity SummitOAuth 101 & Secure APIs 2012 Cloud Identity Summit
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 2.0 and Mobile Devices: Is that a token in your phone in your pocket or...OAuth 2.0 and Mobile Devices: Is that a token in your phone in your pocket or...
OAuth 2.0 and Mobile Devices: Is that a token in your phone in your pocket or...
 
OAuth 101 & Secure API's - Paul Madsen and Brian Campbell, Ping Identity
OAuth 101 & Secure API's - Paul Madsen and Brian Campbell, Ping IdentityOAuth 101 & Secure API's - Paul Madsen and Brian Campbell, Ping Identity
OAuth 101 & Secure API's - Paul Madsen and Brian Campbell, Ping Identity
 

Recently uploaded

Indian Escort in Abu DHabi 0508644382 Abu Dhabi Escorts
Indian Escort in Abu DHabi 0508644382 Abu Dhabi EscortsIndian Escort in Abu DHabi 0508644382 Abu Dhabi Escorts
Indian Escort in Abu DHabi 0508644382 Abu Dhabi Escorts
Monica Sydney
 
PowerDirector Explination Process...pptx
PowerDirector Explination Process...pptxPowerDirector Explination Process...pptx
PowerDirector Explination Process...pptx
galaxypingy
 
一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样
一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样
一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样
ayvbos
 
在线制作约克大学毕业证(yu毕业证)在读证明认证可查
在线制作约克大学毕业证(yu毕业证)在读证明认证可查在线制作约克大学毕业证(yu毕业证)在读证明认证可查
在线制作约克大学毕业证(yu毕业证)在读证明认证可查
ydyuyu
 
一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样
一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样
一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样
ayvbos
 

Recently uploaded (20)

2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
 
20240509 QFM015 Engineering Leadership Reading List April 2024.pdf
20240509 QFM015 Engineering Leadership Reading List April 2024.pdf20240509 QFM015 Engineering Leadership Reading List April 2024.pdf
20240509 QFM015 Engineering Leadership Reading List April 2024.pdf
 
Trump Diapers Over Dems t shirts Sweatshirt
Trump Diapers Over Dems t shirts SweatshirtTrump Diapers Over Dems t shirts Sweatshirt
Trump Diapers Over Dems t shirts Sweatshirt
 
APNIC Updates presented by Paul Wilson at ARIN 53
APNIC Updates presented by Paul Wilson at ARIN 53APNIC Updates presented by Paul Wilson at ARIN 53
APNIC Updates presented by Paul Wilson at ARIN 53
 
Indian Escort in Abu DHabi 0508644382 Abu Dhabi Escorts
Indian Escort in Abu DHabi 0508644382 Abu Dhabi EscortsIndian Escort in Abu DHabi 0508644382 Abu Dhabi Escorts
Indian Escort in Abu DHabi 0508644382 Abu Dhabi Escorts
 
PowerDirector Explination Process...pptx
PowerDirector Explination Process...pptxPowerDirector Explination Process...pptx
PowerDirector Explination Process...pptx
 
一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样
一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样
一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样
 
"Boost Your Digital Presence: Partner with a Leading SEO Agency"
"Boost Your Digital Presence: Partner with a Leading SEO Agency""Boost Your Digital Presence: Partner with a Leading SEO Agency"
"Boost Your Digital Presence: Partner with a Leading SEO Agency"
 
Nagercoil Escorts Service Girl ^ 9332606886, WhatsApp Anytime Nagercoil
Nagercoil Escorts Service Girl ^ 9332606886, WhatsApp Anytime NagercoilNagercoil Escorts Service Girl ^ 9332606886, WhatsApp Anytime Nagercoil
Nagercoil Escorts Service Girl ^ 9332606886, WhatsApp Anytime Nagercoil
 
APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...
APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...
APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...
 
best call girls in Hyderabad Finest Escorts Service 📞 9352988975 📞 Available ...
best call girls in Hyderabad Finest Escorts Service 📞 9352988975 📞 Available ...best call girls in Hyderabad Finest Escorts Service 📞 9352988975 📞 Available ...
best call girls in Hyderabad Finest Escorts Service 📞 9352988975 📞 Available ...
 
Meaning of On page SEO & its process in detail.
Meaning of On page SEO & its process in detail.Meaning of On page SEO & its process in detail.
Meaning of On page SEO & its process in detail.
 
20240507 QFM013 Machine Intelligence Reading List April 2024.pdf
20240507 QFM013 Machine Intelligence Reading List April 2024.pdf20240507 QFM013 Machine Intelligence Reading List April 2024.pdf
20240507 QFM013 Machine Intelligence Reading List April 2024.pdf
 
20240508 QFM014 Elixir Reading List April 2024.pdf
20240508 QFM014 Elixir Reading List April 2024.pdf20240508 QFM014 Elixir Reading List April 2024.pdf
20240508 QFM014 Elixir Reading List April 2024.pdf
 
Microsoft Azure Arc Customer Deck Microsoft
Microsoft Azure Arc Customer Deck MicrosoftMicrosoft Azure Arc Customer Deck Microsoft
Microsoft Azure Arc Customer Deck Microsoft
 
Real Men Wear Diapers T Shirts sweatshirt
Real Men Wear Diapers T Shirts sweatshirtReal Men Wear Diapers T Shirts sweatshirt
Real Men Wear Diapers T Shirts sweatshirt
 
在线制作约克大学毕业证(yu毕业证)在读证明认证可查
在线制作约克大学毕业证(yu毕业证)在读证明认证可查在线制作约克大学毕业证(yu毕业证)在读证明认证可查
在线制作约克大学毕业证(yu毕业证)在读证明认证可查
 
Power point inglese - educazione civica di Nuria Iuzzolino
Power point inglese - educazione civica di Nuria IuzzolinoPower point inglese - educazione civica di Nuria Iuzzolino
Power point inglese - educazione civica di Nuria Iuzzolino
 
一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样
一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样
一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样
 
Story Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
Story Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrStory Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
Story Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
 

Beyond Bearer: Token Binding as the Foundation for a More Secure Web

  • 1. © 2017 Brian Campbell 1 Beyond Bearer Token Binding as the Foundation for a More Secure Web BRIAN CAMPBELL @__b_c featuring guest contributor MICHAEL B. JONES @selfissued © 2017 Brian Campbell
  • 2. © 2017 Brian Campbell 2 Formalities, Introductions, Safe Harbor, etc. • Working for Ping Identity since ’04 – Product Development & Standards – Contributions from Mike Jones, Identity Standards Architect at Microsoft • Pretending to have a different career via CIS since ’11 – Presentation MAY contain gratuitous photos – gratuitous photos • Presentation may contain forward- looking statements and no investment or purchasing decisions should be made based on the content herein – Except to hire a photographer for an obscene amount of money "L'Arroseur Arrosé” by David Brossard
  • 3. © 2017 Brian Campbell 3 Formalities, Introductions, Safe Harbor, etc. • Working for Ping Identity since ’04 – Product Development & Standards – Contributions from Mike Jones, Identity Standards Architect at Microsoft • Pretending to have a different career via CIS since ’11 – Presentation MAY contain gratuitous photos • This presentation may contain forward- looking statements and no investment or purchasing decisions should be made based solely on the content herein – Except to hire a photographer for an obscene amount of money "L'Arroseur arrosé” By David Brossard
  • 4. © 2017 Brian Campbell 4 The Problem With Bearer Tokens One truth and a lie
  • 5. © 2017 Brian Campbell 5 Make HTTP Stateful Again! HttpOnlysecure The archetypal bearer token
  • 6. © 2017 Brian Campbell 6 Single Page Apps (everyone is doing it) it's like déjà vu all over again with XSS and local storage
  • 7. © 2017 Brian Campbell 7 Token Binding • Enables a long-lived binding via client generated public-private key pair used to sign TLS exported keying material and sent as an HTTP header © 2017 Brian Campbell
  • 8. © 2017 Brian Campbell 8
  • 9. © 2017 Brian Campbell 9© 2017 Brian Campbell
  • 10. © 2017 Brian Campbell 10 Hello! Do you like my extension?
  • 11. © 2017 Brian Campbell 11 Do you even bind tokens, bro? Client Server ClientHello ... token_binding [24] token_binding_version [1,0] key_parameters_list [2,0] ServerHello ... token_binding [24] token_binding_version [1,0] key_parameters_list [2] Key Parameters: (0) rsa2048_pkcs1.5 (1) rsa2048_pss (2) ecdsap256 Also need extenstions: Extended Master Secret Renegotiation Indication TLS Handshake
  • 12. © 2017 Brian Campbell 12 Token Binding over HTTPS Client Server GET /stuff HTTP/1.1 Host: example.com Sec-Token-Binding: AIkAAgBBQLgtRpWFPN66kxhxGrtaKrzcMtHw7HV8 yMk_-MdRXJXbDMYxZCWnCASRRrmHHHL5wmpP3bhYt0ChRDbsMapfh_QAQ N1He3Ftj4Wa_S_fzZVns4saLfj6aBoMSQW6rLs19IIvHze7LrGjKyCfPT KXjajebxp-TLPFZCc0JTqTY5_0MBAAAA HTTP Request • Encoded Token Binding Message – (1 or more) Token Bindings • Type (provided / referred) • Token Binding ID (key type and public key) • Signature over type, key type, and EKM (TLS Exported Keying Material) • Extensions • Proves possession of the private key on the TLS connection • Keys are long-lived and span TLS connections
  • 13. © 2017 Brian Campbell 13 Binding Cookies • The most straightforward application binds a cookie to the Token Binding key • Server associates Token Binding ID with cookie & checks on subsequent use • Augments existing authentication and session mechanisms • Transparent to users • Deployment can be phased in
  • 14. © 2017 Brian Campbell 14 Okay, Just Take It Easy Privacy Nerds Advocates • Token Binding is not a supercookie or new big brother tracking mechanism • Client generates a unique key pair per effective top-level domain + 1 (eTLD+1) – E.g., example.com, www.example.com, and etc.example.com share binding but not example.org or example.co.uk • Same scoping rules and privacy implications as cookies © 2017 Brian Campbell
  • 15. © 2017 Brian Campbell 15 But what if we need 2Federate? There’s an HTTP response header for that! Tells the browser that it should reveal the Token Binding ID used between itself and the RP (referred) in addition to the one used between itself and the IDP (provided). Browser Identity Provider (IDP)Relying Party (RP) HTTP/1.1 302 Found Location: https://idp.example.com Include-Referred-Token-Binding-ID: true GET / HTTP/1.1 Host: idp.example.com Sec-Token-Binding: ARIAAgBBQB-XOPf5ePlf7ikATiAFEGOS503 lPmRfkyymzdWwHCxl0njjxC3D0E_OVfBNqrIQxzIfkF7tWby2Zfya E6XpwTsAQBYqhFX78vMOgDX_Fd_b2dlHyHlMmkIz8iMVBY_reM98O UaJFz5IB7PG9nZ11j58LoG5QhmQoI9NXYktKZRXxrYAAAECAEFAdU FTnfQADkn1uDbQnvJEk6oQs38L92gv-KO-qlYadLoDIKe2h53hSiK wIP98iRj_unedkNkAMyg9e2mY4Gp7WwBAeDUOwaSXNz1e6gKohwN4 SAZ5eNyx45Mh8VI4woL1BipLoqrJRoK6dxFkWgHRMuBROcLGUj5Pi OoxybQH_Tom3gAA I'll tell you what I'd do, man, two bindings at the same time, man.
  • 16. © 2017 Brian Campbell 16 Token Binding for OpenID Connect • Utilizes the Include- Referred-Token- Binding-ID header and the Referred Token Binding • Binds the ID Token to the Token Binding ID the browser uses between itself and the Relying Party • Uses token binding hash “tbh” member of the confirmation claim “cnf”
  • 17. © 2017 Brian Campbell 17 “Demo” • Showing a bound: – ID Token SSO – Session Cookie Browser Identity Provider (IDP) https://idp.example.com Relying Party (RP) https://rp.example.io:3000 http://httpbin.org/
  • 18. © 2017 Brian Campbell 18 Unauthenticated access request to RP is redirected for SSO
  • 19. © 2017 Brian Campbell 19 Authentication request to the IDP
  • 20. © 2017 Brian Campbell 20 ID Token delivered to RP
  • 21. © 2017 Brian Campbell 21 Authenticated access to RP
  • 22. © 2017 Brian Campbell 22 “Demo” Finished
  • 23. © 2017 Brian Campbell 23 Token Binding for OAuth Too • Access tokens with referred Token Binding ID • Refresh tokens with provided Token Binding ID • Authorization codes via PKCE – Native app clients – Web server clients
  • 24. © 2017 Brian Campbell 24 But What about Client Certificates? • “rarely used in end-user applications” - Wikipedia • Seen specialized/niche deployments rather than large scale • Less than friendly user experience – Comprehending – Obtaining – Using – Logging out – Portability – Managing • Privacy implications RFC 5280 is X.509 Public Key Infrastructure Certificate Profile Denver is nicknamed the Mile-High City because of its 5280 foot elevation Blue Mustang is public art at Denver International Airport Q.E.D.
  • 25. © 2017 Brian Campbell 25 The Landscape (some of it anyway) • Three IETF Token Binding specs soon to be RFCs • Draft support – Chrome and Edge/IE (others?!!) – Global on Google servers (since Jan) – .NET Framework (4.6 for server side) – Open source • OpenSSL (https://github.com/google/token_bind) • Apache (https://github.com/zmartzone/mod_token_binding) • NGINX (https://github.com/google/ngx_token_binding) • Java (… er, yeah…) – Online demo at https://www.ietf.org/mail-archive/web/unbearable/current/msg01332.html • OpenID Connect Token Bound Authentication spec is coming along • OAuth 2.0 Token Binding spec is coming along a bit behind that • Working to spec how it’ll work with TLS terminating reverse proxies
  • 26. © 2017 Brian Campbell 26 FIN © 2015 Brian Campbell BRIAN CAMPBELL @__b_c featuring guest contributor MICHAEL B. JONES @selfissued

Editor's Notes

  1. "client certificates are the ‘Hotel California' of identity. 'You can login any time you want but you can never logout’” – from John at IIW