Re: [websec] wrt "breaking pins" aka "un-pinning" (breakv, breakc directives; draft-evans-palmer-hsts-pinning-00)

Chris Palmer <palmer@google.com> Mon, 17 October 2011 20:31 UTC

Return-Path: <palmer@google.com>
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 0EFAC11E8088 for <websec@ietfa.amsl.com>; Mon, 17 Oct 2011 13:31:59 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -105.977
X-Spam-Level:
X-Spam-Status: No, score=-105.977 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, RCVD_IN_DNSWL_MED=-4, 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 gPQtYcFUjLXG for <websec@ietfa.amsl.com>; Mon, 17 Oct 2011 13:31:57 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [216.239.44.51]) by ietfa.amsl.com (Postfix) with ESMTP id 8D92D11E807F for <websec@ietf.org>; Mon, 17 Oct 2011 13:31:57 -0700 (PDT)
Received: from wpaz13.hot.corp.google.com (wpaz13.hot.corp.google.com [172.24.198.77]) by smtp-out.google.com with ESMTP id p9HKVokk027583 for <websec@ietf.org>; Mon, 17 Oct 2011 13:31:50 -0700
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1318883510; bh=vvHcd8y0GeIE4ZabCAvo+btR/34=; h=MIME-Version:In-Reply-To:References:Date:Message-ID:Subject:From: To:Cc:Content-Type; b=OZG48EQZ8VxhI2sCXWGniPT+QhMTMGR2/0aau/4zTjkUxh8ubbDsF3f+51+U2fJ3X 5Q1cYuGjhh8t+il0FF71g==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=dkim-signature:mime-version:in-reply-to:references:date: message-id:subject:from:to:cc:content-type:x-system-of-record; b=w2oG7ssAxMHbybndkICoT4nACK9Hp/7HDjv6n3s6PBriTw1er6SCRGgrproBxtJeT 2znjFu0oD0UIF6bmnFhGA==
Received: from eye13 (eye13.prod.google.com [10.208.5.13]) by wpaz13.hot.corp.google.com with ESMTP id p9HKVfr5031497 (version=TLSv1/SSLv3 cipher=RC4-SHA bits=128 verify=NOT) for <websec@ietf.org>; Mon, 17 Oct 2011 13:31:49 -0700
Received: by eye13 with SMTP id 13so1719344eye.1 for <websec@ietf.org>; Mon, 17 Oct 2011 13:31:49 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=beta; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:x-system-of-record; bh=bAYnZMjBmhWy3r2BIObWOJ1RYBwctcEDwwtDm3jANkw=; b=WA1C6/NDzupHNgOJKJ/JBQnMlOi1MKZMDToxcbDg1FKxoqjIZLG/TTl7pA7Itw/R36 JFkI+wraytNkZc34v3LQ==
Received: by 10.216.135.31 with SMTP id t31mr280600wei.4.1318883509423; Mon, 17 Oct 2011 13:31:49 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.216.135.31 with SMTP id t31mr280591wei.4.1318883509245; Mon, 17 Oct 2011 13:31:49 -0700 (PDT)
Received: by 10.216.216.205 with HTTP; Mon, 17 Oct 2011 13:31:49 -0700 (PDT)
In-Reply-To: <4E98B215.6040700@KingsMountain.com>
References: <4E98B215.6040700@KingsMountain.com>
Date: Mon, 17 Oct 2011 13:31:49 -0700
Message-ID: <CAOuvq23HMKCugnZ2edc86XqJ1VO0TGsfosMiu=ZY9KvCZtxBJQ@mail.gmail.com>
From: Chris Palmer <palmer@google.com>
To: =JeffH <Jeff.Hodges@kingsmountain.com>
Content-Type: text/plain; charset="UTF-8"
X-System-Of-Record: true
Cc: Chris Evans <cevans@google.com>, IETF WebSec WG <websec@ietf.org>
Subject: Re: [websec] wrt "breaking pins" aka "un-pinning" (breakv, breakc directives; draft-evans-palmer-hsts-pinning-00)
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, 17 Oct 2011 20:31:59 -0000

On Fri, Oct 14, 2011 at 3:05 PM, =JeffH <Jeff.Hodges@kingsmountain.com> wrote:

> In order for this "un-pinning" pin-break-verifier-and-code mechanism to
> generally work, the UA still connects and and makes an HTTP request and
> reads response headers.

Note that the TLS layer could still abort the connection if the
connection doesn't pass the pinning test (i.e. if the connection was
made with a server certificate that does not contain any previously
pinned public keys).

Thus, in order to successfully use a breakc, you would still have to
serve it with a cert containing a public key you had pinned.
(Including, perhaps, your backup pin.)

However:

> In examining the various such situations (aka "disasters") outlined in Sec
> 3, it appears that essentially all of them are mitigated if the host
> operators allocated a backup server key/cert as advised, and have properly
> issued a pin to it, along with their pin to their present operational
> key/cert. In this situation, it appears that having the
> pin-break-verifier-and-code mechanism isn't strictly necessary.

Chris E. and I now agree with this, and are probably going to remove
breakc and breakv from the draft specification. Even if they stay,
they probably won't appear in the first rev of the Chrome
implementation. The thinking is now, "Get the simplest thing
implemented, see how people like it, and implement breakc/v if there
is demand."

This would probably/almost certainly imply that pins expire when the
server stops mentioning them in the pins directive (or when max-age
expires, whichever is soonest).