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

Andrei Popov <Andrei.Popov@microsoft.com> Thu, 10 May 2018 01:44 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 5AF6B12D870; Wed, 9 May 2018 18:44:38 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.01
X-Spam-Level:
X-Spam-Status: No, score=-2.01 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, URIBL_BLOCKED=0.001] 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 2Vsq5pNwl1PO; Wed, 9 May 2018 18:44:35 -0700 (PDT)
Received: from NAM02-CY1-obe.outbound.protection.outlook.com (mail-cys01nam02on0120.outbound.protection.outlook.com [104.47.37.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 2AA4B12E87F; Wed, 9 May 2018 18:44:34 -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=gKRjmSYNAKxeFFEH72aNGZjKLpMddXFbIseDaW1PSsg=; b=a0LHQAUcQyg1xmG4QVoYxFeWtCDNIDgLex9r7G3NDhIzNMBioFGLUswE7zPfZKfgqpRMOrECNTlHb8v1prcK4Kk+mm6fFvzbbQIsvZ7btgFD5qJ7E1d7bcZFJQYp4m3BybcVuaI0KrgopYj0s6D8mFmhiTkxKQRAuQmnIM4+008=
Received: from DM5PR21MB0507.namprd21.prod.outlook.com (10.172.91.141) by DM5PR21MB0747.namprd21.prod.outlook.com (10.173.172.13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.776.3; Thu, 10 May 2018 01:44:32 +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; Thu, 10 May 2018 01:44:32 +0000
From: Andrei Popov <Andrei.Popov@microsoft.com>
To: Martin Thomson <martin.thomson@gmail.com>, Alexey Melnikov <aamelnikov@fastmail.fm>
CC: The IESG <iesg@ietf.org>, John Bradley <ve7jtb@ve7jtb.com>, "draft-ietf-tokbind-negotiation@ietf.org" <draft-ietf-tokbind-negotiation@ietf.org>, IETF Tokbind WG <unbearable@ietf.org>, "tokbind-chairs@ietf.org" <tokbind-chairs@ietf.org>
Thread-Topic: [Unbearable] Alexey Melnikov's Discuss on draft-ietf-tokbind-negotiation-12: (with DISCUSS and COMMENT)
Thread-Index: AQHT5U8wRxIW3ZvA5U+SaJCFD/1c9KQknTiwgALqAwCAAKhwAIAAAoMg
Date: Thu, 10 May 2018 01:44:32 +0000
Message-ID: <DM5PR21MB0507119FF6EB653A6793F95E8C980@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> <CABkgnnXrBvfeP6hF7ewd0r5MH+XeiEQ4AteHfR0HrAt=y2DsRA@mail.gmail.com>
In-Reply-To: <CABkgnnXrBvfeP6hF7ewd0r5MH+XeiEQ4AteHfR0HrAt=y2DsRA@mail.gmail.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; DM5PR21MB0747; 7:qROL0q2tVz8OP9p+RS8HEXJjLev22RdPhv6BlRW4Y6ZMg52IR0UpEO+05WUs8X3C676jqeiMM/AbGOfw5mszAEQ+DJmRssQmD5KOLmo2mFT4djth6VqwTljfbVtLjoch6YaLXSpdXDE+LvI4L67iHC3jjplCUW0zlbGl/YXYlVGafN+g5nPCuceb1A/4x116fnkm4UyGXBzTV25TaGmTNC1sM65EB3lZsc8QhtNSnqHhM4fTfgW3BG6oPWMc+DbR; 20:wnrKK6JDUacl8QCUCKTNQWzqLwJqPVmx43kAG6Wp0kbxu3MxTVY77kNYxp/66IA9BdwaRr82C316hP/WNG4+CTRcOYburRdbPX6fsxxz1PaTEj7l9jqeCyVkRuk+pRFR/bfQWxTq03z6pW/AdVDVXebjpygWryuumQq/gf2VD/w=
x-ms-exchange-antispam-srfa-diagnostics: SOS;
x-ms-office365-filtering-ht: Tenant
x-microsoft-antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(4534165)(4627221)(201703031133081)(201702281549075)(5600026)(48565401081)(2017052603328)(7193020); SRVR:DM5PR21MB0747;
x-ms-traffictypediagnostic: DM5PR21MB0747:
x-microsoft-antispam-prvs: <DM5PR21MB0747E7BE7F70A7DD144F97E98C980@DM5PR21MB0747.namprd21.prod.outlook.com>
x-exchange-antispam-report-test: UriScan:(28532068793085)(89211679590171)(189930954265078)(85827821059158)(788757137089)(219752817060721);
x-ms-exchange-senderadcheck: 1
x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(8121501046)(5005006)(10201501046)(3002001)(93006095)(93001095)(3231254)(2018427008)(944501410)(52105095)(6055026)(149027)(150027)(6041310)(20161123562045)(20161123560045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123558120)(20161123564045)(6072148)(201708071742011); SRVR:DM5PR21MB0747; BCL:0; PCL:0; RULEID:; SRVR:DM5PR21MB0747;
x-forefront-prvs: 066898046A
x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(346002)(39380400002)(39860400002)(366004)(376002)(396003)(199004)(189003)(13464003)(6346003)(22452003)(316002)(5250100002)(110136005)(54906003)(14454004)(2900100001)(99286004)(446003)(575784001)(476003)(7696005)(86612001)(6306002)(486006)(53936002)(8990500004)(39060400002)(106356001)(93886005)(72206003)(9686003)(8676002)(7736002)(81156014)(8936002)(25786009)(81166006)(55016002)(478600001)(966005)(4326008)(76176011)(8666007)(6246003)(86362001)(305945005)(102836004)(229853002)(33656002)(10290500003)(5660300001)(6506007)(3280700002)(11346002)(3660700001)(53546011)(2906002)(105586002)(10090500001)(97736004)(186003)(6116002)(6436002)(74316002)(59450400001)(68736007)(46003); DIR:OUT; SFP:1102; SCL:1; SRVR:DM5PR21MB0747; 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: 2L22Ge0mALw8RscqO9fnyvLf2ihKGD11LXWr1Nky0sIqNjW0zNSzHCYaoU6vuRx/n8f8KhxMBVLzWmNH29B21e66r27T+WCED6Jgg317j2jFn9v3k15hTZeLS7GnxbaMiteuUqzUBHUpXjXrv1AgWKIgyDlRaoAVdK+ajXBPIiaBJFC8w6BVB5+E425oS3OO
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: 8e57c5fc-b100-45f0-5e31-08d5b6179417
X-OriginatorOrg: microsoft.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 8e57c5fc-b100-45f0-5e31-08d5b6179417
X-MS-Exchange-CrossTenant-originalarrivaltime: 10 May 2018 01:44:32.7285 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 72f988bf-86f1-41af-91ab-2d7cd011db47
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR21MB0747
Archived-At: <https://mailarchive.ietf.org/arch/msg/unbearable/THRMSMX_Cax2lzfEm5HkgrYUVFs>
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: Thu, 10 May 2018 01:44:38 -0000

Hi Martin,

> But if you have it the major/minor separation is pointless.
It is true that from the implementation standpoint, version is treated simply as a two-octet value.
However, the fact that the specification enumerates the two octets separately in the TB_ProtocolVersion structure does not affect the implementation in any way.

I cannot agree that major/minor version separation is pointless. For humans, it has been convenient to think of pre-standard/experimental TB versions as 0.X versions, and the first standard version 1.0 makes sense to a lot of people. The version representation we use has been intuitive and easy to explain throughout the prototyping process.

I would not be terribly upset if I had to change the definition of TB_ProtocolVersion from struct{uint8, uint8} to unint_16, but this feels like unnecessary spec churn to me.

Cheers,

Andrei

-----Original Message-----
From: Martin Thomson <martin.thomson@gmail.com> 
Sent: Wednesday, May 9, 2018 6:21 PM
To: Alexey Melnikov <aamelnikov@fastmail.fm>
Cc: Andrei Popov <Andrei.Popov@microsoft.com>; The IESG <iesg@ietf.org>; John Bradley <ve7jtb@ve7jtb.com>; draft-ietf-tokbind-negotiation@ietf.org; IETF Tokbind WG <unbearable@ietf.org>; tokbind-chairs@ietf.org
Subject: Re: [Unbearable] Alexey Melnikov's Discuss on draft-ietf-tokbind-negotiation-12: (with DISCUSS and COMMENT)

I had similar questions to Alexey, but - process-wise at least - those were discussed in the working group.

I was eventually convinced that extensibility might be of some value.  It's tenuous though.

I remain certain that the TB version negotiation is not just pointless, but actively hazardous.  I was in the rough there.  But if you have it the major/minor separation is pointless.  I was either in the rough there, or I was so far in the rough on the first part that no one wanted to follow me.
On Thu, May 10, 2018 at 1:18 AM Alexey Melnikov <aamelnikov@fastmail.fm>
wrote:

> 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.ietf.org%2Fiesg%2Fstatement%2Fdiscuss-criteria.html&data=02%7C01%7CAndrei.Popov%40microsoft.com%7C59e09351f0fe4b2fb9ac08d5b366524f%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C1%7C636612174409112174&sdata=LDU%2F%2FEr7lCYt0gm0yExDVINW1DGJh5S5cJJRv%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%2Fdatatracker.ietf.org%2Fdoc%2Fdraft-ietf-tokbind-negotiation%2F&data=02%7C01%7CAndrei.Popov%40microsoft.com%7C59e09351f0fe4b2fb9ac08d5b366524f%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C1%7C636612174409112174&sdata=ka1kQLpRehbQmXHtxHj73cqfGsRw1Axvk%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.
> >
> >

> _______________________________________________
> Unbearable mailing list
> Unbearable@ietf.org
> https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.i
> etf.org%2Fmailman%2Flistinfo%2Funbearable&data=02%7C01%7CAndrei.Popov%
> 40microsoft.com%7C2dcc854d575d47527d3c08d5b6144e3e%7C72f988bf86f141af9
> 1ab2d7cd011db47%7C1%7C0%7C636615120691755353&sdata=FywmAsC41j8eH1Y3HKQ
> TmBf4wD9wTU0pxkD%2FS5lITAQ%3D&reserved=0