Subject: [Unbearable] Benjamin Kaduk's Yes on draft-ietf-tokbind-negotiation-13: (with COMMENT)

From: Benjamin Kaduk <[email-masked]>
Date: Thu, 10 May 2018 05:45:19 -0700

Benjamin Kaduk has entered the following ballot position for
draft-ietf-tokbind-negotiation-13: Yes

When responding, please keep the subject line intact and reply to all
email addresses included in the To and CC lines. (Feel free to cut this
introductory paragraph, however.)

Please refer to https://www.ietf.org/iesg/statement/discuss-criteria.html
for more information about IESG DISCUSS and COMMENT positions.

The document, along with other ballot positions, can be found here:
https://datatracker.ietf.org/doc/draft-ietf-tokbind-negotiation/

----------------------------------------------------------------------
COMMENT:
----------------------------------------------------------------------

I agree with Adam and Warren's comments.

The point already made about version negotiation has a corollary
that if the client sends a dense list of versions, then the server
will know decisively that a specific version has (or has not) been
negotiated, and can rely on that at the application layer.  When the
client can receive an unsupported version back from the server, the
client will not use token binding and the server has to infer from
the client's application-layer traffic whether token binding is
expected to be in use.  (Whether or not this is a desired or useful
property to have is not necessarily clear.)

Section 4

   the client advertises, then the server MUST NOT include
   "token_binding" extension in the server hello.

Nit: """the "token_binding" extension"""

Section 6.1

   The Token Binding protocol version and key parameters are negotiated
   via "token_binding" extension within the TLS handshake. [...]

Nit: """the "token_binding" extension".  (Also at the end of this
paragraph.)

   [...] TLS prevents
   active attackers from modifying the messages of the TLS handshake,
   therefore it is not possible for the attacker to remove or modify the
   "token_binding" extension.

I wonder if we want to explicitly say *successful* TLS handshakes,
but given the context in the main protocol document it's probably
not necessary.

---

From: Andrei Popov <[email-masked]>
Date: Thu, 10 May 2018 18:54:42 +0000

Thanks Benjamin, will address in the next revision of the draft.

-----Original Message-----
From: Benjamin Kaduk <[email-masked]> 
Sent: Thursday, May 10, 2018 5:45 AM
To: The IESG <[email-masked]>
Cc: [email-masked]; John Bradley <[email-masked]>; [email-masked]; [email-masked]; [email-masked]
Subject: Benjamin Kaduk's Yes on draft-ietf-tokbind-negotiation-13: (with COMMENT)

When responding, please keep the subject line intact and reply to all email addresses included in the To and CC lines. (Feel free to cut this introductory paragraph, however.)

Please refer to https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.ietf.org%2Fiesg%2Fstatement%2Fdiscuss-criteria.html&data=02%7C01%7CAndrei.Popov%40microsoft.com%7Ca23e5531d38948efbae708d5b673e4a5%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636615531239212874&sdata=L66zSzyyL7FmZM7r6IqxxmUf2nTukJlQYpCwglIarVU%3D&reserved=0
for more information about IESG DISCUSS and COMMENT positions.

The document, along with other ballot positions, can be found here:
https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdatatracker.ietf.org%2Fdoc%2Fdraft-ietf-tokbind-negotiation%2F&data=02%7C01%7CAndrei.Popov%40microsoft.com%7Ca23e5531d38948efbae708d5b673e4a5%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636615531239212874&sdata=h%2Bz51Cy2X3riIOrtIOPjQqjcAEJ0kamn%2Bgpkzu%2BghrQ%3D&reserved=0

The point already made about version negotiation has a corollary that if the client sends a dense list of versions, then the server will know decisively that a specific version has (or has not) been negotiated, and can rely on that at the application layer.  When the client can receive an unsupported version back from the server, the client will not use token binding and the server has to infer from the client's application-layer traffic whether token binding is expected to be in use.  (Whether or not this is a desired or useful property to have is not necessarily clear.)

Section 4

Section 6.1

   [...] TLS prevents

I wonder if we want to explicitly say *successful* TLS handshakes, but given the context in the main protocol document it's probably not necessary.