Re: [certid] Need to define "most specific RDN"
Martin Rex <mrex@sap.com> Sat, 17 July 2010 00:53 UTC
Return-Path: <mrex@sap.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 DC1943A6765 for <certid@core3.amsl.com>;
Fri, 16 Jul 2010 17:53:55 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7.855
X-Spam-Level:
X-Spam-Status: No, score=-7.855 tagged_above=-999 required=5 tests=[AWL=-0.806,
BAYES_50=0.001, HELO_EQ_DE=0.35, J_CHICKENPOX_28=0.6, RCVD_IN_DNSWL_HI=-8]
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 cen7IJ8meqVH for
<certid@core3.amsl.com>; Fri, 16 Jul 2010 17:53:54 -0700 (PDT)
Received: from smtpde01.sap-ag.de (smtpde01.sap-ag.de [155.56.68.170]) by
core3.amsl.com (Postfix) with ESMTP id 0FE583A6407 for <certid@ietf.org>;
Fri, 16 Jul 2010 17:53:53 -0700 (PDT)
Received: from mail.sap.corp by smtpde01.sap-ag.de (26) with ESMTP id
o6H0s3m8002883 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256
verify=OK); Sat, 17 Jul 2010 02:54:03 +0200 (MEST)
From: Martin Rex <mrex@sap.com>
Message-Id: <201007170054.o6H0s28q023476@fs4113.wdf.sap.corp>
To: paul.tiemann.usenet@gmail.com (Paul Tiemann)
Date: Sat, 17 Jul 2010 02:54:02 +0200 (MEST)
In-Reply-To: <AANLkTil-6PZ4iAE9SfysI3AuIjam40xbN8DywgLOMwI0@mail.gmail.com>
from "Paul Tiemann" at Jul 16, 10 12:02:10 pm
MIME-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
X-Scanner: Virus Scanner virwal08
X-SAP: out
Cc: certid@ietf.org
Subject: Re: [certid] Need to define "most specific RDN"
X-BeenThere: certid@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
Reply-To: mrex@sap.com
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: Sat, 17 Jul 2010 00:53:56 -0000
Paul Tiemann wrote: > > 2) Only slightly less compatible: issue with CN=www.digicert.com, and > non-critical SAN=(dnsName=www.digicert.com) This is what has been in common use over the past 15 years, what makes the most sense and what is the most interoperable. A "Best Common Practice" (BCP) document ought to be about what is in use and known to work well, not about some folks disliking what is there and trying to exert undue pressure and chastise an installed base that is working perfectly fine. I do not have a problem with browsers or other application clients that ignore CN-IDs whenever there is a SAN extension DNSName present in a servers cert. But I have a problem with words in a BCP that are in clear violation of rfc-2119 section 6 last sencence with the potential to cause interop problems and entirely without a cause. > > 3) Still less compatible: issue with CN=www.digicert.com, and CRITICAL > SAN=(dnsName=www.digicert.com) What is the purpose of marking SAN critical other than having a number of peers choke on it and reject it? It's hardly make a cert more understandable. An implementation of PKI has no control over what exactly an application does with a SAN. > > When the SAN extension is marked critical, some Java based clients or > servers will choke. Perhaps it's all Java versions older than 2007, but > sadly that describes a fair amount of enterprise customers who run various > legacy applications on very old JVM versions. If the J2EE versions out there would be 100% backwards compatible, then this problem would be insignificant. Unfortunately, due to a lack of planning, there seems to be a release-specific lock-in. > > 4) Least compatible: issue with CN=DigiCert, Inc or no CN at all, and > non-critical SAN=(dnsName=www.digicert.com) No CN would be a pretty bad idea. If I look at the administrative interfaces, the "handle" to a digital identity is normally it's CN= content, i.e. when administering IIS server certs on W2K3. And if you google around, the amount of documentation that instructs you to have the fqdn hostname in the CN= part of the cert just everywhere, the only document that doesn't is the current I-D. > > I agree with Nelson's recent post, however, that I would prefer it if the CN > were restricted to just one spot. There are too many browsers already > behaving differently when there are more than one CN in a subject. Dan > Kaminsky found Firefox, IE, and openssl behave differently when they see > more than one CN in a subject. Almost all certificates I'm aware of have > only one CN in them -- and making it even more rare would be a step forward > in my opinion. I do _not_ like the idea to make multiple CN= matching part of the standard. The clients that match on more than one CN= are quite few (mine does), it never was part of any standard or suggestion and the behaviour of clients in presence of multiple CN-IDs is difficult to predict. Documenting what is there would be reasonable though, i.e. Most clients will match CN-ID when no SANs are present, but only the most specific. Having multiple CN-IDs in a subject name was never recommended, and only a few clients implement it that way. Since there are some commercial CAs do a poor job of vetting subject name components for the CSRs they receive, matching multiple CN-IDs could make a client that trusts one of those negligent CAs vulnerable to server identity spoofing. Having the fqdn server name as a CN-ID in the server certificate is a well-established tradition, documented in that fashion everywhere, and many adminstrative user interfaces use the CN part of the subject distinguished name of a certificate as the prominent identifier and distinguisher. > > My opinion on steps for improvement from where we are now: > > 1) Clarify CN usage by strongly recommending only 1 CN in a subject. OK. Makes sense. > 2) Encourage ubiquitous usage of the SAN extension, so that almost all CA > issued certificates include the SAN extension, only deviating from that for > reasons of compatibility with legacy servers or clients which choke on the > SAN. OK. Makes sense. > > 3) Make strong recommendations to stop using CN-IDs in subject Really bad idea, completely unnecesary and clear violation of rfc-2116 section 6. Im pretty sure that every one which strongly cares about this can make his client ignore CN-IDs when at least one DNSName SAN is present, so 2) is perfectly sufficient. > > 4) Stop using server-IDs in common names experimentally All the big players have implemented IPv6 and tested interop. Why don't we shutdown the entire IPv4 internet to force the users to use IPv6? > > On the topic of name constraints: What if there are ways to push Name > Constraints forward without necessarily having to wait for all legacy > clients to die and all the niche clients to become compatible? Here's one > idea (admittedly not past v0.1 in my head) > > 1) Have the major browser vendors add a small mechanism to detect > certificates with Name Constraint violations, and give them a central, > automated way to "report" a certificate found with violated name constraints > which might pose a risk for all the non-compliant browsers and clients. Huh? For the preconfigured trusted CAs shipping with browsers, name constraints are entirely irrelevent, just as irrelevant to most of the users out there. Name constraints might be interesting to individual large and hierarchical organizations that run a CA hierarchy and delegate authority constrained to name spaces or domains. On the other hand, I remeber a really large multi-national (US-originating) company that doesn't run company-internal CAs because of liability issues. Which puzzles me, because I believe their legal department is more sophisticated and experienced than ours, and we've been operating CAs for company-internal purposes for more than a decade... But what has name constraints to do with CN-ID? An organization that can operate a CA hierachy and configure name constraints, should be perfectly able to equip all of their server certs with SANs, in which case the software of all of the "MUST ignore CN-ID if DNSName SAN is present" will reliably ignore the CN-ID, so that it means no harm. -Martin PS: Are you aware that processing name constraints for DNSName SANs is still optional in rfc-5280 ("RECOMMENDED"), whereas processing name constraints for DirectoryName was already a requirement ("MUST") in rfc-2459?
- [certid] Need to define "most specific RDN" Paul Hoffman
- Re: [certid] Need to define "most specific RDN" Peter Saint-Andre
- Re: [certid] Need to define "most specific RDN" Bruno Harbulot
- Re: [certid] Need to define "most specific RDN" Paul Hoffman
- Re: [certid] Need to define "most specific RDN" Peter Sylvester
- Re: [certid] Need to define "most specific RDN" Kaspar Brand
- Re: [certid] Need to define "most specific RDN" Kurt Zeilenga
- Re: [certid] Need to define "most specific RDN" Peter Sylvester
- Re: [certid] Need to define "most specific RDN" Peter Saint-Andre
- Re: [certid] Need to define "most specific RDN" Martin Rex
- Re: [certid] Need to define "most specific RDN" Peter Saint-Andre
- Re: [certid] Need to define "most specific RDN" Love Hörnquist Åstrand
- Re: [certid] Need to define "most specific RDN" Peter Saint-Andre
- Re: [certid] Need to define "most specific RDN" =JeffH
- Re: [certid] Need to define "most specific RDN" Kaspar Brand
- Re: [certid] Need to define "most specific RDN" Ludwig Nussel
- Re: [certid] Need to define "most specific RDN" Peter Sylvester
- Re: [certid] Need to define "most specific RDN" Kaspar Brand
- Re: [certid] Need to define "most specific RDN" Peter Saint-Andre
- Re: [certid] Need to define "most specific RDN" Kaspar Brand
- Re: [certid] Need to define "most specific RDN" Paul Hoffman
- Re: [certid] Need to define "most specific RDN" Kaspar Brand
- Re: [certid] Need to define "most specific RDN" Nelson B Bolyard
- Re: [certid] Need to define "most specific RDN" Kaspar Brand
- Re: [certid] Need to define "most specific RDN" Martin Rex
- Re: [certid] Need to define "most specific RDN" Nelson B Bolyard
- Re: [certid] Need to define "most specific RDN" Kaspar Brand
- Re: [certid] Need to define "most specific RDN" Ludwig Nussel
- Re: [certid] Need to define "most specific RDN" Nelson B Bolyard
- Re: [certid] Need to define "most specific RDN" Paul Tiemann
- Re: [certid] Need to define "most specific RDN" Martin Rex
- Re: [certid] Need to define "most specific RDN" Nelson B Bolyard
- Re: [certid] Need to define "most specific RDN" Kaspar Brand
- Re: [certid] Need to define "most specific RDN" Martin Rex
- Re: [certid] Need to define "most specific RDN" Martin Rex
- Re: [certid] Need to define "most specific RDN" Shumon Huque
- Re: [certid] Need to define "most specific RDN" Martin Rex
- Re: [certid] Need to define "most specific RDN" Shumon Huque
- Re: [certid] Need to define "most specific RDN" Peter Sylvester
- Re: [certid] Need to define "most specific RDN" Peter Saint-Andre
- Re: [certid] Need to define "most specific RDN" Peter Saint-Andre
- Re: [certid] Name constraints and legacy clients Matt McCutchen
- Re: [certid] Name constraints and legacy clients Matt McCutchen
- Re: [certid] Name constraints and legacy clients Paul Tiemann