Re: [certid] Need to define "most specific RDN"
Paul Tiemann <paul.tiemann.usenet@gmail.com> Fri, 16 July 2010 18:02 UTC
Return-Path: <paul.tiemann.usenet@gmail.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 18DDD3A67BD for <certid@core3.amsl.com>;
Fri, 16 Jul 2010 11:02:01 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0.602
X-Spam-Level:
X-Spam-Status: No,
score=0.602 tagged_above=-999 required=5 tests=[BAYES_50=0.001,
HTML_MESSAGE=0.001, J_CHICKENPOX_28=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 oBk5xDRH2r0R for
<certid@core3.amsl.com>; Fri, 16 Jul 2010 11:01:59 -0700 (PDT)
Received: from mail-pw0-f44.google.com (mail-pw0-f44.google.com
[209.85.160.44]) by core3.amsl.com (Postfix) with ESMTP id 6CE853A659C for
<certid@ietf.org>; Fri, 16 Jul 2010 11:01:59 -0700 (PDT)
Received: by pwj1 with SMTP id 1so1233854pwj.31 for <certid@ietf.org>;
Fri, 16 Jul 2010 11:02:11 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma;
h=domainkey-signature:mime-version:received:received:in-reply-to
:references:date:message-id:subject:from:to:content-type;
bh=MKUlI322f/NDWKq3e2wWeM04CeUz1WdLYxrobLZSNew=;
b=KKnmoRN04B7qAtPCjUqpliTySQpGzsOjC96hwcBSlD5oUi2o8YCFdaIoOxStjAmf1k
2DRiHpMHwyPIvusD/SG65F3atlY9Gcnqy+lO3ayUH3wQdqhVaBxafFSQzDOk4UonU7jz
zkKRv6kRVRwJdVpSvMaaBB/G/YWrymCiYkFIs=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma;
h=mime-version:in-reply-to:references:date:message-id:subject:from:to
:content-type;
b=U3D83in3lJxWe84eOCLKVaDRrK/0tNp7io4+deh56S/JPwSLMBzOpeQioWAHs0mCSO
E536NtWhcqao+U1tU4mSg5akvQgxXY6Ra5jdQRGAWgukLccRVNiG9HbUtO+4TMNKOSSD
T+UJcblk4FqJIPGe1Z9l95aJ0GO8JEa9ZRUUY=
MIME-Version: 1.0
Received: by 10.114.130.10 with SMTP id c10mr2011375wad.72.1279303330800;
Fri, 16 Jul 2010 11:02:10 -0700 (PDT)
Received: by 10.114.112.9 with HTTP; Fri, 16 Jul 2010 11:02:10 -0700 (PDT)
In-Reply-To: <4C3E979B.4050401@velox.ch>
References: <201006301746.o5UHkIsE019133@fs4113.wdf.sap.corp>
<4C2B843A.5010206@stpeter.im> <4C305B93.9090001@velox.ch>
<201007061435.29786.ludwig.nussel@suse.de> <4C335CE5.1090608@edelweb.fr>
<4C3421B3.3070404@velox.ch> <4C3B4F6E.80903@stpeter.im>
<4C3DDC18.4020808@bolyard.me> <4C3E979B.4050401@velox.ch>
Date: Fri, 16 Jul 2010 12:02:10 -0600
Message-ID: <AANLkTil-6PZ4iAE9SfysI3AuIjam40xbN8DywgLOMwI0@mail.gmail.com>
From: Paul Tiemann <paul.tiemann.usenet@gmail.com>
To: certid@ietf.org
Content-Type: multipart/alternative; boundary=00163645715c97ac84048b85040b
Subject: Re: [certid] Need to define "most specific RDN"
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, 16 Jul 2010 19:15:41 -0000
On Wed, Jul 14, 2010 at 11:07 PM, Kaspar Brand <ietf-certid@velox.ch> wrote: > > I'm doubtful if adding a MUST NOT for CN-IDs (vs. a SHOULD NOT) would > have a considerable impact on future CA practices. Most of them probably > don't want to risk compatibility issues with legacy implementations > (which don't recognize the subjectAltName extension). > > You're right about CAs: They'll want maximum compatibility, and there are still enough devices and clients in circulation that only do Common Name matching. See this page for a few devices that are known not to handle SANs: http://www.digicert.com/subject-alternative-name-compatibility.htm According to my research, and DigiCert's experience issuing certificates with and without SAN extensions, here is a simple hierarchy of best-to-worst compatibility for server certificates with only one FQDN (ex: www.digicert.com) to match: 1) For best compatibility, issue the certificate with CN=www.digicert.com, do not include SAN extension at all. Everything currently supports non-wildcard CN matching. Some platforms do not support wildcards (Windows Mobile 5) 2) Only slightly less compatible: issue with CN=www.digicert.com, and non-critical SAN=(dnsName=www.digicert.com) There was some talk about always including the SAN extension a few months ago on the CA/Browser forum. To try to be a good CA citizen, I went ahead and made a change so that our certificates would do this (add a 1-element SAN even if there is only one server ID to be covered by the certificate) I had to roll back, because within two days (it might have been the very next day) we got a call from a customer whose server was not accepting the certificate because the SAN extension was present. I remember it was some kind of issue with a blackberry server. I asked for details about their platform and version, but I don't believe I got them and I forgot to go back and ask again. For now, we're back to using method #1. That said, there's a good chance I could switch back to this and never hear of the problem again. At least half of all our certificates include the SAN extension and we've almost never had issues with products choking on the mere presence of the extension (that really is very rare) 3) Still less compatible: issue with CN=www.digicert.com, and CRITICAL SAN=(dnsName=www.digicert.com) 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. 4) Least compatible: issue with CN=DigiCert, Inc or no CN at all, and non-critical SAN=(dnsName=www.digicert.com) 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. My opinion on steps for improvement from where we are now: 1) Clarify CN usage by strongly recommending only 1 CN in a subject. 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. 3) Make strong recommendations to stop using CN-IDs in subject 4) Stop using server-IDs in common names experimentally 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. With something like that in place, the major browsers will be able to handle name constraints correctly, and the constraints policing feature would help to erase the incentive that the operator of a constrained CA certificate would have for violating the constraints to trick legacy devices. 2) NetCraft could possibly help with Name Constraints monitoring, at least for the public internet. 3) Eventually at some date in the distant future, all the legacy devices will be dead, and all clients will be compatible, and the programs in #1 and #2 could be dismantled. Paul Tiemann (CTO, DigiCert)
- [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