JSON Web Token Best Current Practices
RFC 8725
Revision differences
Document history
Date | Rev. | By | Action |
---|---|---|---|
2020-02-19 |
07 | (System) | Received changes through RFC Editor sync (created alias RFC 8725, changed abstract to 'JSON Web Tokens, also known as JWTs, are URL-safe JSON-based security tokens … Received changes through RFC Editor sync (created alias RFC 8725, changed abstract to 'JSON Web Tokens, also known as JWTs, are URL-safe JSON-based security tokens that contain a set of claims that can be signed and/or encrypted. JWTs are being widely used and deployed as a simple security token format in numerous protocols and applications, both in the area of digital identity and in other application areas. This Best Current Practices document updates RFC 7519 to provide actionable guidance leading to secure implementation and deployment of JWTs.', changed pages to 13, changed standardization level to Best Current Practice, changed state to RFC, added RFC published event at 2020-02-19, changed IESG state to RFC Published, created updates relation between draft-ietf-oauth-jwt-bcp and RFC 7519, created alias BCP 225) |
2020-02-19 |
07 | (System) | RFC published |
2020-02-12 |
07 | (System) | RFC Editor state changed to AUTH48-DONE from AUTH48 |
2020-02-10 |
07 | (System) | RFC Editor state changed to AUTH48 from RFC-EDITOR |
2020-01-03 |
07 | (System) | RFC Editor state changed to RFC-EDITOR from EDIT |
2019-10-22 |
07 | (System) | IANA Action state changed to No IANA Actions from In Progress |
2019-10-21 |
07 | (System) | IANA Action state changed to In Progress |
2019-10-21 |
07 | (System) | RFC Editor state changed to EDIT |
2019-10-21 |
07 | (System) | IESG state changed to RFC Ed Queue from Approved-announcement sent |
2019-10-21 |
07 | (System) | Announcement was received by RFC Editor |
2019-10-21 |
07 | Amy Vezza | IESG state changed to Approved-announcement sent from Approved-announcement to be sent |
2019-10-21 |
07 | Amy Vezza | IESG has approved the document |
2019-10-21 |
07 | Amy Vezza | Closed "Approve" ballot |
2019-10-21 |
07 | Amy Vezza | Ballot approval text was generated |
2019-10-20 |
07 | Roman Danyliw | IESG state changed to Approved-announcement to be sent from IESG Evaluation::AD Followup |
2019-10-18 |
07 | Benjamin Kaduk | [Ballot comment] Thank you for addressing my Discuss (and Comment) points! |
2019-10-18 |
07 | Benjamin Kaduk | [Ballot Position Update] Position for Benjamin Kaduk has been changed to Yes from Discuss |
2019-10-13 |
07 | (System) | Sub state has been changed to AD Followup from Revised ID Needed |
2019-10-13 |
07 | (System) | IANA Review state changed to Version Changed - Review Needed from IANA OK - No Actions Needed |
2019-10-13 |
07 | Yaron Sheffer | New version available: draft-ietf-oauth-jwt-bcp-07.txt |
2019-10-13 |
07 | (System) | New version accepted (logged-in submitter: Yaron Sheffer) |
2019-10-13 |
07 | Yaron Sheffer | Uploaded new revision |
2019-08-26 |
06 | Gunter Van de Velde | Assignment of request for Last Call review by OPSDIR to Ron Bonica was marked no-response |
2019-07-22 |
06 | Roman Danyliw | This document contains a normative reference to RFC8017, which is an informational document. However, the last call text did not make note of this reference … This document contains a normative reference to RFC8017, which is an informational document. However, the last call text did not make note of this reference and this reference is not in the downref registry. Per the process described in Section 2 of RFC8067, the IESG concurred on the 6/27/2019 telechat that since RFC8017's predecessor, RFC3447, is in the downref registry, conducting another IETF Last Call was not required. |
2019-06-27 |
06 | Adam Roach | [Ballot Position Update] Position for Adam Roach has been changed to No Objection from Discuss |
2019-06-27 |
06 | Cindy Morgan | IESG state changed to IESG Evaluation::Revised I-D Needed from IESG Evaluation |
2019-06-27 |
06 | Éric Vyncke | [Ballot comment] Thank you all for the work put into this document. I have only one NIT == NITS == -- Section 1.1 -- s/The … [Ballot comment] Thank you all for the work put into this document. I have only one NIT == NITS == -- Section 1.1 -- s/The targets of this document are/The intended audience of this document are/ |
2019-06-27 |
06 | Éric Vyncke | [Ballot Position Update] New position, No Objection, has been recorded for Éric Vyncke |
2019-06-27 |
06 | Warren Kumari | [Ballot Position Update] New position, No Objection, has been recorded for Warren Kumari |
2019-06-26 |
06 | Magnus Westerlund | [Ballot Position Update] New position, No Objection, has been recorded for Magnus Westerlund |
2019-06-26 |
06 | Martin Vigoureux | [Ballot comment] Hello, thank you for this document. I wonder whether [nist-sp-800-56a-r3] should be a normative reference. Thanks -m |
2019-06-26 |
06 | Martin Vigoureux | [Ballot Position Update] New position, No Objection, has been recorded for Martin Vigoureux |
2019-06-25 |
06 | Mirja Kühlewind | [Ballot comment] I'm by far no expert here but I don't really understand all attacks described. Maybe it's just me, however, especially 2.7 and 2.8 … [Ballot comment] I'm by far no expert here but I don't really understand all attacks described. Maybe it's just me, however, especially 2.7 and 2.8 seem quite high level to me and I'm wondering if it is possible to be more concrete or provide an example or something. Anyway, the more important part is section 3, so no need to worry too much about this. I'm wondering if it would make sense for this document to update RFC7519. I know there is no direct change but it complements RFC7519 and using the update mechanism makes I easy/easier for readers of RFC7519 two find this doc. |
2019-06-25 |
06 | Mirja Kühlewind | [Ballot Position Update] New position, No Objection, has been recorded for Mirja Kühlewind |
2019-06-25 |
06 | Deborah Brungard | [Ballot Position Update] New position, No Objection, has been recorded for Deborah Brungard |
2019-06-25 |
06 | Alvaro Retana | [Ballot Position Update] New position, No Objection, has been recorded for Alvaro Retana |
2019-06-24 |
06 | Adam Roach | [Ballot discuss] Thanks for everyone who worked to get this document out the door. I found it to be well-organized and easy to read. --------------------------------------------------------------------------- … [Ballot discuss] Thanks for everyone who worked to get this document out the door. I found it to be well-organized and easy to read. --------------------------------------------------------------------------- This is a process discuss for Roman to handle, and I plan to clear it during the IESG formal telechat. This document is intended for BCP status. It has a normative reference to RFC 8017, which is an informational document. Checking the last call text (https://datatracker.ietf.org/doc/draft-ietf-oauth-jwt-bcp/edit/lastcalltext/), there is no mention of RFC 8017, nor does RFC 8017 appear in the downref registry (https://datatracker.ietf.org/doc/downref/). Thanks to RFC 8067, we are not required to run this document through IETF LC again (and, given that RFC 8017's predecessor, RFC 3447, is in the registry, we probably don't want to). However, we'll need to minute that the point was raised and addressed. There is also at least one additional requirement imposed by section 2 of RFC 8067 that needs to be satisfied (see the last sentence in that section). |
2019-06-24 |
06 | Adam Roach | [Ballot comment] §3.2: > That said, if a JWT is cryptographically protected by a transport > layer, such as TLS using cryptographically current algorithms, there … [Ballot comment] §3.2: > That said, if a JWT is cryptographically protected by a transport > layer, such as TLS using cryptographically current algorithms, there > may be no need to apply another layer of cryptographic protections to > the JWT. It may be helpful to distinguish between end-to-end TLS encryption (such as that seen in HTTPS, even in the presence of proxies) and hop-by-hop TLS encryption (such as that seen in SIPS when proxies are present). In the latter case, intermediaries may perform attacks that would otherwise only be possible to mount by the endpoints. My concrete suggestion is to modify the above text to read "...protected end-to-end by a transport layer, such as..." --------------------------------------------------------------------------- §3.2: > - Avoid all RSA-PKCS1 v1.5 [RFC2313] encryption algorithms, > preferring RSA-OAEP ([RFC8017], Sec. 7.1). It's not clear to me what this recommendation intends to say regarding the algorithms in RFC 2437 and RFC 3447. One might infer that they're deprecated as well. If this is the intention, please be explicit. |
2019-06-24 |
06 | Adam Roach | [Ballot Position Update] New position, Discuss, has been recorded for Adam Roach |
2019-06-24 |
06 | Benjamin Kaduk | [Ballot discuss] Thank you for assembling this document; it will be very valuable to the community. I intend to ballot Yes once the following items … [Ballot discuss] Thank you for assembling this document; it will be very valuable to the community. I intend to ballot Yes once the following items are resolved: Section 2.6 notes: Previous versions of the JSON format such as the obsoleted [RFC7159] allowed several different character encodings: UTF-8, UTF-16 and UTF- 32. This is not the case anymore, with the latest standard [RFC8259] only allowing UTF-8. [...] The actual situation is a bit more subtle than this text makes it seem; interoperable JSON can only use non-UTF-8 with explicit mutual prearrangement in a closed ecosystem. So, while this statement is true for Internet JWT usage, it may not be true for *all* JWT usage. (I do see that in Section 3.7 of this document we do mandate UTF-8 for JWT, which makes things unambiguous, even if this text here is not correct.) Section 3.2 notes: JWT libraries SHOULD NOT generate JWTs using "none" unless explicitly requested to do by the caller. I couldn't find anywhere where we have matching guidance about "SHOULD NOT consume JWTs using 'none' unless explicitly requested"; this seems important enough to get called out explicitly. |
2019-06-24 |
06 | Benjamin Kaduk | [Ballot comment] I also have some non-Discuss-level substantive comments in the section-by-section notes, in addition to the usual editorial nits. Section 1 and/or encrypted. … [Ballot comment] I also have some non-Discuss-level substantive comments in the section-by-section notes, in addition to the usual editorial nits. Section 1 and/or encrypted. The JWT specification has seen rapid adoption because it encapsulates security-relevant information in one, easy to protect location, and because it is easy to implement using widely- nit: "one easy-to-protect location". Section 2.2 I'd consider rewording the text here to make it more poignant; perhaps: In addition, some applications use a keyed MAC algorithm such as "HS256" to sign tokens, but supply a weak symmetric key with insufficient entropy (such as a human memorable password). Such keys are vulnerable to offline brute-force or dictionary attacks once an attacker possesses such a token. Section 2.4 I'd suggest noting that the compression attacks are particularly powerful when there is attacker-controlled data in the same compression space as secret data. Section 3.2 Therefore, applications MUST only allow the use of cryptographically current algorithms that meet the security requirements of the application. This set will vary over time as new algorithms are introduced and existing algorithms are deprecated due to discovered cryptographic weaknesses. Applications MUST therefore be designed to enable cryptographic agility. This seems to have high overlap with BCP 201; a reference is probably in order. Section 3.4 Some cryptographic operations, such as Elliptic Curve Diffie-Hellman key agreement ("ECDH-ES") take inputs that may contain invalid values, such as points not on the specified elliptic curve or other invalid points (see e.g. [Valenta], Sec. 7.1). Either the JWS/JWE library itself must validate these inputs before using them or it must use underlying cryptographic libraries that do so (or both!). side note: A phrasing like "JWS/JWE libraries MUST ensure that such input validation occurs" would leave the same wiggle room for the validation to occur at the underlying crypto layer, while leaving it crystal clear what entity is responsible for ensuring that the checks occur". But since I don't expect a change of this nature to actually cause different behavior by implementors, I'm not very tied to it. Section 3.8 When we say "[o]ther applications may use different means of binding keys to issuers", is there any value in noting that certification by a trusted authority is a common way to perform this binding (in some contexts)? Section 3.9 If the same issuer can issue JWTs that are intended for use by more than one relying party or application, the JWT MUST contain an "aud" (audience) claim that can be used to determine whether the JWT is being used by an intended party or was substituted by an attacker at an unintended party. Furthermore, the relying party or application MUST validate the audience value and if the audience value is not present or not associated with the recipient, it MUST reject the JWT. (grammar nit?) Is the "Furthermore" sentence supposed to still be scoped to the case where the issuer can issue JWTs for more than one audience? If not, it seems like we're requiring the rejection of all "aud"-less JWTs but not requiring "aud" to be present when generating them. Section 3.10 Applications should protect against such attacks, e.g., by matching the URL to a whitelist of allowed locations, and ensuring no cookies are sent in the GET request. This could probably be a SHOULD (or even a MUST?). Section 3.11 When applying explicit typing to a Nested JWT, the "typ" header parameter containing the explicit type value MUST be present in the inner JWT of the Nested JWT (the JWT whose payload is the JWT Claims Set). The same "typ" header parameter value MAY be present in the outer JWT as well, to explicitly type the entire Nested JWT. This is an interesting recommendation, as it is in some sense *introducing* type confusion by using the same type name for JWTs with different structures (the inner and outer JWTs)! My sense is that it is not practical to change current usage, though, so I think this should be treated as a side note and not an actionable recommendation. Section 3.12 - Use different keys for different kinds of JWTs. Then the keys used to validate one kind of JWT will fail to validate other kinds of JWTs. It might be worth calling back an analogy to RFC 8037's security considerations (where we advise to keep an association between key material and key algorithm), in effect extending the scope of "algorithm" to include application usage. Given the broad diversity of JWT usage and applications, the best combination of types, required claims, values, header parameters, key usages, and issuers to differentiate among different kinds of JWTs will, in general, be application specific. For new JWT applications, the use of explicit typing is RECOMMENDED. This last recommendation seems to duplicate one from the end of Section 3.11. While it's important and worth reiterating, we do usually try to avoiding using normative RFC 2119 language when repeating ourselves, to make it very clear which requirement is the binding one. |
2019-06-24 |
06 | Benjamin Kaduk | [Ballot Position Update] New position, Discuss, has been recorded for Benjamin Kaduk |
2019-06-24 |
06 | Alissa Cooper | [Ballot comment] = Section 1 = Many of the recommendations in this document will actually be about implementation and use of the cryptographic … [Ballot comment] = Section 1 = Many of the recommendations in this document will actually be about implementation and use of the cryptographic mechanisms underlying JWTs that are defined by JSON Web Signature (JWS) [RFC7515], JSON Web Encryption (JWE) [RFC7516], and JSON Web Algorithms (JWA) [RFC7518]. Others will be about use of the JWT claims themselves. s/will actually be/are/ s/will be/are/ = Section 3.12 = Are all of the recommended strategies listed targeted at application developers specifically? It might be useful to note that if so. |
2019-06-24 |
06 | Alissa Cooper | [Ballot Position Update] New position, Yes, has been recorded for Alissa Cooper |
2019-06-24 |
06 | Suresh Krishnan | [Ballot Position Update] New position, No Objection, has been recorded for Suresh Krishnan |
2019-06-24 |
06 | Barry Leiba | [Ballot comment] Nice work on this; thanks. -- Section 1 -- Readers are advised to seek out any errata or updates that apply to … [Ballot comment] Nice work on this; thanks. -- Section 1 -- Readers are advised to seek out any errata or updates that apply to this document. Excellent. I note that this is a really nice opportunity to include, here, a URI to a page in the working group wiki or github that you can now create and that will be used to post updates (that might not qualify as errata) before they're incorporated into published updates. Other than that, I just have some editorial comments: -- Section 1.1 -- - Implementers of JWT libraries (and the JWS and JWE libraries used by them), Nit: Does "them" refer to the implementers or the libraries? Please re-phrase to clarify. -- Section 2.4 -- Nit: "and thus, the ciphertext, depends" should be "and, thus, the ciphertext depend" (note moved comma and plural verb). -- Section 2.6 -- Nit: "However older implementations" needs a comma: "However, older implementations" -- Section 2.7 -- I find the paragraph to be somewhat awkward, and suggest a slight rewording, thus: NEW There are attacks in which one recipient will be given a JWT that was intended for it, and will attempt to use it at a different recipient for which that JWT was not intended. For instance, if an OAuth 2.0 [RFC6749] access token is legitimately presented to an OAuth 2.0 protected resource which it is intended, that protected resource might then present that same access token to different protected resource for which the access token is not intended, in an attempt to gain access. If such situations are not caught, this can result in the attacker gaining access to resources that it is not entitled to access. END As to the title of this section, this doesn't seem to be a "substitution". I'm not sure what to call it (maybe it's a form of replay attack, but maybe not really), but "substitution" doesn't seem right. -- Section 2.9 -- Nit: In "operations, e.g. database and LDAP searches," you need a comma after "e.g." Or, better still, just change "e.g." to "such as", and avoid the Latin. -- Section 3.4 -- Nit: "(see e.g. [Valenta], Sec. 7.1)" needs commas: "(see, e.g., [Valenta], Sec. 7.1)" And in the next sentence, because of the "or both!" at the end I would remove the "Either" at the beginning. -- Section 3.6 -- It is RECOMMENDED to avoid any compression of data before encryption since such compression often reveals information about the plaintext. The passive voice doesn't work in this construct; "it is recommended to avoid" doesn't seem like proper English. Also, it's not the compression that reveals information, but the resultant compressed data, right? How about this?: NEW Compression of data SHOULD NOT be done before encryption, because such compressed data often reveals information about the plaintext. END -- Section 3.11 -- Confusion of one kind of JWT for another can be prevented by having all the kinds of JWTs that could otherwise potentially be confused include an explicit JWT type value and include checking the type value in their validation rules. I find the sentence awkward, and suggest a slight rewrite: NEW Sometimes, one kind of JWT can be confused for another. If a particular kind of JWT is subject to such confusion, that JWP can include an explicit JWT type value, and the validation rules can specify checking the type. This mechanism can prevent such confusion. END |
2019-06-24 |
06 | Barry Leiba | [Ballot Position Update] New position, Yes, has been recorded for Barry Leiba |
2019-06-13 |
06 | Brian Carpenter | Request for Telechat review by GENART Completed: Ready. Reviewer: Brian Carpenter. Sent review to list. |
2019-06-13 |
06 | Jean Mahoney | Request for Telechat review by GENART is assigned to Brian Carpenter |
2019-06-13 |
06 | Jean Mahoney | Request for Telechat review by GENART is assigned to Brian Carpenter |
2019-06-13 |
06 | Roman Danyliw | IESG state changed to IESG Evaluation from Waiting for Writeup |
2019-06-07 |
06 | (System) | IANA Review state changed to IANA OK - No Actions Needed from Version Changed - Review Needed |
2019-06-07 |
06 | Cindy Morgan | Placed on agenda for telechat - 2019-06-27 |
2019-06-07 |
06 | Roman Danyliw | Ballot has been issued |
2019-06-07 |
06 | Roman Danyliw | [Ballot Position Update] New position, Yes, has been recorded for Roman Danyliw |
2019-06-07 |
06 | Roman Danyliw | Created "Approve" ballot |
2019-06-07 |
06 | Roman Danyliw | Ballot writeup was changed |
2019-06-07 |
06 | Roman Danyliw | Ballot approval text was generated |
2019-06-07 |
06 | Yaron Sheffer | New version available: draft-ietf-oauth-jwt-bcp-06.txt |
2019-06-07 |
06 | (System) | New version approved |
2019-06-07 |
06 | (System) | Request for posting confirmation emailed to previous authors: Dick Hardt <dick.hardt@gmail.com>, Yaron Sheffer <yaronf.ietf@gmail.com>, Michael Jones <mbj@microsoft.com> |
2019-06-07 |
06 | Yaron Sheffer | Uploaded new revision |
2019-06-03 |
05 | Roman Danyliw | Second AD Review: https://mailarchive.ietf.org/arch/msg/oauth/yI4GA6ZoKfOop8uwz_ERHYuNQzk |
2019-04-16 |
05 | (System) | IANA Review state changed to Version Changed - Review Needed from IANA OK - No Actions Needed |
2019-04-16 |
05 | Yaron Sheffer | New version available: draft-ietf-oauth-jwt-bcp-05.txt |
2019-04-16 |
05 | (System) | New version approved |
2019-04-16 |
05 | (System) | Request for posting confirmation emailed to previous authors: Yaron Sheffer <yaronf.ietf@gmail.com>, Dick Hardt <dick@amazon.com>, oauth-chairs@ietf.org, Michael Jones <mbj@microsoft.com> |
2019-04-16 |
05 | Yaron Sheffer | Uploaded new revision |
2019-04-08 |
04 | (System) | IESG state changed to Waiting for Writeup from In Last Call |
2019-04-04 |
04 | Tero Kivinen | Request for Last Call review by SECDIR Completed: Ready. Reviewer: Radia Perlman. |
2019-04-03 |
04 | (System) | IANA Review state changed to IANA OK - No Actions Needed from IANA - Review Needed |
2019-04-03 |
04 | Sabrina Tanamal | (Via drafts-lastcall@iana.org): IESG/Authors/WG Chairs: The IANA Functions Operator has reviewed draft-ietf-oauth-jwt-bcp-04, which is currently in Last Call, and has the following comments: We understand that … (Via drafts-lastcall@iana.org): IESG/Authors/WG Chairs: The IANA Functions Operator has reviewed draft-ietf-oauth-jwt-bcp-04, which is currently in Last Call, and has the following comments: We understand that this document doesn't require any registry actions. While it's often helpful for a document's IANA Considerations section to remain in place upon publication even if there are no actions, if the authors strongly prefer to remove it, we do not object. If this assessment is not accurate, please respond as soon as possible. Thank you, Sabrina Tanamal Senior IANA Services Specialist |
2019-04-03 |
04 | Gunter Van de Velde | Request for Last Call review by OPSDIR is assigned to Ron Bonica |
2019-04-03 |
04 | Gunter Van de Velde | Request for Last Call review by OPSDIR is assigned to Ron Bonica |
2019-03-30 |
04 | Brian Carpenter | Request for Last Call review by GENART Completed: Ready with Issues. Reviewer: Brian Carpenter. Sent review to list. |
2019-03-28 |
04 | Jean Mahoney | Request for Last Call review by GENART is assigned to Brian Carpenter |
2019-03-28 |
04 | Jean Mahoney | Request for Last Call review by GENART is assigned to Brian Carpenter |
2019-03-28 |
04 | Tero Kivinen | Request for Last Call review by SECDIR is assigned to Radia Perlman |
2019-03-28 |
04 | Tero Kivinen | Request for Last Call review by SECDIR is assigned to Radia Perlman |
2019-03-27 |
04 | Cindy Morgan | Shepherding AD changed to Roman Danyliw |
2019-03-25 |
04 | Cindy Morgan | IANA Review state changed to IANA - Review Needed |
2019-03-25 |
04 | Cindy Morgan | The following Last Call announcement was sent out (ends 2019-04-08): From: The IESG <iesg-secretary@ietf.org> To: IETF-Announce <ietf-announce@ietf.org> CC: draft-ietf-oauth-jwt-bcp@ietf.org, ekr@rtfm.com, Hannes Tschofenig <hannes.tschofenig@arm.com>, oauth@ietf.org, hannes.tschofenig@arm.com, … The following Last Call announcement was sent out (ends 2019-04-08): From: The IESG <iesg-secretary@ietf.org> To: IETF-Announce <ietf-announce@ietf.org> CC: draft-ietf-oauth-jwt-bcp@ietf.org, ekr@rtfm.com, Hannes Tschofenig <hannes.tschofenig@arm.com>, oauth@ietf.org, hannes.tschofenig@arm.com, oauth-chairs@ietf.org Reply-To: ietf@ietf.org Sender: <iesg-secretary@ietf.org> Subject: Last Call: <draft-ietf-oauth-jwt-bcp-04.txt> (JSON Web Token Best Current Practices) to Best Current Practice The IESG has received a request from the Web Authorization Protocol WG (oauth) to consider the following document: - 'JSON Web Token Best Current Practices' <draft-ietf-oauth-jwt-bcp-04.txt> as Best Current Practice The IESG plans to make a decision in the next few weeks, and solicits final comments on this action. Please send substantive comments to the ietf@ietf.org mailing lists by 2019-04-08. Exceptionally, comments may be sent to iesg@ietf.org instead. In either case, please retain the beginning of the Subject line to allow automated sorting. Abstract JSON Web Tokens, also known as JWTs, are URL-safe JSON-based security tokens that contain a set of claims that can be signed and/or encrypted. JWTs are being widely used and deployed as a simple security token format in numerous protocols and applications, both in the area of digital identity, and in other application areas. The goal of this Best Current Practices document is to provide actionable guidance leading to secure implementation and deployment of JWTs. The file can be obtained via https://datatracker.ietf.org/doc/draft-ietf-oauth-jwt-bcp/ IESG discussion can be tracked via https://datatracker.ietf.org/doc/draft-ietf-oauth-jwt-bcp/ballot/ No IPR declarations have been submitted directly on this I-D. The document contains these normative downward references. See RFC 3967 for additional information: rfc8037: CFRG Elliptic Curve Diffie-Hellman (ECDH) and Signatures in JSON Object Signing and Encryption (JOSE) (Proposed Standard - IETF stream) rfc6979: Deterministic Usage of the Digital Signature Algorithm (DSA) and Elliptic Curve Digital Signature Algorithm (ECDSA) (Informational - Independent Submission Editor stream) rfc7516: JSON Web Encryption (JWE) (Proposed Standard - IETF stream) rfc7515: JSON Web Signature (JWS) (Proposed Standard - IETF stream) rfc7519: JSON Web Token (JWT) (Proposed Standard - IETF stream) rfc7518: JSON Web Algorithms (JWA) (Proposed Standard - IETF stream) |
2019-03-25 |
04 | Cindy Morgan | IESG state changed to In Last Call from Last Call Requested |
2019-03-25 |
04 | Eric Rescorla | Last call was requested |
2019-03-25 |
04 | Eric Rescorla | Last call announcement was generated |
2019-03-25 |
04 | Eric Rescorla | Ballot approval text was generated |
2019-03-25 |
04 | Eric Rescorla | Ballot writeup was generated |
2019-03-25 |
04 | Eric Rescorla | IESG state changed to Last Call Requested from AD Evaluation::Revised I-D Needed |
2018-12-21 |
04 | Eric Rescorla | IESG state changed to AD Evaluation::Revised I-D Needed from AD Evaluation::AD Followup |
2018-12-21 |
04 | Eric Rescorla | Waiting for some more small changes. |
2018-11-08 |
04 | (System) | Sub state has been changed to AD Followup from Revised ID Needed |
2018-11-08 |
04 | Yaron Sheffer | New version available: draft-ietf-oauth-jwt-bcp-04.txt |
2018-11-08 |
04 | (System) | New version approved |
2018-11-08 |
04 | (System) | Request for posting confirmation emailed to previous authors: Yaron Sheffer <yaronf.ietf@gmail.com>, Dick Hardt <dick@amazon.com>, Michael Jones <mbj@microsoft.com> |
2018-11-08 |
04 | Yaron Sheffer | Uploaded new revision |
2018-11-04 |
03 | Eric Rescorla | IESG state changed to AD Evaluation::Revised I-D Needed from Publication Requested |
2018-10-18 |
03 | Rifaat Shekh-Yusef | (1) What type of RFC is being requested (BCP, Proposed Standard, Internet Standard, Informational, Experimental, or Historic)? Why is this the proper type of RFC? … (1) What type of RFC is being requested (BCP, Proposed Standard, Internet Standard, Informational, Experimental, or Historic)? Why is this the proper type of RFC? Is this type of RFC indicated in the title page header? The draft-ietf-oauth-jwt-bcp-03 is a Best Current Practice document providing actionable guidance leading to secure implementation and deployment of JWTs. The group decided that a Best Current Practice document, which can evolve over time, is the best way to improve the quality and security of JWT implementations and deployments. (2) The IESG approval announcement includes a Document Announcement Write-Up. Please provide such a Document Announcement Write-Up. Recent examples can be found in the "Action" announcements for approved documents. The approval announcement contains the following sections: Technical Summary: JSON Web Tokens, also known as JWTs, are URL-safe JSON-based security tokens that contain a set of claims that can be signed and/or encrypted. JWTs are being widely used and deployed as a simple security token format in numerous protocols and applications, both in the area of digital identity, and in other application areas. The goal of this Best Current Practices document is to provide actionable guidance leading to secure implementation and deployment of JWTs. Working Group Summary: This document has been written in response to reports about insecure implementations and deployments of JWT. The working group is in agreement that this document provides value to the community. Document Quality: The document has received substantial review and suggestions for threat mitigations to cover. Many of the recommendations have been provided by researchers and implementers outside the working group. Personnel: The document shepherd is Hannes Tschofenig. The responsible Area Director is Eric Rescorla. (3) Briefly describe the review of this document that was performed by the Document Shepherd. If this version of the document is not ready for publication, please explain why the document is being forwarded to the IESG. The document shepherd has reviewed this document and feels the document is ready. (4) Does the document Shepherd have any concerns about the depth or breadth of the reviews that have been performed? The document shepherd has no concerns with the level of reviews, as the document was discussed and reviewed by many participants. (5) Do portions of the document need review from a particular or from broader perspective, e.g., security, operational complexity, AAA, DNS, DHCP, XML, or internationalization? If so, describe the review that took place. Security review is always appreciated. The shepherd has, however, already asked the IETF security community for review of this document. (6) Describe any specific concerns or issues that the Document Shepherd has with this document that the Responsible Area Director and/or the IESG should be aware of? For example, perhaps he or she is uncomfortable with certain parts of the document, or has concerns whether there really is a need for it. In any event, if the WG has discussed those issues and has indicated that it still wishes to advance the document, detail those concerns here. The document shepherd has no such concerns. (7) Has each author confirmed that any and all appropriate IPR disclosures required for full conformance with the provisions of BCP 78 and BCP 79 have already been filed. If not, explain why? Yes, all three authors have confirmed: - Mike: https://www.ietf.org/mail-archive/web/oauth/current/msg18195.html - Dick: https://www.ietf.org/mail-archive/web/oauth/current/msg18196.html - Yaron: https://www.ietf.org/mail-archive/web/oauth/current/msg18197.html (8) Has an IPR disclosure been filed that references this document? If so, summarize any WG discussion and conclusion regarding the IPR disclosures. No such IPR disclosures. (9) How solid is the WG consensus behind this document? Does it represent the strong concurrence of a few individuals, with others being silent, or does the WG as a whole understand and agree with it? There is a solid support for this document from the WG. (10) Has anyone threatened an appeal or otherwise indicated extreme discontent? If so, please summarise the areas of conflict in separate email messages to the Responsible Area Director. (It should be in a separate email because this questionnaire is publicly available.) No such threat or discontent. (11) Identify any ID nits the Document Shepherd has found in this document. (See http://www.ietf.org/tools/idnits/ and the Internet-Drafts Checklist). Boilerplate checks are not enough; this check needs to be thorough. There are no nits with this document. (12) Describe how the document meets any required formal review criteria, such as the MIB Doctor, media type, and URI type reviews. No such reviews are necessary. (13) Have all references within this document been identified as either normative or informative? Yes. (14) Are there normative references to documents that are not ready for advancement or are otherwise in an unclear state? If such normative references exist, what is the plan for their completion? No. (15) Are there downward normative references (see RFC 3967)? If so, list these downward references to support the Area Director in the Last Call procedure. There is a downref for RFC 6979. It is an algorithm document that is appropriate as a normative reference. (16) Will publication of this document change the status of any existing RFCs? Are those RFCs listed on the title page header, listed in the abstract, and discussed in the introduction? If the RFCs are not listed in the Abstract and Introduction, explain why, and point to the part of the document where the relationship of this document to the other RFCs is discussed. If this information is not in the document, explain why the WG considers it unnecessary. No status change of any existing RFCs. (17) Describe the Document Shepherd's review of the IANA considerations section, especially with regard to its consistency with the body of the document. Confirm that all protocol extensions that the document makes are associated with the appropriate reservations in IANA registries. Confirm that any referenced IANA registries have been clearly identified. Confirm that newly created IANA registries include a detailed specification of the initial contents for the registry, that allocations procedures for future registrations are defined, and a reasonable name for the new registry has been suggested (see RFC 5226). There is no action for IANA. (18) List any new IANA registries that require Expert Review for future allocations. Provide any public guidance that the IESG would find useful in selecting the IANA Experts for these new registries. Not applicable. (19) Describe reviews and automated checks performed by the Document Shepherd to validate sections of the document written in a formal language, such as XML code, BNF rules, MIB definitions, etc. The document contains no formal languages. |
2018-10-18 |
03 | Rifaat Shekh-Yusef | Responsible AD changed to Eric Rescorla |
2018-10-18 |
03 | Rifaat Shekh-Yusef | IETF WG state changed to Submitted to IESG for Publication from WG Document |
2018-10-18 |
03 | Rifaat Shekh-Yusef | IESG state changed to Publication Requested |
2018-10-18 |
03 | Rifaat Shekh-Yusef | IESG process started in state Publication Requested |
2018-07-17 |
03 | Hannes Tschofenig | Changed consensus to Yes from Unknown |
2018-07-17 |
03 | Hannes Tschofenig | Intended Status changed to Best Current Practice from None |
2018-07-17 |
03 | Hannes Tschofenig | Notification list changed to Hannes Tschofenig <hannes.tschofenig@arm.com> |
2018-07-17 |
03 | Hannes Tschofenig | Document shepherd changed to Hannes Tschofenig |
2018-07-17 |
03 | Hannes Tschofenig | Changed document writeup |
2018-05-07 |
03 | Yaron Sheffer | New version available: draft-ietf-oauth-jwt-bcp-03.txt |
2018-05-07 |
03 | (System) | New version approved |
2018-05-07 |
03 | (System) | Request for posting confirmation emailed to previous authors: Yaron Sheffer <yaronf.ietf@gmail.com>, Dick Hardt <dick@amazon.com>, Michael Jones <mbj@microsoft.com> |
2018-05-07 |
03 | Yaron Sheffer | Uploaded new revision |
2018-05-02 |
02 | Yaron Sheffer | New version available: draft-ietf-oauth-jwt-bcp-02.txt |
2018-05-02 |
02 | (System) | New version approved |
2018-05-02 |
02 | (System) | Request for posting confirmation emailed to previous authors: Yaron Sheffer <yaronf.ietf@gmail.com>, Dick Hardt <dick@amazon.com>, Michael Jones <mbj@microsoft.com> |
2018-05-02 |
02 | Yaron Sheffer | Uploaded new revision |
2018-03-22 |
01 | Yaron Sheffer | New version available: draft-ietf-oauth-jwt-bcp-01.txt |
2018-03-22 |
01 | (System) | New version approved |
2018-03-22 |
01 | (System) | Request for posting confirmation emailed to previous authors: Yaron Sheffer <yaronf.ietf@gmail.com>, Dick Hardt <dick@amazon.com>, Michael Jones <mbj@microsoft.com> |
2018-03-22 |
01 | Yaron Sheffer | Uploaded new revision |
2018-03-22 |
01 | (System) | Request for posting confirmation emailed to previous authors: Yaron Sheffer <yaronf.ietf@gmail.com>, Dick Hardt <dick@amazon.com>, Michael Jones <mbj@microsoft.com> |
2018-03-22 |
01 | Yaron Sheffer | Uploaded new revision |
2017-07-27 |
00 | Rifaat Shekh-Yusef | This document now replaces draft-sheffer-oauth-jwt-bcp instead of None |
2017-07-27 |
00 | Yaron Sheffer | New version available: draft-ietf-oauth-jwt-bcp-00.txt |
2017-07-27 |
00 | (System) | WG -00 approved |
2017-07-19 |
00 | Yaron Sheffer | Set submitter to "Yaron Sheffer <yaronf.ietf@gmail.com>", replaces to draft-sheffer-oauth-jwt-bcp and sent approval email to group chairs: oauth-chairs@ietf.org |
2017-07-19 |
00 | Yaron Sheffer | Uploaded new revision |