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

Yoav Nir <> Fri, 05 April 2013 08:48 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id E139F21F8675 for <>; Fri, 5 Apr 2013 01:48:36 -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 Ihn-zIA75VUs for <>; Fri, 5 Apr 2013 01:48:36 -0700 (PDT)
Received: from ( []) by (Postfix) with ESMTP id AC2C921F8614 for <>; Fri, 5 Apr 2013 01:48:35 -0700 (PDT)
Received: from ([]) by (8.13.8/8.13.8) with ESMTP id r358mC1A004159; Fri, 5 Apr 2013 11:48:13 +0300
X-CheckPoint: {515E8DB0-4-1B221DC2-2FFFF}
Received: from ([]) by ([]) with mapi id 14.02.0342.003; Fri, 5 Apr 2013 11:48:12 +0300
From: Yoav Nir <>
To: Trevor Perrin <>
Thread-Topic: [websec] #57: Re-add an upper limit to max-age
Date: Fri, 05 Apr 2013 08:48:11 +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="iso-8859-1"
Content-ID: <>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Cc: "<>" <>, Ryan Sleevi <>, 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: Fri, 05 Apr 2013 08:48:37 -0000

On Apr 5, 2013, at 10:03 AM, Trevor Perrin <> wrote:

> On Fri, Mar 29, 2013 at 7:05 PM, Yoav Nir <> wrote:
>> 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.
> Hi Yoav,
> There are other things to consider when thinking about pin lifetimes:
> - Suppose a site foolishly sets a year-long pin to keys that will be
> expired in 6 months.  A client who receives this pin and then visits
> the site 6 months later will perceive that the site is bricked for the
> next 6 months.

True. At least in the case of certificates, there was some discussion of capping the maximum noted age to the expiration time of the certificate for that connection. This is not a complete solution, though, because there is some period of time (perhaps 1-2 weeks) where the site operator has a new, valid certificate, but the old one hasn't expired yet.

A backup pin should work, as I believe the common practice would be to use the backup pin in the following certificate request. And backup pins are mandatory according to the draft.

> - Suppose a site has a year-long pin to a set of end-entity keys.
> Suppose these keys are compromised by a hacker.  For the next year,
> the site will be unable to change keys to re-establish security
> without a risk of "bricking" the site for clients with the old pin.

And that is why the draft now requires backup pins. At least, it's one reason.

> - Suppose you purchase a domain name.  The previous owner may have
> set long-term pins, meaning the name is not fully usable until these
> expire.

Yeah, that's bad. Even worse is if an attacker manages to get a CA to issue them a valid certificate. Users now note pins that match the bad certificate, and they can be blocked from going to the real site for some time. HPKP protects against exactly this attack, but it only does so for sites that publish pins, and for users who have noted pins. If I get a new computer/browser/phone during the attack, I (and some others) will note the attacker's pin.

> So this isn't just a question of "how long might a site outage last".
> Longer pin lifetimes increase the *possibility* of a site outage,
> because there will be more old pins out there you have to stay
> consistent with.
> I do agree that a 30 or 60 day limit will be cold comfort if you brick
> your site for that long.  Certainly, pinning will need other
> safeguards.
> One safeguard could be some sort of "pin activation", where new or
> changed pins are not accepted immediately, but must be observed for
> some period of time before they "activate".  I know this WG considered
> a mechanism similar to TACK.  TACK's exact mechanism doesn't translate
> well to HPKP, but perhaps there is something else to be done.  It may
> be worth more thought.

I think it's clear that HPKP (much like HSTS) is a gun with which site operators can easily shoot themselves (or their users) in the foot. There has to be a certain level of competence and responsibility to make use of these mechanisms. They should not be used lightly. OTOH I don't think we should bind the hands of administrators who do choose to use it.