Re: [TLS] 0-RTT, server Application Data, and client Finished

Andrei Popov <Andrei.Popov@microsoft.com> Wed, 27 January 2016 18:39 UTC

Return-Path: <Andrei.Popov@microsoft.com>
X-Original-To: tls@ietfa.amsl.com
Delivered-To: tls@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 8A1511B2AF2 for <tls@ietfa.amsl.com>; Wed, 27 Jan 2016 10:39:00 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.001
X-Spam-Level:
X-Spam-Status: No, score=-2.001 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001] autolearn=ham
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 MU4fZ9Ed88zb for <tls@ietfa.amsl.com>; Wed, 27 Jan 2016 10:38:56 -0800 (PST)
Received: from na01-bn1-obe.outbound.protection.outlook.com (mail-bn1bon0751.outbound.protection.outlook.com [IPv6:2a01:111:f400:fc10::1:751]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 158F41B2AEB for <tls@ietf.org>; Wed, 27 Jan 2016 10:38:55 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=selector1; h=From:To:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=GmTEduxhuHYv/YqfkSOWCkkHr6p1o434+U7+TA81Rm0=; b=IPsPSI6SiIOlLyDnTjau6mHVicIMWfd2GP+xUyfkXKA1ck3bEMRsOM1WgJDuPhUOyJbvlhBd95dVZNuulbXrCNZZK5DAcS1mPZB8E1yPEo4IvJ0pc9R72AZ4Wi/7/Rdj+1bl4FfOLI3f57gc25JaOK9FsQLKp+8noPpyxjSZMyQ=
Received: from BLUPR03MB1396.namprd03.prod.outlook.com (10.163.81.142) by BLUPR03MB1396.namprd03.prod.outlook.com (10.163.81.142) with Microsoft SMTP Server (TLS) id 15.1.390.13; Wed, 27 Jan 2016 18:38:36 +0000
Received: from BLUPR03MB1396.namprd03.prod.outlook.com ([10.163.81.142]) by BLUPR03MB1396.namprd03.prod.outlook.com ([10.163.81.142]) with mapi id 15.01.0390.016; Wed, 27 Jan 2016 18:38:36 +0000
From: Andrei Popov <Andrei.Popov@microsoft.com>
To: Bill Cox <waywardgeek@google.com>, Martin Thomson <martin.thomson@gmail.com>
Thread-Topic: [TLS] 0-RTT, server Application Data, and client Finished
Thread-Index: AQHRWJwv+0HdYQ8oH0m7Wu7McZFM2Z8Oks2AgAAIdgCAAAO1AIAAEIeAgAAF/gCAALLYAIAASSRg
Date: Wed, 27 Jan 2016 18:38:36 +0000
Message-ID: <BLUPR03MB13968A662C564ACB3C33779E8CD90@BLUPR03MB1396.namprd03.prod.outlook.com>
References: <CAF8qwaCty7qjJGobr+god_TDo+q82hZx2FpOitLQ0ANctWBZ0g@mail.gmail.com> <CABkgnnXD5ZudUW7d2uQSSo1ULeOgxD97H5Sd0ZN3MXy9X6+4qA@mail.gmail.com> <CAF8qwaCq7LzXp+5ULWYakLXar3_J1QmerfC7EpqHg1TXgxeu5A@mail.gmail.com> <CABkgnnWQT9WDQDJ9EW21STgr_7j4VFqCh4mWS=1Ko7o=sAyXkQ@mail.gmail.com> <CAF8qwaCAbYsQhq-VL=ktfvDLR+1y6TCkFZ7VhmVKNCVUroOJNQ@mail.gmail.com> <CABkgnnUSg1ah9pMRVrDq5SUvkH79aKQXVzW_KNN+SO+DSHoUmw@mail.gmail.com> <CAH9QtQHMgkTnA5byjUFMNr3h6ur8tOFXNweZRWiLDFYnpTq24A@mail.gmail.com>
In-Reply-To: <CAH9QtQHMgkTnA5byjUFMNr3h6ur8tOFXNweZRWiLDFYnpTq24A@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: spf=none (sender IP is ) smtp.mailfrom=Andrei.Popov@microsoft.com;
x-originating-ip: [2001:4898:80e8:1::1d2]
x-ms-office365-filtering-correlation-id: 7b72c66e-1f97-4a1a-db1a-08d32749114b
x-microsoft-exchange-diagnostics: 1; BLUPR03MB1396; 5:OJk1RNorXt1NB2UmiXAi3hjSSvFNoJJosYETBDBfVmsCbsM26dY4OnDrorcX5WL3hnj5jFSyEf9jEbQ1FvTKtB+QRp7g/JMvgB5kyh+QTh5jDgQbC4Bc7Nwf36B/XEWb86QUCNlkmA/pgeLe3Y8XeA==; 24:uh5qRMFA1E+dI77CbrHWNJHkquAQS/lXyr0LSMlRyLyDkb6d3+46x0iGGrge+JkzOGtO3jFB8qMmR4OC+B7S1jr6sQc5PreL/pR1nPPOHM8=
x-exchange-antispam-report-test: UriScan:; BCL:0; PCL:0; RULEID:; SRVR:BLUPR03MB1396; UriScan:;
x-microsoft-antispam-prvs: <BLUPR03MB1396F623AFE4E189B83AF45B8CD90@BLUPR03MB1396.namprd03.prod.outlook.com>
x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(61425038)(601004)(2401047)(5005006)(8121501046)(10201501046)(3002001)(61426038)(61427038); SRVR:BLUPR03MB1396; BCL:0; PCL:0; RULEID:; SRVR:BLUPR03MB1396;
x-forefront-prvs: 0834BAF534
x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(199003)(189002)(24454002)(377454003)(93886004)(2906002)(122556002)(40100003)(1096002)(586003)(5008740100001)(102836003)(1220700001)(6116002)(3470700001)(92566002)(4326007)(5001960100002)(790700001)(3280700002)(5001770100001)(97736004)(81156007)(8990500004)(5004730100002)(5005710100001)(5002640100001)(10400500002)(10290500002)(86612001)(87936001)(11100500001)(86362001)(19625215002)(2950100001)(10090500001)(2900100001)(5003600100002)(77096005)(19300405004)(189998001)(15975445007)(19580405001)(19580395003)(76576001)(50986999)(76176999)(54356999)(99286002)(106356001)(101416001)(105586002)(74316001)(106116001)(16236675004)(33656002)(3826002); DIR:OUT; SFP:1102; SCL:1; SRVR:BLUPR03MB1396; H:BLUPR03MB1396.namprd03.prod.outlook.com; FPR:; SPF:None; PTR:InfoNoRecords; A:1; MX:1; LANG:en;
received-spf: None (protection.outlook.com: microsoft.com does not designate permitted sender hosts)
spamdiagnosticoutput: 1:23
spamdiagnosticmetadata: NSPM
Content-Type: multipart/alternative; boundary="_000_BLUPR03MB13968A662C564ACB3C33779E8CD90BLUPR03MB1396namp_"
MIME-Version: 1.0
X-OriginatorOrg: microsoft.com
X-MS-Exchange-CrossTenant-originalarrivaltime: 27 Jan 2016 18:38:36.2995 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 72f988bf-86f1-41af-91ab-2d7cd011db47
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BLUPR03MB1396
Archived-At: <http://mailarchive.ietf.org/arch/msg/tls/pdLN5JT8c-Qak2RW7Vfzm6vuTSQ>
Cc: "tls@ietf.org" <tls@ietf.org>
Subject: Re: [TLS] 0-RTT, server Application Data, and client Finished
X-BeenThere: tls@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: "This is the mailing list for the Transport Layer Security working group of the IETF." <tls.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/tls>, <mailto:tls-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/tls/>
List-Post: <mailto:tls@ietf.org>
List-Help: <mailto:tls-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/tls>, <mailto:tls-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 27 Jan 2016 18:39:00 -0000

Ø  The CertificateVerify message is still listed as an option in the 0-RTT client's first flight at t = 0.  Is this a mistake?  I have not heard that anyone wants to do this, as there is no possibility of a traditional proof-of-possession in the first flight.
I agree with this: client auth in 0-RTT is replayable, unless the server takes extraordinary steps (QUIC-like strike registers, database of client nonces, etc.) No plans to implement, at least for now.

Cheers,

Andrei

From: TLS [mailto:tls-bounces@ietf.org] On Behalf Of Bill Cox
Sent: Wednesday, January 27, 2016 6:13 AM
To: Martin Thomson <martin.thomson@gmail.com>
Cc: tls@ietf.org
Subject: Re: [TLS] 0-RTT, server Application Data, and client Finished

On Tue, Jan 26, 2016 at 7:32 PM, Martin Thomson <martin.thomson@gmail.com<mailto:martin.thomson@gmail.com>> wrote:

I get your point, but I don't see that as a simplification.  In my
mind, post-handshake client authentication doesn't happen.  Or, I
don't see it being commonplace.

The use case described to me was for a higher level of authentication, such as when accessing a source-code repository at work, similar to proving that you still possess a security key now and then.  I am not sure why FIDO does not fit this use case better, though.  I have a feeling this is a legacy use case of client certificates, and is being included to avoid having to transition a lot of legacy client-cert based systems to FIDO.

The CertificateVerify message is still listed as an option in the 0-RTT client's first flight at t = 0.  Is this a mistake?  I have not heard that anyone wants to do this, as there is no possibility of a traditional proof-of-possession in the first flight.  However, with QUIC-like strike registers, a reasonably accurate timestamp in the handshake, and a secure clock on the client, you can approximate a proof-of-possession.  This seems like a lot of trouble for a first-flight CertificateVerify, but if someone wants to do this, it could stay in the spec.  If CertficateVerify is to remain in the 0-RTT first flight, there needs to be some way to provide a timestamp in the handshake hash.  Is there a way to do this now?  The TLS 1.2 timestamp in the client random seems to have been removed.

Bill