Skip to main content

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