Extended Tokens and Stateless Clients in the Constrained Application Protocol (CoAP)
draft-ietf-core-stateless-08
Revision differences
Document history
Date | Rev. | By | Action |
---|---|---|---|
2021-01-05
|
08 | (System) | RFC Editor state changed to AUTH48-DONE from AUTH48 |
2020-12-22
|
08 | (System) | RFC Editor state changed to AUTH48 from RFC-EDITOR |
2020-12-13
|
08 | (System) | RFC Editor state changed to RFC-EDITOR from EDIT |
2020-11-19
|
08 | (System) | IANA Action state changed to RFC-Ed-Ack from Waiting on RFC Editor |
2020-11-19
|
08 | (System) | RFC Editor state changed to EDIT |
2020-11-19
|
08 | (System) | IESG state changed to RFC Ed Queue from Approved-announcement sent |
2020-11-19
|
08 | (System) | Announcement was received by RFC Editor |
2020-11-19
|
08 | (System) | IANA Action state changed to Waiting on RFC Editor from In Progress |
2020-11-19
|
08 | (System) | IANA Action state changed to In Progress from Waiting on Authors |
2020-11-19
|
08 | (System) | IANA Action state changed to Waiting on Authors from In Progress |
2020-11-19
|
08 | (System) | IANA Action state changed to In Progress |
2020-11-19
|
08 | Cindy Morgan | IESG state changed to Approved-announcement sent from Approved-announcement to be sent |
2020-11-19
|
08 | Cindy Morgan | IESG has approved the document |
2020-11-19
|
08 | Cindy Morgan | Closed "Approve" ballot |
2020-11-19
|
08 | Cindy Morgan | Ballot approval text was generated |
2020-11-19
|
08 | Barry Leiba | IESG state changed to Approved-announcement to be sent from IESG Evaluation::AD Followup |
2020-11-16
|
08 | Michael Richardson | New version available: draft-ietf-core-stateless-08.txt |
2020-11-16
|
08 | (System) | New version accepted (logged-in submitter: Michael Richardson) |
2020-11-16
|
08 | Michael Richardson | Uploaded new revision |
2020-11-16
|
07 | Benjamin Kaduk | [Ballot comment] Thank you for addressing my Discuss (and Comment!) points. |
2020-11-16
|
07 | Benjamin Kaduk | [Ballot Position Update] Position for Benjamin Kaduk has been changed to No Objection from Discuss |
2020-11-14
|
07 | Marco Tiloca | Added to session: IETF-109: core Tue-1200 |
2020-11-05
|
07 | Erik Kline | [Ballot Position Update] Position for Erik Kline has been changed to No Objection from Discuss |
2020-11-02
|
07 | (System) | Sub state has been changed to AD Followup from Revised ID Needed |
2020-11-02
|
07 | (System) | IANA Review state changed to Version Changed - Review Needed from IANA OK - Actions Needed |
2020-11-02
|
07 | Michael Richardson | New version available: draft-ietf-core-stateless-07.txt |
2020-11-02
|
07 | (System) | New version approved |
2020-11-02
|
07 | (System) | Request for posting confirmation emailed to previous authors: core-chairs@ietf.org, Klaus Hartke |
2020-11-02
|
07 | Michael Richardson | Uploaded new revision |
2020-09-10
|
06 | Marco Tiloca | Changed document external resources from: [] to: github_repo https://github.com/core-wg/stateless (Working Group Repo) |
2020-04-27
|
06 | Amanda Baber | IANA Review state changed to IANA OK - Actions Needed from IANA - Not OK |
2020-04-24
|
06 | Cindy Morgan | IESG state changed to IESG Evaluation::Revised I-D Needed from IESG Evaluation |
2020-04-24
|
06 | Magnus Westerlund | [Ballot Position Update] New position, No Objection, has been recorded for Magnus Westerlund |
2020-04-23
|
06 | Martin Duke | [Ballot comment] Like everyone else, I enjoyed reading this. But could we paginate the document? |
2020-04-23
|
06 | Martin Duke | [Ballot Position Update] New position, No Objection, has been recorded for Martin Duke |
2020-04-23
|
06 | Tero Kivinen | Request for Telechat review by SECDIR Completed: Has Nits. Reviewer: David Mandelberg. Submission of review completed at an earlier date. |
2020-04-23
|
06 | Alissa Cooper | [Ballot Position Update] New position, No Objection, has been recorded for Alissa Cooper |
2020-04-22
|
06 | Erik Kline | [Ballot discuss] [[ discuss ]] [ section 2.2.2 ] * I agree with Ben's point about MTU. Some text about the implications seems warranted. … [Ballot discuss] [[ discuss ]] [ section 2.2.2 ] * I agree with Ben's point about MTU. Some text about the implications seems warranted. Even just a link to 7252#4.6 might be fine (and maybe a skull-and-crossbones emoji [☠️] if they can be included now ;-) * 60 minutes for address changes? Out of curiosity, upon what was this based? I lack a good deal of context, but this kind of feels like the kind of constant that will get baked into code and come to govern some behaviour that later might need updating. |
2020-04-22
|
06 | Erik Kline | [Ballot comment] [[ nits ]] [ section 4 ] * s/along the/along with the/? |
2020-04-22
|
06 | Erik Kline | [Ballot Position Update] New position, Discuss, has been recorded for Erik Kline |
2020-04-22
|
06 | Warren Kumari | [Ballot comment] Thank you for this, it was a pleasant and easy read (especially as I am not a COAP person). 1: I'd believe that … [Ballot comment] Thank you for this, it was a pleasant and easy read (especially as I am not a COAP person). 1: I'd believe that the Abstract needs to say *how* "This document updates RFCs 7252 and 8323." (A simple copy and paste from the start of Section 2 would satisfy this) 2: This is not actionable, but I really really enjoyed the "look ma, no state!" bit in Figure 2. Thank you for keeping documents interesting and fun to read... |
2020-04-22
|
06 | Warren Kumari | [Ballot Position Update] New position, No Objection, has been recorded for Warren Kumari |
2020-04-22
|
06 | Alvaro Retana | [Ballot Position Update] New position, No Objection, has been recorded for Alvaro Retana |
2020-04-22
|
06 | Éric Vyncke | [Ballot comment] Thank you for the work put into this document. The document is clear, easy to read and quite useful. The security aspects are … [Ballot comment] Thank you for the work put into this document. The document is clear, easy to read and quite useful. The security aspects are also well defined. Please find below a single non-blocking COMMENT. An answer will be appreciated. I hope that this helps to improve the document, Regards, -éric -- Section 2.1 -- Why does this document update RFC 8323 definition of TKL? At first sight, the TKL field definitions in this document and in RFC 8323 look identical. |
2020-04-22
|
06 | Éric Vyncke | [Ballot Position Update] New position, No Objection, has been recorded for Éric Vyncke |
2020-04-21
|
06 | Deborah Brungard | [Ballot Position Update] New position, No Objection, has been recorded for Deborah Brungard |
2020-04-21
|
06 | Roman Danyliw | [Ballot comment] ** I support Ben Kaduk’s DISCUSS position that the SHOULDs in Section 3.1 would likely be better described as MUSTs. Additionally, I would … [Ballot comment] ** I support Ben Kaduk’s DISCUSS position that the SHOULDs in Section 3.1 would likely be better described as MUSTs. Additionally, I would recommend, threading this guidance with Section 3.3. and 5.2. Specifically: -- Section 3.3. Per “If a piggybacked response passes the token integrity protection and freshness checks …” and “If a separate response passes the token integrity protection and freshness checks …”, where is the guidance for these checks described? Is that the language in Section 3.1? -- Section 5.2. Per “The use of encryption, integrity protection, and replay protection of serialized state is recommended …”, why not “RECOMMENDED”? How does this text line with the conditions outlined in Section 3.1? -- Section 5.2. Per “AES-CCM with a 64 bit tag is recommended …”, why not “RECOMMENDED?” ** Section 5.2. Please provide a citation for AES-CCM and HMAC-SHA-256. ** Section 5.2. Recommend describing the consequences of not using security services. Perhaps something on the order of: OLD: The use of encryption, integrity protection, and replay protection of serialized state is recommended , unless a careful analysis of any potential attacks to security and privacy is performed. NEW The use of encryption, integrity protection, and replay protection of serialized state is recommended, unless a careful analysis of any potential attacks to security and privacy is performed. In the absence of integrity and reply protection, an on-path attacker or rogue server/intermediary could return a state (either one modified in a reply, or an unsolicited one) that could alter the internal state of the client stack. ** Editorial nit: -- Figure 2 and 5. I would recommend replacing the colloquialism “look ma, no state!” with “no state”. |
2020-04-21
|
06 | Roman Danyliw | [Ballot Position Update] New position, No Objection, has been recorded for Roman Danyliw |
2020-04-21
|
06 | Dan Romascanu | Request for Telechat review by GENART Completed: Ready. Reviewer: Dan Romascanu. Sent review to list. |
2020-04-20
|
06 | Benjamin Kaduk | [Ballot discuss] Let's discuss whether the various and sundry conditional SHOULDs in Section 3.1 are better written as conditional MUSTs (i.e., with the listed exclusions … [Ballot discuss] Let's discuss whether the various and sundry conditional SHOULDs in Section 3.1 are better written as conditional MUSTs (i.e., with the listed exclusions being the only allowed exclusion). Also, Appendix A.2 seems to show "Len (extended)" as just 0-2 bytes when IIUC it is 0-4 bytes. |
2020-04-20
|
06 | Benjamin Kaduk | [Ballot comment] Section 2.1 The new definition of the TKL field increases the maximum token length that can be represented in a message … [Ballot comment] Section 2.1 The new definition of the TKL field increases the maximum token length that can be represented in a message to 65804 bytes. However, the maximum token length that sender and recipient implementations support may be shorter. For example, a constrained node of Class 1 [RFC7228] might support extended token lengths only up to 32 bytes. Is there anything to say about IP MTU here? Section 2.2.2 In CoAP over UDP, the way a request message is rejected depends on the message type. A Confirmable message with a message format error is rejected with a Reset message (Section 4.2 of RFC 7252). A Non- confirmable message with a message format error is either rejected with a Reset message or just silently ignored (Section 4.3 of RFC 7252). It is therefore RECOMMENDED that clients use a Confirmable message for determining support. When might one want to use non-confirmable messages for probing (i.e., why is this not a MUST)? Since network addresses may change, a client SHOULD NOT assume that extended token lengths are supported by a server later than 60 minutes after receiving a response with an extended token length. nit: maybe "after receiving the most-recent response with [...]"? If a server supports extended token lengths but receives a request with a token of a length it is unwilling or unable to handle, it MUST NOT reject the message, as that would imply that extended token lengths are not supported at all. Instead, if the server cannot handle the request at the time, it SHOULD return a 5.03 (Service Unavailable) response; if the server will never be able to handle (e.g., because the token is too large), it SHOULD return a 4.00 (Bad Request) response. This is a fairly subtle way of saying that core RFC 7252 procedures/semantics are being updated; I'd suggest calling out (alongside the other updates) the new(?) requirement for distinguishing whether an extension is unrecognized vs. an invalid value by producing reset vs. a distinguished error code. (I do see that the semantics for 5.03 and 4.00 are not changing, but the use of Reset vs. error code for feature negotiation seems important for implementors to be aware of.) Section 3 As servers are just expected to return any token verbatim to the client, this implementation strategy for clients does impact the interoperability of client and server implementations. However, nit: is this intended to be "does not impact"? Given the subsequent sentence I might suggest "does not substantially impact" instead, though. Section 3.1 o A client SHOULD integrity protect the state information serialized in a token, unless processing a response does not modify state or cause any other significant side effects. If the intent is that the "does not modify state" clause is the only case when one would disregard the need for integrity protection, "MUST [...] unless" seems more appropriate. (I would prefer unconditional MUST and am not sure I understand the cases where there is a need to skip integrity protection.) o Even when the serialized state is integrity protected, an attacker may still replay a response, making the client believe it sent the same request twice. For this reason, the client SHOULD implement (Basically the same comments about "SHOULD".) cause other any significant side effects. For replay protection, integrity protection is REQUIRED. I'm not entirely sure if the normative keyword is needed for effect, here; it's simply a fact that replay protection is impossible in the absence of integrity protection, isn't it? o If processing a response without keeping request state is sensitive to the time elapsed since sending the request, then the serialized state SHOULD include freshness information (e.g., a timestamp). Continuing the theme, this seems like a conditional MUST (not SHOULD). Actually, all the rest of the SHOULDs in this section do. This particular one should also note that the response processing needs to actually check the timestamp and reject ones that are insufficiently fresh. Also, integrity protection is again required for this to work. Section 3.2 A client that depends on support for extended token lengths (Section 2) from the server to avoid keeping request state SHOULD perform a discovery of support (Section 2.2) before it can be stateless. This feels like a descriptive "needs to" rather than normative "SHOULD". Stateless operation just isn't going to work if the server doesn't support extended token lengths and the client needs it. Section 3.3 Reset messages, however. Non-confirmable messages are therefore better suited. In any case, a client still needs to keep congestion nit: better suited for what? o If a piggybacked response passes the token integrity protection and freshness checks, the client processes the message as specified in RFC 7252; otherwise, it silently discards the message. It sounds like this entails discarding even the ACK portion of the piggybacked response, which seems like it might interact oddly with the retransmit schedule. Section 4 Perhaps it's worth noting that this nesting of state will necessarily increase the token size as it progresses along a chain of intermediaries? There's also some considerations relating to how the freshness window of the client an intermediary interact, with the client effectively being limited to the minimum of all windows in use by client and intermediate(s) on the path. If the intermediary has a very long freshness window it could be tricked into sending "replies" to addresses that it thinks are clients but may not be any more, e.g., allowing a DoS attack to traverse a NAT or firewall. Section 4.3 RFC 7252 doesn't really suggest that there's a protocol element that would be set to "infinite" here; perhaps we should just say that "in this case, the gateway cannot return such a response and as such cannot implement such a timeout". Section 5 With no integrity protection on the rejection of trial-and-error (section 2.2.2) it's susceptible to downgrade, IIUC even by an off-path attacker. (I did not think too hard about whether OSCORE could protect the Resets in question or not, though.) It seems like such forced downgrade would have second-order effects in causing clients to use more local state and thus be more readily susceptible to other DoS vecros. Also, when integrity protection is not in use, the client is susceptible to spoofed responses that had no corresponding request -- only a very limited subset of request/response pairs are safe to convert to "unauthenticated server push", as that would effectivley do, and we should probably mention that explicitly. I'd also suggest noting that a self-encrypted state token bears significant resemblance to a TLS self-encrypted session ticket, and reference the RFC 5077 security considerations. (Yes, I know that RFC 8446 Obsoletes RFC 5077; it would be an informational reference only.) This could also lead to some discussion about having in general an appropriate amount of sanity checks on the returned token that may or may not reflect serialized state, to limit the scope of various attacks even in the absence of cryptographic protections. Section 5.1 size that need to be mitigated. A node in the server role supporting extended token lengths may be vulnerable to a denial-of-service when an attacker (either on-path or a malicious client) sends large tokens to fill up the memory of the node. Implementations need to be prepared to handle such messages. This seems particularly problematic given that we disallow sending Reset in response to too-large tokens and instead imply that it should echo the large token in a 4.00 response. I guess technically this is a SHOULD and not a MUST, so there is some leeway to do something else, but what would that "something else" be in this case? It seems like we have a hard requirement to do something sane with a token as large as 65804 bytes. Section 5.2 The use of encryption, integrity protection, and replay protection of serialized state is recommended, unless a careful analysis of any potential attacks to security and privacy is performed. [...] I suggest an alternative wording: % It is generally expected that the use of encryption, integrity protection, % and replay protection for serialized state is appropriate. However, a % careful analysis of any potential attacks to the security and privacy % properties of the system might reveal that there are cases where such % cryptographic protections do not add value in a specific case. a 64 bit tag is recommended, combined with a sequence number and a replay window. Where encryption is not needed, HMAC-SHA-256, combined with a sequence number and a replay window, may be used. Can we give guidance on sizing the replay window? Should the HMAC-SHA-256 output be truncated akin to the truncated CCM tag? In what cases would one want to use an absolute timestamp instead of/in addition to a sequence-based replay window? guarantees are voided. Devices with low-entropy sources -- as is typical with constrained devices, which incidentally happen to be a natural candidate for the stateless mechanism described in this nit: "low-entropy sources" is a weird phrasing; "low-quality entropy sources" would feel more natural to me. Also, draft-irtf-cfrg-randomness-improvements may be of interest to at least some such devices. provides the above uniqueness guarantee. Additionally, since it can be difficult to use AES-CCM securely when using statically configured keys, implementations should use automated key management [RFC4107]. This is BCP 107, so I think we could use stronger language than "should use". Also we should cite it as the BCP. Section 6.1 Should the table formatting be consistent between here and Section 2.2.1? |
2020-04-20
|
06 | Benjamin Kaduk | [Ballot Position Update] New position, Discuss, has been recorded for Benjamin Kaduk |
2020-04-20
|
06 | Amanda Baber | IANA Review state changed to IANA - Not OK from Version Changed - Review Needed |
2020-04-20
|
06 | Martin Vigoureux | [Ballot Position Update] New position, No Objection, has been recorded for Martin Vigoureux |
2020-04-20
|
06 | Robert Wilton | [Ballot comment] Thanks for this document. I found the document easy to read and the concept described easy to understand. A few minor comments: 2.1 … [Ballot comment] Thanks for this document. I found the document easy to read and the concept described easy to understand. A few minor comments: 2.1 Extended Token Length (TKL) Field 13: An 8-bit unsigned integer precedes the Token field and indicates the length of the Token field minus 13. 14: A 16-bit unsigned integer in network byte order precedes the Token field and indicates the length of the Token field minus 269. I wonder whether it would be worth changing "precedes" to "directly precedes" to avoid any doubt of exactly where the length field appears? Although I note that the updated message formats are in the appendix anyway. 2.2.1. Extended-Token-Length Capability Option The draft doesn't suggest whether the Extended-Token-Length capability option should be used when the server only supports a max-length of 8. Would it be useful to give a recommendation for servers in this case, e.g. SHOULD they only include the capability if they support a max token length larger than 8 bytes? 3. Stateless Clients As servers are just expected to return any token verbatim to the client, this implementation strategy for clients does impact the interoperability of client and server implementations. However, there are a number of significant, non-obvious implications (e.g., related to security and other CoAP protocol features) that client implementations need take into consideration. I found the first sentence somewhat unclear - in that I was wondering if "does not impact" was intended instead of "does impact"? Or otherwise, I wasn't quite sure what this sentence was trying to convey. |
2020-04-20
|
06 | Robert Wilton | [Ballot Position Update] New position, No Objection, has been recorded for Robert Wilton |
2020-04-18
|
06 | Tero Kivinen | Request for Telechat review by SECDIR Completed: Has Nits. Reviewer: David Mandelberg. |
2020-04-16
|
06 | Jean Mahoney | Request for Telechat review by GENART is assigned to Dan Romascanu |
2020-04-16
|
06 | Jean Mahoney | Request for Telechat review by GENART is assigned to Dan Romascanu |
2020-04-15
|
06 | Tero Kivinen | Request for Telechat review by SECDIR is assigned to David Mandelberg |
2020-04-15
|
06 | Tero Kivinen | Request for Telechat review by SECDIR is assigned to David Mandelberg |
2020-04-13
|
06 | Amy Vezza | Placed on agenda for telechat - 2020-04-24 |
2020-04-12
|
06 | Murray Kucherawy | [Ballot comment] This was very easy to read and understand. Nice work. Editorial stuff: Section 2.2.2: * "... if the server will never be able … [Ballot comment] This was very easy to read and understand. Nice work. Editorial stuff: Section 2.2.2: * "... if the server will never be able to handle (e.g., because the token is too large)," -- add "the request" after "handle" * "... a server implementing this document should at least ..." -- s/document/extension/, right? Section 3.1: * "A client SHOULD integrity protect the state ..." -- s/integrity protect/protect the integrity of/ * "Even when the serialized state is integrity protected ..." should be "Even when the integrity of the serialized state is protected ..." * "... the key used for integration protection ..." -- s/integration/integrity/, right? Section 3.3: * "... as a piggybacked response, a separate response or Non-confirmable response, regardless ..." -- comma before "or" |
2020-04-12
|
06 | Murray Kucherawy | [Ballot Position Update] New position, Yes, has been recorded for Murray Kucherawy |
2020-04-12
|
06 | Barry Leiba | IESG state changed to IESG Evaluation from Waiting for AD Go-Ahead::AD Followup |
2020-04-12
|
06 | Barry Leiba | Ballot has been issued |
2020-04-12
|
06 | Barry Leiba | [Ballot Position Update] New position, Yes, has been recorded for Barry Leiba |
2020-04-12
|
06 | Barry Leiba | Created "Approve" ballot |
2020-04-12
|
06 | (System) | Sub state has been changed to AD Followup from Revised ID Needed |
2020-04-12
|
06 | (System) | IANA Review state changed to Version Changed - Review Needed from IANA OK - Actions Needed |
2020-04-12
|
06 | Klaus Hartke | New version available: draft-ietf-core-stateless-06.txt |
2020-04-12
|
06 | (System) | New version approved |
2020-04-12
|
06 | (System) | Request for posting confirmation emailed to previous authors: Klaus Hartke |
2020-04-12
|
06 | Klaus Hartke | Uploaded new revision |
2020-04-11
|
05 | Barry Leiba | IESG state changed to Waiting for AD Go-Ahead::Revised I-D Needed from Waiting for AD Go-Ahead::Point Raised - writeup needed |
2020-04-11
|
05 | Barry Leiba | IESG state changed to Waiting for AD Go-Ahead::Point Raised - writeup needed from Waiting for AD Go-Ahead |
2020-04-02
|
05 | (System) | IANA Review state changed to IANA OK - Actions Needed from IANA - Review Needed |
2020-04-02
|
05 | Sabrina Tanamal | (Via drafts-lastcall@iana.org): IESG/Authors/WG Chairs: The IANA Functions Operator has completed its review of draft-ietf-core-stateless-05. If any part of this review is inaccurate, please let … (Via drafts-lastcall@iana.org): IESG/Authors/WG Chairs: The IANA Functions Operator has completed its review of draft-ietf-core-stateless-05. If any part of this review is inaccurate, please let us know. The IANA Functions Operator understands that, upon approval of this document, there is a single action which we must complete. In the CoAP Signaling Option Numbers registry on the Constrained RESTful Environments (CoRE) Parameters registry page located at: https://www.iana.org/assignments/core-parameters/ a single, new option number is to be registered as follows: Applies to: 7.01 Number: [ TBD-at-Registration ] Name: Extended-Token-Length Reference: [ RFC-to-be ] The IANA Functions Operator understands that this is the only action required to be completed upon approval of this document. Note: The actions requested in this document will not be completed until the document has been approved for publication as an RFC. This message is meant only to confirm the list of actions that will be performed. Thank you, Sabrina Tanamal Senior IANA Services Specialist |
2020-04-02
|
05 | (System) | IESG state changed to Waiting for AD Go-Ahead from In Last Call |
2020-04-01
|
05 | Dan Romascanu | Request for Last Call review by GENART Completed: Ready with Issues. Reviewer: Dan Romascanu. Sent review to list. |
2020-03-24
|
05 | Gunter Van de Velde | Request for Last Call review by OPSDIR is assigned to Fred Baker |
2020-03-24
|
05 | Gunter Van de Velde | Request for Last Call review by OPSDIR is assigned to Fred Baker |
2020-03-20
|
05 | Tero Kivinen | Request for Last Call review by SECDIR Completed: Has Issues. Reviewer: David Mandelberg. Submission of review completed at an earlier date. |
2020-03-15
|
05 | Tero Kivinen | Request for Last Call review by SECDIR Completed: Has Issues. Reviewer: David Mandelberg. |
2020-03-13
|
05 | Jean Mahoney | Request for Last Call review by GENART is assigned to Dan Romascanu |
2020-03-13
|
05 | Jean Mahoney | Request for Last Call review by GENART is assigned to Dan Romascanu |
2020-03-12
|
05 | Tero Kivinen | Request for Last Call review by SECDIR is assigned to David Mandelberg |
2020-03-12
|
05 | Tero Kivinen | Request for Last Call review by SECDIR is assigned to David Mandelberg |
2020-03-12
|
05 | Cindy Morgan | IANA Review state changed to IANA - Review Needed |
2020-03-12
|
05 | Cindy Morgan | The following Last Call announcement was sent out (ends 2020-04-02): From: The IESG To: IETF-Announce CC: core-chairs@ietf.org, barryleiba@gmail.com, draft-ietf-core-stateless@ietf.org, Carsten Bormann , … The following Last Call announcement was sent out (ends 2020-04-02): From: The IESG To: IETF-Announce CC: core-chairs@ietf.org, barryleiba@gmail.com, draft-ietf-core-stateless@ietf.org, Carsten Bormann , cabo@tzi.org, core@ietf.org Reply-To: last-call@ietf.org Sender: Subject: Last Call: (Extended Tokens and Stateless Clients in the Constrained Application Protocol (CoAP)) to Proposed Standard The IESG has received a request from the Constrained RESTful Environments WG (core) to consider the following document: - 'Extended Tokens and Stateless Clients in the Constrained Application Protocol (CoAP)' as Proposed Standard 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 last-call@ietf.org mailing lists by 2020-04-02. 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 This document provides considerations for alleviating CoAP clients and intermediaries of keeping per-request state. To facilitate this, this document additionally introduces a new, optional CoAP protocol extension for extended token lengths. This document updates RFCs 7252 and 8323. The file can be obtained via https://datatracker.ietf.org/doc/draft-ietf-core-stateless/ IESG discussion can be tracked via https://datatracker.ietf.org/doc/draft-ietf-core-stateless/ballot/ No IPR declarations have been submitted directly on this I-D. |
2020-03-12
|
05 | Cindy Morgan | IESG state changed to In Last Call from Last Call Requested |
2020-03-12
|
05 | Cindy Morgan | Last call announcement was changed |
2020-03-12
|
05 | Cindy Morgan | Last call announcement was generated |
2020-03-12
|
05 | Klaus Hartke | New version available: draft-ietf-core-stateless-05.txt |
2020-03-12
|
05 | (System) | New version approved |
2020-03-12
|
05 | (System) | Request for posting confirmation emailed to previous authors: Klaus Hartke |
2020-03-12
|
05 | Klaus Hartke | Uploaded new revision |
2020-03-12
|
04 | Barry Leiba | Ballot writeup was changed |
2020-03-12
|
04 | Barry Leiba | Last call was requested |
2020-03-12
|
04 | Barry Leiba | Last call announcement was generated |
2020-03-12
|
04 | Barry Leiba | Ballot approval text was generated |
2020-03-12
|
04 | Barry Leiba | Ballot writeup was generated |
2020-03-12
|
04 | Barry Leiba | IESG state changed to Last Call Requested from AD Evaluation::Point Raised - writeup needed |
2020-03-11
|
04 | Barry Leiba | IESG state changed to AD Evaluation::Point Raised - writeup needed from AD Evaluation |
2020-03-11
|
04 | Barry Leiba | IESG state changed to AD Evaluation from Publication Requested |
2020-03-11
|
04 | Barry Leiba | Shepherding AD changed to Barry Leiba |
2020-03-05
|
04 | Carsten Bormann | # draft-ietf-core-stateless-04.txt shepherd writeup Carsten Bormann 2020-03-05 (1) What type of RFC is being requested (BCP, Proposed Standard, Internet Standard, Informational, Experimental, or Historic)? Why … # draft-ietf-core-stateless-04.txt shepherd writeup Carsten Bormann 2020-03-05 (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? This is a standards-track update to RFC 7252 (CoAP) and RFC 8323 (CoAP-TCP/TLS), updating the semantics of the TKL field to support extended tokens, and defining how to use these for placing requests with reduced state-keeping requirements. (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: This is a standards-track update to RFC 7252 (CoAP) and RFC 8323 (CoAP-TCP/TLS), updating the semantics of the TKL (token length) field to support extended-length tokens, and defining how to use these for placing requests with reduced state-keeping requirements. Working Group Summary: There was considerable trepidation about touching the basic format of CoAP messages, but there is now consensus that the present approach is minimally invasive and a good way to solve the requirement for reducing per-request state in certain cases, as required e.g. by 6TiSCH. Document Quality: The document has received reviews both from core CoRE members and from members of the communities that intend to make use of it. Implementation efforts likely will be focused initially on the environments using the dependent documents; we have not surveyed that yet. Personnel: Who is the Document Shepherd? Carsten Bormann Who is the Responsible Area Director? Alexey Melnikov (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 has received detailed reviews by the shepherd in several of its stages, including the current one. (4) Does the document Shepherd have any concerns about the depth or breadth of the reviews that have been performed? No, see Document Quality above. (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. There are both security and operational implications, which have been reviewed by WG members with backgrounds in these spaces and are addressed sufficiently in the 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. No special 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? Klaus Hartke has confirmed that he is not aware of any patent claim relating to the draft. (8) Has an IPR disclosure been filed that references this document? If so, summarize any WG discussion and conclusion regarding the IPR disclosures. No. (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? Details of token use being a somewhat arcane corner of the specification, I would say that those WG members who are aware of those do understand and support this specification. (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. (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. (No ID nits found.) (12) Describe how the document meets any required formal review criteria, such as the MIB Doctor, YANG Doctor, media type, and URI type reviews. Not applicable. (13) Have all references within this document been identified as either normative or informative? Yes. One could argue whether the reference to RFC 4107 should not better be informative. (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 references (see RFC 3967)? If so, list these downward references to support the Area Director in the Last Call procedure. No. (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. Yes: An updates tag is being used for RFC 7252 and 8323. The abstract mentions this, but does not quite explain why. The introduction does explain why, but is not exposing this in a perfectly searchable way. (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 8126). The IANA Considerations exercise the "CoAP Signaling Option Numbers" registry within the "CoRE Parameters" registry, in the obvious way. (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. None. (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, YANG modules, etc. None needed. (20) If the document contains a YANG module, has the module been checked with any of the recommended validation tools (https://trac.ietf.org/trac/ops/wiki/yang-review-tools) for syntax and formatting validation? If there are any resulting errors or warnings, what is the justification for not fixing them at this time? Does the YANG module comply with the Network Management Datastore Architecture (NMDA) as specified in RFC8342? Not applicable. |
2020-03-05
|
04 | Carsten Bormann | Responsible AD changed to Alexey Melnikov |
2020-03-05
|
04 | Carsten Bormann | IETF WG state changed to Submitted to IESG for Publication from WG Consensus: Waiting for Write-Up |
2020-03-05
|
04 | Carsten Bormann | IESG state changed to Publication Requested from I-D Exists |
2020-03-05
|
04 | Carsten Bormann | IESG process started in state Publication Requested |
2020-03-05
|
04 | Carsten Bormann | Changed consensus to Yes from Unknown |
2020-03-05
|
04 | Carsten Bormann | Intended Status changed to Proposed Standard from None |
2020-03-05
|
04 | Carsten Bormann | # draft-ietf-core-stateless-04.txt shepherd writeup Carsten Bormann 2020-03-05 (1) What type of RFC is being requested (BCP, Proposed Standard, Internet Standard, Informational, Experimental, or Historic)? Why … # draft-ietf-core-stateless-04.txt shepherd writeup Carsten Bormann 2020-03-05 (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? This is a standards-track update to RFC 7252 (CoAP) and RFC 8323 (CoAP-TCP/TLS), updating the semantics of the TKL field to support extended tokens, and defining how to use these for placing requests with reduced state-keeping requirements. (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: This is a standards-track update to RFC 7252 (CoAP) and RFC 8323 (CoAP-TCP/TLS), updating the semantics of the TKL (token length) field to support extended-length tokens, and defining how to use these for placing requests with reduced state-keeping requirements. Working Group Summary: There was considerable trepidation about touching the basic format of CoAP messages, but there is now consensus that the present approach is minimally invasive and a good way to solve the requirement for reducing per-request state in certain cases, as required e.g. by 6TiSCH. Document Quality: The document has received reviews both from core CoRE members and from members of the communities that intend to make use of it. Implementation efforts likely will be focused initially on the environments using the dependent documents; we have not surveyed that yet. Personnel: Who is the Document Shepherd? Carsten Bormann Who is the Responsible Area Director? Alexey Melnikov (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 has received detailed reviews by the shepherd in several of its stages, including the current one. (4) Does the document Shepherd have any concerns about the depth or breadth of the reviews that have been performed? No, see Document Quality above. (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. There are both security and operational implications, which have been reviewed by WG members with backgrounds in these spaces and are addressed sufficiently in the 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. No special 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? Klaus Hartke has confirmed that he is not aware of any patent claim relating to the draft. (8) Has an IPR disclosure been filed that references this document? If so, summarize any WG discussion and conclusion regarding the IPR disclosures. No. (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? Details of token use being a somewhat arcane corner of the specification, I would say that those WG members who are aware of those do understand and support this specification. (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. (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. (No ID nits found.) (12) Describe how the document meets any required formal review criteria, such as the MIB Doctor, YANG Doctor, media type, and URI type reviews. Not applicable. (13) Have all references within this document been identified as either normative or informative? Yes. One could argue whether the reference to RFC 4107 should not better be informative. (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 references (see RFC 3967)? If so, list these downward references to support the Area Director in the Last Call procedure. No. (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. Yes: An updates tag is being used for RFC 7252 and 8323. The abstract mentions this, but does not quite explain why. The introduction does explain why, but is not exposing this in a perfectly searchable way. (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 8126). The IANA Considerations exercise the "CoAP Signaling Option Numbers" registry within the "CoRE Parameters" registry, in the obvious way. (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. None. (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, YANG modules, etc. None needed. (20) If the document contains a YANG module, has the module been checked with any of the recommended validation tools (https://trac.ietf.org/trac/ops/wiki/yang-review-tools) for syntax and formatting validation? If there are any resulting errors or warnings, what is the justification for not fixing them at this time? Does the YANG module comply with the Network Management Datastore Architecture (NMDA) as specified in RFC8342? Not applicable. |
2020-03-05
|
04 | Carsten Bormann | Notification list changed to Carsten Bormann <cabo@tzi.org> |
2020-03-05
|
04 | Carsten Bormann | Document shepherd changed to Carsten Bormann |
2020-03-05
|
04 | Carsten Bormann | Tag Revised I-D Needed - Issue raised by WGLC cleared. |
2020-03-05
|
04 | Carsten Bormann | IETF WG state changed to WG Consensus: Waiting for Write-Up from In WG Last Call |
2019-12-06
|
04 | Klaus Hartke | New version available: draft-ietf-core-stateless-04.txt |
2019-12-06
|
04 | (System) | New version approved |
2019-12-06
|
04 | (System) | Request for posting confirmation emailed to previous authors: Klaus Hartke |
2019-12-06
|
04 | Klaus Hartke | Uploaded new revision |
2019-10-29
|
03 | Klaus Hartke | New version available: draft-ietf-core-stateless-03.txt |
2019-10-29
|
03 | (System) | New version approved |
2019-10-29
|
03 | (System) | Request for posting confirmation emailed to previous authors: Klaus Hartke |
2019-10-29
|
03 | Klaus Hartke | Uploaded new revision |
2019-10-21
|
02 | Klaus Hartke | New version available: draft-ietf-core-stateless-02.txt |
2019-10-21
|
02 | (System) | New version approved |
2019-10-21
|
02 | (System) | Request for posting confirmation emailed to previous authors: Klaus Hartke |
2019-10-21
|
02 | Klaus Hartke | Uploaded new revision |
2019-09-12
|
01 | (System) | Document has expired |
2019-07-11
|
01 | Carsten Bormann | Tag Revised I-D Needed - Issue raised by WGLC set. |
2019-07-02
|
01 | Carsten Bormann | Till 2019-07-10. |
2019-07-02
|
01 | Carsten Bormann | IETF WG state changed to In WG Last Call from WG Document |
2019-03-11
|
01 | Klaus Hartke | New version available: draft-ietf-core-stateless-01.txt |
2019-03-11
|
01 | (System) | New version approved |
2019-03-11
|
01 | (System) | Request for posting confirmation emailed to previous authors: Klaus Hartke |
2019-03-11
|
01 | Klaus Hartke | Uploaded new revision |
2019-03-01
|
00 | Carsten Bormann | This document now replaces draft-hartke-core-stateless instead of None |
2019-03-01
|
00 | Klaus Hartke | New version available: draft-ietf-core-stateless-00.txt |
2019-03-01
|
00 | (System) | WG -00 approved |
2019-03-01
|
00 | Klaus Hartke | Set submitter to "Klaus Hartke ", replaces to draft-hartke-core-stateless and sent approval email to group chairs: core-chairs@ietf.org |
2019-03-01
|
00 | Klaus Hartke | Uploaded new revision |