Re: [TLS] CertficateRequest extension encoding

Andrei Popov <> Fri, 23 September 2016 21:08 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 5393B12B66C for <>; Fri, 23 Sep 2016 14:08:54 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -2.021
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, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: (amavisd-new); dkim=pass (1024-bit key)
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id uf2TOBqvIJ9v for <>; Fri, 23 Sep 2016 14:08:51 -0700 (PDT)
Received: from ( []) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 89F4E12B340 for <>; Fri, 23 Sep 2016 14:08:51 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=df1g24E9d0dvyEWngPtXu8nCeNX5d+3pQizRvxvWqMk=; b=fIsN8xjmdP+S1adLoZfhuiVLHbfFJEMFlDZsZg8O3FPTEacsjeeGBwi+XJqCtm7M5RNhyY5wlJaFLjm5WpKmMP/7pzgUz7BvUJT0ch3lEA+aaz5ClTXToybD2Py+gD2rSsOsKfMCVynnmx586MfJCgrSAx2gbVsKqfalB+luCno=
Received: from ( by ( with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.629.8; Fri, 23 Sep 2016 21:08:50 +0000
Received: from ([]) by ([]) with mapi id 15.01.0629.006; Fri, 23 Sep 2016 21:08:50 +0000
From: Andrei Popov <>
To: David Benjamin <>, Anders Rundgren <>, Peter Gutmann <>, Ilari Liusvaara <>, "" <>
Thread-Topic: [TLS] CertficateRequest extension encoding
Thread-Index: AQHSBpsXZcombga0NEGFs2xYmfILPaBpmgGAgAAAfICAAc2xcIAAP92AgADc94CAABaMgIAAEfdwgBm4KoCAAUnDYA==
Date: Fri, 23 Sep 2016 21:08:49 +0000
Message-ID: <>
References: <> <> <> <> <> <> <> <> <>
In-Reply-To: <>
Accept-Language: en-US
Content-Language: en-US
authentication-results: spf=none (sender IP is );
x-originating-ip: [2001:4898:80e8:a::1d2]
x-ms-office365-filtering-correlation-id: 381ee831-5783-4023-aa72-08d3e3f5d106
x-microsoft-exchange-diagnostics: 1; CY1PR0301MB0844; 6:GXDXlt5KDkGD6Xyq/ivZqibSbMTWMUxMvphdd8cPXLCKW2KcdybPSsJJy5U5FCmR4mq8izfzOo0Y57SZ8Wd+LvkehVtiWRewG7y7ArzToxwIijcjGDrmsfypr3iurZXo7QxKFK6pzamhEJRusBHmO1hBjywZ7umBcBHdgHmK0n579HJOJqN2RRVR/zNAI7uT1vqObiqDpY6j/vk+aCXDYA0Xl3u/ddHmfMmyJd7j5GAbe6P0yinmlo3N6b1yaqQT1AcjuFqwqgyCGRC+mxxkkCmh1/zj4wA/wPJt2eixMF9jhxz9FmMlWQMksySfv8RQOnOrGMHo8/7tXnyhW/00aw==; 5:OKIPl6kckH5BTzLWP/28ZjwDFeFA6jFxsVCMg3oRLDj1/YgiR690f9tZ1xrZEVIC71tiESTNU6eKQIRgFjHN5CLo/BzaUuVNlRZ6Z8CebJ/3c27q/pwc+U1Z3x0NrrMBaOboVHKDQYr5sNH907DwLg==; 24:quWspJZkC0SSWPA4WMCYxS4FFcXEAJHM0u0rdW3tI5czGY/LBk7feGRRA1iPy4NAgTOzXkgzXVLEjL3ZjZKeiGICTH9Gck9rAmtK54Y86jI=; 7:yBcN52f0pfVbVEflYggBa2G6XJKPToPE7EuskBTgurwmD7h9doAUJwEKcAs7M0VL8pbc8RNRuX+lwJHI9pRNcAOkjxAWJU111KtaTiHgLdksDy/8bKfB4UnLXac19/79ossDuXYB6kbA59CFqSy86v+xr/kboUPvUmwf8qTYZApdmIfJsVv6hQJFaSSO4Bp8vRkVrndsVOtbfATEcr5HmW2wzy07x9pAOXWpBYlfYkdnwaZwh9dNFsSw5KNUMJKd/9NLELgNmvV06BYzqMlr7y6itnHFQzygJvBWaBRE7FLUejwo9ttfyYoLI1xu3lv4
x-microsoft-antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:CY1PR0301MB0844;
x-microsoft-antispam-prvs: <>
x-exchange-antispam-report-test: UriScan:(158342451672863)(166708455590820)(21748063052155);
x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(61425038)(6040176)(601004)(2401047)(8121501046)(5005006)(10201501046)(3002001)(6055026)(61426038)(61427038); SRVR:CY1PR0301MB0844; BCL:0; PCL:0; RULEID:; SRVR:CY1PR0301MB0844;
x-forefront-prvs: 0074BBE012
x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(7916002)(13464003)(24454002)(377454003)(199003)(189002)(377424004)(76104003)(81156014)(8936002)(81166006)(99286002)(11100500001)(19617315012)(10400500002)(10290500002)(10090500001)(5005710100001)(5001770100001)(7736002)(7696004)(86612001)(189998001)(7846002)(97736004)(8676002)(93886004)(107886002)(5002640100001)(16236675004)(561944003)(106356001)(2950100002)(15975445007)(2501003)(77096005)(19625215002)(101416001)(8990500004)(2900100001)(2906002)(105586002)(76176999)(76576001)(106116001)(33656002)(54356999)(92566002)(50986999)(586003)(19580405001)(122556002)(87936001)(68736007)(9686002)(102836003)(19609705001)(6116002)(19580395003)(5660300001)(7906003)(3280700002)(74316002)(86362001)(19300405004)(3660700001)(790700001)(3826002); DIR:OUT; SFP:1102; SCL:1; SRVR:CY1PR0301MB0844;; FPR:; SPF:None; PTR:InfoNoRecords; A:1; MX:1; LANG:en;
received-spf: None ( does not designate permitted sender hosts)
spamdiagnosticoutput: 1:99
spamdiagnosticmetadata: NSPM
Content-Type: multipart/alternative; boundary="_000_CY1PR0301MB08424250FC83C230D788D9CA8CC80CY1PR0301MB0842_"
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-originalarrivaltime: 23 Sep 2016 21:08:49.6174 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 72f988bf-86f1-41af-91ab-2d7cd011db47
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY1PR0301MB0844
Archived-At: <>
Subject: Re: [TLS] CertficateRequest extension encoding
X-Mailman-Version: 2.1.17
Precedence: list
List-Id: "This is the mailing list for the Transport Layer Security working group of the IETF." <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Fri, 23 Sep 2016 21:08:54 -0000

With this change, we can define multiple matching rules for the same extension OID, which might be useful. Looks good to me.



From: David Benjamin []
Sent: Thursday, September 22, 2016 6:26 PM
To: Andrei Popov <>; Anders Rundgren <>; Peter Gutmann <>; Ilari Liusvaara <>;
Subject: Re: [TLS] CertficateRequest extension encoding

On Tue, Sep 6, 2016 at 1:03 PM Andrei Popov <<>> wrote:
> But it's OID-specific how the matching works, isn't it?
Correct, and initially we define matching for KU and EKU. These are the OIDs I've got the most customer requests for. I expect that we will want to define matching rules for other OIDs over time, in separate specs. This new proposal allows multiple sets of matching rules for each OID, which certainly increases flexibility.

David, do you care enough to write your proposal down as a PR, so that we can discuss the specifics?

Apologies for the delay. Been a busy few weeks. This is roughly what I was thinking:

What do you think?

Again, I don't actually care about this, so if you and others who would use this mechanism prefer it as it is, I have no qualms. This is a "pull suggestion", not a "pull request". :-)




-----Original Message-----
From: Anders Rundgren [<>]
Sent: Tuesday, September 6, 2016 8:36 AM
To: Peter Gutmann <<>>; David Benjamin <<>>; Andrei Popov <<>>; Ilari Liusvaara <<>>;<>
Subject: Re: [TLS] CertficateRequest extension encoding

On 2016-09-06 16:15, Peter Gutmann wrote:
> David Benjamin <<>> writes:
>> Either way I imagine our stack will just keep on ignoring it, so I
>> don't feel about this all too strongly. But the topic came up so I
>> thought I'd suggest this.
> I ignore it too.  Client certs are so rare, and so painful to deploy,
> that I'm not going to make things harder on users by adding complex
> and opaque filtering to prevent them from working.  My approach is to
> specify as few constraints as possible, the client submits whatever
> certificate it has, and it's then decided based on a whitelist for
> which the server can very clearly report "not on the whitelist" when
> it rejects it.  The design seems to be based on the idea that each
> client has a smorgasbord of certs and the server can specify in
> precise detail in advance which one it wants, when in reality each
> client has approximately zero certs, and the few that do have one just want the one they've got to work.

May I add some nuances here?

Client-certificates are *extensively* used for secure box-to-box communication.
Existing selection methods suffice (there's usually none on the client side).

Client-certificates for user authentication on the Web through HTTPS is a small and diminishing activity. The decision by the browser vendors dropping support for on-line enrollment is likely to further limit this use case which make improvements in selection/filtering pretty uninteresting.

Client-certificates for user authentication on the Web through through proprietary ("FIDO like") application level protocols is fairly big.  Half of the Swedish population use such a scheme for e-government and bank access.  It uses an ugly (and non-secure) OOB-method to make it "Web compatible".  This use-case is (of course) not of an issue for the TLS WG but may be of some interest for people currently using client certificates for Web authentication.


> Peter.
> _______________________________________________
> TLS mailing list