SlideShare a Scribd company logo
1
IETF OAuth
Proof-of-Possession
Hannes Tschofenig
2
Status
 Finished various specifications, including
 OAuth Core: RFC 6749
 Bearer Tokens: RFC 6750
 Security Threats: RFC 6819
 Discussion about an enhancement to Bearer Token
security (now called “Proof-of-Possession”) since the early
days of the working group.
 Design Team work late 2012/early 2013, which lead to
requirements, use cases, and solution strawman
proposals.
 Work on solution documents lead to new work items.
3
I
Client
Authorization
Server
Resource
Server
II
III
Architecture
Relevant document:
http://datatracker.ietf.org/doc/draft-ietf-oauth-pop-architecture/
4
I
Client
Authorization
Server
Resource
Server
II
III
Variants:
• Key Distribution at Access Token Issuance
• Key Distribution at Client Registration
AS <-> Client Interaction
Relevant specifications:
http://datatracker.ietf.org/doc/draft-ietf-oauth-pop-key-distribution/
http://datatracker.ietf.org/doc/draft-ietf-oauth-proof-of-possession/
5
Client
Authorization
Server
Resource
Server
AS <-> Client Interaction
Example: Symmetric Key
Request access token.
I support PoP tokens
6
Client
Authorization
Server
Resource
Server
AS <-> Client Interaction
Example: Symmetric Key
AS creates PoP-enabled
access token
7
PoP Token: Symmetric Key Example
{
"alg":"RSA1_5",
"enc":"A128CBC-HS256",
"cty":"jwk+json"
}
{
"iss": "https://server.example.com",
"sub": "24400320",
"aud": "s6BhdRkqt3",
"nonce": "n-0S6_WzA2Mj",
"exp": 1311281970,
"iat": 1311280970,
"cnf":{
"jwk":
"eyJhbGciOiJSU0ExXzUiLCJlbmMiOiJB
MTI4Q0JDLUhTMjU2IiwiY3R5IjoiandrK
... (remainder of JWE omitted for brevity)"
}
}
{
"kty":"oct",
"alg":"HS256",
"k":"ZoRSOrFzN_FzUA5XKM
YoVHyzff5oRJxl-IXRtztJ6uE"
}
Binds a symmetric key
to the access token
8
Client
Authorization
Server
Resource
Server
AS <-> Client Interaction
Example: Symmetric Key
AS sends access token
to Client & symmetric key
9
AS <-> Client Interaction
 AS needs to bind a key to the access token.
 Key can be an fresh and unique symmetric key, or
 (ephemeral) public key
 This requires two extensions:
 New elements within the JWT to include the (encrypted symmetric
key) or the public key. JWT is also integrity protected.
 Mechanism for conveying ephemeral key from AS to client and for
client to provide directives to AS.
 Details in draft-ietf-oauth-pop-key-distribution
 Transport symmetric key from AS to client.
 Transport (ephemeral) asymmetric key from AS to client.
 Transport public key from client to AS.
 Algorithm indication
10
Dynamic Client Registration
 Attempt to simplify developer interaction with AS when they
deploy client applications.
 Today, developers need to register various parameters
(manually), such as
 Authentication mechanism & client authentication credentials
 Redirect URIs
 Grant types
 Meta data (client name, client logo, scopes, contact information, etc.)
 Also allows meta-data, including public keys, to be uploaded
to AS.
 Two documents:
 draft-ietf-oauth-dyn-reg
 draft-ietf-oauth-dyn-reg-metadata
 WGLC in progress.
11
I
Client
Authorization
Server
Resource
Server
II
III
Building Blocks:
a) Proof of possession of PoP key
b) Message integrity (+ Channel Binding)
c) RS-to-client authentication
Client <-> RS Interaction
Relevant specification : http://datatracker.ietf.org/doc/draft-ietf-oauth-signed-http-request/
12
Client
Authorization
Server
Resource
Server
AS <-> Client Interaction
Example: Symmetric Key
AS sends access token to
Client & Authenticator
Authenticator
= Keyed Message
Digest Computed
Over Request.
13
Client
Authorization
Server
Resource
Server
AS <-> Client Interaction
Example: Symmetric Key
RS “unwraps” access token
and obtains symmetric key.
RS verifies authenticator.
Shared
Long
Term
Key
14
Channel Binding
Channel bindings bind the application layer security
to the underlying channel security mechanism.
Various approaches for providing channel bindings:
 PoP public key use in TLS (as described in HOTK draft)
 tls-unique: TLS Finish message
 tls-server-end-point: hash of the TLS server's certificate:
 Currently, no channel bindings described in <draft-ietf-oauth-
signed-http-request>
 Be aware: New attacks have been identified with TLS-based
channel bindings, see
http://www.ietf.org/proceedings/89/slides/slides-89-tls-3.pdf
15
`
I
Client
Authorization
Server
Resource
Server
II
III
Variants:
a) Token introspection
b) Out-of-band
RS <-> AS Interaction [optional]
Relevant specification: http://datatracker.ietf.org/doc/draft-richer-oauth-introspection/
16
Next Steps
Reviews for the document bundle needed.
Open Issues will be added to the WG tracker.
Main issues with the client<->resource server
communication. Challenges:
 Dealing with intermediaries modifying headers
 Offering flexibility to developer
 Reducing payload replicating
 Minimizing canonicalization
 Authentication of the server to the client
 Channel binding functionality

More Related Content

PPTX
Access control iot_mqtt_ace
PDF
Secure JAX-RS
PDF
New Security Mechanisms for Network Time Synchronization Protocols
PPTX
The Burden of Proof
PPTX
OAuth 2.0 and the Internet of Things (IoT) (Jacob Ideskog)
PPTX
Future Proofing the OAuth 2.0 Authorization Code Grant Protocol by the applic...
PDF
Secure JAX-RS
PDF
Modern API Security with JSON Web Tokens
Access control iot_mqtt_ace
Secure JAX-RS
New Security Mechanisms for Network Time Synchronization Protocols
The Burden of Proof
OAuth 2.0 and the Internet of Things (IoT) (Jacob Ideskog)
Future Proofing the OAuth 2.0 Authorization Code Grant Protocol by the applic...
Secure JAX-RS
Modern API Security with JSON Web Tokens

Similar to ietf oauth proof-of-possession.ppt sdfsdfs (20)

PDF
IoT Wonderland: Understanding the Magic of OAuth2 Device Registration Flow
PPTX
How Does a Workload Authenticate an API Request?: Implementing Transaction To...
PDF
Securing MQTT - BuildingIoT 2016 slides
PDF
RFC6749 et alia 20130504
PDF
What the Heck is OAuth and OpenID Connect? Connect.Tech 2017
PPT
Oauth tutorial
PDF
OAuth in the Real World featuring Webshell
PDF
Understanding Wireguard, TLS and Workload Identity
PDF
OAuth2 on Ericsson Labs
PPTX
Dealing with pervasive monitoring - Networkshop44
PDF
Securing Web Applications with Token Authentication
PPTX
OAuth Well Played – Mods and Combos for the Cloud Native API Security Game - ...
PPTX
Json Web Token - JWT
PDF
Draft Ietf Oauth V2 12
PDF
Oauth Nightmares Abstract OAuth Nightmares
PPT
Presentation To Vo Ip Round Table V2
PPT
Authenticated Identites in VoIP Call Control
PDF
Demystifying OAuth 2.0
PDF
Are You Properly Using JWTs?
PDF
2016 pycontw web api authentication
IoT Wonderland: Understanding the Magic of OAuth2 Device Registration Flow
How Does a Workload Authenticate an API Request?: Implementing Transaction To...
Securing MQTT - BuildingIoT 2016 slides
RFC6749 et alia 20130504
What the Heck is OAuth and OpenID Connect? Connect.Tech 2017
Oauth tutorial
OAuth in the Real World featuring Webshell
Understanding Wireguard, TLS and Workload Identity
OAuth2 on Ericsson Labs
Dealing with pervasive monitoring - Networkshop44
Securing Web Applications with Token Authentication
OAuth Well Played – Mods and Combos for the Cloud Native API Security Game - ...
Json Web Token - JWT
Draft Ietf Oauth V2 12
Oauth Nightmares Abstract OAuth Nightmares
Presentation To Vo Ip Round Table V2
Authenticated Identites in VoIP Call Control
Demystifying OAuth 2.0
Are You Properly Using JWTs?
2016 pycontw web api authentication
Ad

More from DucAnhLe56 (7)

PPTX
IC-Project-Status-Report-107761232_PowerPoint.pptx
DOCX
IC-1RACI-Software-Matrix-11490_WORD.docx
PPTX
sewewew we wer werwe rwe rwer wer wer wer
PPTX
api-security-Jan23.pptxsdfffffffffffffffffffffffffffff
PDF
phong cach lanh dao trong thuc te doanh nghiep vn
PDF
ma-ansible-automatio sdf sdf sdfsdfsfdssdfsf
PPT
PSO_Project_Closeout.ppt
IC-Project-Status-Report-107761232_PowerPoint.pptx
IC-1RACI-Software-Matrix-11490_WORD.docx
sewewew we wer werwe rwe rwer wer wer wer
api-security-Jan23.pptxsdfffffffffffffffffffffffffffff
phong cach lanh dao trong thuc te doanh nghiep vn
ma-ansible-automatio sdf sdf sdfsdfsfdssdfsf
PSO_Project_Closeout.ppt
Ad

Recently uploaded (20)

PDF
FMM Slides For OSH Management Requirement
PPTX
Envrironmental Ethics: issues and possible solution
PPTX
Green Modern Sustainable Living Nature Presentation_20250226_230231_0000.pptx
PDF
Effects of rice-husk biochar and aluminum sulfate application on rice grain q...
PDF
Global Natural Disasters in H1 2025 by Beinsure
PDF
The Role of Non-Legal Advocates in Fighting Social Injustice.pdf
PPTX
Biodiversity of nature in environmental studies.pptx
PPTX
NSTP1 NSTP1NSTP1NSTP1NSTP1NSTP1NSTP1NSTP
PPT
Compliance Monitoring report CMR presentation.ppt
DOCX
Epoxy Coated Steel Bolted Tanks for Beverage Wastewater Storage Manages Liqui...
PPTX
Plant_Cell_Presentation.pptx.com learning purpose
DOCX
Epoxy Coated Steel Bolted Tanks for Farm Digesters Supports On-Farm Organic W...
DOCX
Epoxy Coated Steel Bolted Tanks for Anaerobic Digestion (AD) Plants Core Comp...
PDF
Tree Biomechanics, a concise presentation
PPTX
Corporate Social Responsibility & Governance
PPTX
Office Hours on Drivers of Tree Cover Loss
PPTX
Disposal Of Wastes.pptx according to community medicine
DOCX
Epoxy Coated Steel Bolted Tanks for Dairy Farm Water Ensures Clean Water for ...
DOCX
Epoxy Coated Steel Bolted Tanks for Agricultural Waste Biogas Digesters Turns...
PPT
PPTPresentation3 jhsvdasvdjhavsdhsvjcksjbc.jasb..ppt
FMM Slides For OSH Management Requirement
Envrironmental Ethics: issues and possible solution
Green Modern Sustainable Living Nature Presentation_20250226_230231_0000.pptx
Effects of rice-husk biochar and aluminum sulfate application on rice grain q...
Global Natural Disasters in H1 2025 by Beinsure
The Role of Non-Legal Advocates in Fighting Social Injustice.pdf
Biodiversity of nature in environmental studies.pptx
NSTP1 NSTP1NSTP1NSTP1NSTP1NSTP1NSTP1NSTP
Compliance Monitoring report CMR presentation.ppt
Epoxy Coated Steel Bolted Tanks for Beverage Wastewater Storage Manages Liqui...
Plant_Cell_Presentation.pptx.com learning purpose
Epoxy Coated Steel Bolted Tanks for Farm Digesters Supports On-Farm Organic W...
Epoxy Coated Steel Bolted Tanks for Anaerobic Digestion (AD) Plants Core Comp...
Tree Biomechanics, a concise presentation
Corporate Social Responsibility & Governance
Office Hours on Drivers of Tree Cover Loss
Disposal Of Wastes.pptx according to community medicine
Epoxy Coated Steel Bolted Tanks for Dairy Farm Water Ensures Clean Water for ...
Epoxy Coated Steel Bolted Tanks for Agricultural Waste Biogas Digesters Turns...
PPTPresentation3 jhsvdasvdjhavsdhsvjcksjbc.jasb..ppt

ietf oauth proof-of-possession.ppt sdfsdfs

  • 2. 2 Status  Finished various specifications, including  OAuth Core: RFC 6749  Bearer Tokens: RFC 6750  Security Threats: RFC 6819  Discussion about an enhancement to Bearer Token security (now called “Proof-of-Possession”) since the early days of the working group.  Design Team work late 2012/early 2013, which lead to requirements, use cases, and solution strawman proposals.  Work on solution documents lead to new work items.
  • 4. 4 I Client Authorization Server Resource Server II III Variants: • Key Distribution at Access Token Issuance • Key Distribution at Client Registration AS <-> Client Interaction Relevant specifications: http://datatracker.ietf.org/doc/draft-ietf-oauth-pop-key-distribution/ http://datatracker.ietf.org/doc/draft-ietf-oauth-proof-of-possession/
  • 5. 5 Client Authorization Server Resource Server AS <-> Client Interaction Example: Symmetric Key Request access token. I support PoP tokens
  • 6. 6 Client Authorization Server Resource Server AS <-> Client Interaction Example: Symmetric Key AS creates PoP-enabled access token
  • 7. 7 PoP Token: Symmetric Key Example { "alg":"RSA1_5", "enc":"A128CBC-HS256", "cty":"jwk+json" } { "iss": "https://server.example.com", "sub": "24400320", "aud": "s6BhdRkqt3", "nonce": "n-0S6_WzA2Mj", "exp": 1311281970, "iat": 1311280970, "cnf":{ "jwk": "eyJhbGciOiJSU0ExXzUiLCJlbmMiOiJB MTI4Q0JDLUhTMjU2IiwiY3R5IjoiandrK ... (remainder of JWE omitted for brevity)" } } { "kty":"oct", "alg":"HS256", "k":"ZoRSOrFzN_FzUA5XKM YoVHyzff5oRJxl-IXRtztJ6uE" } Binds a symmetric key to the access token
  • 8. 8 Client Authorization Server Resource Server AS <-> Client Interaction Example: Symmetric Key AS sends access token to Client & symmetric key
  • 9. 9 AS <-> Client Interaction  AS needs to bind a key to the access token.  Key can be an fresh and unique symmetric key, or  (ephemeral) public key  This requires two extensions:  New elements within the JWT to include the (encrypted symmetric key) or the public key. JWT is also integrity protected.  Mechanism for conveying ephemeral key from AS to client and for client to provide directives to AS.  Details in draft-ietf-oauth-pop-key-distribution  Transport symmetric key from AS to client.  Transport (ephemeral) asymmetric key from AS to client.  Transport public key from client to AS.  Algorithm indication
  • 10. 10 Dynamic Client Registration  Attempt to simplify developer interaction with AS when they deploy client applications.  Today, developers need to register various parameters (manually), such as  Authentication mechanism & client authentication credentials  Redirect URIs  Grant types  Meta data (client name, client logo, scopes, contact information, etc.)  Also allows meta-data, including public keys, to be uploaded to AS.  Two documents:  draft-ietf-oauth-dyn-reg  draft-ietf-oauth-dyn-reg-metadata  WGLC in progress.
  • 11. 11 I Client Authorization Server Resource Server II III Building Blocks: a) Proof of possession of PoP key b) Message integrity (+ Channel Binding) c) RS-to-client authentication Client <-> RS Interaction Relevant specification : http://datatracker.ietf.org/doc/draft-ietf-oauth-signed-http-request/
  • 12. 12 Client Authorization Server Resource Server AS <-> Client Interaction Example: Symmetric Key AS sends access token to Client & Authenticator Authenticator = Keyed Message Digest Computed Over Request.
  • 13. 13 Client Authorization Server Resource Server AS <-> Client Interaction Example: Symmetric Key RS “unwraps” access token and obtains symmetric key. RS verifies authenticator. Shared Long Term Key
  • 14. 14 Channel Binding Channel bindings bind the application layer security to the underlying channel security mechanism. Various approaches for providing channel bindings:  PoP public key use in TLS (as described in HOTK draft)  tls-unique: TLS Finish message  tls-server-end-point: hash of the TLS server's certificate:  Currently, no channel bindings described in <draft-ietf-oauth- signed-http-request>  Be aware: New attacks have been identified with TLS-based channel bindings, see http://www.ietf.org/proceedings/89/slides/slides-89-tls-3.pdf
  • 15. 15 ` I Client Authorization Server Resource Server II III Variants: a) Token introspection b) Out-of-band RS <-> AS Interaction [optional] Relevant specification: http://datatracker.ietf.org/doc/draft-richer-oauth-introspection/
  • 16. 16 Next Steps Reviews for the document bundle needed. Open Issues will be added to the WG tracker. Main issues with the client<->resource server communication. Challenges:  Dealing with intermediaries modifying headers  Offering flexibility to developer  Reducing payload replicating  Minimizing canonicalization  Authentication of the server to the client  Channel binding functionality