Re: [Unbearable] Alexey Melnikov's Discuss on draft-ietf-tokbind-negotiation-12: (with DISCUSS and COMMENT)

Andrei Popov <Andrei.Popov@microsoft.com> Wed, 09 May 2018 18:19 UTC

Return-Path: <Andrei.Popov@microsoft.com>
X-Original-To: unbearable@ietfa.amsl.com
Delivered-To: unbearable@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id A403512D96A; Wed, 9 May 2018 11:19:06 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.011
X-Spam-Level:
X-Spam-Status: No, score=-2.011 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001, T_DKIMWL_WL_HIGH=-0.01] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=microsoft.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 3FwslLURGTfV; Wed, 9 May 2018 11:19:04 -0700 (PDT)
Received: from NAM02-CY1-obe.outbound.protection.outlook.com (mail-cys01nam02on0130.outbound.protection.outlook.com [104.47.37.130]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 28B3E126FB3; Wed, 9 May 2018 11:19:03 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=/dgwx3HrDAQ+clK4bGBwtCXMnXmb2tTw5lZyAW/Z1KA=; b=oESxh+kXD2oE7U0hZOtsyZ0YNpsEhVU9ketstOImHgWXjN8uR5xRhF1HV6EthAgBOejnmTxLvtAyOwZXglT2sKEf9XVMJ/JJEBkw0aQ3UrocFzWVJFKqkxdaXDWxog+McGr/SINnhkEAOVoJmxYfTNqknd8X+PpZYmUqZnJ8/78=
Received: from DM5PR21MB0507.namprd21.prod.outlook.com (10.172.91.141) by DM5PR21MB0860.namprd21.prod.outlook.com (10.173.172.146) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.776.1; Wed, 9 May 2018 18:19:01 +0000
Received: from DM5PR21MB0507.namprd21.prod.outlook.com ([fe80::49e8:420f:baa2:a62f]) by DM5PR21MB0507.namprd21.prod.outlook.com ([fe80::49e8:420f:baa2:a62f%6]) with mapi id 15.20.0776.004; Wed, 9 May 2018 18:19:01 +0000
From: Andrei Popov <Andrei.Popov@microsoft.com>
To: Alexey Melnikov <aamelnikov@fastmail.fm>, The IESG <iesg@ietf.org>
CC: "ve7jtb@ve7jtb.com" <ve7jtb@ve7jtb.com>, "draft-ietf-tokbind-negotiation@ietf.org" <draft-ietf-tokbind-negotiation@ietf.org>, "unbearable@ietf.org" <unbearable@ietf.org>, "tokbind-chairs@ietf.org" <tokbind-chairs@ietf.org>
Thread-Topic: Alexey Melnikov's Discuss on draft-ietf-tokbind-negotiation-12: (with DISCUSS and COMMENT)
Thread-Index: AQHT5U8wRxIW3ZvA5U+SaJCFD/1c9KQknTiwgALqAwCAADAdEA==
Date: Wed, 9 May 2018 18:19:01 +0000
Message-ID: <DM5PR21MB05070DBF7858604599D2A14A8C990@DM5PR21MB0507.namprd21.prod.outlook.com>
References: <152562063795.26840.1916104340550306942.idtracker@ietfa.amsl.com> <DM5PR21MB0507C39C1A09C13C32385F2F8C9B0@DM5PR21MB0507.namprd21.prod.outlook.com> <1525879084.3938368.1366298224.73E1E829@webmail.messagingengine.com>
In-Reply-To: <1525879084.3938368.1366298224.73E1E829@webmail.messagingengine.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [2001:4898:80e8:c::4ca]
x-ms-publictraffictype: Email
x-microsoft-exchange-diagnostics: 1; DM5PR21MB0860; 7:MHeko6ssqPoJ1NAbbDaKDXq/1uXSel7Fv08GKsR/OC2p0F2wPG4xO8ZQu2SUCjUEYNHXS6L9dWPCRtDqxmHflaOtkx1U95LfiKACFUOyNNCoQ3sKjuZ3Kw439iqtzrG6ScmSn9ZpU2Lu8iHLhGfpBaakY62ZGZ6CwQiopwf+1nG5Z31k3XJF2xdjqFYl6vDSDqAer9mCJsJDig9E1EV5OMS5HcHn+HfFkyQWe+H1LKRiQG1e1lXPzineC04HN+JK; 20:zu8DfCS+mBOLS0o/b/x5i1h+o6N9VJ05D6hhg+ZMfg4Ysf25he660UGHTR/H3EBzS5H3pZWfrgDX5VGBVjXV21+QM/spzEYsui2oYWv2ohVBVSEBIM7vSnkUupVMiJwqnBPsRt3hJBAis3ljCo6Ea5sgQMDEi8EO0t0dzEdtwWw=
x-ms-exchange-antispam-srfa-diagnostics: SOS;
x-ms-office365-filtering-ht: Tenant
x-microsoft-antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(5600026)(48565401081)(4534165)(4627221)(201703031133081)(201702281549075)(2017052603328)(7193020); SRVR:DM5PR21MB0860;
x-ms-traffictypediagnostic: DM5PR21MB0860:
x-microsoft-antispam-prvs: <DM5PR21MB086083050C81093B74730BC08C990@DM5PR21MB0860.namprd21.prod.outlook.com>
x-exchange-antispam-report-test: UriScan:(28532068793085)(89211679590171)(189930954265078)(788757137089)(100405760836317)(219752817060721);
x-ms-exchange-senderadcheck: 1
x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(5005006)(8121501046)(93006095)(93001095)(10201501046)(3002001)(3231254)(2018427008)(944501410)(52105095)(6055026)(149027)(150027)(6041310)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123564045)(20161123560045)(20161123558120)(20161123562045)(6072148)(201708071742011); SRVR:DM5PR21MB0860; BCL:0; PCL:0; RULEID:; SRVR:DM5PR21MB0860;
x-forefront-prvs: 0667289FF8
x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(979002)(376002)(39860400002)(39380400002)(396003)(366004)(346002)(199004)(189003)(13464003)(25786009)(68736007)(8666007)(6306002)(33656002)(6436002)(8676002)(8936002)(6116002)(9686003)(229853002)(81166006)(55016002)(14454004)(305945005)(5250100002)(74316002)(186003)(3660700001)(3280700002)(6506007)(53546011)(966005)(5660300001)(106356001)(59450400001)(102836004)(105586002)(72206003)(8990500004)(7736002)(476003)(22452003)(10090500001)(2906002)(99286004)(2900100001)(76176011)(6246003)(6346003)(54906003)(46003)(86612001)(81156014)(10290500003)(86362001)(478600001)(110136005)(575784001)(4326008)(486006)(97736004)(316002)(7696005)(11346002)(53936002)(446003)(969003)(989001)(999001)(1009001)(1019001); DIR:OUT; SFP:1102; SCL:1; SRVR:DM5PR21MB0860; H:DM5PR21MB0507.namprd21.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1;
received-spf: None (protection.outlook.com: microsoft.com does not designate permitted sender hosts)
authentication-results: spf=none (sender IP is ) smtp.mailfrom=Andrei.Popov@microsoft.com;
x-microsoft-antispam-message-info: tIMak3Ye8IY+N6CftEy75JZFmTK4QikH0zpIAoUB0ysmYNHWiYRB881dXbGB0FHkR5Ab6y1JDqVe866noN2jOODUamx/nOYFF5Q/AXcmbLY9RPxJUSd4O4Y5UFENRX8Bt710I1f5ytUBJNSqntYYRuD6iPO/YVn1UyR4hjN5qOKjI4pXHu0cweNnYyniKecA
spamdiagnosticoutput: 1:99
spamdiagnosticmetadata: NSPM
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Office365-Filtering-Correlation-Id: 77be78c9-ce76-4ead-276b-08d5b5d95728
X-OriginatorOrg: microsoft.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 77be78c9-ce76-4ead-276b-08d5b5d95728
X-MS-Exchange-CrossTenant-originalarrivaltime: 09 May 2018 18:19:01.6362 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 72f988bf-86f1-41af-91ab-2d7cd011db47
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR21MB0860
Archived-At: <https://mailarchive.ietf.org/arch/msg/unbearable/26fxEbHXb2tfS4roKaR6LyyFeak>
Subject: Re: [Unbearable] Alexey Melnikov's Discuss on draft-ietf-tokbind-negotiation-12: (with DISCUSS and COMMENT)
X-BeenThere: unbearable@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: "\"This list is for discussion of proposals for doing better than bearer tokens \(e.g. HTTP cookies, OAuth tokens etc.\) for web applications. The specific goal is chartering a WG focused on preventing security token export and replay attacks.\"" <unbearable.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/unbearable>, <mailto:unbearable-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/unbearable/>
List-Post: <mailto:unbearable@ietf.org>
List-Help: <mailto:unbearable-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/unbearable>, <mailto:unbearable-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 09 May 2018 18:19:07 -0000

Hi Alexey,

> I urge the WG to think about extensibility now, as opposed to deciding later. Both TLS and HTTP specifications put much more thoughts into versionning.
The Token Binding protocol is extensible in multiple ways:
1. New algorithms can be introduced by defining new TB key parameters;
2. TB protocol supports extensions;
3. TB protocol has a version negotiation mechanism.

> If you don't need generic extensibility (you already have ability to support different private key types), then maybe you don't need the version field at all.
> You can just get a new TLS extension number if you need some incompatible changes.
Both of these options were discussed at length in the WG, over the years, and rejected in favor of the current version negotiation mechanism.
IMHO it would be unfortunate to renegotiate WG consensus at this point in the process.

Thanks,

Andrei

-----Original Message-----
From: Alexey Melnikov <aamelnikov@fastmail.fm> 
Sent: Wednesday, May 9, 2018 8:18 AM
To: Andrei Popov <Andrei.Popov@microsoft.com>; The IESG <iesg@ietf.org>
Cc: ve7jtb@ve7jtb.com; draft-ietf-tokbind-negotiation@ietf.org; unbearable@ietf.org; tokbind-chairs@ietf.org
Subject: Re: Alexey Melnikov's Discuss on draft-ietf-tokbind-negotiation-12: (with DISCUSS and COMMENT)

Hi Andrei,

On Mon, May 7, 2018, at 8:06 PM, Andrei Popov wrote:
> Hi Alexey,
> 
> Thanks for reviewing the specs, I appreciate your comments.
> 
> > What is the significance of "major" and "minor" versions?
> There is no normative significance; the version value is split into 
> two parts for convenience of discussion only, so that we can talk 
> about versions such as 0.10, 0.13, 1.0, etc.

I am tempted to suggest that you should replace it with a single unsigned 16bit, as "major" doesn't mean anything

> > Any rules on what kind of changed would require increment of the "major" version.
> > Any restrictions on what must remain the same when the "major" (or "minor") version gets incremented?
> We have no such rules; it is common to increment the "major" protocol 
> version when "significant" changes happen, but this is up to future 
> protocol specs to define.

I urge the WG to think about extensibility now, as opposed to deciding later. Both TLS and HTTP specifications put much more thoughts into versionning.

If you don't need generic extensibility (you already have ability to support different private key types), then maybe you don't need the version field at all. You can just get a new TLS extension number if you need some incompatible changes. (Or to ask it in another way: do you just have the version number field to work around strict TLS extension code point allocation rules?)

> > Any requirements on backward compatibility when only the "minor" version is incremented?
> There is no backward compatibility between different Token Binding 
> protocol versions, regardless of which component of TB_ProtocolVersion 
> changes.
> 
> > Wouldn't be better to point to the IANA registry established by [I-D.ietf-tokbind-protocol]?
> Indeed, it may be better to say something like "[I-D.ietf-tokbind- 
> protocol] establishes an IANA registry for Token Binding key parameters"
> or something to this effect.
> I'll try to wordsmith this.

Yes, this sounds good.

Best Regards,
Alexey

> Cheers,
> 
> Andrei
> 
> -----Original Message-----
> From: Alexey Melnikov <aamelnikov@fastmail.fm>
> Sent: Sunday, May 6, 2018 8:31 AM
> To: The IESG <iesg@ietf.org>
> Cc: draft-ietf-tokbind-negotiation@ietf.org; John Bradley 
> <ve7jtb@ve7jtb.com>; tokbind-chairs@ietf.org; ve7jtb@ve7jtb.com; 
> unbearable@ietf.org
> Subject: Alexey Melnikov's Discuss on draft-ietf-tokbind-negotiation-12: 
> (with DISCUSS and COMMENT)
> 
> Alexey Melnikov has entered the following ballot position for
> draft-ietf-tokbind-negotiation-12: Discuss
> 
> 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.i
> etf.org%2Fiesg%2Fstatement%2Fdiscuss-criteria.html&data=02%7C01%7CAndr
> ei.Popov%40microsoft.com%7C59e09351f0fe4b2fb9ac08d5b366524f%7C72f988bf
> 86f141af91ab2d7cd011db47%7C1%7C1%7C636612174409112174&sdata=LDU%2F%2FE
> r7lCYt0gm0yExDVINW1DGJh5S5cJJRv%2FRULQY%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%2Fdatat
> racker.ietf.org%2Fdoc%2Fdraft-ietf-tokbind-negotiation%2F&data=02%7C01
> %7CAndrei.Popov%40microsoft.com%7C59e09351f0fe4b2fb9ac08d5b366524f%7C7
> 2f988bf86f141af91ab2d7cd011db47%7C1%7C1%7C636612174409112174&sdata=ka1
> kQLpRehbQmXHtxHj73cqfGsRw1Axvk%2BS%2BjkbOatQ%3D&reserved=0
> 
> 
> 
> ----------------------------------------------------------------------
> DISCUSS:
> ----------------------------------------------------------------------
> 
> I will be switching to "Yes" once one issue mentioned below is discussed:
> 
> I would like to have a quick discussion about your versionning model:
> 
>    struct {
>        uint8 major;
>        uint8 minor;
>    } TB_ProtocolVersion;
> 
> What is the significance of "major" and "minor" versions?
> Any rules on what kind of changed would require increment of the "major"
> version. Any restrictions on what must remain the same when the 
> "major" (or
> "minor") version gets incremented? Any requirements on backward 
> compatibility when only the "minor" version is incremented?
> 
> 
> ----------------------------------------------------------------------
> COMMENT:
> ----------------------------------------------------------------------
> 
> In Section 2:
> 
>    "key_parameters_list" contains the list of identifiers of the Token
>    Binding key parameters supported by the client, in descending order
>    of preference.  [I-D.ietf-tokbind-protocol] defines an initial set of
>    identifiers for Token Binding key parameters.
> 
> Wouldn't be better to point to the IANA registry established by [I- 
> D.ietf-tokbind-protocol]?
> My concern is that you might be misleading implementors into not 
> looking there.
> 
>