Skip to main content

The Token Binding Protocol Version 1.0
draft-ietf-tokbind-protocol-19

Revision differences

Document history

Date Rev. By Action
2018-09-25
19 (System) RFC Editor state changed to AUTH48-DONE from AUTH48
2018-09-17
19 (System) RFC Editor state changed to AUTH48 from RFC-EDITOR
2018-09-12
19 (System) RFC Editor state changed to RFC-EDITOR from EDIT
2018-07-26
19 (System) IANA Action state changed to RFC-Ed-Ack from Waiting on RFC Editor
2018-07-25
19 (System) IANA Action state changed to Waiting on RFC Editor from Waiting on Authors
2018-07-25
19 (System) IANA Action state changed to Waiting on Authors from In Progress
2018-07-25
19 (System) IANA Action state changed to In Progress from Waiting on Authors
2018-07-24
19 (System) IANA Action state changed to Waiting on Authors from In Progress
2018-07-20
19 (System) RFC Editor state changed to EDIT
2018-07-20
19 (System) IESG state changed to RFC Ed Queue from Approved-announcement sent
2018-07-20
19 (System) Announcement was received by RFC Editor
2018-07-20
19 (System) IANA Action state changed to In Progress
2018-07-20
19 Cindy Morgan IESG state changed to Approved-announcement sent from Approved-announcement to be sent
2018-07-20
19 Cindy Morgan IESG has approved the document
2018-07-20
19 Cindy Morgan Closed "Approve" ballot
2018-07-20
19 Cindy Morgan Ballot approval text was generated
2018-07-20
19 Eric Rescorla IESG state changed to Approved-announcement to be sent from Approved-announcement to be sent::AD Followup
2018-07-20
19 John Bradley
Shepherd Write-Up for "The Token Binding Protocol Version 1.0”


(1) What type of RFC is being requested (BCP, Proposed Standard,
Internet Standard, Informational, Experimental, or …
Shepherd Write-Up for "The Token Binding Protocol Version 1.0”


(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 specification is proposed as a 'Proposed Standard' document. The
type of RFC is indicated. This document specifies Version 1.0 of the Token Binding protocol. 

(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

The Token Binding protocol allows client/server applications to create long-lived, uniquely identifiable TLS bindings spanning multiple TLS sessions and connections.  Applications are then enabled to cryptographically bind security tokens to the TLS layer, preventing token export and replay attacks.  To protect privacy, the Token Binding identifiers are only conveyed over TLS and can be reset by the user at any time.

Working Group Summary

This document achieved WG consensus and had one objection.

Document Quality

Multiple Implementations of Token Binding exist and have undergone informal interoperability testing.
Google has token binding behind a feature flag in Chrome that is currently defaulted off.  They have also implemented it in their reverse proxy infrastructure. They have also added support to the boringssl open source project.
Microsoft added support in Windows 10 RS2 at the beginning of 2017 (later back ported to RS1) .  Edge and IE use that platform support.  It is also available to other applications via system API.  There is also support in ADFS. https://docs.microsoft.com/en-us/windows-server/security/token-binding/introducing-token-binding
NGINX has an open source module https://github.com/google/ngx_token_binding
Token Binding support for Apache https://github.com/zmartzone/mod_token_binding
Openssl patches in opensource https://github.com/google/token_bind
Ping Identity has tested patches to Java and set up a test environment. https://www.ietf.org/mail-archive/web/unbearable/current/msg01332.html
A useful slide share overview https://www.slideshare.net/Identiverse/beyond-bearer-token-binding-as-the-foundation-for-a-more-secure-web-cis-2017
Drafts using token binding exist in the OAuth work group and for OpenID Connect.

Personnel

John Bradley is the document shepherd and the responsible area
director is Eric Rescorla.

(3) Briefly describe the review of this document that was performed by
the Document Shepherd.  If this version of the document is not ready
for publication, please explain why the document is being forwarded to
the IESG.

The document shepherd was involved in the working group review process
and verified the document for correctness.

(4) Does the document Shepherd have any concerns about the depth or
breadth of the reviews that have been performed? 

There are no concerns regarding the document reviews.

(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.

No

(6) Describe any specific concerns or issues that the Document Shepherd
has with this document that the Responsible Area Director and/or the
IESG should be aware of? For example, perhaps he or she is uncomfortable
with certain parts of the document, or has concerns whether there really
is a need for it. In any event, if the WG has discussed those issues and
has indicated that it still wishes to advance the document, detail those
concerns here.

The document shepherd has no concerns with the document.

(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.

The authors have confirmed full conformance with the provisions of BCP 78
and BCP 79:

A. Popov: https://mailarchive.ietf.org/arch/msg/unbearable/Z_E1_h7hMV1mmvjax2USpuzeGho

M. Nystroem: https://mailarchive.ietf.org/arch/msg/unbearable/xQ1R-WbUyjcJkTqncNVoSNkmch4

D. Balfanz: https://mailarchive.ietf.org/arch/msg/unbearable/SFbtjN8H7kTgtpRYRcgpYx4C8gQ
A. Langley: https://mailarchive.ietf.org/arch/msg/unbearable/SFbtjN8H7kTgtpRYRcgpYx4C8gQ

J. Hodges: https://mailarchive.ietf.org/arch/msg/unbearable/l6IyBK035xv02zoPQEdUIViYLXY
                                                         



(8) Has an IPR disclosure been filed that references this document?
If so, summarize any WG discussion and conclusion regarding the IPR
disclosures.

No IPR disclosures have been filed for this document.

(9) How solid is the WG consensus behind this document? Does it
represent the strong concurrence of a few individuals, with others
being silent, or does the WG as a whole understand and agree with it? 

There is solid consensus in the working group for publishing this
document.

(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.)

Denis Pinkas raised objections.  The working group added security and privacy considerations in an attempt to address his concerns around users colluding to share private keys or using their key to sign EKM from other devices to actively circumvent token binding.
The working group felt that the specific attribute based credentials use case he is concerned about is out of scope for token binding.  Token binding protects users from attackers but not servers from sophisticated users actively attempting to share cookies or other security tokens.  I expect that he will raise objections to the IESG.

(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.

The shepherd checked the document.

(12) Describe how the document meets any required formal review
criteria, such as the MIB Doctor, media type, and URI type reviews.

No formal review is needed.

(13) Have all references within this document been identified as
either normative or informative?

Yes. The references are split into normative and informative references.

(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?

All normative references are published RFCs.

(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.

There are no downward normative references.

(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.

This document does not change the status of an existing RFC.

(17) Describe the Document Shepherd's review of the IANA considerations
section, especially with regard to its consistency with the body of the
document. Confirm that all protocol extensions that the document makes
are associated with the appropriate reservations in IANA registries.
Confirm that any referenced IANA registries have been clearly
identified. Confirm that newly created IANA registries include a
detailed specification of the initial contents for the registry, that
allocations procedures for future registrations are defined, and a
reasonable name for the new registry has been suggested (see RFC 5226).

The document includes a detailed specification of the contents of the three new registries.

(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.

This document establishes three new registries.

This document establishes a registry for identifiers of Token Binding key parameters entitled "Token Binding Key Parameters" under the "Token Binding Protocol" heading.
This document establishes a registry for Token Binding type identifiers entitled "Token Binding Types" under the "Token Binding Protocol" heading.
This document establishes a registry for Token Binding type identifiers entitled "Token Binding Types" under the "Token Binding Protocol" heading.


These registries operate under the "Expert Review" policy as defined in [RFC8126].  The designated expert is advised to encourage the inclusion of a reference to a permanent and readily available specification that enables the creation of interoperable implementations using the identified set of Token Binding key parameters.
IANA experts should have experience with toen binding.  The registries can share experts and a single list.

(19) Describe reviews and automated checks performed by the Document
Shepherd to validate sections of the document written in a formal
language, such as XML code, BNF rules, MIB definitions, etc.

There is no text in formal languages in the document.
2018-05-23
19 (System) Sub state has been changed to AD Followup from Revised ID Needed
2018-05-23
19 Andrei Popov New version available: draft-ietf-tokbind-protocol-19.txt
2018-05-23
19 (System) New version approved
2018-05-23
19 (System) Request for posting confirmation emailed to previous authors: Andrey Popov , Dirk Balfanz , Magnus Nystrom , Adam Langley , tokbind-chairs@ietf.org, Jeff Hodges
2018-05-23
19 Andrei Popov Uploaded new revision
2018-05-10
18 Cindy Morgan IESG state changed to Approved-announcement to be sent::Revised I-D Needed from IESG Evaluation
2018-05-10
18 Benjamin Kaduk
[Ballot comment]
Updated to note that using referred_token_bindings inherently involves
exposing a client's identifier (token binding ID) used with the Relying Party
to the Identity …
[Ballot comment]
Updated to note that using referred_token_bindings inherently involves
exposing a client's identifier (token binding ID) used with the Relying Party
to the Identity Provider.  Though this is in some sense obvious, it's probably
still worth mentioning in the Privacy Considerations (along with the mitigating
factor that the IdP is pretty inherently trusted).

Original ballot follows.

Section 2

  When a server supporting the Token Binding protocol receives a bound
  token, the server compares the Token Binding ID in the token with the
  Token Binding ID established with the client.  If the bound token
  came from a TLS connection without a Token Binding, or if the Token
  Binding IDs do not match, the token is rejected.

"came from" is perhaps a bit ambiguous; I'd suggest "is received on"
instead.


Section 3.3

The need for synchronization between application+token-binding and
the TLS stack (around renegotiation) is real, but is also potentially
really hard.  Can we get some guidance on how to not screw it up?


Section 3.4

  An implementation MUST ignore any unknown Token Binding types.

This is the section on extensions; do we mean to say that unknown
extension types are to be ignored?  (If we do, it would seem to
duplicate a line in Section 4.2.)


Section 4.1

  The client MUST include at least one TokenBinding structure in the
  Token Binding message.  The key parameters used in the
  provided_token_binding MUST match those negotiated with the server
  (e.g., via [I-D.ietf-tokbind-negotiation] or a different mechanism).

This seems to imply but not specifically state that the mandatory
TokenBinding is of type provided_token_binding.  Changing "the" to
"this" in the second line would subtly sneak this in, but it's
probably better to also explicitly say "of type
provided_token_binding" in the first sentence.


Section 4.2

I would suggest adding a pargaraph break between the sentences in

  If the use of the Token Binding protocol was not negotiated, but the
  client sends the Token Binding message, the server MUST reject any
  contained bindings.  If the Token Binding type is
  "provided_token_binding", the server MUST verify that the signature
  algorithm (including elliptic curve in the case of ECDSA) and key
  length in the Token Binding message match those negotiated with this
  client (e.g., via [I-D.ietf-tokbind-negotiation] or a different
  mechanism).


  If a Token Binding is rejected, any associated bound tokens MUST also
  be rejected by the server. [...]

Is "associated" scoped to "presented on the current TLS connection"
or a more global property?  (I understand that the association could
be either via direct embedding of ID in token or via an external
database mapping.)


Section 6.1

This policy sounds more like "Specification Required" than "Expert
Review" (the former still includes expert review).
2018-05-10
18 Benjamin Kaduk Ballot comment text updated for Benjamin Kaduk
2018-05-10
18 Benjamin Kaduk
[Ballot comment]
Section 2

  When a server supporting the Token Binding protocol receives a bound
  token, the server compares the Token Binding ID …
[Ballot comment]
Section 2

  When a server supporting the Token Binding protocol receives a bound
  token, the server compares the Token Binding ID in the token with the
  Token Binding ID established with the client.  If the bound token
  came from a TLS connection without a Token Binding, or if the Token
  Binding IDs do not match, the token is rejected.

"came from" is perhaps a bit ambiguous; I'd suggest "is received on"
instead.


Section 3.3

The need for synchronization between application+token-binding and
the TLS stack (around renegotiation) is real, but is also potentially
really hard.  Can we get some guidance on how to not screw it up?


Section 3.4

  An implementation MUST ignore any unknown Token Binding types.

This is the section on extensions; do we mean to say that unknown
extension types are to be ignored?  (If we do, it would seem to
duplicate a line in Section 4.2.)


Section 4.1

  The client MUST include at least one TokenBinding structure in the
  Token Binding message.  The key parameters used in the
  provided_token_binding MUST match those negotiated with the server
  (e.g., via [I-D.ietf-tokbind-negotiation] or a different mechanism).

This seems to imply but not specifically state that the mandatory
TokenBinding is of type provided_token_binding.  Changing "the" to
"this" in the second line would subtly sneak this in, but it's
probably better to also explicitly say "of type
provided_token_binding" in the first sentence.


Section 4.2

I would suggest adding a pargaraph break between the sentences in

  If the use of the Token Binding protocol was not negotiated, but the
  client sends the Token Binding message, the server MUST reject any
  contained bindings.  If the Token Binding type is
  "provided_token_binding", the server MUST verify that the signature
  algorithm (including elliptic curve in the case of ECDSA) and key
  length in the Token Binding message match those negotiated with this
  client (e.g., via [I-D.ietf-tokbind-negotiation] or a different
  mechanism).


  If a Token Binding is rejected, any associated bound tokens MUST also
  be rejected by the server. [...]

Is "associated" scoped to "presented on the current TLS connection"
or a more global property?  (I understand that the association could
be either via direct embedding of ID in token or via an external
database mapping.)


Section 6.1

This policy sounds more like "Specification Required" than "Expert
Review" (the former still includes expert review).
2018-05-10
18 Benjamin Kaduk [Ballot Position Update] New position, Yes, has been recorded for Benjamin Kaduk
2018-05-10
18 Suresh Krishnan [Ballot Position Update] New position, No Objection, has been recorded for Suresh Krishnan
2018-05-09
18 Amanda Baber IANA Review state changed to IANA OK - Actions Needed from Version Changed - Review Needed
2018-05-09
18 Terry Manderson [Ballot Position Update] New position, No Objection, has been recorded for Terry Manderson
2018-05-09
18 (System) IANA Review state changed to Version Changed - Review Needed from IANA OK - Actions Needed
2018-05-09
18 Andrei Popov New version available: draft-ietf-tokbind-protocol-18.txt
2018-05-09
18 (System) New version approved
2018-05-09
18 (System) Request for posting confirmation emailed to previous authors: Andrey Popov , Dirk Balfanz , Magnus Nystrom , Adam Langley , tokbind-chairs@ietf.org, Jeff Hodges
2018-05-09
18 Andrei Popov Uploaded new revision
2018-05-09
17 Amanda Baber IANA Review state changed to IANA OK - Actions Needed from Version Changed - Review Needed
2018-05-09
17 Spencer Dawkins [Ballot Position Update] New position, No Objection, has been recorded for Spencer Dawkins
2018-05-09
17 Martin Vigoureux [Ballot Position Update] New position, No Objection, has been recorded for Martin Vigoureux
2018-05-09
17 Alvaro Retana [Ballot Position Update] New position, No Objection, has been recorded for Alvaro Retana
2018-05-09
17 Ben Campbell
[Ballot comment]
Thanks for this document. I am balloting "yes", but I have a few minor comments:

Minor Comments:

§1.1: Please consider using the boilerplate …
[Ballot comment]
Thanks for this document. I am balloting "yes", but I have a few minor comments:

Minor Comments:

§1.1: Please consider using the boilerplate from 8174 across this cluster. There are a few instances of lower case keywords across the set.

§3.1: This section does not seem to sufficiently define the difference between provided_token_binding and referred_token_binding, other than as a mention of the use case from the HTTPS doc. It would be nice if other application protocol bindings did not have to refer to the HTTPS doc to fully understand the basic protocol. (Or is it assumed that only HTTPS will use referred_token_binding)?

§3.2, last paragraph: Why is this a SHOULD? Do you envision scenarios where it would make sense to behave differently? For example, if an application made Token Binding IDs available as structured data, what would be the consequences?

§3.3, last bullet: Is the EKM from the TLS connection at the time the binding is established (rather than when it might later be used)?

§4.1, 2nd paragraph: Why only a SHOULD? It seems like intentionally storing keys in an insecure manner makes the entire protocol pointless.

§6.1 (and others): I'm not sure what it means for the expert to be "advised to encourage". Is there something more concrete that could be said? Does this give the advisor grounds to reject a registration?

Editorial Comments:

§1: Please expand TPM on first mention.
2018-05-09
17 Ben Campbell [Ballot Position Update] New position, Yes, has been recorded for Ben Campbell
2018-05-09
17 Deborah Brungard [Ballot Position Update] New position, No Objection, has been recorded for Deborah Brungard
2018-05-09
17 Alissa Cooper [Ballot Position Update] Position for Alissa Cooper has been changed to Yes from No Objection
2018-05-09
17 Alissa Cooper [Ballot Position Update] New position, No Objection, has been recorded for Alissa Cooper
2018-05-07
17 Ignas Bagdonas
[Ballot comment]
A clearly written document. Thank you.

A small nit: the document states that it specifies version 1.0 of protocol, but the actual version …
[Ballot comment]
A clearly written document. Thank you.

A small nit: the document states that it specifies version 1.0 of protocol, but the actual version value is defined in tokbind-negotiation document, there is no mention of version encoding in the protocol document itself. Is this intentional?
2018-05-07
17 Ignas Bagdonas [Ballot Position Update] New position, No Objection, has been recorded for Ignas Bagdonas
2018-05-07
17 Adam Roach
[Ballot comment]
Thanks for a well-written document. I have only one very small nit to incorporate if a new version of the document is produced …
[Ballot comment]
Thanks for a well-written document. I have only one very small nit to incorporate if a new version of the document is produced prior to RFC editor hand-off:

§1:

>  A Token Binding is established by a user agent generating a private-
>  public key pair (possibly, within a secure hardware module, such as
>  TPM)

Nit: remove comma after "possibly"
2018-05-07
17 Adam Roach [Ballot Position Update] New position, Yes, has been recorded for Adam Roach
2018-05-06
17 Warren Kumari
[Ballot comment]
Please also see Victor’s OpsDir review (if not already done).

You may want RFC 8174 instead of RFC 2119.

I’m slightly confused …
[Ballot comment]
Please also see Victor’s OpsDir review (if not already done).

You may want RFC 8174 instead of RFC 2119.

I’m slightly confused by “This message MUST be  sent if the client and server successfully negotiated the use of the  Token Binding protocol” - is this *always* true? What if I’ve cleared my token bindings? Likely just confused...
2018-05-06
17 Warren Kumari [Ballot Position Update] New position, Yes, has been recorded for Warren Kumari
2018-05-06
17 Alexey Melnikov [Ballot comment]
Thank you for completing this work!

Nit: I think SHA256 needs a reference on first use.
2018-05-06
17 Alexey Melnikov [Ballot Position Update] New position, Yes, has been recorded for Alexey Melnikov
2018-05-03
17 Eric Rescorla Changed consensus to Yes from Yes
2018-05-03
17 Eric Rescorla Changed consensus to Yes from Unknown
2018-04-26
17 Mirja Kühlewind
[Ballot comment]
Sorry for spamming but one more update (after reading draft-ietf-tokbind-https):
In sec 3: "This message  MUST be sent in the client's first …
[Ballot comment]
Sorry for spamming but one more update (after reading draft-ietf-tokbind-https):
In sec 3: "This message  MUST be sent in the client's first application protocol message."
Why is that a generic requirement for all uses of token binding and not just for HTTPS?

Update (after reading draft-ietf-tokbind-negotiation): Given different negotiation mechanisms could be used, maybe it would make sense to say slightly more about version handling in this doc as well, e.g. at least explaining/requiring that version negotiation is done by the negotiation protocol...

Maybe I'm just missing something but given the TokenBindingType and the TB_ExtensionType share the same number space, how do I know if there is another TokenBinding or and an TB_Extension following after the signature?

Nit:
Please spell out TPM (in sec 1).
2018-04-26
17 Mirja Kühlewind Ballot comment text updated for Mirja Kühlewind
2018-04-26
17 Mirja Kühlewind
[Ballot comment]
Update (after reading draft-ietf-tokbind-negotiation): Given different negotiation mechanisms could be used, maybe it would make sense to say slightly more about version …
[Ballot comment]
Update (after reading draft-ietf-tokbind-negotiation): Given different negotiation mechanisms could be used, maybe it would make sense to say slightly more about version handling in this doc as well, e.g. at least explaining/requiring that version negotiation is done by the negotiation protocol...

Maybe I'm just missing something but given the TokenBindingType and the TB_ExtensionType share the same number space, how do I know if there is another TokenBinding or and an TB_Extension following after the signature?

Nit:
Please spell out TPM (in sec 1).
2018-04-26
17 Mirja Kühlewind Ballot comment text updated for Mirja Kühlewind
2018-04-26
17 Mirja Kühlewind
[Ballot comment]
Maybe I'm just missing something but given the TokenBindingType and the TB_ExtensionType share the same number space, how do I know if there …
[Ballot comment]
Maybe I'm just missing something but given the TokenBindingType and the TB_ExtensionType share the same number space, how do I know if there is another TokenBinding or and an TB_Extension following after the signature?

Nit:
Please spell out TPM (in sec 1).
2018-04-26
17 Mirja Kühlewind [Ballot Position Update] New position, No Objection, has been recorded for Mirja Kühlewind
2018-04-19
17 Matthew Miller Request for Telechat review by ARTART Completed: Ready. Reviewer: Matthew Miller. Sent review to list.
2018-04-13
17 (System) IANA Review state changed to Version Changed - Review Needed from IANA OK - Actions Needed
2018-04-13
17 Andrei Popov New version available: draft-ietf-tokbind-protocol-17.txt
2018-04-13
17 (System) New version approved
2018-04-13
17 (System) Request for posting confirmation emailed to previous authors: Andrey Popov , Dirk Balfanz , Magnus Nystrom , Adam Langley , tokbind-chairs@ietf.org, Jeff Hodges
2018-04-13
17 Andrei Popov Uploaded new revision
2018-03-30
16 (System) IANA Review state changed to IANA OK - Actions Needed from IANA - Not OK
2018-03-28
16 Suhas Nandakumar Request for Telechat review by ARTART is assigned to Matthew Miller
2018-03-28
16 Suhas Nandakumar Request for Telechat review by ARTART is assigned to Matthew Miller
2018-03-19
16 Eric Rescorla Placed on agenda for telechat - 2018-05-10
2018-03-19
16 Eric Rescorla IESG state changed to IESG Evaluation from Waiting for Writeup
2018-03-19
16 Eric Rescorla Ballot has been issued
2018-03-19
16 Eric Rescorla [Ballot Position Update] New position, Yes, has been recorded for Eric Rescorla
2018-03-19
16 Eric Rescorla Created "Approve" ballot
2018-03-19
16 Eric Rescorla Ballot writeup was changed
2017-11-30
16 Jouni Korhonen Request for Last Call review by GENART Completed: Ready. Reviewer: Jouni Korhonen. Sent review to list.
2017-11-27
16 Victor Kuarsingh Request for Last Call review by OPSDIR Completed: Ready. Reviewer: Victor Kuarsingh. Sent review to list.
2017-11-27
16 (System) IESG state changed to Waiting for Writeup from In Last Call
2017-11-24
16 (System) IANA Review state changed to IANA - Not OK from IANA - Review Needed
2017-11-24
16 Amanda Baber
(Via drafts-lastcall@iana.org): IESG/Authors/WG Chairs:

The IANA Services Operator has completed its review of draft-ietf-tokbind-protocol-16. If any part of this review is inaccurate, please let …
(Via drafts-lastcall@iana.org): IESG/Authors/WG Chairs:

The IANA Services Operator has completed its review of draft-ietf-tokbind-protocol-16. If any part of this review is inaccurate, please let us know.

The IANA Services Operator has a question about the actions requested in the IANA Considerations section of this document. In addition, we should note that while the TLS Exporter Label request requires expert review, we understand that we will be unable to submit this registration for review until draft-ietf-tls-iana-registry-updates establishes a new pool of experts for that registry.

The IANA Services Operator understands that, upon approval of this document, there are four actions which we must complete.

This document requests the creation of three new registries related to token binding.

IANA QUESTION -> Where should these new registries be located? If you want us to create a new registry page, 1) what should be the title of the page, and 2) do the registries require their own category at http://www.iana.org/protocols?

First, a new registry called Token Binding Key Parameters will be created.  The location of the new registry is to be determined in consultation with the authors, per the question above. The new registry will be managed via Expert Review as defined by [RFC8126].

These are the initial registrations:

Value Description Reference
------+-------------------------------------+------------------
0 rsa2048_pkcs1.5 [ RFC-to-be ]
1 rsa2048_pss [ RFC-to-be ]
2 ecdsap256 [ RFC-to-be ]
3-255 Unassigned

Second, a registry called Token Binding Types will be created. The location of the new registry is also to be determined in consultation with the authors, per the question above. The new registry will be managed via Expert Review as defined by [RFC8126].

These are the initial registrations:

Value Description Reference
------+-------------------------------------+------------------
0 provided_token_binding [ RFC-to-be ]
1 referred_token_binding [ RFC-to-be ]
2-255 Unassigned

Third, a registry called Token Extensions will be created.  The location of the new registry is also to be determined in consultation with the authors, per the question above. The new registry will be managed via Expert Review as defined by [RFC8126].

There are no initial registrations in the new registry.

Fourth, in the TLS Exporter Label Registry on the Transport Layer Security (TLS) Parameters registry page located at:

https://www.iana.org/assignments/tls-parameters/

a single, new label is to be registered as follows:

Value: EXPORTER-Token-Binding
DTLS-OK: [See below]
Reference: [ RFC-to-be ]
Note:

IANA Question: What should be used as the value for the field "DTLS-OK" for this registration?

NOTE: This registration requires expert review, but as mentioned above, we understand that we cannot submit this request for review until a new pool of TLS experts is established by draft-ietf-tls-iana-registry-updates. In the meantime, this document will be marked "IANA - Not OK" in the datatracker.

The IANA Services Operator understands that these four actions are the only ones 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 only to confirm our understanding of the actions to be performed.

Thank you,

Amanda Baber
Lead IANA Services Specialist
2017-11-24
16 Yoav Nir Request for Last Call review by SECDIR Completed: Ready. Reviewer: Yoav Nir. Sent review to list.
2017-11-21
16 Gunter Van de Velde Request for Last Call review by OPSDIR is assigned to Victor Kuarsingh
2017-11-21
16 Gunter Van de Velde Request for Last Call review by OPSDIR is assigned to Victor Kuarsingh
2017-11-18
16 Tero Kivinen Request for Last Call review by SECDIR is assigned to Yoav Nir
2017-11-18
16 Tero Kivinen Request for Last Call review by SECDIR is assigned to Yoav Nir
2017-11-16
16 Jean Mahoney Request for Last Call review by GENART is assigned to Jouni Korhonen
2017-11-16
16 Jean Mahoney Request for Last Call review by GENART is assigned to Jouni Korhonen
2017-11-13
16 Amy Vezza IANA Review state changed to IANA - Review Needed
2017-11-13
16 Amy Vezza
The following Last Call announcement was sent out (ends 2017-11-27):

From: The IESG
To: IETF-Announce
CC: ekr@rtfm.com, John Bradley , unbearable@ietf.org, draft-ietf-tokbind-protocol@ietf.org, …
The following Last Call announcement was sent out (ends 2017-11-27):

From: The IESG
To: IETF-Announce
CC: ekr@rtfm.com, John Bradley , unbearable@ietf.org, draft-ietf-tokbind-protocol@ietf.org, ve7jtb@ve7jtb.com, tokbind-chairs@ietf.org
Reply-To: ietf@ietf.org
Sender:
Subject: Last Call:  (The Token Binding Protocol Version 1.0) to Proposed Standard


The IESG has received a request from the Token Binding WG (tokbind) to
consider the following document: - 'The Token Binding Protocol Version 1.0'
  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
ietf@ietf.org mailing lists by 2017-11-27. 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 specifies Version 1.0 of the Token Binding protocol.
  The Token Binding protocol allows client/server applications to
  create long-lived, uniquely identifiable TLS bindings spanning
  multiple TLS sessions and connections.  Applications are then enabled
  to cryptographically bind security tokens to the TLS layer,
  preventing token export and replay attacks.  To protect privacy, the
  Token Binding identifiers are only conveyed over TLS and can be reset
  by the user at any time.




The file can be obtained via
https://datatracker.ietf.org/doc/draft-ietf-tokbind-protocol/

IESG discussion can be tracked via
https://datatracker.ietf.org/doc/draft-ietf-tokbind-protocol/ballot/


No IPR declarations have been submitted directly on this I-D.




2017-11-13
16 Amy Vezza IESG state changed to In Last Call from Last Call Requested
2017-11-13
16 Eric Rescorla Last call was requested
2017-11-13
16 Eric Rescorla Last call announcement was generated
2017-11-13
16 Eric Rescorla Ballot approval text was generated
2017-11-13
16 Eric Rescorla Ballot writeup was generated
2017-11-13
16 Eric Rescorla IESG state changed to Last Call Requested from AD Evaluation::AD Followup
2017-10-15
16 (System) Sub state has been changed to AD Followup from Revised ID Needed
2017-10-15
16 Andrei Popov New version available: draft-ietf-tokbind-protocol-16.txt
2017-10-15
16 (System) New version approved
2017-10-15
16 (System) Request for posting confirmation emailed to previous authors: Andrey Popov , Dirk Balfanz , Magnus Nystrom , Adam Langley , tokbind-chairs@ietf.org, Jeff Hodges
2017-10-15
16 Andrei Popov Uploaded new revision
2017-10-07
15 Eric Rescorla IESG state changed to AD Evaluation::Revised I-D Needed from Publication Requested
2017-09-29
15 John Bradley
Shepherd Write-Up for "The Token Binding Protocol Version 1.0”


(1) What type of RFC is being requested (BCP, Proposed Standard,
Internet Standard, Informational, Experimental, or …
Shepherd Write-Up for "The Token Binding Protocol Version 1.0”


(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 specification is proposed as a 'Proposed Standard' document. The
type of RFC is indicated. This document specifies Version 1.0 of the Token Binding protocol. 

(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

The Token Binding protocol allows client/server applications to create long-lived, uniquely identifiable TLS bindings spanning multiple TLS sessions and connections.  Applications are then enabled to cryptographically bind security tokens to the TLS layer, preventing token export and replay attacks.  To protect privacy, the Token Binding identifiers are only conveyed over TLS and can be reset by the user at any time.

Working Group Summary

This document achieved WG consensus and had one objection.

Document Quality

Multiple Implementations of Token Binding exist and have undergone informal interoperability testing.
Google has token binding behind a feature flag in Chrome that is currently defaulted off.  They have also implemented it in their reverse proxy infrastructure. They have also added support to the boringssl open source project.
Microsoft added support in Windows 10 RS2 at the beginning of 2017 (later back ported to RS1) .  Edge and IE use that platform support.  It is also available to other applications via system API.  There is also support in ADFS. https://docs.microsoft.com/en-us/windows-server/security/token-binding/introducing-token-binding
NGINX has an open source module https://github.com/google/ngx_token_binding
Token Binding support for Apache https://github.com/google/ngx_token_binding
Openssl patches in opensource https://github.com/google/token_bind
Ping Identity has tested patches to Java and set up a test environment. https://www.ietf.org/mail-archive/web/unbearable/current/msg01332.html
A useful slide share overview https://www.slideshare.net/Identiverse/beyond-bearer-token-binding-as-the-foundation-for-a-more-secure-web-cis-2017
Drafts using token binding exist in the OAuth work group and for OpenID Connect.

Personnel

John Bradley is the document shepherd and the responsible area
director is Eric Rescorla.

(3) Briefly describe the review of this document that was performed by
the Document Shepherd.  If this version of the document is not ready
for publication, please explain why the document is being forwarded to
the IESG.

The document shepherd was involved in the working group review process
and verified the document for correctness.

(4) Does the document Shepherd have any concerns about the depth or
breadth of the reviews that have been performed? 

There are no concerns regarding the document reviews.

(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.

No

(6) Describe any specific concerns or issues that the Document Shepherd
has with this document that the Responsible Area Director and/or the
IESG should be aware of? For example, perhaps he or she is uncomfortable
with certain parts of the document, or has concerns whether there really
is a need for it. In any event, if the WG has discussed those issues and
has indicated that it still wishes to advance the document, detail those
concerns here.

The document shepherd has no concerns with the document.

(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.

The authors have confirmed full conformance with the provisions of BCP 78
and BCP 79:

A. Popov: https://mailarchive.ietf.org/arch/msg/unbearable/Z_E1_h7hMV1mmvjax2USpuzeGho

M. Nystroem: https://mailarchive.ietf.org/arch/msg/unbearable/xQ1R-WbUyjcJkTqncNVoSNkmch4

D. Balfanz: https://mailarchive.ietf.org/arch/msg/unbearable/SFbtjN8H7kTgtpRYRcgpYx4C8gQ
A. Langley: https://mailarchive.ietf.org/arch/msg/unbearable/SFbtjN8H7kTgtpRYRcgpYx4C8gQ

J. Hodges: https://mailarchive.ietf.org/arch/msg/unbearable/l6IyBK035xv02zoPQEdUIViYLXY
                                                         



(8) Has an IPR disclosure been filed that references this document?
If so, summarize any WG discussion and conclusion regarding the IPR
disclosures.

No IPR disclosures have been filed for this document.

(9) How solid is the WG consensus behind this document? Does it
represent the strong concurrence of a few individuals, with others
being silent, or does the WG as a whole understand and agree with it? 

There is solid consensus in the working group for publishing this
document.

(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.)

Denis Pinkas raised objections.  The working group added security and privacy considerations in an attempt to address his concerns around users colluding to share private keys or using their key to sign EKM from other devices to actively circumvent token binding.
The working group felt that the specific attribute based credentials use case he is concerned about is out of scope for token binding.  Token binding protects users from attackers but not servers from sophisticated users actively attempting to share cookies or other security tokens.  I expect that he will raise objections to the IESG.

(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.

The shepherd checked the document.

(12) Describe how the document meets any required formal review
criteria, such as the MIB Doctor, media type, and URI type reviews.

No formal review is needed.

(13) Have all references within this document been identified as
either normative or informative?

Yes. The references are split into normative and informative references.

(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?

All normative references are published RFCs.

(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.

There are no downward normative references.

(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.

This document does not change the status of an existing RFC.

(17) Describe the Document Shepherd's review of the IANA considerations
section, especially with regard to its consistency with the body of the
document. Confirm that all protocol extensions that the document makes
are associated with the appropriate reservations in IANA registries.
Confirm that any referenced IANA registries have been clearly
identified. Confirm that newly created IANA registries include a
detailed specification of the initial contents for the registry, that
allocations procedures for future registrations are defined, and a
reasonable name for the new registry has been suggested (see RFC 5226).

The document includes a detailed specification of the contents of the three new registries.

(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.

This document establishes three new registries.

This document establishes a registry for identifiers of Token Binding key parameters entitled "Token Binding Key Parameters" under the "Token Binding Protocol" heading.
This document establishes a registry for Token Binding type identifiers entitled "Token Binding Types" under the "Token Binding Protocol" heading.
This document establishes a registry for Token Binding type identifiers entitled "Token Binding Types" under the "Token Binding Protocol" heading.


These registries operate under the "Expert Review" policy as defined in [RFC8126].  The designated expert is advised to encourage the inclusion of a reference to a permanent and readily available specification that enables the creation of interoperable implementations using the identified set of Token Binding key parameters.
IANA experts should have experience with toen binding.  The registries can share experts and a single list.

(19) Describe reviews and automated checks performed by the Document
Shepherd to validate sections of the document written in a formal
language, such as XML code, BNF rules, MIB definitions, etc.

There is no text in formal languages in the document.
2017-09-29
15 John Bradley Responsible AD changed to Eric Rescorla
2017-09-29
15 John Bradley IETF WG state changed to Submitted to IESG for Publication from WG Consensus: Waiting for Write-Up
2017-09-29
15 John Bradley IESG state changed to Publication Requested
2017-09-29
15 John Bradley IESG process started in state Publication Requested
2017-09-28
15 John Bradley Changed document writeup
2017-09-27
15 John Bradley Changed document writeup
2017-09-25
15 John Bradley IETF WG state changed to WG Consensus: Waiting for Write-Up from Waiting for WG Chair Go-Ahead
2017-09-25
15 John Bradley Notification list changed to John Bradley <ve7jtb@ve7jtb.com>
2017-09-25
15 John Bradley Document shepherd changed to John Bradley
2017-07-20
15 Andrei Popov New version available: draft-ietf-tokbind-protocol-15.txt
2017-07-20
15 (System) New version approved
2017-07-20
15 (System) Request for posting confirmation emailed to previous authors: Andrey Popov , Dirk Balfanz , Magnus Nystrom , Adam Langley , tokbind-chairs@ietf.org, Jeff Hodges
2017-07-20
15 Andrei Popov Uploaded new revision
2017-04-21
14 Andrei Popov New version available: draft-ietf-tokbind-protocol-14.txt
2017-04-21
14 (System) New version approved
2017-04-21
14 (System) Request for posting confirmation emailed to previous authors: Andrey Popov , Dirk Balfanz , Magnus Nystrom , Adam Langley , tokbind-chairs@ietf.org, Jeff Hodges
2017-04-21
14 Andrei Popov Uploaded new revision
2017-03-27
13 Leif Johansson IETF WG state changed to Waiting for WG Chair Go-Ahead from In WG Last Call
2017-02-16
13 Andrei Popov New version available: draft-ietf-tokbind-protocol-13.txt
2017-02-16
13 (System) New version approved
2017-02-16
13 (System) Request for posting confirmation emailed to previous authors: "Magnus Nystrom" , "Adam Langley" , "Dirk Balfanz" , "Andrey Popov" , tokbind-chairs@ietf.org, "Jeff Hodges"
2017-02-16
13 Andrei Popov Uploaded new revision
2017-02-16
12 Andrei Popov New version available: draft-ietf-tokbind-protocol-12.txt
2017-02-16
12 (System) New version approved
2017-02-16
12 (System) Request for posting confirmation emailed to previous authors: "Magnus Nystrom" , "Adam Langley" , "Dirk Balfanz" , "Andrey Popov" , tokbind-chairs@ietf.org, "Jeff Hodges"
2017-02-16
12 Andrei Popov Uploaded new revision
2016-11-23
11 Andrei Popov New version available: draft-ietf-tokbind-protocol-11.txt
2016-11-23
11 (System) New version approved
2016-11-23
11 (System) Request for posting confirmation emailed to previous authors: "Magnus Nystrom" , "Adam Langley" , "Dirk Balfanz" , "Andrey Popov" , tokbind-chairs@ietf.org, "Jeff Hodges"
2016-11-23
11 Andrei Popov Uploaded new revision
2016-11-16
10 Leif Johansson IETF WG state changed to In WG Last Call from WG Document
2016-09-02
10 Andrei Popov New version available: draft-ietf-tokbind-protocol-10.txt
2016-08-26
09 Andrei Popov New version available: draft-ietf-tokbind-protocol-09.txt
2016-07-08
08 Andrei Popov New version available: draft-ietf-tokbind-protocol-08.txt
2016-07-07
07 Andrei Popov New version available: draft-ietf-tokbind-protocol-07.txt
2016-05-20
06 Andrei Popov New version available: draft-ietf-tokbind-protocol-06.txt
2016-04-04
05 Andrei Popov New version available: draft-ietf-tokbind-protocol-05.txt
2016-03-21
04 John Bradley Added to session: IETF-95: tokbind  Mon-1000
2016-01-08
04 Andrei Popov New version available: draft-ietf-tokbind-protocol-04.txt
2015-10-06
03 Andrei Popov New version available: draft-ietf-tokbind-protocol-03.txt
2015-09-14
02 Andrei Popov New version available: draft-ietf-tokbind-protocol-02.txt
2015-05-29
01 Andrei Popov New version available: draft-ietf-tokbind-protocol-01.txt
2015-03-27
00 John Bradley This document now replaces draft-popov-token-binding instead of None
2015-03-27
00 John Bradley Intended Status changed to Proposed Standard from None
2015-03-27
00 Andrei Popov New version available: draft-ietf-tokbind-protocol-00.txt