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

=JeffH <> Tue, 13 September 2011 18:31 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 1490921F8A6C for <>; Tue, 13 Sep 2011 11:31:38 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -100.526
X-Spam-Status: No, score=-100.526 tagged_above=-999 required=5 tests=[AWL=-0.031, BAYES_00=-2.599, FH_RELAY_NODNS=1.451, HELO_MISMATCH_COM=0.553, RDNS_NONE=0.1, USER_IN_WHITELIST=-100]
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id j2V329pUTJYz for <>; Tue, 13 Sep 2011 11:31:37 -0700 (PDT)
Received: from ( [IPv6:2605:dc00:100:2::a2]) by (Postfix) with SMTP id C9E5721F8A55 for <>; Tue, 13 Sep 2011 11:31:36 -0700 (PDT)
Received: (qmail 27705 invoked by uid 0); 13 Sep 2011 18:33:43 -0000
Received: from unknown (HELO ( by with SMTP; 13 Sep 2011 18:33:43 -0000
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;; s=default; h=Content-Transfer-Encoding:Content-Type:Subject:To:MIME-Version:From:Date:Message-ID; bh=mT/FitIq2i8xMlr4/VWmv2yAxsKL9akJ1LgLNfNfx90=; b=RUIluefIdtx0WF2/y0PuE+OQ7XIEFkEsiFRZFZ2xi6ZhJx72YreB0p2WJxC0en/ml552OD3kuJoOlJ1AeQjO3CH4MR6nJJx+PMObOyJcy0M4AuFhmOa/l6qS80sOGXI7;
Received: from ([] helo=[]) by with esmtpsa (TLSv1:AES256-SHA:256) (Exim 4.76) (envelope-from <>) id 1R3Xnj-0006nL-8e for; Tue, 13 Sep 2011 12:33:43 -0600
Message-ID: <>
Date: Tue, 13 Sep 2011 11:33:43 -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: text/plain; charset="ISO-8859-1"; format="flowed"
Content-Transfer-Encoding: 7bit
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: Tue, 13 Sep 2011 18:31:38 -0000

StPeter said..
 > On 9/12/11 5:53 PM, =JeffH wrote:
 >>> 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))
 > <hat type='individual'/>
 > Jeff, why do you say that? It seems to me that if you think various CAs
 > are dodgy or vulnerable, but you know and like the policies of the CA
 > you're using, you might well want to lock into that CA.

yes, such a decision is more nuanced than I quickly painted it above. There's a 
number of trade-offs between "locking" / "pinning" to a CA, intermediates, end 
entity cert/key.