Re: [websec] Strict-Transport-Security syntax redux
Julian Reschke <julian.reschke@gmx.de> Thu, 27 October 2011 19:27 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 A6E1611E807F for <websec@ietfa.amsl.com>; Thu, 27 Oct 2011 12:27:42 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -104.304
X-Spam-Level:
X-Spam-Status: No, score=-104.304 tagged_above=-999 required=5 tests=[AWL=-1.705, 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 rJfLHCYSCQ99 for <websec@ietfa.amsl.com>; Thu, 27 Oct 2011 12:27:42 -0700 (PDT)
Received: from mailout-de.gmx.net (mailout-de.gmx.net [213.165.64.22]) by ietfa.amsl.com (Postfix) with SMTP id E8EE911E8089 for <websec@ietf.org>; Thu, 27 Oct 2011 12:27:37 -0700 (PDT)
Received: (qmail invoked by alias); 27 Oct 2011 19:27:31 -0000
Received: from p5DCC2E74.dip.t-dialin.net (EHLO [192.168.178.36]) [93.204.46.116] by mail.gmx.net (mp010) with SMTP; 27 Oct 2011 21:27:31 +0200
X-Authenticated: #1915285
X-Provags-ID: V01U2FsdGVkX19MdkMyHr9MordgZdKhfjhLj9Jj/z9/LTEPn3uNWU qUt3DIIEPzSJjr
Message-ID: <4EA9B09E.9030001@gmx.de>
Date: Thu, 27 Oct 2011 21:27:26 +0200
From: Julian Reschke <julian.reschke@gmx.de>
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:7.0.1) Gecko/20110929 Thunderbird/7.0.1
MIME-Version: 1.0
To: =JeffH <Jeff.Hodges@KingsMountain.com>
References: <4EA99CFB.30801@KingsMountain.com>
In-Reply-To: <4EA99CFB.30801@KingsMountain.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>
Subject: Re: [websec] Strict-Transport-Security syntax redux
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: Thu, 27 Oct 2011 19:27:42 -0000
On 2011-10-27 20:03, =JeffH wrote: > I've been working with Julian on simplifying the STS header field > syntax. Here's where it's presently at -- thoughts? > > thanks again to Julian and Ryan for their earlier feedback. > > =JeffH That looks much better to me. More inline. > ### > > 5.1. Strict-Transport-Security HTTP Response Header Field > > The Strict-Transport-Security HTTP response header field indicates to > a UA that it MUST enforce the HSTS Policy in regards to the host > emitting the response message containing this header field. > > Note: this specification uses the augmented BNF (ABNF) notation from > Section 2 of [RFC2616], including its rules for "implied linear > whitespace (LWS)", and case-insensitivity of quoted-string literals. > > The ABNF syntax for the Strict-Transport-Security (STS) HTTP Response > Header field is: > > > Strict-Transport-Security = "Strict-Transport-Security" ":" > directive *( ";" [ directive ] ) > > STS directives: > > directive = max-age | includeSubDomains | STS-d-ext > > max-age = "max-age" "=" delta-seconds What happens with max-age="1" ? Do you expect all recipients to reject this? Depending on the parsing API they use they might not even know that the value was quoted on the wire. > includeSubDomains = "includeSubDomains" There's a tiny risk that some implementations will handle value-less parameters the same way as parameters with empty values, such as includeSubDomains= or includeSubDomains="" but maybe I'm over-engineering here. (To get this right an API will need to distinguish between "parameter missing", "parameter present and valueless" and "parameter present and having a zero-length value". Also, identifiers "max-age" and "includeSubDomains" are case-insensitive, right? This follows from the ABNF, but might be worth saying again in prose; in particular because it also needs to be the case for all future extensions. > The max-age directive MUST appear once in the Strict-Transport-Security > header field value. The includeSubDomains directive MAY appear once. > The order of appearance of directives in the Strict-Transport-Security > header field value is not significant. > > Additional directives extending the the semantic functionality of > the Strict-Transport-Security header field may be defined in other > specifications, using the STS directive extension point (STS-d-ext) > syntax: > > STS-d-ext = token [ "=" ( token | quoted-string ) ] > > > Defined in [RFC2616]: > > delta-seconds = <1*DIGIT, defined in [RFC2616], Section 3.3.2> > token = <token, defined in [RFC2616], Section 2.2> > quoted-string = <quoted-string, defined in [RFC2616], Section 2.2> > > > ### Best regards, Julian
- [websec] Strict-Transport-Security syntax redux Ryan Sleevi
- Re: [websec] Strict-Transport-Security syntax red… =JeffH
- Re: [websec] Strict-Transport-Security syntax red… Julian Reschke
- Re: [websec] Strict-Transport-Security syntax red… Julian Reschke
- [websec] Strict-Transport-Security syntax redux =JeffH
- Re: [websec] Strict-Transport-Security syntax red… Julian Reschke
- Re: [websec] Strict-Transport-Security syntax red… Adam Barth
- Re: [websec] Strict-Transport-Security syntax red… =JeffH
- Re: [websec] Strict-Transport-Security syntax red… =JeffH
- Re: [websec] Strict-Transport-Security syntax red… Adam Barth
- Re: [websec] Strict-Transport-Security syntax red… Julian Reschke
- Re: [websec] Strict-Transport-Security syntax red… Julian Reschke
- Re: [websec] Strict-Transport-Security syntax red… Julian Reschke
- Re: [websec] Strict-Transport-Security syntax red… Adam Barth
- Re: [websec] Strict-Transport-Security syntax red… Julian Reschke
- Re: [websec] Strict-Transport-Security syntax red… Adam Barth
- Re: [websec] Strict-Transport-Security syntax red… Julian Reschke
- Re: [websec] Strict-Transport-Security syntax red… Phillip Hallam-Baker
- Re: [websec] Strict-Transport-Security syntax red… Adam Barth
- Re: [websec] Strict-Transport-Security syntax red… Adam Barth
- Re: [websec] Strict-Transport-Security syntax red… Bjoern Hoehrmann
- Re: [websec] Strict-Transport-Security syntax red… Phillip Hallam-Baker
- Re: [websec] Strict-Transport-Security syntax red… Julian Reschke
- Re: [websec] Strict-Transport-Security syntax red… Adam Barth
- Re: [websec] Strict-Transport-Security syntax red… Julian Reschke
- Re: [websec] Strict-Transport-Security syntax red… Adam Barth
- Re: [websec] Strict-Transport-Security syntax red… Julian Reschke
- Re: [websec] Strict-Transport-Security syntax red… Adam Barth
- Re: [websec] Strict-Transport-Security syntax red… Julian Reschke
- Re: [websec] Strict-Transport-Security syntax red… Adam Barth
- Re: [websec] Strict-Transport-Security syntax red… =JeffH
- Re: [websec] Strict-Transport-Security syntax red… Adam Barth
- Re: [websec] Strict-Transport-Security syntax red… Roy T. Fielding
- Re: [websec] Strict-Transport-Security syntax red… Adam Barth
- Re: [websec] Strict-Transport-Security syntax red… Julian Reschke
- Re: [websec] Strict-Transport-Security syntax red… Adam Barth
- Re: [websec] Strict-Transport-Security syntax red… Julian Reschke
- Re: [websec] Strict-Transport-Security syntax red… Adam Barth
- Re: [websec] Strict-Transport-Security syntax red… Julian Reschke
- Re: [websec] Strict-Transport-Security syntax red… Adam Barth
- Re: [websec] Strict-Transport-Security syntax red… Tobias Gondrom
- Re: [websec] Strict-Transport-Security syntax red… Anne van Kesteren
- Re: [websec] Strict-Transport-Security syntax red… Julian Reschke
- Re: [websec] Strict-Transport-Security syntax red… Paul Hoffman
- Re: [websec] Strict-Transport-Security syntax red… Anne van Kesteren
- Re: [websec] Strict-Transport-Security syntax red… Julian Reschke
- Re: [websec] Strict-Transport-Security syntax red… Anne van Kesteren
- Re: [websec] Strict-Transport-Security syntax red… Julian Reschke
- Re: [websec] Strict-Transport-Security syntax red… Bjoern Hoehrmann
- Re: [websec] Strict-Transport-Security syntax red… Adam Barth
- Re: [websec] Strict-Transport-Security syntax red… Julian Reschke
- Re: [websec] Strict-Transport-Security syntax red… Paul Hoffman
- Re: [websec] Strict-Transport-Security syntax red… Julian Reschke
- Re: [websec] Strict-Transport-Security syntax red… Marsh Ray
- Re: [websec] Strict-Transport-Security syntax red… Julian Reschke
- Re: [websec] Strict-Transport-Security syntax red… Bjoern Hoehrmann