Re: [TLS] Commentary on the client authentication presentation slides

Andrei Popov <Andrei.Popov@microsoft.com> Fri, 24 July 2015 05:01 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 CD50F1A00B0 for <tls@ietfa.amsl.com>; Thu, 23 Jul 2015 22:01:59 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.902
X-Spam-Level:
X-Spam-Status: No, score=-1.902 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, 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 QPg19NrLf3Og for <tls@ietfa.amsl.com>; Thu, 23 Jul 2015 22:01:57 -0700 (PDT)
Received: from na01-bn1-obe.outbound.protection.outlook.com (mail-bn1bon0726.outbound.protection.outlook.com [IPv6:2a01:111:f400:fc10::1:726]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 2B33F1B2DDF for <tls@ietf.org>; Thu, 23 Jul 2015 22:01:57 -0700 (PDT)
Received: from BLUPR03MB1395.namprd03.prod.outlook.com (10.163.81.141) by BLUPR03MB232.namprd03.prod.outlook.com (10.255.213.25) with Microsoft SMTP Server (TLS) id 15.1.219.9; Fri, 24 Jul 2015 05:01:40 +0000
Received: from BLUPR03MB1396.namprd03.prod.outlook.com (10.163.81.142) by BLUPR03MB1395.namprd03.prod.outlook.com (10.163.81.141) with Microsoft SMTP Server (TLS) id 15.1.225.19; Fri, 24 Jul 2015 05:01:38 +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.0225.018; Fri, 24 Jul 2015 05:01:38 +0000
From: Andrei Popov <Andrei.Popov@microsoft.com>
To: Ilari Liusvaara <ilari.liusvaara@elisanet.fi>, "tls@ietf.org" <tls@ietf.org>
Thread-Topic: [TLS] Commentary on the client authentication presentation slides
Thread-Index: AQHQwvXiSxNxWYXIoUOvWC1ZP+t1vJ3qDNvQ
Date: Fri, 24 Jul 2015 05:01:37 +0000
Message-ID: <BLUPR03MB1396E33D0B7ADBED918C54D08C810@BLUPR03MB1396.namprd03.prod.outlook.com>
References: <20150720141036.GA32204@LK-Perkele-VII>
In-Reply-To: <20150720141036.GA32204@LK-Perkele-VII>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: elisanet.fi; dkim=none (message not signed) header.d=none;
x-originating-ip: [90.181.160.186]
x-microsoft-exchange-diagnostics: 1; BLUPR03MB1395; 5:6oFKUBjpGSSlvX4Ef5ri5r0tPVslIOClFNDmiYRXaxRGlrx+34tAGVCjG/cxtH8ZGwZb5RnQLh0rPjD1AiyMMK0Oiidg8qnmrAa8lEUIeU2L5eQLP275e3i70iDLr0OsYy2zpELzGtBvIYvwlJNn9w==; 24:w3EhOPZGZ9qQosODvi18A1OsEhSl6kf6V7K9yEDRGZxV14Q/4X4TvE6CyPBMFzMKcgnvVfWlvQcvPo8fmpYvD2YdopMdlaWkZlO0BvmNlKQ=; 20:nwJ98zTJEAb5gcxguyQlsNrMNdUGlQNFykEo15Iuko+QkJ7ufDkK66KX/2h/DnBGN6dmjeAQmKIgHpizArPT3Q==
x-microsoft-antispam: UriScan:; BCL:0; PCL:0; RULEID:; SRVR:BLUPR03MB1395; UriScan:; BCL:0; PCL:0; RULEID:; SRVR:BLUPR03MB232;
blupr03mb1395: X-MS-Exchange-Organization-RulesExecuted
x-microsoft-antispam-prvs: <BLUPR03MB139554D2B6B430E440BB1D8F8C810@BLUPR03MB1395.namprd03.prod.outlook.com>
x-exchange-antispam-report-test: UriScan:;
x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(601004)(2401001)(5005006)(3002001); SRVR:BLUPR03MB1395; BCL:0; PCL:0; RULEID:; SRVR:BLUPR03MB1395;
x-forefront-prvs: 0647963F84
x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(6009001)(13464003)(51914003)(377454003)(5003600100002)(5001770100001)(92566002)(189998001)(76576001)(5002640100001)(2501003)(122556002)(106116001)(107886002)(5001960100002)(46102003)(10090500001)(33656002)(15975445007)(77156002)(99286002)(66066001)(62966003)(50986999)(19580405001)(40100003)(76176999)(2950100001)(74316001)(19580395003)(86362001)(2900100001)(77096005)(54356999)(102836002)(2656002)(87936001); DIR:OUT; SFP:1102; SCL:1; SRVR:BLUPR03MB1395; H:BLUPR03MB1396.namprd03.prod.outlook.com; FPR:; SPF:None; MLV:sfv; LANG:en;
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-originalarrivaltime: 24 Jul 2015 05:01:37.8444 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 72f988bf-86f1-41af-91ab-2d7cd011db47
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BLUPR03MB1395
X-Microsoft-Exchange-Diagnostics: 1; BLUPR03MB232; 2:bTKYrCJFK0x6QBUbzyNWIg2nh4Syb0Or0ErnHP37aHZMNJriBzPNFeZYCbkTv4nQ; 3:2dgHv2+Vax2l81PPZ7ynsxocI4PDXwPalGZ1CRe5rPWTrvybL4GKqQchFg9Oc82oE0XHUbLbwLUh0wTxPXFkIn1/IFt04pQeJGTANwl9oxqD9XAzXjLl+UzZde3EPF3AcB2qVUczgGGsvLIs02/t2Q==; 25:H5kiv8Pf2btFljZG+IZqX9g1Z2DV12Cb0JdZ2AASkQNFP2d82JuJRa7P8CXt1Ya2UP4AFu1ozOE9iBsmW4ZbE7mJPPbrYS3qGIMGAutMHhzhJfPmuvxd1uH5YnslIRvYcGsE07Criq7VFNv/NHzWu85hjiWM5ko5lNpinbjP1TPwOhRwe3Iku/phRVODU/Oz00snJENJC7rEpAAJgyWzrd7C1f9yBwu6imyiFzSKyZXBvWt6ixVCiC4XT+/wZsPY3RTzTfO498BsGfDgWa25Tw==
X-Microsoft-Exchange-Diagnostics: 1; BLUPR03MB232; 20:rmE3cye9dItVxY8JQSqmRfr2oFKC48wUik/v/XFxcaAsrYNrMuJOnjgio+Mlp+Q6YzFvZU+48EZO3B0cG2kH3Ock10a4moXujGFtDDI+60BG1dDB9SFYRnNvdwlUXr8gzcCvMqqBttkcLrJrMquOOfl3kB7llnA+l0HFzi71Idt2q7xwC4NLW3W0mudGX9udEcgmxOxFUFg/0Pk87aw6XkJ78p2334u8HUPRE1JhFYKH7q/SxRbJ4PXnpG8Ei/rwzd8ubDJ8fhYUtZdoyxKmB5JeXGjsUZwG54P3or739YDv+etKpOTFJVqtKOv+9YAj1/3QTQXE/RwPlmjsvtty85thgstUsisGXG1FhDWKKfJOnfkVV8Nco8qW+0UBltI9Ti4mVdF/6VR4hKMhVQRDZz1BM+xig5YRJTF0ohxIiOfj25NXvEsV+Ap0zK+qtSb8j8NcxMAzgF1k8UM+MNqj260QokM/BfOjlX5+kW+zdiqo+eF+uJol3EJcQsV8LDQ7; 23:aYoUJwuCa8AO5TEert6CV3r49WvO5xzXZ7guM4sxXqoAvEoPysdFzAL0PY0MD7A0hIThtIIbxor9niG9BWcXDwkgqCD68QA52JbzB/3SToMMemcDy1ZLCdnY1H3fBJtgZPafOGEcEA0RVjBh0ZhSBGqXuInfj7leF0KtJCvOwLx1TQRAS+jB7p8/ii9iiKFtf8ddJyqIBrMoaMhWpQgBRAvzMcM2tvWhxFnY/CIIi3TltSJOhhLQAa+bTxtn5SpG
BLUPR03MB232: X-MS-Exchange-Organization-RulesExecuted
X-OriginatorOrg: microsoft.com
Archived-At: <http://mailarchive.ietf.org/arch/msg/tls/Ge5_ZWMT0u6lAfl-3FF_QsxVdrY>
Subject: Re: [TLS] Commentary on the client authentication presentation slides
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: Fri, 24 Jul 2015 05:02:00 -0000

Thanks for the detailed comments, Ilari.

Based on the discussion at the TLS WG meeting, I created a pull request: https://github.com/tlswg/tls13-spec/pull/209

> - Mechanism like proposed looks dangerous when combined with HTTP/2.
I believe the same issue already exists in HTTP/1 where multiple requests can be in flight at the same time.
The way we handle this in HTTP/1 is by having the server application query the HTTP stack for the client cred.
If there's no cred available, the HTTP stack triggers client authentication (and the server application waits until the client cred is provided so it can authorize the request).

> - Regarding last point about interleaving: Assuming the scheme works
  in 1RTT (and I see no reason for requiring more rounds), you can't
  prevent application_data transmission after certificate_request.
We discussed at the meeting that this restriction cannot be implemented.
Instead, a server may block the processing of any in-flight requests while waiting for the client to authenticate (if the server's architecture requires this).

> - The certificate_types field in CertificateRequest is pretty much
  useless, since all supported algorithms are of signature type.
If the signature_algorithms extension officially becomes MTI, then perhaps we can discus getting rid of certificate_types in the CertificateRequest. Except we may want to use this field when we introduce new certificate types (e.g. something like IEEE1609 certs).

> - How does extension_values work? If multiple values for one
  OID are allowed, then the OID/value pair is repeated, once for
  each value?
Multiple values are DER-encoded per RFC that defines the OID that allows multiple values.
The idea here is to simply reuse the existing OID-parsing code. A TLS implementation (or certificate API) that recognizes the OID in the cert, already knows how to parse its representation. A TLS implementation (or certificate API) that does not recognize the OID in the cert will also skip this OID in the extension_values. In the degenerate case, an implementation may choose to skip all extension_values.

Cheers,

Andrei

-----Original Message-----
From: TLS [mailto:tls-bounces@ietf.org] On Behalf Of Ilari Liusvaara
Sent: Monday, July 20, 2015 4:11 PM
To: tls@ietf.org
Subject: [TLS] Commentary on the client authentication presentation slides

Some commentary on client authentication slides (there is no linked draft nor other material yet).

- Mechanism like proposed looks dangerous when combined with HTTP/2.
  Multiplexed protocols are in general not safe to authenticate without
  application-layer signaling (which can be implicit via separate
  connections), especially if dealing with something like web
  environment.
- Regarding last point about interleaving: Assuming the scheme works
  in 1RTT (and I see no reason for requiring more rounds), you can't
  prevent application_data transmission after certificate_request.
  The best that can be done is to require the client to send all
  the authentication-related data in one go.
- The certificate_types field in CertificateRequest is pretty much
  useless, since all supported algorithms are of signature type.
- One can't just remove fields without breaking parse compatiblity,
  but adding field breaks parse compatiblity too, so removing
  field at the same time isn't a problem.
- How does extension_values work? If multiple values for one
  OID are allowed, then the OID/value pair is repeated, once for
  each value?



-Ilari

_______________________________________________
TLS mailing list
TLS@ietf.org
https://www.ietf.org/mailman/listinfo/tls