Re: [websec] #57: Re-add an upper limit to max-age

Yoav Nir <> Sat, 30 March 2013 02:05 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 38C3821E804A for <>; Fri, 29 Mar 2013 19:05:43 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -10.599
X-Spam-Status: No, score=-10.599 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, RCVD_IN_DNSWL_HI=-8]
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id yjMeNedyBf0U for <>; Fri, 29 Mar 2013 19:05:42 -0700 (PDT)
Received: from ( []) by (Postfix) with ESMTP id DDF2E1F0CF7 for <>; Fri, 29 Mar 2013 19:05:41 -0700 (PDT)
Received: from ([]) by (8.13.8/8.13.8) with ESMTP id r2U25IFb021700; Sat, 30 Mar 2013 05:05:18 +0300
X-CheckPoint: {5156469F-0-1B221DC2-2FFFF}
Received: from ([]) by ([]) with mapi id 14.02.0342.003; Sat, 30 Mar 2013 05:05:18 +0300
From: Yoav Nir <>
To: Ryan Sleevi <>
Thread-Topic: [websec] #57: Re-add an upper limit to max-age
Date: Sat, 30 Mar 2013 02:05:18 +0000
Message-ID: <>
References: <> <> <> <> <> <> <> <> <> <>
In-Reply-To: <>
Accept-Language: en-US
Content-Language: en-US
x-originating-ip: []
x-kse-antivirus-interceptor-info: scan successful
x-kse-antivirus-info: Clean
Content-Type: text/plain; charset="Windows-1252"
Content-ID: <>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Cc: "<>" <>, websec issue tracker <>
Subject: Re: [websec] #57: Re-add an upper limit to max-age
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Web Application Security Minus Authentication and Transport <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Sat, 30 Mar 2013 02:05:43 -0000

On Mar 29, 2013, at 5:15 PM, Ryan Sleevi <> wrote:

> On Fri, Mar 29, 2013 at 10:45 AM, Joseph Bonneau <> wrote:
>>> Hopefully, it's not just Google that implements this. I guess any browser that implements this will have some kind of reset button (like they have for other stuff) that will erase all pins. So the site is not really bricked, but still it's pretty embarrassing to have to have a message on their home page like "Chrome for Mac OS X users of, due to an administrative error, please select the 'Clear Browsing Data…' menu item from the Chrome menu, select 'the beginning of time' from the dropdown menu, and check the 'dynamic public key pins' box. Then click 'Clear browsing data'. Sorry for the inconvenience."
>> Perhaps we have a different working definition of "bricked"? By
>> bricked, I meant that HPKP pins were set which the site no longer has
>> the ability to satisfy, period. There are many ways that this could
>> happen-pinning to two end-entity keys and losing the private keys,
>> attempting to pin to a CA key but entering the hash incorrectly, and
>> still having the pins accepted since the end-entity key pin is valid,
>> or a malicious bricking with a mis-issued certificate. In this case, a
>> bricked domain would be unable to show anything at all to users, so
>> they couldn't ask users to hit a "reset pins" button as you suggest.
>> Some users might figure it out through an alternate channel like
>> Googling "why is down??", but it would be awful to train users
>> to ever follow advice to nuke their local state like that.
> So, certainly, as discussed during past meetings, and similar to the
> discussions of HSTS, HPKP represents potential privacy bits being
> disclosed to an attacker ("Have you been here before, and if so,
> when/under what keys?"). As such, it's natural to assume/expect that
> browsers will have a way to clear received dynamic pins, as part of
> the normal clearing of privacy state-related data.
> However, sites / site operators encouraging users to do so would be
> bad for users' security - it would essentially flush their pins,
> allowing potentially misissued certs to be used. If I was a 'clever'
> attacker, and I had the ability to display such messages, then in the
> face of being unable to attack a pinned site, I would look for a
> popular-but-not-pinned site and deliberately inject bad pins (DoS'ing
> the site from the users' perspective), along with some sort of message
> of "Hey, clear your pins for this site to work"
> Once the user cleared their pins, I would be able to attack the target
> site, which would now be unpinned.
> Alternative models (such as temporarily ignoring pins) sort of flies
> in the face of our experiences with HSTS and the general
> browser/usability issues with bypassing warnings. Clearing on a
> per-site basis is the same as a bypass mode, and then we're just
> talking about the number of clicks to get there - also a poor security
> experience.

All true, but if I want to delete my pins, I will, even if I have to search the Internet (using Google, of course) for how to edit the pins on Chrome. I only hope that instructing your users to do this will be enough of a "doghouse" for site operators. As it is, expired certs and chains that don't chain are becoming more and more rare. The power of embarrassment seems to be working there, even though there is a click-through option.

Getting back to the subject of the thread, I still don't see the difference for a site operator between being bricked for 60 days and being bricked for a year. For an only retailer it's catastrophe either way.