Re: [certid] CN-ID and name constraints
Matt McCutchen <matt@mattmccutchen.net> Fri, 24 September 2010 05:01 UTC
Return-Path: <matt@mattmccutchen.net>
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 CE1FE3A6A7E for <certid@core3.amsl.com>;
Thu, 23 Sep 2010 22:01:25 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.299
X-Spam-Level:
X-Spam-Status: No, score=-2.299 tagged_above=-999 required=5 tests=[AWL=-0.300,
BAYES_00=-2.599, J_CHICKENPOX_42=0.6]
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 MG9-+7i05Nub for
<certid@core3.amsl.com>; Thu, 23 Sep 2010 22:01:24 -0700 (PDT)
Received: from homiemail-a62.g.dreamhost.com (mx1.spunky.mail.dreamhost.com
[208.97.132.47]) by core3.amsl.com (Postfix) with ESMTP id 7B3943A68DF for
<certid@ietf.org>; Thu, 23 Sep 2010 22:01:24 -0700 (PDT)
Received: from homiemail-a62.g.dreamhost.com (localhost [127.0.0.1]) by
homiemail-a62.g.dreamhost.com (Postfix) with ESMTP id 6E87263406F;
Thu, 23 Sep 2010 22:01:55 -0700 (PDT)
DomainKey-Signature: a=rsa-sha1; c=nofws; d=mattmccutchen.net; h=subject:from
:to:cc:in-reply-to:references:content-type:date:message-id
:mime-version:content-transfer-encoding; q=dns; s= mattmccutchen.net;
b=siiuoAzIsSjP32/Y9VnXb8waizttHfeZAfhVRclJABe
hzjQdI9xWNoInXcYXQhouYPeWYM0eXDomhd2t6PHlCPv7n/d0dzULvsAm0yhj/+d
inuFkJ90SRPoBAKIqEUTxYKBTHwNpvH3E7cbWxeMeCPLv0UCJ1Dzy3KhSO+XIIDw =
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=mattmccutchen.net;
h= subject:from:to:cc:in-reply-to:references:content-type:date
:message-id:mime-version:content-transfer-encoding; s= mattmccutchen.net;
bh=XTobrlGOi849yb8DBThrncTKRTo=;
b=MhqRsd/sFi B4Rqylkj0TK5MqL1yPYE0VwjjhvzucEXwXiB9RIIyRidMWoJbwVBHH6BxVaGjhCV
gKJAFITwr1WJaCT2CWUsXjnnMvgg/rAj7mqfRr0phLJ5OR725QMLzXxgkMFhBMRc
eLKgTLrPwpln8KIFvWHNFlU92D4pufttQ=
Received: from [129.2.249.209] (ml2.student.umd.edu [129.2.249.209])
(Authenticated sender: matt@mattmccutchen.net) by
homiemail-a62.g.dreamhost.com (Postfix) with ESMTPA id 1D18863406C;
Thu, 23 Sep 2010 22:01:55 -0700 (PDT)
From: Matt McCutchen <matt@mattmccutchen.net>
To: mrex@sap.com
In-Reply-To: <201009240239.o8O2dTQY022491@fs4113.wdf.sap.corp>
References: <201009240239.o8O2dTQY022491@fs4113.wdf.sap.corp>
Content-Type: text/plain; charset="UTF-8"
Date: Fri, 24 Sep 2010 01:01:54 -0400
Message-ID: <1285304514.1939.337.camel@mattlaptop2.local>
Mime-Version: 1.0
X-Mailer: Evolution 2.30.4
Content-Transfer-Encoding: 7bit
Cc: certid@ietf.org
Subject: Re: [certid] CN-ID and name constraints
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: Fri, 24 Sep 2010 05:01:25 -0000
On Fri, 2010-09-24 at 04:39 +0200, Martin Rex wrote: > Matt McCutchen wrote: > > > > > A CA with name constraints for DNSName SANs (required critical according > > > to rfc5280, mind you) in its own CA certificate that issues TLS server > > > certificates without dNSName SANs yields "fubar" on my scorecard. > > > > But if by doing that they can issue certificates that clients will > > accept for server names the superior CA did not intend, that's a big > > security problem. > > No, there is absolutely no security problem involved. > > This is a plain and simple liability issue. If the superior CA > can not manage the risk appropriately so that the issuing CA will > not do this, then either the superior CA MUST NOT certify that > issuing CA, or the clients MUST NOT trust the superior CA. Name constraints are designed to support secure delegation of the ability to issue certificates for a portion of the namespace. Why wouldn't CAs use them for that purpose? Just because you said so? A certificate that violates a name constraint is invalid, and under any sane contract or legal system, the superior CA will not be liable to anyone who relies on an invalid certificate. > Btw. is it completely ridiculous to put Constraints into > certificates for a resource that is managed aribraritly on a > first-come, first-served basis such as DNS hostnames and > think of it as a security feature. What exact use case do you speak of? The typical use case is to give the owner of a DNS zone the ability to issue certificates for names within that zone that will validate for the duration of the ownership. > What some entirely fail to understand is that this is about > a backwards compatibility issue with the installed base, > and no amount of praying, cursing and issuing of new Specs with > MUST NOTs in them will change the behaviour of the installed base > in any way or form. > > New specs affect only new stuff (implementations and CAs), > and to a very limited amount patches into the installed base, > under the condition that the change DOES NOT BREAK existing > productive usage scenarios. Matching a reference server name against a CN-ID that violates a dNSName constraint defeats the purpose of name constraints. With respect to clients willing to do this, a name constraint is a security no-op. In general, IETF seeks to make the features that it introduces work as intended. So it makes complete sense to me that secure handling of name constraints would be a condition of conformance to the server-id-check standard. Old clients that take a useless interpretation of name constraints can continue to exist, they just can't claim conformance to the standard, and that's their problem. NSS now enforces name constraints on the CN-ID (https://bugzilla.mozilla.org/show_bug.cgi?id=394919) and remains backward compatible with the web by virtue of the fact that the public CAs aren't using name constraints yet. If the CAs start doing so, all an inferior CA has to do for things to work is to include a dNSName SAN, which is a SHOULD anyway. > NameConstraints are ill-designed to support what some people > intend to do with them. In what way are they ill-designed to support secure delegation of the ability to issue certificates for a portion of the namespace? > They're specify to constrain only > name components that are present, not name components that > are absent. What do you mean? > Go kick the PKIX folks if you don't like how it is spec'ed, > but leave the apps folks alone. I believe that asking the apps > folks to regurgitate and re-chew stuff that the PKIX part didn't > process to someone's satisfaction is an _extremely_ bad idea. server-id-check is built on PKIX, not vice versa, so server-id-check is responsible for the security consequences of the CN-ID that it defines for the name constraints defined by PKIX. It has the option to solve the problem or say "this breaks the security of name constraints and we know it", which would be laughable for a standard. > As far as Joe Average User is concerned, which of the CAs shipping > in current Browsers does have the alleged security problem anyway? None; obviously the CAs won't use a feature that presents a security problem. The relevant question is whether they would start using it if the problem were solved, and that I can't answer. Those that charge for each end-entity certificate would certainly charge through the roof to delegate an entire domain. > The way they're specified, NameConstraints are not a security feature, > but rather a means to enforce a business model, because NameConstraints > can no longer securely if there is more than one trust anchor. > TLS as used on the internet is approaching 100 seperate trust anchors... No. All name constraints do is constrain sub-CAs, and they are secure for that purpose. PKIX assumes you trust your trust anchors. If you don't, that's a problem that has to be solved by other means. > > The idea is that by including a dNSName SAN, the CA opts out of the > > backward compatibility. I don't think anyone issues certificates with > > both dNSName SAN and CN with the intent that the CN be honored as a > > server name. > > Well no, this is another absolute nonsense, because again it > completely ignores the (behaviour of) the installed base. > The only way to opt out of CN-ID matching is to issue server > certs entirely without CN AVAs in the subject name. > Anything else than CN=f.q.d.n or NO CN AVA is non-sensical. I'm not sure what installed base you are talking about, but the interpretation I described is stated in RFC 2818 and followed by all major browsers. server-id-check is right to choose it. But this is a separate issue from name constraints on the CN-ID. > I'm not aware of a reasonable justification for the existance > of PolicyConstraints and NameConstraints in certificates other > than governmental agencies and military would like to use it > eventually and still be able to procure on the commodity market. I gave one above. A public CAs can give a DNS zone owner the ability to issue certificates within the zone without posing a risk to anyone else. -- Matt
- [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