Re: [certid] section 4.6 rewrite (aka: Bad certificate handling)
Martin Rex <mrex@sap.com> Thu, 30 September 2010 21:14 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 C21CE3A6B8E for <certid@core3.amsl.com>;
Thu, 30 Sep 2010 14:14:34 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -9.831
X-Spam-Level:
X-Spam-Status: No, score=-9.831 tagged_above=-999 required=5 tests=[AWL=0.418,
BAYES_00=-2.599, HELO_EQ_DE=0.35, 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 c+fFatG2Ij3B for
<certid@core3.amsl.com>; Thu, 30 Sep 2010 14:14:33 -0700 (PDT)
Received: from smtpde02.sap-ag.de (smtpde02.sap-ag.de [155.56.68.140]) by
core3.amsl.com (Postfix) with ESMTP id 8CAD73A6B6B for <certid@ietf.org>;
Thu, 30 Sep 2010 14:14:32 -0700 (PDT)
Received: from mail.sap.corp by smtpde02.sap-ag.de (26) with ESMTP id
o8ULErfC012090 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256
verify=OK); Thu, 30 Sep 2010 23:14:54 +0200 (MEST)
From: Martin Rex <mrex@sap.com>
Message-Id: <201009302114.o8ULEqQd013861@fs4113.wdf.sap.corp>
To: ietf@augustcellars.com (Jim Schaad)
Date: Thu, 30 Sep 2010 23:14:52 +0200 (MEST)
In-Reply-To: <006b01cb605f$e2a7f9d0$a7f7ed70$@augustcellars.com> from "Jim
Schaad" at Sep 29, 10 10:25:24 pm
MIME-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
X-Scanner: Virus Scanner virwal05
X-SAP: out
Cc: certid@ietf.org
Subject: Re: [certid] section 4.6 rewrite (aka: Bad certificate handling)
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: Thu, 30 Sep 2010 21:14:34 -0000
Jim Schaad wrote: > > If there is only one possible certification path then there is no > difference between caching just the EE certificate and caching the > entire chain. However in the event that multiple certificate paths > are possible there may be a difference in behavior. Nope, not for what is specified in server-id-check. At most, the client would have to memorize along with the server cert whether regular certificate path validation worked for this cached cert. Any changes to the path (above the server cert) will either make the cert path validation fail or be security-irrelevant--entirely without caching and comparing chain certs above the cached/pinned server cert. When the caching/pinning of the server certs is done for untrusted server certs, then the trust relationship is defined only based on the server cert and certificate path validation can not be performed due to a lack of trust, so the chain certs above the server cert are again irrelevant. > > It is possible that you would trust a specific trust anchor (or > intermediate CA) to be more specific about getting things correct > (sooner or later). There may be a slight difference for advanced users, but only at the point where they visualize and confirm the exception, not when doing further connects to the same target and have the server cert cached/pinned. > > There may be differences in extensions which exist in the intermediate > certificates which might lead to slightly different behavior in how the > EE certificates are treated. The existing server-id-check does _not_ specify any matching on chain certs. As described above, changes that affect the outcome of the certificate path validation, the difference in behaviour of the existing code in "fails path validation", "passes path validation" is perfectly sufficient -- as long as the app client memorizes that the cached/pinned server cert originally passed certificate path validation and repeats certificate path validation on future connects. If the client app wants to _entirely_ skip certificate path validation on the pinned/cached server cert, then a changed cert path would not be detected when only the server cert is compared. But I have two observations about this: (a) a malicious server in posession of the original server cert and matching private key can easily send the original cert chain and pass your app clients test, so security-wise, the client does _NOT_ get any security benefit from caching and comparing the entire chain. By not performing a certificate path validation, the client misses cert revocations, and some folks might not like this. Pinning server certs protects you from attackers that manage to get a cert issued from any of the CAs operating under any of your (pre-)trusted roots. Performing certificate path validation even for "pinned" certs protects you from missing revocations. -Martin
- [certid] section 4.6 rewrite (aka: Bad certificat… =JeffH
- Re: [certid] section 4.6 rewrite (aka: Bad certif… Jim Schaad
- Re: [certid] section 4.6 rewrite (aka: Bad certif… Peter Saint-Andre
- Re: [certid] section 4.6 rewrite (aka: Bad certif… Jim Schaad
- Re: [certid] section 4.6 rewrite (aka: Bad certif… Peter Saint-Andre
- Re: [certid] section 4.6 rewrite (aka: Bad certif… Matt McCutchen
- Re: [certid] section 4.6 rewrite (aka: Bad certif… Matt McCutchen
- Re: [certid] section 4.6 rewrite (aka: Bad certif… Martin Rex
- Re: [certid] section 4.6 rewrite (aka: Bad certif… Jim Schaad
- Re: [certid] section 4.6 rewrite (aka: Bad certif… Jim Schaad
- Re: [certid] section 4.6 rewrite (aka: Bad certif… Martin Rex
- Re: [certid] section 4.6 rewrite (aka: Bad certif… Jim Schaad
- Re: [certid] section 4.6 rewrite (aka: Bad certif… =JeffH
- Re: [certid] section 4.6 rewrite (aka: Bad certif… Martin Rex
- Re: [certid] section 4.6 rewrite (aka: Bad certif… Jim Schaad
- Re: [certid] section 4.6 rewrite (aka: Bad certif… Martin Rex
- Re: [certid] section 4.6 rewrite (aka: Bad certif… Peter Saint-Andre
- Re: [certid] section 4.6 rewrite (aka: Bad certif… Jim Schaad
- Re: [certid] section 4.6 rewrite (aka: Bad certif… Peter Saint-Andre