Re: [certid] Why require EKU for certid?
Stefan Santesson <stefan@aaa-sec.com> Wed, 29 September 2010 23:19 UTC
Return-Path: <stefan@aaa-sec.com>
X-Original-To: certid@core3.amsl.com
Delivered-To: certid@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix)
with ESMTP id E9C893A69DD for <certid@core3.amsl.com>;
Wed, 29 Sep 2010 16:19:37 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -102.663
X-Spam-Level:
X-Spam-Status: No, score=-102.663 tagged_above=-999 required=5 tests=[AWL=0.586,
BAYES_00=-2.599, HELO_EQ_SE=0.35, RCVD_IN_DNSWL_LOW=-1,
USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com
[127.0.0.1]) (amavisd-new, port 10024) with ESMTP id JiBoA91KVgIn for
<certid@core3.amsl.com>; Wed, 29 Sep 2010 16:19:36 -0700 (PDT)
Received: from s87.loopia.se (s87.loopia.se [194.9.95.115]) by core3.amsl.com
(Postfix) with ESMTP id 501383A6835 for <certid@ietf.org>;
Wed, 29 Sep 2010 16:19:35 -0700 (PDT)
Received: from s57.loopia.se (s34.loopia.se [194.9.94.70]) by s87.loopia.se
(Postfix) with ESMTP id 118CD2E96E6 for <certid@ietf.org>;
Thu, 30 Sep 2010 01:20:28 +0200 (CEST)
Received: (qmail 15496 invoked from network); 29 Sep 2010 23:20:18 -0000
Received: from 213-64-142-247-no153.business.telia.com (HELO [192.168.1.5])
(stefan@fiddler.nu@[213.64.142.247]) (envelope-sender <stefan@aaa-sec.com>)
by s57.loopia.se (qmail-ldap-1.03) with DES-CBC3-SHA encrypted SMTP for
<stpeter@stpeter.im>; 29 Sep 2010 23:20:18 -0000
User-Agent: Microsoft-Entourage/12.26.0.100708
Date: Thu, 30 Sep 2010 01:20:15 +0200
From: Stefan Santesson <stefan@aaa-sec.com>
To: Peter Saint-Andre <stpeter@stpeter.im>,
Paul Hoffman <paul.hoffman@vpnc.org>
Message-ID: <C8C9964F.F751%stefan@aaa-sec.com>
Thread-Topic: [certid] Why require EKU for certid?
Thread-Index: ActgLN83fyneejIEL0CCpj4bo4uHrA==
In-Reply-To: <4CA3BCBB.1010007@stpeter.im>
Mime-version: 1.0
Content-type: text/plain; charset="US-ASCII"
Content-transfer-encoding: 7bit
Cc: IETF cert-based identity <certid@ietf.org>
Subject: Re: [certid] Why require EKU for certid?
X-BeenThere: certid@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: Representation and verification of identity in certificates
<certid.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/certid>,
<mailto:certid-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/certid>
List-Post: <mailto:certid@ietf.org>
List-Help: <mailto:certid-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/certid>,
<mailto:certid-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 29 Sep 2010 23:19:38 -0000
On 10-09-30 12:24 AM, "Peter Saint-Andre" <stpeter@stpeter.im> wrote: > On 9/29/10 4:20 PM, Paul Hoffman wrote: >> At 2:03 PM -0600 9/29/10, Peter Saint-Andre wrote: >>> [trimming tls@ and ietf@ from cc list] >>> >>> On 9/23/10 11:43 AM, Henry B. Hotz wrote: >>>> >>>> On Sep 22, 2010, at 9:44 AM, Paul Hoffman wrote: >>>> >>>>> At 10:21 AM -0600 9/22/10, Peter Saint-Andre wrote: >>>>>> On 9/14/10 12:51 AM, Stefan Santesson wrote: >>>>>>> General: I would consider stating that server certificates >>>>>>> according to this profile either MUST or SHOULD have the >>>>>>> serverAuth EKU set since it is allways related to the use >>>>>>> of TSL and server authentication. At least it MUST be set >>>>>>> when allowing checks of the CN-ID (see 2.3 below). >>>>>> >>>>>> [..snip..] >>>>> >>>> >>>>> What possible advantage is there to making certificates that do >>>>> not have this flag set be excluded from the practices you are >>>>> defining? That is, if a TLS client gets a certificate from a >>>>> TLS server that the TLS server says is its authentication >>>>> certificate, why should the client care whether or not that >>>>> flag is set? That flag is an assertion from the CA, not from >>>>> the server who is authenticating. >>>> >>>> >>>> Does this point need discussion? Without checking, I suspect >>>> that 5280 says you obey the EKU, period. OTOH I think Paul >>>> raises a valid point. >>>> >>>> OTOH (again) one could argue that the EKU provides a way to >>>> prevent a stolen cert/key issued to the machine for a different >>>> function from being repurposed to support a fake server. (I'm >>>> not convinced this is significant, but it's something.) >>>> >>>> Absent discussion and consensus, I vote for whatever 5280 says, >>>> which I suppose is what the current silence on the topic equates >>>> to. >>> >>> This I-D shall never be taken to override anything in RFC 5280 or >>> any other normatively-referenced specification on which it depends. >>> If folks think we need a blanket statement to that effect, please >>> let us know. Version -10 will have a new section containing an >>> applicability statement, which starts as follows: >>> >>> This document does not supersede the rules for certificate >>> validation provided in [RFC5280]. >>> >>> But we can always add a stronger statement if need be. >> >> This misses the point I made when I started this thread. > > That's because I was replying only to the small item of whether the > server-id-check can be taken to override RFC 5280. > >> Stefan >> proposed a change that would require that only certs that included >> this EKU be considered, you said you would consider that, > > I think I said only that Jeff and I hadn't discussed it yet. It's still > on our todo list. > >> and I said >> that would be a bad change. Henry's point did not negate or support >> my proposal. > > My sense of the discussion so far is that there's no strong agreement to > accept the proposal that Stefan made. > My point is more that it is good practice to have serverAuth set when the CN attribute is allowed to carry a DN. Absent the serverAuth EKU it is hard to programmatically be sure that the CN actually contains a DNS name. Yes you can probably be pretty sure but there is just a slight chance for problems due to overloaded semantics. ServerAuth provides a much cleaner indication than parsing the CN attribute only. I see potential security problems if a CA allows you to for example set your CN as a friendly name while other attributes such as givenName and SureName are checked against your registered name. The friendly name may be hard to check as it may differ from your registered name (ex Tim Polk). Thus some not so careful implementation may have poor checks and allow you to choose a domain name as your friendly name. This certificate may never be intended to be used for server authentication, but following the rules of the draft this certificate now allows spoofing and you would never detect that. More importantly it has to do with name constraints processing. If you accept the CN attribute as a domain name you need to make sure that it also matches any name constraints set for the dNSName of the path. It is much cleaner again to use the serverAuth as a mechanism for switching in this logic. Absent this check, the domain name may violate name constraints and you would never know. This is the most important point. /Stefan
- [certid] Fwd: Review of draft-saintandre-tls-serv… Paul Hoffman
- Re: [certid] Review of draft-saintandre-tls-serve… Peter Saint-Andre
- Re: [certid] Review of draft-saintandre-tls-serve… Peter Saint-Andre
- Re: [certid] Review of draft-saintandre-tls-serve… Peter Saint-Andre
- Re: [certid] Review of draft-saintandre-tls-serve… Peter Saint-Andre
- Re: [certid] Review of draft-saintandre-tls-serve… Bernard Aboba
- Re: [certid] Review of draft-saintandre-tls-serve… Stefan Santesson
- Re: [certid] Review of draft-saintandre-tls-serve… James Schaad
- Re: [certid] Review of draft-saintandre-tls-serve… Stefan Santesson
- Re: [certid] Review of draft-saintandre-tls-serve… Stefan Santesson
- Re: [certid] Review of draft-saintandre-tls-serve… Peter Saint-Andre
- Re: [certid] Review of draft-saintandre-tls-serve… Peter Saint-Andre
- Re: [certid] Review of draft-saintandre-tls-serve… Shumon Huque
- Re: [certid] Review of draft-saintandre-tls-serve… Shumon Huque
- Re: [certid] Review of draft-saintandre-tls-serve… Stefan Santesson
- Re: [certid] Review of draft-saintandre-tls-serve… Stefan Santesson
- Re: [certid] Review of draft-saintandre-tls-serve… Shumon Huque
- Re: [certid] Review of draft-saintandre-tls-serve… Stefan Santesson
- Re: [certid] Review of draft-saintandre-tls-serve… Peter Saint-Andre
- Re: [certid] Review of draft-saintandre-tls-serve… Paul Hoffman
- Re: [certid] Review of draft-saintandre-tls-serve… Peter Saint-Andre
- Re: [certid] Review of draft-saintandre-tls-serve… Shumon Huque
- Re: [certid] Review of draft-saintandre-tls-serve… Peter Saint-Andre
- Re: [certid] Review of draft-saintandre-tls-serve… Shumon Huque
- Re: [certid] Review of draft-saintandre-tls-serve… Richard L. Barnes
- Re: [certid] Review of draft-saintandre-tls-serve… Dave Cridland
- Re: [certid] Review of draft-saintandre-tls-serve… Martin Rex
- Re: [certid] Review of draft-saintandre-tls-serve… Stefan Santesson
- Re: [certid] Review of draft-saintandre-tls-serve… Stefan Santesson
- Re: [certid] [TLS] Review of draft-saintandre-tls… Peter Saint-Andre
- Re: [certid] Review of draft-saintandre-tls-serve… Peter Saint-Andre
- Re: [certid] Review of draft-saintandre-tls-serve… Peter Saint-Andre
- Re: [certid] Review of draft-saintandre-tls-serve… Dave Cridland
- Re: [certid] Review of draft-saintandre-tls-serve… Peter Saint-Andre
- Re: [certid] Review of draft-saintandre-tls-serve… Dave Cridland
- Re: [certid] Review of draft-saintandre-tls-serve… Peter Saint-Andre
- Re: [certid] Review of draft-saintandre-tls-serve… Dave Cridland
- Re: [certid] Review of draft-saintandre-tls-serve… Stefan Santesson
- Re: [certid] Review of draft-saintandre-tls-serve… Peter Saint-Andre
- Re: [certid] [TLS] Review of draft-saintandre-tls… James Schaad
- Re: [certid] Review of draft-saintandre-tls-serve… Stefan Santesson
- Re: [certid] Review of draft-saintandre-tls-serve… Stefan Santesson
- Re: [certid] Review of draft-saintandre-tls-serve… Dave Cridland
- Re: [certid] Review of draft-saintandre-tls-serve… Shumon Huque
- Re: [certid] Review of draft-saintandre-tls-serve… Dave Cridland
- Re: [certid] Review of draft-saintandre-tls-serve… Peter Saint-Andre
- Re: [certid] Review of draft-saintandre-tls-serve… Peter Saint-Andre
- Re: [certid] Review of draft-saintandre-tls-serve… Peter Saint-Andre
- [certid] Why require EKU for certid? Paul Hoffman
- Re: [certid] Why require EKU for certid? Peter Saint-Andre
- Re: [certid] [TLS] Why require EKU for certid? Jim Schaad
- Re: [certid] Why require EKU for certid? Martin Rex
- Re: [certid] Why require EKU for certid? Henry B. Hotz
- [certid] CN-ID and name constraints Matt McCutchen
- Re: [certid] CN-ID and name constraints Martin Rex
- Re: [certid] CN-ID and name constraints Matt McCutchen
- Re: [certid] CN-ID and name constraints Martin Rex
- Re: [certid] CN-ID and name constraints Matt McCutchen
- Re: [certid] CN-ID and name constraints (oops) Matt McCutchen
- Re: [certid] CN-ID and name constraints Matt McCutchen
- Re: [certid] Why require EKU for certid? Peter Saint-Andre
- Re: [certid] CN-ID and name constraints Peter Saint-Andre
- Re: [certid] CN-ID and name constraints Jim Schaad
- Re: [certid] Why require EKU for certid? Peter Saint-Andre
- Re: [certid] Why require EKU for certid? Paul Hoffman
- Re: [certid] Why require EKU for certid? Stefan Santesson
- Re: [certid] Why require EKU for certid? Paul Hoffman
- Re: [certid] Why require EKU for certid? Martin Rex
- Re: [certid] Why require EKU for certid? Stefan Santesson
- Re: [certid] Why require EKU for certid? Peter Saint-Andre
- Re: [certid] Why require EKU for certid? Peter Saint-Andre
- Re: [certid] CN-ID and name constraints Peter Saint-Andre
- Re: [certid] CN-ID and name constraints Jim Schaad
- Re: [certid] CN-ID and name constraints Carl Wallace