draft-ietf-oauth-pop-architecture-00.txt | draft-ietf-oauth-pop-architecture-01.txt | |||
---|---|---|---|---|
OAuth P. Hunt, Ed. | OAuth P. Hunt, Ed. | |||
Internet-Draft Oracle Corporation | Internet-Draft Oracle Corporation | |||
Intended status: Informational J. Richer | Intended status: Informational J. Richer | |||
Expires: January 22, 2015 The MITRE Corporation | Expires: September 4, 2015 | |||
W. Mills | W. Mills | |||
P. Mishra | P. Mishra | |||
Oracle Corporation | Oracle Corporation | |||
H. Tschofenig | H. Tschofenig | |||
ARM Limited | ARM Limited | |||
July 21, 2014 | March 3, 2015 | |||
OAuth 2.0 Proof-of-Possession (PoP) Security Architecture | OAuth 2.0 Proof-of-Possession (PoP) Security Architecture | |||
draft-ietf-oauth-pop-architecture-00.txt | draft-ietf-oauth-pop-architecture-01.txt | |||
Abstract | Abstract | |||
The OAuth 2.0 bearer token specification, as defined in RFC 6750, | The OAuth 2.0 bearer token specification, as defined in RFC 6750, | |||
allows any party in possession of a bearer token (a "bearer") to get | allows any party in possession of a bearer token (a "bearer") to get | |||
access to the associated resources (without demonstrating possession | access to the associated resources (without demonstrating possession | |||
of a cryptographic key). To prevent misuse, bearer tokens must to be | of a cryptographic key). To prevent misuse, bearer tokens must to be | |||
protected from disclosure in transit and at rest. | protected from disclosure in transit and at rest. | |||
Some scenarios demand additional security protection whereby a client | Some scenarios demand additional security protection whereby a client | |||
skipping to change at page 1, line 46 | skipping to change at page 1, line 46 | |||
Internet-Drafts are working documents of the Internet Engineering | Internet-Drafts are working documents of the Internet Engineering | |||
Task Force (IETF). Note that other groups may also distribute | Task Force (IETF). Note that other groups may also distribute | |||
working documents as Internet-Drafts. The list of current Internet- | working documents as Internet-Drafts. The list of current Internet- | |||
Drafts is at http://datatracker.ietf.org/drafts/current/. | Drafts is at http://datatracker.ietf.org/drafts/current/. | |||
Internet-Drafts are draft documents valid for a maximum of six months | Internet-Drafts are draft documents valid for a maximum of six months | |||
and may be updated, replaced, or obsoleted by other documents at any | and may be updated, replaced, or obsoleted by other documents at any | |||
time. It is inappropriate to use Internet-Drafts as reference | time. It is inappropriate to use Internet-Drafts as reference | |||
material or to cite them other than as "work in progress." | material or to cite them other than as "work in progress." | |||
This Internet-Draft will expire on January 22, 2015. | This Internet-Draft will expire on September 4, 2015. | |||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2014 IETF Trust and the persons identified as the | Copyright (c) 2015 IETF Trust and the persons identified as the | |||
document authors. All rights reserved. | document authors. All rights reserved. | |||
This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
Provisions Relating to IETF Documents | Provisions Relating to IETF Documents | |||
(http://trustee.ietf.org/license-info) in effect on the date of | (http://trustee.ietf.org/license-info) in effect on the date of | |||
publication of this document. Please review these documents | publication of this document. Please review these documents | |||
carefully, as they describe your rights and restrictions with respect | carefully, as they describe your rights and restrictions with respect | |||
to this document. Code Components extracted from this document must | to this document. Code Components extracted from this document must | |||
include Simplified BSD License text as described in Section 4.e of | include Simplified BSD License text as described in Section 4.e of | |||
the Trust Legal Provisions and are provided without warranty as | the Trust Legal Provisions and are provided without warranty as | |||
skipping to change at page 2, line 37 | skipping to change at page 2, line 37 | |||
3.3. Access to a Non-TLS Protected Resource . . . . . . . . . 4 | 3.3. Access to a Non-TLS Protected Resource . . . . . . . . . 4 | |||
3.4. Offering Application Layer End-to-End Security . . . . . 5 | 3.4. Offering Application Layer End-to-End Security . . . . . 5 | |||
4. Security and Privacy Threats . . . . . . . . . . . . . . . . 5 | 4. Security and Privacy Threats . . . . . . . . . . . . . . . . 5 | |||
5. Threat Mitigation . . . . . . . . . . . . . . . . . . . . . . 6 | 5. Threat Mitigation . . . . . . . . . . . . . . . . . . . . . . 6 | |||
5.1. Confidentiality Protection . . . . . . . . . . . . . . . 7 | 5.1. Confidentiality Protection . . . . . . . . . . . . . . . 7 | |||
5.2. Sender Constraint . . . . . . . . . . . . . . . . . . . . 7 | 5.2. Sender Constraint . . . . . . . . . . . . . . . . . . . . 7 | |||
5.3. Key Confirmation . . . . . . . . . . . . . . . . . . . . 8 | 5.3. Key Confirmation . . . . . . . . . . . . . . . . . . . . 8 | |||
5.4. Summary . . . . . . . . . . . . . . . . . . . . . . . . . 9 | 5.4. Summary . . . . . . . . . . . . . . . . . . . . . . . . . 9 | |||
6. Architecture . . . . . . . . . . . . . . . . . . . . . . . . 10 | 6. Architecture . . . . . . . . . . . . . . . . . . . . . . . . 10 | |||
7. Requirements . . . . . . . . . . . . . . . . . . . . . . . . 15 | 7. Requirements . . . . . . . . . . . . . . . . . . . . . . . . 15 | |||
8. Security Considerations . . . . . . . . . . . . . . . . . . . 18 | 8. Security Considerations . . . . . . . . . . . . . . . . . . . 19 | |||
9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 19 | 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 19 | |||
10. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 19 | 10. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 19 | |||
11. References . . . . . . . . . . . . . . . . . . . . . . . . . 19 | 11. References . . . . . . . . . . . . . . . . . . . . . . . . . 19 | |||
11.1. Normative References . . . . . . . . . . . . . . . . . . 19 | 11.1. Normative References . . . . . . . . . . . . . . . . . . 19 | |||
11.2. Informative References . . . . . . . . . . . . . . . . . 21 | 11.2. Informative References . . . . . . . . . . . . . . . . . 21 | |||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 22 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 22 | |||
1. Introduction | 1. Introduction | |||
At the time of writing the OAuth 2.0 protocol family ([RFC6749], | At the time of writing the OAuth 2.0 protocol family ([RFC6749], | |||
skipping to change at page 5, line 21 | skipping to change at page 5, line 21 | |||
should work in such a scenario. Furthermore, it may not be necessary | should work in such a scenario. Furthermore, it may not be necessary | |||
to provide authentication of the resource server towards the client. | to provide authentication of the resource server towards the client. | |||
3.4. Offering Application Layer End-to-End Security | 3.4. Offering Application Layer End-to-End Security | |||
In Web deployments resource servers are often placed behind load | In Web deployments resource servers are often placed behind load | |||
balancers, which are deployed by the same organization that operates | balancers, which are deployed by the same organization that operates | |||
the resource servers. These load balancers may terminate the TLS | the resource servers. These load balancers may terminate the TLS | |||
connection setup and HTTP traffic is transmitted in the clear from | connection setup and HTTP traffic is transmitted in the clear from | |||
the load balancer to the resource server. With application layer | the load balancer to the resource server. With application layer | |||
security independent of the underlying TLS security it is possible to | security in addition to the underlying TLS security it is possible to | |||
allow application servers to perform cryptographic verification on an | allow application servers to perform cryptographic verification on an | |||
end-to-end basis. | end-to-end basis. | |||
The key aspect in this use case is therefore to offer end-to-end | The key aspect in this use case is therefore to offer end-to-end | |||
security in the presence of load balancers via application layer | security in the presence of load balancers via application layer | |||
security. | security. Enterprise networks also deploy proxies that inspect | |||
traffic and thereby break TLS. | ||||
4. Security and Privacy Threats | 4. Security and Privacy Threats | |||
The following list presents several common threats against protocols | The following list presents several common threats against protocols | |||
utilizing some form of tokens. This list of threats is based on NIST | utilizing some form of tokens. This list of threats is based on NIST | |||
Special Publication 800-63 [NIST800-63]. We exclude a discussion of | Special Publication 800-63 [NIST800-63]. We exclude a discussion of | |||
threats related to any form of identity proofing and authentication | threats related to any form of identity proofing and authentication | |||
of the resource owner to the authorization server since these | of the resource owner to the authorization server since these | |||
procedures are not part of the OAuth 2.0 protocol specification | procedures are not part of the OAuth 2.0 protocol specification | |||
itself. | itself. | |||
skipping to change at page 10, line 27 | skipping to change at page 10, line 27 | |||
the possession of the secret to the resource server when accessing | the possession of the secret to the resource server when accessing | |||
the resource. The resource server, when receiving an access token, | the resource. The resource server, when receiving an access token, | |||
needs to verify that the key used by the client matches the one | needs to verify that the key used by the client matches the one | |||
included in the access token. | included in the access token. | |||
There are slight differences between the use of symmetric keys and | There are slight differences between the use of symmetric keys and | |||
asymmetric keys when they are bound to the access token and the | asymmetric keys when they are bound to the access token and the | |||
subsequent interaction between the client and the authorization | subsequent interaction between the client and the authorization | |||
server when demonstrating possession of these keys. Figure 1 shows | server when demonstrating possession of these keys. Figure 1 shows | |||
the symmetric key procedure and Figure 2 illustrates how asymmetric | the symmetric key procedure and Figure 2 illustrates how asymmetric | |||
keys are used. | keys are used. While symmetric cryptography provides better | |||
performance properties the use of asymmetric cryptography allows the | ||||
client to keep the private key locally and never expose it to any | ||||
other party. | ||||
With the JSON Web Token (JWT) a standardized format for access tokens | With the JSON Web Token (JWT) [I-D.ietf-oauth-json-web-token] a | |||
is available. The necessary elements to bind symmetric or asymmetric | standardized format for access tokens is available. The necessary | |||
keys to the JWT are described in | elements to bind symmetric or asymmetric keys to a JWT are described | |||
[I-D.jones-oauth-proof-of-possession]. | in [I-D.ietf-oauth-proof-of-possession]. | |||
Note: The negotiation of cryptographic algorithms between the client | ||||
and the authorization server is not shown in the examples below and | ||||
assumed to be present in a protocol solution to meet the requirements | ||||
for crypto-agility. | ||||
+---------------+ | +---------------+ | |||
^| | | ^| | | |||
// | Authorization | | // | Authorization | | |||
/ | Server | | / | Server | | |||
// | | | // | | | |||
/ | | | / | | | |||
(I) // /+---------------+ | (I) // /+---------------+ | |||
Access / // | Access / // | |||
Token / / | Token / / | |||
skipping to change at page 12, line 7 | skipping to change at page 12, line 7 | |||
key transport mechanism from the authorization server to the client | key transport mechanism from the authorization server to the client | |||
has been explained in the previous paragraph there are three ways for | has been explained in the previous paragraph there are three ways for | |||
communicating this session key from the authorization server to the | communicating this session key from the authorization server to the | |||
resource server, namely | resource server, namely | |||
Embedding the symmetric key inside the access token itself. This | Embedding the symmetric key inside the access token itself. This | |||
requires that the symmetric key is confidentiality protected. | requires that the symmetric key is confidentiality protected. | |||
The resource server queries the authorization server for the | The resource server queries the authorization server for the | |||
symmetric key. This is an approach envisioned by the token | symmetric key. This is an approach envisioned by the token | |||
introspection endpoint [I-D.richer-oauth-introspection]. | introspection endpoint [I-D.ietf-oauth-introspection]. | |||
The authorization server and the resource server both have access | The authorization server and the resource server both have access | |||
to the same back-end database. Smaller, tightly coupled systems | to the same back-end database. Smaller, tightly coupled systems | |||
might prefer such a deployment strategy. | might prefer such a deployment strategy. | |||
+---------------+ | +---------------+ | |||
^| | | ^| | | |||
Access Token Req. // | Authorization | | Access Token Req. // | Authorization | | |||
+Parameters / | Server | | +Parameters / | Server | | |||
+[Fingerprint] // | | | +[Fingerprint] // | | | |||
skipping to change at page 12, line 48 | skipping to change at page 12, line 48 | |||
the server could be involved in the generation of the ephemeral key | the server could be involved in the generation of the ephemeral key | |||
pair. This exchange is shown in Figure 1. If the client generates | pair. This exchange is shown in Figure 1. If the client generates | |||
the key pair it either includes a fingerprint of the public key or | the key pair it either includes a fingerprint of the public key or | |||
the public key in the request to the authorization server. The | the public key in the request to the authorization server. The | |||
authorization server would include this fingerprint or public key in | authorization server would include this fingerprint or public key in | |||
the confirmation claim inside the access token and thereby bind the | the confirmation claim inside the access token and thereby bind the | |||
asymmetric key pair to the token. If the client did not provide a | asymmetric key pair to the token. If the client did not provide a | |||
fingerprint or a public key in the request then the authorization | fingerprint or a public key in the request then the authorization | |||
server is asked to create an ephemeral asymmetric key pair, binds the | server is asked to create an ephemeral asymmetric key pair, binds the | |||
fingerprint of the public key to the access token, and returns the | fingerprint of the public key to the access token, and returns the | |||
asymmetric key pair (public and private key) to the client. | asymmetric key pair (public and private key) to the client. Note | |||
that there is a strong preference for generating the private/public | ||||
key pair locally at the client rather than at the server. | ||||
The specification describing the interaction between the client and | The specification describing the interaction between the client and | |||
the authorization server, as shown in Figure 1 and in Figure 2, can | the authorization server, as shown in Figure 1 and in Figure 2, can | |||
be found in [I-D.bradley-oauth-pop-key-distribution]. | be found in [I-D.ietf-oauth-pop-key-distribution]. | |||
Once the client has obtained the necessary access token and keying | Once the client has obtained the necessary access token and keying | |||
material it can start to interact with the resource server. To | material it can start to interact with the resource server. To | |||
demonstrate possession of the key bound to the access token it needs | demonstrate possession of the key bound to the access token it needs | |||
to apply this key to the request by computing a keyed message digest | to apply this key to the request by computing a keyed message digest | |||
(i.e., a symmetric key-based cryptographic primitive) or a digital | (i.e., a symmetric key-based cryptographic primitive) or a digital | |||
signature (i.e., an asymmetric cryptographic primitive). When the | signature (i.e., an asymmetric cryptographic computation). When the | |||
resource server receives the request it verifies it and decides | resource server receives the request it verifies it and decides | |||
whether access to the protected resource can be granted. This | whether access to the protected resource can be granted. This | |||
exchange is shown in Figure 3. | exchange is shown in Figure 3. | |||
+---------------+ | +---------------+ | |||
| | | | | | |||
| Authorization | | | Authorization | | |||
| Server | | | Server | | |||
| | | | | | |||
| | | | | | |||
+---------------+ | +---------------+ | |||
Request | Request | |||
+-----------+ + Signature/MAC (a) +------------+ | +-----------+ + Signature/MAC (a) +------------+ | |||
| |---------------------->| | | | |---------------------->| | | |||
| | [+Access Token] | Resource | | | | [+Access Token] | Resource | | |||
| Client | | Server | | | Client | | Server | | |||
| | Response (b) | | | | | Response (b) | | | |||
| |<----------------------| | | | |<----------------------| | | |||
+-----------+ +------------+ | +-----------+ [+ Signature/MAC] +------------+ | |||
^ ^ | ^ ^ | |||
| | | | | | |||
| | | | | | |||
Symmetric Key Symmetric Key | Symmetric Key Symmetric Key | |||
or or | or or | |||
Asymmetric Key Pair Public Key (Client) | Asymmetric Key Pair Public Key (Client) | |||
+ + | + + | |||
Parameters Parameters | Parameters Parameters | |||
Figure 3: Client demonstrates PoP. | Figure 3: Client demonstrates PoP. | |||
The specification describing the ability to sign the HTTP request | The specification describing the ability to sign the HTTP request | |||
from the client to the resource server can be found in | from the client to the resource server can be found in | |||
[I-D.richer-oauth-signed-http-request]. | [I-D.ietf-oauth-signed-http-request]. | |||
So far the examples talked about access tokens that are passed by | So far the examples talked about access tokens that are passed by | |||
value and allow the resource server to make authorization decisions | value and allow the resource server to make authorization decisions | |||
immediately after verifying the request from the client. In some | immediately after verifying the request from the client. In some | |||
deployments a real-time interaction between the authorization server | deployments a real-time interaction between the authorization server | |||
and the resource server is envisioned that lowers the need to pass | and the resource server is envisioned that lowers the need to pass | |||
self-contained access tokens around. In that case the access token | self-contained access tokens around. In that case the access token | |||
merely serves as a handle or a reference to state stored at the | merely serves as a handle or a reference to state stored at the | |||
authorization server. As a consequence, the resource server cannot | authorization server. As a consequence, the resource server cannot | |||
autonomously make an authorization decision when receiving a request | autonomously make an authorization decision when receiving a request | |||
from a client but has to consult the authorization server. This can, | from a client but has to consult the authorization server. This can, | |||
for example, be done using the token introspection endpoint (see | for example, be done using the token introspection endpoint (see | |||
[I-D.richer-oauth-introspection]). Figure 4 shows the protocol | [I-D.ietf-oauth-introspection]). Figure 4 shows the protocol | |||
interaction graphically. Despite the additional token exchange | interaction graphically. Despite the additional token exchange | |||
previous descriptions about associating symmetric and asymmetric keys | previous descriptions about associating symmetric and asymmetric keys | |||
to the access token are still applicable to this scenario. | to the access token are still applicable to this scenario. | |||
+---------------+ | +---------------+ | |||
Access ^| | | Access ^| | | |||
Token Req. // | Authorization |\ | Token Req. // | Authorization |^ | |||
(I) / | Server | \ (IV) Token | (I) / | Server | \ (IV) Token | |||
// | | \ Introspection | // | | \ Introspection Req. | |||
/ | | \ +Access | / | | \ +Access | |||
// /+---------------+ \ Token | // /+---------------+ \ Token | |||
/ // (II) \ \\ | / // (II) \ \\ | |||
/ / Access \ \ | / / Access \ \ | |||
// // Token \ (V) \ | // // Token \ (V) \ | |||
/ / \Resp.\ | / / \Resp.\ | |||
// // \ \ | // // \ \ | |||
/ v \ \ | / v V \ | |||
+-----------+ Request +Signature/MAC+------------+ | +-----------+ Request +Signature/MAC+------------+ | |||
| | (III) +Access Token | | | | | (III) +Access Token | | | |||
| |---------------------->| Resource | | | |---------------------->| Resource | | |||
| Client | (VI) Success or | Server | | | Client | (VI) Success or | Server | | |||
| | Failure | | | | | Failure | | | |||
| |<----------------------| | | | |<----------------------| | | |||
+-----------+ +------------+ | +-----------+ +------------+ | |||
Figure 4: Token Introspection and Access Token Handles. | Figure 4: Token Introspection and Access Token Handles. | |||
skipping to change at page 18, line 13 | skipping to change at page 18, line 13 | |||
pseudonymous identity of the resource owner, since the | pseudonymous identity of the resource owner, since the | |||
authorization server is the only entity involved in verifying the | authorization server is the only entity involved in verifying the | |||
resource owner's identity. | resource owner's identity. | |||
Collusion: | Collusion: | |||
Resource servers that collude can be prevented from using | Resource servers that collude can be prevented from using | |||
information related to the resource owner to track the individual. | information related to the resource owner to track the individual. | |||
That is, two different resource servers can be prevented from | That is, two different resource servers can be prevented from | |||
determining that the same resource owner has authenticated to both | determining that the same resource owner has authenticated to both | |||
of them. This requires that each authorization server obtains | of them. Authorization servers MUST bind different keying | |||
different keying material as well as different access tokens with | material to access tokens used for resource servers from different | |||
content that does not allow identification of the resource owner. | origins (or similar concepts in the app world). | |||
AS-to-RS Relationship Anonymity: | AS-to-RS Relationship Anonymity: | |||
This MAC Token security does not provide AS-to-RS relationship | For solutions using asymmetric key cryptography the client MAY | |||
anonymity since the client has to inform the resource server about | conceal information about the resource server it wants to interact | |||
the resource server it wants to talk to. The authorization server | with. The authorization server MAY reject such an attempt since | |||
needs to know how to encrypt the session key the client and the | it may not be able to enforce access control decisions. | |||
resource server will be using. | ||||
As an additional requirement a solution MUST enable support for | Channel Binding: | |||
channel bindings. The concept of channel binding, as defined in | ||||
[RFC5056], allows applications to establish that the two end-points | A solution MUST enable support for channel bindings. The concept | |||
of a secure channel at one network layer are the same as at a higher | of channel binding, as defined in [RFC5056], allows applications | |||
layer by binding authentication at the higher layer to the channel at | to establish that the two end-points of a secure channel at one | |||
the lower layer. | network layer are the same as at a higher layer by binding | |||
authentication at the higher layer to the channel at the lower | ||||
layer. | ||||
There are performance concerns with the use of asymmetric | There are performance concerns with the use of asymmetric | |||
cryptography. Although symmetric key cryptography offers better | cryptography. Although symmetric key cryptography offers better | |||
performance asymmetric cryptography offers additional security | performance asymmetric cryptography offers additional security | |||
properties. A solution MUST therefore offer the capability to | properties. A solution MUST therefore offer the capability to | |||
support both symmetric as well as asymmetric keys. | support both symmetric as well as asymmetric keys. | |||
There are threats that relate to the experience of the software | There are threats that relate to the experience of the software | |||
developer as well as operational practices. Verifying the servers | developer as well as operational practices. Verifying the servers | |||
identity in TLS is discussed at length in [RFC6125]. | identity in TLS is discussed at length in [RFC6125]. | |||
skipping to change at page 19, line 24 | skipping to change at page 19, line 30 | |||
chairs, Hannes Tschofenig, and Derek Atkins) provided their input | chairs, Hannes Tschofenig, and Derek Atkins) provided their input | |||
during these calls: Bill Mills, Justin Richer, Phil Hunt, Prateek | during these calls: Bill Mills, Justin Richer, Phil Hunt, Prateek | |||
Mishra, Mike Jones, George Fletcher, Leif Johansson, Lucy Lynch, John | Mishra, Mike Jones, George Fletcher, Leif Johansson, Lucy Lynch, John | |||
Bradley, Tony Nadalin, Klaas Wierenga, Thomas Hardjono, Brian | Bradley, Tony Nadalin, Klaas Wierenga, Thomas Hardjono, Brian | |||
Campbell | Campbell | |||
In the appendix of this document we re-use content from [RFC4962] and | In the appendix of this document we re-use content from [RFC4962] and | |||
the authors would like thank Russ Housely and Bernard Aboba for their | the authors would like thank Russ Housely and Bernard Aboba for their | |||
work on RFC 4962. | work on RFC 4962. | |||
We would like to thank Reddy Tirumaleswar for his review. | ||||
11. References | 11. References | |||
11.1. Normative References | 11.1. Normative References | |||
[I-D.bradley-oauth-pop-key-distribution] | ||||
Bradley, J., Hunt, P., Jones, M., and H. Tschofenig, | ||||
"OAuth 2.0 Proof-of-Possession: Authorization Server to | ||||
Client Key Distribution", draft-bradley-oauth-pop-key- | ||||
distribution-01 (work in progress), June 2014. | ||||
[I-D.ietf-httpbis-p1-messaging] | [I-D.ietf-httpbis-p1-messaging] | |||
Fielding, R. and J. Reschke, "Hypertext Transfer Protocol | Fielding, R. and J. Reschke, "Hypertext Transfer Protocol | |||
(HTTP/1.1): Message Syntax and Routing", draft-ietf- | (HTTP/1.1): Message Syntax and Routing", draft-ietf- | |||
httpbis-p1-messaging-26 (work in progress), February 2014. | httpbis-p1-messaging-26 (work in progress), February 2014. | |||
[I-D.ietf-jose-json-web-encryption] | [I-D.ietf-jose-json-web-encryption] | |||
Jones, M. and J. Hildebrand, "JSON Web Encryption (JWE)", | Jones, M. and J. Hildebrand, "JSON Web Encryption (JWE)", | |||
draft-ietf-jose-json-web-encryption-31 (work in progress), | draft-ietf-jose-json-web-encryption-40 (work in progress), | |||
July 2014. | January 2015. | |||
[I-D.ietf-oauth-introspection] | ||||
ietf@justin.richer.org, i., "OAuth 2.0 Token | ||||
Introspection", draft-ietf-oauth-introspection-05 (work in | ||||
progress), February 2015. | ||||
[I-D.ietf-oauth-json-web-token] | [I-D.ietf-oauth-json-web-token] | |||
Jones, M., Bradley, J., and N. Sakimura, "JSON Web Token | Jones, M., Bradley, J., and N. Sakimura, "JSON Web Token | |||
(JWT)", draft-ietf-oauth-json-web-token-25 (work in | (JWT)", draft-ietf-oauth-json-web-token-32 (work in | |||
progress), July 2014. | progress), December 2014. | |||
[I-D.jones-oauth-proof-of-possession] | [I-D.ietf-oauth-pop-key-distribution] | |||
Bradley, J., Hunt, P., Jones, M., and H. Tschofenig, | ||||
"OAuth 2.0 Proof-of-Possession: Authorization Server to | ||||
Client Key Distribution", draft-ietf-oauth-pop-key- | ||||
distribution-00 (work in progress), July 2014. | ||||
[I-D.ietf-oauth-proof-of-possession] | ||||
Jones, M., Bradley, J., and H. Tschofenig, "Proof-Of- | Jones, M., Bradley, J., and H. Tschofenig, "Proof-Of- | |||
Possession Semantics for JSON Web Tokens (JWTs)", draft- | Possession Semantics for JSON Web Tokens (JWTs)", draft- | |||
jones-oauth-proof-of-possession-02 (work in progress), | ietf-oauth-proof-of-possession-01 (work in progress), | |||
July 2014. | January 2015. | |||
[I-D.richer-oauth-introspection] | ||||
Richer, J., "OAuth Token Introspection", draft-richer- | ||||
oauth-introspection-06 (work in progress), July 2014. | ||||
[I-D.richer-oauth-signed-http-request] | [I-D.ietf-oauth-signed-http-request] | |||
Richer, J., Bradley, J., and H. Tschofenig, "A Method for | Richer, J., Bradley, J., and H. Tschofenig, "A Method for | |||
Signing an HTTP Requests for OAuth", draft-richer-oauth- | Signing an HTTP Requests for OAuth", draft-ietf-oauth- | |||
signed-http-request-01 (work in progress), April 2014. | signed-http-request-00 (work in progress), July 2014. | |||
[I-D.tschofenig-oauth-audience] | ||||
Tschofenig, H., "OAuth 2.0: Audience Information", draft- | ||||
tschofenig-oauth-audience-00 (work in progress), February | ||||
2013. | ||||
[RFC2045] Freed, N. and N. Borenstein, "Multipurpose Internet Mail | [RFC2045] Freed, N. and N. Borenstein, "Multipurpose Internet Mail | |||
Extensions (MIME) Part One: Format of Internet Message | Extensions (MIME) Part One: Format of Internet Message | |||
Bodies", RFC 2045, November 1996. | Bodies", RFC 2045, November 1996. | |||
[RFC2104] Krawczyk, H., Bellare, M., and R. Canetti, "HMAC: Keyed- | [RFC2104] Krawczyk, H., Bellare, M., and R. Canetti, "HMAC: Keyed- | |||
Hashing for Message Authentication", RFC 2104, February | Hashing for Message Authentication", RFC 2104, February | |||
1997. | 1997. | |||
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | |||
skipping to change at page 22, line 35 | skipping to change at page 22, line 39 | |||
January 2013. | January 2013. | |||
Authors' Addresses | Authors' Addresses | |||
Phil Hunt (editor) | Phil Hunt (editor) | |||
Oracle Corporation | Oracle Corporation | |||
Email: phil.hunt@yahoo.com | Email: phil.hunt@yahoo.com | |||
Justin Richer | Justin Richer | |||
The MITRE Corporation | ||||
Email: jricher@mitre.org | Email: ietf@justin.richer.org | |||
William Mills | William Mills | |||
Email: wmills@yahoo-inc.com | Email: wmills@yahoo-inc.com | |||
Prateek Mishra | Prateek Mishra | |||
Oracle Corporation | Oracle Corporation | |||
Email: prateek.mishra@oracle.com | Email: prateek.mishra@oracle.com | |||
Hannes Tschofenig | Hannes Tschofenig | |||
ARM Limited | ARM Limited | |||
Hall in Tirol 6060 | ||||
Austria | Austria | |||
Email: Hannes.Tschofenig@gmx.net | Email: Hannes.Tschofenig@gmx.net | |||
URI: http://www.tschofenig.priv.at | URI: http://www.tschofenig.priv.at | |||
End of changes. 34 change blocks. | ||||
64 lines changed or deleted | 74 lines changed or added | |||
This html diff was produced by rfcdiff 1.42. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |