Re: [websec] Certificate Pinning via HSTS (.txt version)

=JeffH <> Mon, 12 September 2011 23:51 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 0745421F8E15 for <>; Mon, 12 Sep 2011 16:51:25 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -99.121
X-Spam-Status: No, score=-99.121 tagged_above=-999 required=5 tests=[AWL=-1.640, BAYES_40=-0.185, FH_RELAY_NODNS=1.451, HELO_MISMATCH_COM=0.553, J_CHICKENPOX_48=0.6, RDNS_NONE=0.1, USER_IN_WHITELIST=-100]
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id JjaLXPPRLNF5 for <>; Mon, 12 Sep 2011 16:51:23 -0700 (PDT)
Received: from ( [IPv6:2605:dc00:100:2::a2]) by (Postfix) with SMTP id 58DBB21F8DD5 for <>; Mon, 12 Sep 2011 16:51:23 -0700 (PDT)
Received: (qmail 32116 invoked by uid 0); 12 Sep 2011 23:53:27 -0000
Received: from unknown (HELO ( by with SMTP; 12 Sep 2011 23:53:27 -0000
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;; s=default; h=Content-Type:Subject:To:MIME-Version:From:Date:Message-ID; bh=VFVLu6bzbWBh7FGMxMJ0ReUFrLqmnhUMrcePBqp3l9c=; b=CekDJYHTEcA0ty+YwevGjPmm/xDBCoW2LrAU5f13GcaVPo0kzHNsOflfthUJpqlGoywuwocRgYSGwf8wggIbowTy99sT69mQfC9UZ/39kFwyQ83A9v06ARYMMYqtyJnb;
Received: from ([] helo=[]) by with esmtpsa (TLSv1:AES256-SHA:256) (Exim 4.76) (envelope-from <>) id 1R3GJa-00015L-VJ for; Mon, 12 Sep 2011 17:53:27 -0600
Message-ID: <>
Date: Mon, 12 Sep 2011 16:53:27 -0700
From: =JeffH <>
User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv: Gecko/20110831 Thunderbird/3.1.13
MIME-Version: 1.0
To: IETF WebSec WG <>
Content-Type: multipart/mixed; boundary="------------070305020800080208040402"
X-Identified-User: {} {sentby:smtp auth authed with}
Subject: Re: [websec] Certificate Pinning via HSTS (.txt version)
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: Mon, 12 Sep 2011 23:51:25 -0000

 > Chris Evans and I work at Google on the Chrome security team. We have
 > devised this specification for a new extension to Strict Transport
 > Security to allow site operators to "pin" certificates: UAs will
 > require that TLS connections be validated with at least one of the
 > public keys identified in the new "pins" directive in the HSTS header.
 > (Sites can pin to one or more public keys in end entity, subordinate
 > CA, and/or root CA certificates, for flexibility and disaster
 > recovery.)
 > We hope that this mechanism opens up the benefits of certificate
 > pinning to more sites. Currently, Chrome can "pre-load" HSTS behavior
 > and certificate pins for sites, but the mechanism for doing this
 > (email us!) does not scale.
 > We eagerly anticipate your comments, questions, concerns, et c. As you
 > can see from the Ideas section, there are some unanswered questions
 > about the behavior of UAs and hosts, and possible extensions to the
 > policy.

This is great, thanks for posting this here.

I have various comments on it I'll try to get to in the next day or so.

During HSTS's gestation, various parties have discussed potential "LockCA" and 
"LockEV" directives ostensibly having similar semantics to what you've proposed 
here (see talk slides from last few websec sessions at IETF meetings). (though 
I think recent events pretty much obviate those nominal ideas because they'd 
relied on the resilience of one's CA and the CA infrastructure (oops))

Having a proposal such as this with a bunch of the background thinking (eg 
potential deployment downsides (aka "disasters")) noted down will help us on 
our way here.

I've taken the liberty of re-formatting the document in plain text (attached), 
which will better facilitate discussion hereabouts. A next step will be to 
re-format it as an Internet-Draft and get it submitted (I volunteer to help you 
out with that).

thanks again,