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 A2E21129457
 for <unbearable@ietfa.amsl.com>; Thu, 27 Apr 2017 15:48:51 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.021
X-Spam-Level: 
X-Spam-Status: No, score=-2.021 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,
 RCVD_IN_MSPIKE_H4=-0.01, RCVD_IN_MSPIKE_WL=-0.01,
 SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, 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 lc9QoWMEhvWl for <unbearable@ietfa.amsl.com>;
 Thu, 27 Apr 2017 15:48:49 -0700 (PDT)
Received: from NAM03-DM3-obe.outbound.protection.outlook.com
 (mail-dm3nam03on0091.outbound.protection.outlook.com [104.47.41.91])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits))
 (No client certificate requested)
 by ietfa.amsl.com (Postfix) with ESMTPS id 0663412943C
 for <unbearable@ietf.org>; Thu, 27 Apr 2017 15:46:21 -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=Hr66F7SAf5B7ww+C2DXvy0vijljWrLGccGNTx82XzpM=;
 b=k8FQzDh5+ZteGOqsKdc1wqU1yHGi5zaBxy0SaqOLJ5Pjw15+JGiAtanv1xUR/vI2LDO6yLTPXJG3m1c+YT9FqdDNx6xDconarrbSzRRDaleQz6iwVhjRqvkv5o6jrpnn17tqNtvjMVcRaCbATX5nUPG/0A5q60v+8Vj236eID1k=
Received: from SN1PR21MB0096.namprd21.prod.outlook.com (10.161.254.16) by
 SN1PR21MB0095.namprd21.prod.outlook.com (10.161.254.156) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id
 15.1.1075.0; Thu, 27 Apr 2017 22:46:19 +0000
Received: from SN1PR21MB0096.namprd21.prod.outlook.com ([10.161.254.16]) by
 SN1PR21MB0096.namprd21.prod.outlook.com ([10.161.254.16]) with mapi id
 15.01.1075.000; Thu, 27 Apr 2017 22:46:19 +0000
From: Andrei Popov <Andrei.Popov@microsoft.com>
To: Nick Harper <nharper@google.com>, Benjamin Kaduk <kaduk@mit.edu>
CC: IETF Tokbind WG <unbearable@ietf.org>
Thread-Topic: [Unbearable] Switching exporters for 0-RTT Token Binding
Thread-Index: AQHSuJKlo0yoEMvGZUCTm+Pgzz+4KKHNhPAAgAxI7ICAAAxqsA==
Date: Thu, 27 Apr 2017 22:46:18 +0000
Message-ID: <SN1PR21MB0096D78DF3E9C07B23DC76078C100@SN1PR21MB0096.namprd21.prod.outlook.com>
References: <CACdeXiLF3G8tBO5z5L2mfe5N-kYMv_4TNFS2_0YdecquMM_kuw@mail.gmail.com>
 <20170420020846.GY30306@kduck.kaduk.org>
 <CACdeXiLPb-QwLhG89ahV_q8q3n16jA+WEnsTzKTAyMtYcVF4Pw@mail.gmail.com>
In-Reply-To: <CACdeXiLPb-QwLhG89ahV_q8q3n16jA+WEnsTzKTAyMtYcVF4Pw@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
authentication-results: google.com; dkim=none (message not signed)
 header.d=none;google.com; dmarc=none action=none header.from=microsoft.com;
x-originating-ip: [2001:4898:80e8:6::4ca]
x-ms-publictraffictype: Email
x-microsoft-exchange-diagnostics: 1; SN1PR21MB0095;
 7:+MMM9qO80CC0tLBUenvFmg/bekv+j5bg7UKJTGVtViXBrw2AowVkhL4H1x58MJo0Toq3ufY01/Aq8mWwI2CF9Ix8YSlonPw9UtFtgfFpYSxFZzuCX3qGsmT2XC5KRajal5Jl+gmbNfMUSUjg7pDDo+HfRYHDB8G6pKznZtEmGbbf6y/0A7f37btL9P36APpsh82ER8u7FxNiWzapPNkckp+80RfyI1kkHDfUs7WzdGSp5MNHstmqPX0zr7cXbTkelVYmeOAtc671ghbfj0IxCCmr4I9B2pNmhg/nBd8/tx3kWL7GHqSNKzJBT/8MLuRyqBXgvbdU13ULPlKPBxirFEuTSNU0qdR7JhB+wtHPVT4=
x-ms-office365-filtering-correlation-id: c4a53800-8d6e-4c64-997f-08d48dbf3881
x-ms-office365-filtering-ht: Tenant
x-microsoft-antispam: UriScan:; BCL:0; PCL:0;
 RULEID:(22001)(2017030254075)(48565401081)(201703131423075)(201703031133081); 
 SRVR:SN1PR21MB0095; 
x-microsoft-antispam-prvs: <SN1PR21MB009530C922E20B15D07219FF8C100@SN1PR21MB0095.namprd21.prod.outlook.com>
x-exchange-antispam-report-test: UriScan:(158342451672863)(192374486261705)(189930954265078)(100405760836317)(219752817060721);
x-exchange-antispam-report-cfa-test: BCL:0; PCL:0;
 RULEID:(61425038)(6040450)(601004)(2401047)(5005006)(8121501046)(10201501046)(93006095)(93001095)(3002001)(6055026)(61426038)(61427038)(6041248)(20161123562025)(20161123555025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123560025)(20161123564025)(20161123558100)(6072148);
 SRVR:SN1PR21MB0095; BCL:0; PCL:0; RULEID:; SRVR:SN1PR21MB0095; 
x-forefront-prvs: 029097202E
x-forefront-antispam-report: SFV:NSPM;
 SFS:(10019020)(6009001)(39450400003)(39400400002)(39860400002)(39840400002)(39410400002)(39850400002)(377454003)(13464003)(24454002)(10090500001)(76176999)(54356999)(2171002)(122556002)(50986999)(6246003)(4326008)(53936002)(189998001)(99286003)(6306002)(55016002)(7736002)(9686003)(305945005)(53546009)(25786009)(38730400002)(81166006)(2900100001)(8990500004)(8936002)(8676002)(561944003)(5005710100001)(102836003)(6116002)(3280700002)(2950100002)(3660700001)(74316002)(7696004)(33656002)(10290500003)(2906002)(86362001)(77096006)(86612001)(6506006)(5660300001)(6436002)(229853002);
 DIR:OUT; SFP:1102; SCL:1; SRVR:SN1PR21MB0095;
 H:SN1PR21MB0096.namprd21.prod.outlook.com; FPR:; SPF:None; MLV:sfv; LANG:en; 
spamdiagnosticoutput: 1:99
spamdiagnosticmetadata: NSPM
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: microsoft.com
X-MS-Exchange-CrossTenant-originalarrivaltime: 27 Apr 2017 22:46:19.0338 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 72f988bf-86f1-41af-91ab-2d7cd011db47
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN1PR21MB0095
Archived-At: <https://mailarchive.ietf.org/arch/msg/unbearable/nmsGGC2raLUZa2RAHMEnv--AhiU>
Subject: Re: [Unbearable] Switching exporters for 0-RTT Token Binding
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, 27 Apr 2017 22:48:51 -0000

If one is willing to do TB without POP, then one will probably appreciate a=
 simpler way to do this, with fewer moving parts and less room for interop =
issues. (IMHO, the value of TB without POP approaches zero, but that's a se=
parate discussion.)

The extra complexity of upgrading to secure TB after a bound token and asso=
ciated application message(s) have been accepted and processed does not inc=
rease security in the common use-cases that I can think of.

Cheers,

Andrei

-----Original Message-----
From: Unbearable [mailto:unbearable-bounces@ietf.org] On Behalf Of Nick Har=
per
Sent: Thursday, April 27, 2017 2:45 PM
To: Benjamin Kaduk <kaduk@mit.edu>
Cc: IETF Tokbind WG <unbearable@ietf.org>
Subject: Re: [Unbearable] Switching exporters for 0-RTT Token Binding

On Wed, Apr 19, 2017 at 7:08 PM, Benjamin Kaduk <kaduk@mit.edu> wrote:
> On Tue, Apr 18, 2017 at 03:24:40PM -0700, Nick Harper wrote:
>> One of the issues raised in Chicago around 0-RTT Token Binding is=20
>> whether or not to switch from the 0-RTT exporter to the normal=20
>> exporter, and I'd like to get some feedback from the Working Group on=20
>> this.
>>
>> The two options I'm considering are as follows:
>> 1) Always use the 0-RTT exporter on connections where 0-RTT data is acce=
pted.
>> 2) Use the 0-RTT exporter for Token Binding messages sent in 0-RTT.
>> The client switches to using the normal exporter soon after the=20
>> handshake finishes, but it may send some Token Binding messages=20
>> post-handshake using the 0-RTT exporter.
>> In both cases, if the server rejects 0-RTT data, the client uses the=20
>> normal exporter (i.e. the client behaves the same as in TBPROTO).
>
> To make the obligatory statement of hopefully obvious facts, 0-RTT=20
> data MUST NOT be used absent a profile that defines its use.
> Presumably the situation of most interest here is HTTP right now, and=20
> many people would presume that the HTTP profile for early data will=20
> say "just concatenate the two streams", but those are just=20
> presumptions.  Perhaps some other profile would be appropriate for=20
> non-HTTP cases, though with no concrete proposal it hardly seems worth=20
> time to think about other than to note that whatever decision may be=20
> reached here might be limited to HTTP in its applicability.
>
> If one presupposes that the profile for the use of 0-RTT is=20
> "concatenate the streams", then the arguments against (1) are weakened=20
> (though not entirely removed).  But I'm not sure what level of=20
> consensus there is for such a (pre)supposition.

I have definitely been assuming an application profile of HTTP that concate=
nates the streams, and the use-case in mind for 0-RTT Token Binding is with=
 HTTP.
>
> Having not fully thought through the matter, I still lean towards (2),=20
> with the justification that token binding can be thought of as an=20
> attempt to prove live possession of a key [associated to a token] on a=20
> connection where that token is used.  The 0-RTT exporter does not have=20
> a server contribution, so it's hard to really prove liveness of=20
> possession using just it.  I acknowledge that there is engineering=20
> work remainng to be done in making (2) practical/usable, and am not=20
> really in a position to contribute much to that work, but that's my=20
> current thinking on the matter.
>
> -Ben

I have similar reservations for (1) in that it doesn't really prove livenes=
s of possession, but (2) only has this liveness of possession at some point=
s in the protocol (i.e. after it has switched exporters).
If a server is doing 0-RTT Token Binding, then it doesn't need the stronger=
 exporter for all requests - the weaker exporter is fine for some. I don't =
see a reason to upgrade partway through to the stronger exporter just becau=
se it is stronger. However, if there are use cases for accepting the weaker=
 exporter at the beginning of a connection but then requiring the stronger =
exporter later in the connection, then (2) sounds like a good idea. (Prefer=
ring the stronger exporter isn't enough for this use case - it would need t=
o require it, and absent option (2) the implementer of this use case would =
put the requests needing the stronger exporter on a separate, non-0-RTT, co=
nnection.)

For those considering implementing 0-RTT Token Binding, do you have any suc=
h use cases in mind or is option (1) good?

_______________________________________________
Unbearable mailing list
Unbearable@ietf.org
https://na01.safelinks.protection.outlook.com/?url=3Dhttps%3A%2F%2Fwww.ietf=
.org%2Fmailman%2Flistinfo%2Funbearable&data=3D02%7C01%7CAndrei.Popov%40micr=
osoft.com%7Cc470223592b2491dd71c08d48db72ee5%7C72f988bf86f141af91ab2d7cd011=
db47%7C1%7C0%7C636289265288924355&sdata=3DH98Owo1uWbXf11VGgzmau3XH3aGzYuNA2=
7pOOaJtxBc%3D&reserved=3D0

