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

Trevor Perrin <trevp@trevp.net> Mon, 17 October 2011 03:09 UTC

Return-Path: <trevp@trevp.net>
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 A0B7C21F84A1 for <websec@ietfa.amsl.com>; Sun, 16 Oct 2011 20:09:23 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.977
X-Spam-Level:
X-Spam-Status: No, score=-2.977 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, RCVD_IN_DNSWL_LOW=-1]
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 FrVaXtWOt6AH for <websec@ietfa.amsl.com>; Sun, 16 Oct 2011 20:09:23 -0700 (PDT)
Received: from mail-ey0-f172.google.com (mail-ey0-f172.google.com [209.85.215.172]) by ietfa.amsl.com (Postfix) with ESMTP id B8EE121F849B for <websec@ietf.org>; Sun, 16 Oct 2011 20:09:22 -0700 (PDT)
Received: by eyg24 with SMTP id 24so2668804eyg.31 for <websec@ietf.org>; Sun, 16 Oct 2011 20:09:21 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.14.13.3 with SMTP id a3mr1034848eea.23.1318820961747; Sun, 16 Oct 2011 20:09:21 -0700 (PDT)
Received: by 10.14.127.134 with HTTP; Sun, 16 Oct 2011 20:09:21 -0700 (PDT)
X-Originating-IP: [74.0.37.252]
In-Reply-To: <4E98B215.6040700@KingsMountain.com>
References: <4E98B215.6040700@KingsMountain.com>
Date: Sun, 16 Oct 2011 20:09:21 -0700
Message-ID: <CAGZ8ZG3FMBdA-qSUtVz6WGsaBTk+xkW_YT2xeojuK6H8541nTQ@mail.gmail.com>
From: Trevor Perrin <trevp@trevp.net>
To: =JeffH <Jeff.Hodges@kingsmountain.com>
Content-Type: text/plain; charset="ISO-8859-1"
Cc: 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 03:09:23 -0000

Hi Jeff,

In defense of pin-break codes! -

On Fri, Oct 14, 2011 at 3:05 PM, =JeffH <Jeff.Hodges@kingsmountain.com> wrote:
> So if a purported Known Pinned Host presents a cert chain in the TLS
> handshake lacking any keys on the UA's pinned key list, then it could be a
> bogus host (eg attacker), and if the UA does a HTTP GET and sends cookies
> (as well as receives a response and examines headers (e.g. the UA could be
> redirected further afield)) in any case, then this is a (non-trivial)
> vulnerability.

A better alternative might be to deliver pin-break codes as part of
the TLS handshake (e.g. a TLS Extension).  Then:
 * Pin-break codes would work regardless of how the pin-break
verifiers are set, so pin-break codes could be used with pins set via
HSTS header, browser hardcodes, Convergence, DNS, etc.
 * Pin-break codes would work with non-HTTP protocols like SMTP or POP.
 * Pin-break codes would be retrieved without an HTTP Request,
removing the risk noted above.

What do you think?


> 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.

Both backup pins and pin-break codes let a site switch from its
current cert chain to a different one, so they have similar "disaster
mitigation" properties, and a site could choose one or the other.

Pin-break codes might be preferred by site operators nervous about
boxing themselves in with pinning, since pin-break codes let the site
change its cert chain arbitrarily without being limited by backup pins
or waiting for expiration.


Trevor