draft-ietf-oauth-pop-architecture-05.txt   draft-ietf-oauth-pop-architecture-06.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: April 21, 2016 Expires: May 27, 2016
W. Mills W. Mills
P. Mishra P. Mishra
Oracle Corporation Oracle Corporation
H. Tschofenig H. Tschofenig
ARM Limited ARM Limited
October 19, 2015 November 24, 2015
OAuth 2.0 Proof-of-Possession (PoP) Security Architecture OAuth 2.0 Proof-of-Possession (PoP) Security Architecture
draft-ietf-oauth-pop-architecture-05.txt draft-ietf-oauth-pop-architecture-06.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 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
needs to demonstrate possession of cryptographic keying material when needs to demonstrate possession of cryptographic keying material when
accessing a protected resource. This document motivates the accessing a protected resource. This document motivates the
development of the OAuth 2.0 proof-of-possession security mechanism. development of the OAuth 2.0 proof-of-possession security mechanism.
Status of This Memo Status of This Memo
This Internet-Draft is submitted in full conformance with the This Internet-Draft is submitted in full conformance with the
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 April 21, 2016. This Internet-Draft will expire on May 27, 2016.
Copyright Notice Copyright Notice
Copyright (c) 2015 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
skipping to change at page 2, line 26 skipping to change at page 2, line 26
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
described in the Simplified BSD License. described in the Simplified BSD License.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3
3. Use Cases . . . . . . . . . . . . . . . . . . . . . . . . . . 3 3. Use Cases . . . . . . . . . . . . . . . . . . . . . . . . . . 3
3.1. Preventing Access Token Re-Use by the Resource Server . . 4 3.1. Preventing Access Token Re-Use by the Resource Server . . 4
3.2. TLS Channel Binding Support . . . . . . . . . . . . . . . 4 3.2. TLS and DTLS Channel Binding Support . . . . . . . . . . 4
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. Requirements . . . . . . . . . . . . . . . . . . . . . . . . 6 5. Requirements . . . . . . . . . . . . . . . . . . . . . . . . 6
6. Threat Mitigation . . . . . . . . . . . . . . . . . . . . . . 10 6. Threat Mitigation . . . . . . . . . . . . . . . . . . . . . . 10
6.1. Confidentiality Protection . . . . . . . . . . . . . . . 11 6.1. Confidentiality Protection . . . . . . . . . . . . . . . 11
6.2. Sender Constraint . . . . . . . . . . . . . . . . . . . . 11 6.2. Sender Constraint . . . . . . . . . . . . . . . . . . . . 11
6.3. Key Confirmation . . . . . . . . . . . . . . . . . . . . 12 6.3. Key Confirmation . . . . . . . . . . . . . . . . . . . . 12
6.4. Summary . . . . . . . . . . . . . . . . . . . . . . . . . 13 6.4. Summary . . . . . . . . . . . . . . . . . . . . . . . . . 13
7. Architecture . . . . . . . . . . . . . . . . . . . . . . . . 14 7. Architecture . . . . . . . . . . . . . . . . . . . . . . . . 14
7.1. Client and Authorization Server Interaction . . . . . . . 14 7.1. Client and Authorization Server Interaction . . . . . . . 15
7.1.1. Symmetric Keys . . . . . . . . . . . . . . . . . . . 14 7.1.1. Symmetric Keys . . . . . . . . . . . . . . . . . . . 15
7.1.2. Asymmetric Keys . . . . . . . . . . . . . . . . . . . 16 7.1.2. Asymmetric Keys . . . . . . . . . . . . . . . . . . . 16
7.2. Client and Resource Server Interaction . . . . . . . . . 17 7.2. Client and Resource Server Interaction . . . . . . . . . 17
7.3. Resource and Authorization Server Interaction (Token 7.3. Resource and Authorization Server Interaction (Token
Introspection) . . . . . . . . . . . . . . . . . . . . . 18 Introspection) . . . . . . . . . . . . . . . . . . . . . 18
8. Security Considerations . . . . . . . . . . . . . . . . . . . 19 8. Security Considerations . . . . . . . . . . . . . . . . . . . 19
9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 19 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 19
10. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 19 10. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 19
11. References . . . . . . . . . . . . . . . . . . . . . . . . . 19 11. References . . . . . . . . . . . . . . . . . . . . . . . . . 20
11.1. Normative References . . . . . . . . . . . . . . . . . . 19 11.1. Normative References . . . . . . . . . . . . . . . . . . 20
11.2. Informative References . . . . . . . . . . . . . . . . . 20 11.2. Informative References . . . . . . . . . . . . . . . . . 21
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 21 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 22
1. Introduction 1. Introduction
The OAuth 2.0 protocol family ([RFC6749], [RFC6750], and [RFC6819]) The OAuth 2.0 protocol family ([RFC6749], [RFC6750], and [RFC6819])
offer a single token type known as the "bearer" token to access offer a single token type known as the "bearer" token to access
protected resources. RFC 6750 [RFC6750] specifies the bearer token protected resources. RFC 6750 [RFC6750] specifies the bearer token
mechanism and defines it as follows: mechanism and defines it as follows:
"A security token with the property that any party in possession "A security token with the property that any party in possession
of the token (a "bearer") can use the token in any way that any of the token (a "bearer") can use the token in any way that any
skipping to change at page 4, line 17 skipping to change at page 4, line 17
necessarily need to offer support for all use cases. necessarily need to offer support for all use cases.
3.1. Preventing Access Token Re-Use by the Resource Server 3.1. Preventing Access Token Re-Use by the Resource Server
In a scenario where a resource server receives a valid access token, In a scenario where a resource server receives a valid access token,
the resource server then re-uses it with other resource server. The the resource server then re-uses it with other resource server. The
reason for re-use may be malicious or may well be legitimate. In a reason for re-use may be malicious or may well be legitimate. In a
legitimate case, the intent is to support chaining of computations legitimate case, the intent is to support chaining of computations
whereby a resource server needs to consult other third party resource whereby a resource server needs to consult other third party resource
servers to complete a requested operation. In both cases it may be servers to complete a requested operation. In both cases it may be
assumed that the scope of the access token is sufficiently large that assumed that the scope and audience of the access token is
it allows such a re-use. For example, imagine a case where a company sufficiently defined that to allow such a re-use. For example,
operates email services as well as picture sharing services and that imagine a case where a company operates email services as well as
company had decided to issue access tokens with a scope that allows picture sharing services and that company had decided to issue access
access to both services. tokens with a scope and audience that allows access to both services.
With this use case the desire is to prevent such access token re-use. With this use case the desire is to prevent such access token re-use.
This also implies that the legitimate use cases require additional This also implies that the legitimate use cases require additional
enhancements for request chaining. enhancements for request chaining.
3.2. TLS Channel Binding Support 3.2. TLS and DTLS Channel Binding Support
In this use case we consider the scenario where an OAuth 2.0 request In this use case we consider the scenario where an OAuth 2.0 request
to a protected resource is secured using TLS but the client and the to a protected resource is secured using TLS or DTLS (see [RFC4347]),
resource server demand that the underlying TLS exchange is bound to but the client and the resource server demand that the underlying
additional application layer security to prevent cases where the TLS TLS/DTLS exchange is bound to additional application layer security
connection is terminated at a TLS intermediary, which splits the TLS to prevent cases where the TLS/DTLS connection is terminated at a
connection into two separate connections. TLS/DTLS intermediary, which splits the TLS/DTLS connection into two
separate connections.
In this use case additional information should be conveyed to the In this use case additional information should be conveyed to the
resource server to ensure that no entity entity has tampered with the resource server to ensure that no entity entity has tampered with the
TLS connection. TLS/DTLS connection.
3.3. Access to a Non-TLS Protected Resource 3.3. Access to a Non-TLS Protected Resource
This use case is for a web client that needs to access a resource This use case is for a web client that needs to access a resource
that makes data available (such as videos) without offering integrity that makes data available (such as videos) without offering integrity
and confidentiality protection using TLS. Still, the initial and confidentiality protection using TLS. Still, the initial
resource request using OAuth, which includes the access token, must resource request using OAuth, which includes the access token, must
be protected against various threats (e.g., token replay, token be protected against various threats (e.g., token replay, token
modification). modification).
skipping to change at page 5, line 50 skipping to change at page 6, line 5
The following list presents several common threats against protocols The following list presents several common threats against protocols
utilizing some form of token. This list of threats is based on NIST utilizing some form of token. 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.
Token manufacture/modification: Token manufacture/modification:
An attacker may generate a bogus tokens or modify the token An attacker may generate a bogus token or modify the token content
content (such as authentication or attribute statements) of an (such as authentication or attribute statements) of an existing
existing token, causing resource server to grant inappropriate token, causing resource server to grant inappropriate access to
access to the client. For example, an attacker may modify the the client. For example, an attacker may modify the token to
token to extend the validity period. A client may modify the extend the validity period. A client, which MAY be a normal
token to have access to information that they should not be able client or MAY be assumed to be constrained (see [RFC7252]), may
to view. modify the token to have access to information that they should
not be able to view.
Token disclosure: Token disclosure:
Tokens may contain personal data, such as real name, age or Tokens may contain personal data, such as real name, age or
birthday, payment information, etc. birthday, payment information, etc.
Token redirect: Token redirect:
An attacker uses the token generated for consumption by the An attacker uses the token generated for consumption by the
resource server to obtain access to another resource server. resource server to obtain access to another resource server.
skipping to change at page 6, line 44 skipping to change at page 6, line 48
access token. access token.
Token repudiation: Token repudiation:
Token repudiation refers to a property whereby a resource server Token repudiation refers to a property whereby a resource server
is given an assurance that the authorization server cannot deny to is given an assurance that the authorization server cannot deny to
have created a token for the client. have created a token for the client.
5. Requirements 5. Requirements
In contrast to bearer tokens [RFC6750] which call for tokens that are
opaque to OAuth 2.0 clients, this specification defines the
requirements for proof-of-possession ("PoP") tokens that may be
parsed and verified by OAuth 2.0 clients and relying parties. In
general, a "PoP" token enables an OAuth 2.0 client to demonstrate a
proof-of-possession confirming the client's right to wield the token.
RFC 4962 [RFC4962] gives useful guidelines for designers of RFC 4962 [RFC4962] gives useful guidelines for designers of
authentication and key management protocols. While RFC 4962 was authentication and key management protocols. While RFC 4962 was
written with the AAA framework used for network access authentication written with the AAA framework used for network access authentication
in mind the offered suggestions are useful for the design of other in mind the offered suggestions are useful for the design of other
key management systems as well. The following requirements list key management systems as well. The following requirements list
applies OAuth 2.0 terminology to the requirements outlined in RFC applies OAuth 2.0 terminology to the requirements outlined in RFC
4962. 4962.
These requirements include These requirements include
skipping to change at page 10, line 30 skipping to change at page 10, line 42
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].
A number of the threats listed in Section 4 demand protection of the A number of the threats listed in Section 4 demand protection of the
access token content and a standardized solution, in form of a JSON- access token content and a standardized solution, for example, in the
based format, is available with the JWT [RFC7519]. form of a JSON-based format, is available with the JWT [RFC7519].
6. Threat Mitigation 6. Threat Mitigation
A large range of threats can be mitigated by protecting the content A large range of threats can be mitigated by protecting the content
of the token, for example using a digital signature or a keyed of the token, for example using a digital signature or a keyed
message digest. Alternatively, the content of the token could be message digest. Alternatively, the content of the token could be
passed by reference rather than by value (requiring a separate passed by reference rather than by value (requiring a separate
message exchange to resolve the reference to the token content). To message exchange to resolve the reference to the token content). To
simplify the subsequent description we assume that the token itself simplify the subsequent description we assume in the PoP architecture
is digitally signed by the authorization server and therefore cannot that the token itself is digitally signed by the authorization server
be modified. and therefore cannot be modified.
To deal with token redirect it is important for the authorization To deal with token redirect it is important for the authorization
server to include the identifier of the intended recipient - the server to include the identifier of the intended recipient - the
resource server. A resource server must not be allowed to accept resource server. A resource server must not be allowed to accept
access tokens that are not meant for its consumption. access tokens that are not meant for its consumption.
To provide protection against token disclosure two approaches are To provide protection against token disclosure two approaches are
possible, namely (a) not to include sensitive information inside the possible, namely (a) not to include sensitive information inside the
token or (b) to ensure confidentiality protection. The latter token or (b) to ensure confidentiality protection. The latter
approach requires at least the communication interaction between the approach requires at least the communication interaction between the
client and the authorization server as well as the interaction client and the authorization server as well as the interaction
between the client and the resource server to experience between the client and the resource server to experience
confidentiality protection. As an example, TLS with a ciphersuite confidentiality protection. As an example, TLS with a ciphersuite
that offers confidentiality protection has to be applied (which is that offers confidentiality protection has to be applied as per
currently true for all ciphersuites, except for one). Encrypting the [RFC7525]. Encrypting the token content itself is another
token content itself is another alternative. In our scenario the alternative. In our scenario the authorization server would, for
authorization server would, for example, encrypt the token content example, encrypt the token content with a symmetric key shared with
with a symmetric key shared with the resource server. the resource server.
To deal with token reuse more choices are available. To deal with token reuse more choices are available.
6.1. Confidentiality Protection 6.1. Confidentiality Protection
In this approach confidentiality protection of the exchange is In this approach confidentiality protection of the exchange is
provided on the communication interfaces between the client and the provided on the communication interfaces between the client and the
resource server, and between the client and the authorization server. resource server, and between the client and the authorization server.
No eavesdropper on the wire is able to observe the token exchange. No eavesdropper on the wire is able to observe the token exchange.
Consequently, a replay by a third party is not possible. An Consequently, a replay by a third party is not possible. An
skipping to change at page 11, line 35 skipping to change at page 11, line 47
will be a requirement to ensure adequate protection against a range will be a requirement to ensure adequate protection against a range
of attacks. This is, however, true for the description in of attacks. This is, however, true for the description in
Section 6.2 and Section 6.3 as well. Furthermore, the client has to Section 6.2 and Section 6.3 as well. Furthermore, the client has to
make sure it does not distribute (or leak) the access token to make sure it does not distribute (or leak) the access token to
entities other than the intended the resource server. For that entities other than the intended the resource server. For that
purpose the client will have to authenticate the resource server purpose the client will have to authenticate the resource server
before transmitting the access token. before transmitting the access token.
6.2. Sender Constraint 6.2. Sender Constraint
Instead of providing confidentiality protection the authorization Instead of providing confidentiality protection, the authorization
server could also put the identifier of the client into the protected server could also put the identifier of the client into the protected
token with the following semantic: 'This token is only valid when token with the following semantic: 'This token is only valid when
presented by a client with the following identifier.' When the presented by a client with the following identifier.' When the
access token is then presented to the resource server how does it access token is then presented to the resource server how does it
know that it was provided by the client? It has to authenticate the know that it was provided by the client? It has to authenticate the
client! There are many choices for authenticating the client to the client! There are many choices for authenticating the client to the
resource server, for example by using client certificates in TLS resource server, for example by using client certificates in TLS
[RFC5246], or pre-shared secrets within TLS [RFC4279]. The choice of [RFC5246], or pre-shared secrets within TLS [RFC4279]. The choice of
the preferred authentication mechanism and credential type may depend the preferred authentication mechanism and credential type may depend
on a number of factors, including on a number of factors, including
skipping to change at page 14, line 32 skipping to change at page 14, line 46
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. While symmetric cryptography provides better keys are used. While symmetric cryptography provides better
performance properties the use of asymmetric cryptography allows the performance properties the use of asymmetric cryptography allows the
client to keep the private key locally and never expose it to any client to keep the private key locally and never expose it to any
other party. other party.
With the JSON Web Token (JWT) [RFC7519] a standardized format for For example, with the JSON Web Token (JWT) [RFC7519] a standardized
access tokens is available. The necessary elements to bind symmetric format for access tokens is available. The necessary elements to
or asymmetric keys to a JWT are described in bind symmetric or asymmetric keys to a JWT are described in
[I-D.ietf-oauth-proof-of-possession]. [I-D.ietf-oauth-proof-of-possession].
Note: The negotiation of cryptographic algorithms between the client Note: The negotiation of cryptographic algorithms between the client
and the authorization server is not shown in the examples below and and the authorization server is not shown in the examples below and
assumed to be present in a protocol solution to meet the requirements assumed to be present in a protocol solution to meet the requirements
for crypto-agility. for crypto-agility.
7.1. Client and Authorization Server Interaction 7.1. Client and Authorization Server Interaction
7.1.1. Symmetric Keys 7.1.1. Symmetric Keys
skipping to change at page 15, line 45 skipping to change at page 16, line 4
is a unique and fresh session key with sufficient entropy for the is a unique and fresh session key with sufficient entropy for the
given lifetime. Furthermore, information within the access token given lifetime. Furthermore, information within the access token
ties it to this specific symmetric key. ties it to this specific symmetric key.
Note: For this security mechanism to work the client as well as the Note: For this security mechanism to work the client as well as the
resource server need to have access to the session key. While the resource server need to have access to the session key. While the
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.ietf-oauth-introspection]. introspection endpoint [RFC7662].
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.
7.1.2. Asymmetric Keys 7.1.2. Asymmetric Keys
+---------------+ +---------------+
^| | ^| |
Access Token Req. // | Authorization | Access Token Req. // | Authorization |
skipping to change at page 18, line 23 skipping to change at page 19, line 6
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.ietf-oauth-introspection]). Figure 4 shows the protocol [RFC7662]). Figure 4 shows the protocol interaction graphically.
interaction graphically. Despite the additional token exchange Despite the additional token exchange previous descriptions about
previous descriptions about associating symmetric and asymmetric keys associating symmetric and asymmetric keys to the access token are
to the access token are still applicable to this scenario. still applicable to this scenario.
+---------------+ +---------------+
Access ^| | Access ^| |
Token Req. // | Authorization |^ Token Req. // | Authorization |^
(I) / | Server | \ (IV) Token (I) / | Server | \ (IV) Token
// | | \ Introspection Req. // | | \ Introspection Req.
/ | | \ +Access / | | \ +Access
// /+---------------+ \ Token // /+---------------+ \ Token
/ // (II) \ \\ / // (II) \ \\
/ / Access \ \ / / Access \ \
skipping to change at page 19, line 36 skipping to change at page 20, line 17
In the appendix of this document we reuse content from [RFC4962] and In the appendix of this document we reuse 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. We would like to thank Reddy Tirumaleswar for his review.
11. References 11. References
11.1. Normative References 11.1. Normative References
[I-D.ietf-oauth-introspection]
Richer, J., "OAuth 2.0 Token Introspection", draft-ietf-
oauth-introspection-11 (work in progress), July 2015.
[I-D.ietf-oauth-pop-key-distribution] [I-D.ietf-oauth-pop-key-distribution]
Bradley, J., Hunt, P., Jones, M., and H. Tschofenig, Bradley, J., Hunt, P., Jones, M., and H. Tschofenig,
"OAuth 2.0 Proof-of-Possession: Authorization Server to "OAuth 2.0 Proof-of-Possession: Authorization Server to
Client Key Distribution", draft-ietf-oauth-pop-key- Client Key Distribution", draft-ietf-oauth-pop-key-
distribution-01 (work in progress), March 2015. distribution-02 (work in progress), October 2015.
[I-D.ietf-oauth-proof-of-possession] [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 Key Semantics for JSON Web Tokens (JWTs)", Possession Key Semantics for JSON Web Tokens (JWTs)",
draft-ietf-oauth-proof-of-possession-04 (work in draft-ietf-oauth-proof-of-possession-06 (work in
progress), August 2015. progress), November 2015.
[I-D.ietf-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-ietf-oauth- Signing an HTTP Requests for OAuth", draft-ietf-oauth-
signed-http-request-01 (work in progress), March 2015. signed-http-request-01 (work in progress), March 2015.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997, DOI 10.17487/RFC2119, March 1997,
<http://www.rfc-editor.org/info/rfc2119>. <http://www.rfc-editor.org/info/rfc2119>.
skipping to change at page 20, line 28 skipping to change at page 21, line 5
<http://www.rfc-editor.org/info/rfc5246>. <http://www.rfc-editor.org/info/rfc5246>.
[RFC6749] Hardt, D., Ed., "The OAuth 2.0 Authorization Framework", [RFC6749] Hardt, D., Ed., "The OAuth 2.0 Authorization Framework",
RFC 6749, DOI 10.17487/RFC6749, October 2012, RFC 6749, DOI 10.17487/RFC6749, October 2012,
<http://www.rfc-editor.org/info/rfc6749>. <http://www.rfc-editor.org/info/rfc6749>.
[RFC7519] Jones, M., Bradley, J., and N. Sakimura, "JSON Web Token [RFC7519] Jones, M., Bradley, J., and N. Sakimura, "JSON Web Token
(JWT)", RFC 7519, DOI 10.17487/RFC7519, May 2015, (JWT)", RFC 7519, DOI 10.17487/RFC7519, May 2015,
<http://www.rfc-editor.org/info/rfc7519>. <http://www.rfc-editor.org/info/rfc7519>.
[RFC7525] Sheffer, Y., Holz, R., and P. Saint-Andre,
"Recommendations for Secure Use of Transport Layer
Security (TLS) and Datagram Transport Layer Security
(DTLS)", BCP 195, RFC 7525, DOI 10.17487/RFC7525, May
2015, <http://www.rfc-editor.org/info/rfc7525>.
[RFC7662] Richer, J., Ed., "OAuth 2.0 Token Introspection",
RFC 7662, DOI 10.17487/RFC7662, October 2015,
<http://www.rfc-editor.org/info/rfc7662>.
11.2. Informative References 11.2. Informative References
[I-D.hardjono-oauth-kerberos] [I-D.hardjono-oauth-kerberos]
Hardjono, T., "OAuth 2.0 support for the Kerberos V5 Hardjono, T., "OAuth 2.0 support for the Kerberos V5
Authentication Protocol", draft-hardjono-oauth-kerberos-01 Authentication Protocol", draft-hardjono-oauth-kerberos-01
(work in progress), December 2010. (work in progress), December 2010.
[NIST800-63] [NIST800-63]
Burr, W., Dodson, D., Perlner, R., Polk, T., Gupta, S., Burr, W., Dodson, D., Perlner, R., Polk, T., Gupta, S.,
and E. Nabbus, "NIST Special Publication 800-63-1, and E. Nabbus, "NIST Special Publication 800-63-1,
skipping to change at page 21, line 5 skipping to change at page 21, line 37
[RFC4120] Neuman, C., Yu, T., Hartman, S., and K. Raeburn, "The [RFC4120] Neuman, C., Yu, T., Hartman, S., and K. Raeburn, "The
Kerberos Network Authentication Service (V5)", RFC 4120, Kerberos Network Authentication Service (V5)", RFC 4120,
DOI 10.17487/RFC4120, July 2005, DOI 10.17487/RFC4120, July 2005,
<http://www.rfc-editor.org/info/rfc4120>. <http://www.rfc-editor.org/info/rfc4120>.
[RFC4279] Eronen, P., Ed. and H. Tschofenig, Ed., "Pre-Shared Key [RFC4279] Eronen, P., Ed. and H. Tschofenig, Ed., "Pre-Shared Key
Ciphersuites for Transport Layer Security (TLS)", Ciphersuites for Transport Layer Security (TLS)",
RFC 4279, DOI 10.17487/RFC4279, December 2005, RFC 4279, DOI 10.17487/RFC4279, December 2005,
<http://www.rfc-editor.org/info/rfc4279>. <http://www.rfc-editor.org/info/rfc4279>.
[RFC4347] Rescorla, E. and N. Modadugu, "Datagram Transport Layer
Security", RFC 4347, DOI 10.17487/RFC4347, April 2006,
<http://www.rfc-editor.org/info/rfc4347>.
[RFC4962] Housley, R. and B. Aboba, "Guidance for Authentication, [RFC4962] Housley, R. and B. Aboba, "Guidance for Authentication,
Authorization, and Accounting (AAA) Key Management", Authorization, and Accounting (AAA) Key Management",
BCP 132, RFC 4962, DOI 10.17487/RFC4962, July 2007, BCP 132, RFC 4962, DOI 10.17487/RFC4962, July 2007,
<http://www.rfc-editor.org/info/rfc4962>. <http://www.rfc-editor.org/info/rfc4962>.
[RFC5056] Williams, N., "On the Use of Channel Bindings to Secure [RFC5056] Williams, N., "On the Use of Channel Bindings to Secure
Channels", RFC 5056, DOI 10.17487/RFC5056, November 2007, Channels", RFC 5056, DOI 10.17487/RFC5056, November 2007,
<http://www.rfc-editor.org/info/rfc5056>. <http://www.rfc-editor.org/info/rfc5056>.
[RFC5849] Hammer-Lahav, E., Ed., "The OAuth 1.0 Protocol", RFC 5849, [RFC5849] Hammer-Lahav, E., Ed., "The OAuth 1.0 Protocol", RFC 5849,
skipping to change at page 21, line 35 skipping to change at page 22, line 22
[RFC6750] Jones, M. and D. Hardt, "The OAuth 2.0 Authorization [RFC6750] Jones, M. and D. Hardt, "The OAuth 2.0 Authorization
Framework: Bearer Token Usage", RFC 6750, Framework: Bearer Token Usage", RFC 6750,
DOI 10.17487/RFC6750, October 2012, DOI 10.17487/RFC6750, October 2012,
<http://www.rfc-editor.org/info/rfc6750>. <http://www.rfc-editor.org/info/rfc6750>.
[RFC6819] Lodderstedt, T., Ed., McGloin, M., and P. Hunt, "OAuth 2.0 [RFC6819] Lodderstedt, T., Ed., McGloin, M., and P. Hunt, "OAuth 2.0
Threat Model and Security Considerations", RFC 6819, Threat Model and Security Considerations", RFC 6819,
DOI 10.17487/RFC6819, January 2013, DOI 10.17487/RFC6819, January 2013,
<http://www.rfc-editor.org/info/rfc6819>. <http://www.rfc-editor.org/info/rfc6819>.
[RFC7252] Shelby, Z., Hartke, K., and C. Bormann, "The Constrained
Application Protocol (CoAP)", RFC 7252,
DOI 10.17487/RFC7252, June 2014,
<http://www.rfc-editor.org/info/rfc7252>.
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
Email: ietf@justin.richer.org Email: ietf@justin.richer.org
 End of changes. 28 change blocks. 
58 lines changed or deleted 81 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/