Re: [websec] New draft of HTTP header-based public key pinning

Julian Reschke <julian.reschke@gmx.de> Wed, 09 November 2011 08:34 UTC

Return-Path: <julian.reschke@gmx.de>
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 2EDDF21F8B4C for <websec@ietfa.amsl.com>; Wed, 9 Nov 2011 00:34:52 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -104.451
X-Spam-Level:
X-Spam-Status: No, score=-104.451 tagged_above=-999 required=5 tests=[AWL=-1.852, BAYES_00=-2.599, USER_IN_WHITELIST=-100]
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 miMCs46JwUGu for <websec@ietfa.amsl.com>; Wed, 9 Nov 2011 00:34:51 -0800 (PST)
Received: from mailout-de.gmx.net (mailout-de.gmx.net [213.165.64.23]) by ietfa.amsl.com (Postfix) with SMTP id C13C721F8B73 for <websec@ietf.org>; Wed, 9 Nov 2011 00:34:50 -0800 (PST)
Received: (qmail invoked by alias); 09 Nov 2011 08:34:48 -0000
Received: from p5DCCB151.dip.t-dialin.net (EHLO [192.168.178.36]) [93.204.177.81] by mail.gmx.net (mp057) with SMTP; 09 Nov 2011 09:34:48 +0100
X-Authenticated: #1915285
X-Provags-ID: V01U2FsdGVkX1+pkhREJ1up9tEGGgi/XbgobQKhuiVN0z730lk0Q9 bI/rmRhO/Me8sv
Message-ID: <4EBA3B24.5060602@gmx.de>
Date: Wed, 09 Nov 2011 09:34:44 +0100
From: Julian Reschke <julian.reschke@gmx.de>
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:8.0) Gecko/20111105 Thunderbird/8.0
MIME-Version: 1.0
To: Tom Ritter <tom@ritter.vg>
References: <CAOuvq21Ne0CWT3Dzn0sutGDBg0K+efZhxmqBZiLuxbO2OwxnFg@mail.gmail.com> <CA+cU71kFFpuooyiBTarvLT3VJigZhW0BgpQi1gMTn7zB=sFh+w@mail.gmail.com>
In-Reply-To: <CA+cU71kFFpuooyiBTarvLT3VJigZhW0BgpQi1gMTn7zB=sFh+w@mail.gmail.com>
Content-Type: text/plain; charset="ISO-8859-1"; format="flowed"
Content-Transfer-Encoding: 7bit
X-Y-GMX-Trusted: 0
Cc: IETF WebSec WG <websec@ietf.org>, Chris Evans <cevans@google.com>, Ian Fette <ifette@google.com>, Wan-Teh Chang <wtc@google.com>
Subject: Re: [websec] New draft of HTTP header-based public key pinning
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: Wed, 09 Nov 2011 08:34:52 -0000

On 2011-11-09 01:31, Tom Ritter wrote:
> My notes:
>
> I believe the BNF (pseudo-BNF?) is incorrect:
>
> Public-Key-Pins = "Public-Key-Pins" ":" LWS directives
>
>     directives      = max-age LWS ";" LWS fingerprints
>                       / fingerprints LWS ";" LWS max-age
>
>     max-age         = "max-age" LWS "=" LWS delta-seconds
>
>     pins            = "pins" LWS "=" LWS fingerprints
>
>     fingerprints    = fingerprint
>                       / fingerprint "," fingerprints
>
>     fingerprint     = fp-type "-" base64-digits
>
>     fp-type         = "sha1"
>                       / "sha256"
> 					
> I believe 'directives' should replace "fingerprints" with "pins":
>
>     directives      = max-age LWS ";" LWS pins
>                       / pins LWS ";" LWS max-age
> 					
> ================
> ...

By all means *please* consider re-using the syntax of an existing header 
field. In particular, please read

 
<http://greenbytes.de/tech/webdav/draft-ietf-httpbis-p2-semantics-17.html#rfc.section.3.1>

So decide whether you want to allow multiple header fields (in which 
case you should use the ABNF list notation used in 2616/HTTPbis), *or* 
define the syntax so that a "," introduced by header field recombination 
can be detected by recipients.

Best regards, Julian