Re: [websec] A few comments on draft-ietf-websec-key-pinning

Paul Hoffman <paul.hoffman@vpnc.org> Mon, 12 December 2011 17:06 UTC

Return-Path: <paul.hoffman@vpnc.org>
X-Original-To: websec@ietfa.amsl.com
Delivered-To: websec@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 3052521F8AF4 for <websec@ietfa.amsl.com>; Mon, 12 Dec 2011 09:06:55 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -102.54
X-Spam-Level:
X-Spam-Status: No, score=-102.54 tagged_above=-999 required=5 tests=[AWL=0.059, BAYES_00=-2.599, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id euxum7kIFYGT for <websec@ietfa.amsl.com>; Mon, 12 Dec 2011 09:06:54 -0800 (PST)
Received: from hoffman.proper.com (IPv6.Hoffman.Proper.COM [IPv6:2605:8e00:100:41::81]) by ietfa.amsl.com (Postfix) with ESMTP id 9E74321F8ADC for <websec@ietf.org>; Mon, 12 Dec 2011 09:06:54 -0800 (PST)
Received: from [10.20.30.100] (50-0-66-4.dsl.dynamic.fusionbroadband.com [50.0.66.4]) (authenticated bits=0) by hoffman.proper.com (8.14.4/8.14.3) with ESMTP id pBCH6hZk033970 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NO); Mon, 12 Dec 2011 10:06:44 -0700 (MST) (envelope-from paul.hoffman@vpnc.org)
Mime-Version: 1.0 (Apple Message framework v1251.1)
Content-Type: text/plain; charset="us-ascii"
From: Paul Hoffman <paul.hoffman@vpnc.org>
In-Reply-To: <AF47F8EB-FC41-47EF-8327-4AE52E27547A@checkpoint.com>
Date: Mon, 12 Dec 2011 09:06:43 -0800
Content-Transfer-Encoding: quoted-printable
Message-Id: <7CAB0F5E-B2EF-4098-99A1-CFF936A0D191@vpnc.org>
References: <7C746AD7-9448-4883-9A30-85A2E72C8AF5@gmail.com> <32ED4792-4720-471A-A074-ECDAA172CC47@vpnc.org> <39133E20-4136-4AA4-B7C6-48DC1299109E@checkpoint.com> <430F2576-C8CB-4F2C-A3A3-BADDE4600A06@vpnc.org> <AF47F8EB-FC41-47EF-8327-4AE52E27547A@checkpoint.com>
To: Yoav Nir <ynir@checkpoint.com>
X-Mailer: Apple Mail (2.1251.1)
Cc: IETF WebSec WG <websec@ietf.org>
Subject: Re: [websec] A few comments on draft-ietf-websec-key-pinning
X-BeenThere: websec@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Web Application Security Minus Authentication and Transport <websec.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/websec>, <mailto:websec-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/websec>
List-Post: <mailto:websec@ietf.org>
List-Help: <mailto:websec-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/websec>, <mailto:websec-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 12 Dec 2011 17:06:55 -0000

On Dec 12, 2011, at 7:19 AM, Yoav Nir wrote:

> 
> On Dec 12, 2011, at 5:06 PM, Paul Hoffman wrote:
> 
>> 
>> On Dec 12, 2011, at 6:57 AM, Yoav Nir wrote:
>> 
>>> Section 2.3 does say that pins must only be noted if they come over an error-free HTTPS connection, where the chain contains the pinned SPKI. So the MITM would have to be able to take over the DNS (at least for a while) as in the attack described by David on 11-Dec.
>> 
>> I don't agree that the MITM must control the DNS for this attack to work. As long as the MITM can intercept the TLS handshake, and the client isn't doing OCSP (or the MITM intercepts that too), using a rogue cert works; thus the rogue pinning works as well.
> 
> The rogue cert works only if it validates. So the attacker will have to have compromised the CA as well.

Of course. That is exactly the scenario (and pretty much the only scenario) where key pinning gives the relying party better security.

> Besides, one could argue that using a certificate without OCSP or checking the CRL is not "error-free", but that would have to be clarified.

We disagree. OCSP and CRL checking only bring benefit to the relying party if a certificate is revoked. The key pinning scenario is about a rogue CA issuing a certificate they should not have. There is no revocation issue in that scenario, is there?

>>> Maybe we can mitigate this with a version of this header (or another one) that says "no pins for the next x seconds"
>> 
>> That still doesn't deal with the site that hears about the pinning header after the MITM does.
> 
> Agree, but it allows me to make my site safe from rogue pinning attacks now.

Sure, but I don't think that is a good enough reason to argue against more information in the spec about this problem, which is what I am requesting.

--Paul Hoffman