Re: [TLS] Update spec to match current practices for certificate chain order

mrex@sap.com (Martin Rex) Tue, 12 May 2015 19:04 UTC

Return-Path: <mrex@sap.com>
X-Original-To: tls@ietfa.amsl.com
Delivered-To: tls@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id C2DFC1A7034 for <tls@ietfa.amsl.com>; Tue, 12 May 2015 12:04:55 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.551
X-Spam-Level:
X-Spam-Status: No, score=-6.551 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HELO_EQ_DE=0.35, RCVD_IN_DNSWL_HI=-5, SPF_PASS=-0.001] autolearn=ham
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id FN8vEo3eZd7T for <tls@ietfa.amsl.com>; Tue, 12 May 2015 12:04:54 -0700 (PDT)
Received: from smtpde01.smtp.sap-ag.de (smtpde01.smtp.sap-ag.de [155.56.68.170]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 3CAC21A1AA6 for <tls@ietf.org>; Tue, 12 May 2015 12:04:54 -0700 (PDT)
Received: from mail05.wdf.sap.corp (mail05.sap.corp [194.39.131.55]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtpde01.smtp.sap-ag.de (Postfix) with ESMTPS id C052A2AB37; Tue, 12 May 2015 21:04:52 +0200 (CEST)
X-purgate-ID: 152705::1431457492-00005316-033EFE3B/0/0
X-purgate-size: 1115
X-purgate: clean
X-purgate: This mail is considered clean (visit http://www.eleven.de for further information)
X-purgate-Ad: Categorized by eleven eXpurgate (R) http://www.eleven.de
X-purgate-type: clean
X-SAP-SPAM-Status: clean
Received: from ld9781.wdf.sap.corp (ld9781.wdf.sap.corp [10.21.82.193]) by mail05.wdf.sap.corp (Postfix) with ESMTP id 609E94136C; Tue, 12 May 2015 21:04:52 +0200 (CEST)
Received: by ld9781.wdf.sap.corp (Postfix, from userid 10159) id 5470E1B2EB; Tue, 12 May 2015 21:04:52 +0200 (CEST)
In-Reply-To: <5ec0a679151b6aad1473a8e1f4ee3e0d.squirrel@webmail.dreamhost.com>
To: ryan-ietftls@sleevi.com
Date: Tue, 12 May 2015 21:04:52 +0200 (CEST)
X-Mailer: ELM [version 2.4ME+ PL125 (25)]
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="US-ASCII"
Message-Id: <20150512190452.5470E1B2EB@ld9781.wdf.sap.corp>
From: mrex@sap.com (Martin Rex)
Archived-At: <http://mailarchive.ietf.org/arch/msg/tls/J_ZAOKX8eFQbob0Z12lt9TALChg>
Cc: tls@ietf.org
Subject: Re: [TLS] Update spec to match current practices for certificate chain order
X-BeenThere: tls@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
Reply-To: mrex@sap.com
List-Id: "This is the mailing list for the Transport Layer Security working group of the IETF." <tls.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/tls>, <mailto:tls-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/tls/>
List-Post: <mailto:tls@ietf.org>
List-Help: <mailto:tls-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/tls>, <mailto:tls-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 12 May 2015 19:04:55 -0000

Now there would be a different *CORRECT* approach to the below problem,
rather than the dirty hack you described, and that would be fully
backwards compatible:

Ryan Sleevi wrote:
> 
> Now, with respect to cross-certificates, it's a regular occurrence to see
> situations like
> 
> (1) Leaf-signed-by-(2)
> (2) Intermediate-signed-by-(3)
> (3a) Intermediate-signed-by-(4)
> (3b) Intermediate-signed-by-(5)
> (4) Root 1 [an existing root]
> (5) Root 2 [a new root applying for inclusion]
> 
> In this case, valid paths are
> [for old clients]
> (1)+(2)+(3a)+(4)
> 
> [for new clients]
> (1)+(2)+(3b)+(5)
> 
> The maximum compatibility with clients is
> (1)+(2)+(3a)+(4)+(3b)+(5)

The *CORRECT* approach would be to issue a cross-CA certificate
for (5) Root 2 signed by (4) Root 1, lets call it (5b), and
the correct path to send for servers would be

(1)+(2)+(3b)+(5b)+(4)

that would be fully conforming with the existing requirements,
fully comprehensible for clients that feed the certificate_list
from the Certificate handshake message into "Basic Path Validation".

-Martin