Re: [websec] ignoring STS header fields with undefined directives (was: new rev: draft-ietf-websec-strict-transport-sec-08)
Alexey Melnikov <alexey.melnikov@isode.com> Mon, 04 June 2012 20:20 UTC
Return-Path: <alexey.melnikov@isode.com>
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 03FFA11E80EC for <websec@ietfa.amsl.com>; Mon, 4 Jun 2012 13:20:56 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -102.447
X-Spam-Level:
X-Spam-Status: No, score=-102.447 tagged_above=-999 required=5 tests=[AWL=0.152, 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 no-w5siq99Sm for <websec@ietfa.amsl.com>; Mon, 4 Jun 2012 13:20:55 -0700 (PDT)
Received: from rufus.isode.com (cl-125.lon-03.gb.sixxs.net [IPv6:2a00:14f0:e000:7c::2]) by ietfa.amsl.com (Postfix) with ESMTP id DF06C11E80C0 for <websec@ietf.org>; Mon, 4 Jun 2012 13:20:54 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; t=1338841254; d=isode.com; s=selector; i=@isode.com; bh=7QRWotMbVTHH1uIleIp5gD/LmkKOvkMU3DC9bQ/Q0qs=; h=From:Sender:Reply-To:Subject:Date:Message-ID:To:Cc:MIME-Version: In-Reply-To:References:Content-Type:Content-Transfer-Encoding: Content-ID:Content-Description; b=DpdPjkjiXRUyTvKsfup2HajlVJNqZwalqHfY5qL+jzMlLDR0nBqpRfcWp2HkX9/M+qHm95 5T9D/ghWEzQ3MYxRbOzE0kDJkRxf9VrOiKdyKx3MB9jd+/RMt66gbqubGUU3jaQ06AwrVw zO7ruE6KcqylyRBGd1Dw/pi3iKd/HkU=;
Received: from [172.20.10.2] ((unknown) [212.183.128.204]) by rufus.isode.com (submission channel) via TCP with ESMTPSA id <T80YmgAE42v3@rufus.isode.com>; Mon, 4 Jun 2012 21:20:46 +0100
X-SMTP-Protocol-Errors: PIPELINING
Message-ID: <4FCD1897.9040601@isode.com>
Date: Mon, 04 Jun 2012 21:20:39 +0100
From: Alexey Melnikov <alexey.melnikov@isode.com>
User-Agent: Mozilla/5.0 (Windows NT 6.1; rv:10.0.2) Gecko/20120216 Thunderbird/10.0.2
To: =JeffH <Jeff.Hodges@KingsMountain.com>
References: <4FCD1645.3050700@KingsMountain.com>
In-Reply-To: <4FCD1645.3050700@KingsMountain.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="ISO-8859-1"; format="flowed"
Content-Transfer-Encoding: 7bit
Cc: Julian Reschke <julian.reschke@gmx.de>, IETF WebSec WG <websec@ietf.org>
Subject: Re: [websec] ignoring STS header fields with undefined directives (was: new rev: draft-ietf-websec-strict-transport-sec-08)
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: Mon, 04 Jun 2012 20:20:56 -0000
On 04/06/2012 21:10, =JeffH wrote: > > > On 2012-06-02 02:22, =JeffH wrote: > >> > On 2012-06-01 20:32, =JeffH wrote: > >> > > >> >> Alexey wrote: > >> >> > >> >> > Most of my issues were addressed in the latest version, except > for > >> >> this one: > >> >> > > >> >> > > 6.1. Strict-Transport-Security HTTP Response Header Field > >> >> > > > >> >> > > 4. UAs MUST ignore any STS header fields containing > directives, or > >> >> > > other header field value data, that does not conform to the > >> >> > > syntax defined in this specification. > >> >> > > >> >> > So this is saying that syntactically invalid STS header fields > are > >> >> > to be ignored. This still doesn't say if unrecognized directives > >> are to > >> >> > be ignored or not. (Because they can comply with the generic > >> syntax for > >> >> > directives, so they would be syntactically valid, albeit > >> unrecognized). > >> >> > So can you please add an explicit sentence about that? > >> >> > >> >> > >> >> Here's the text in my working copy for that item.. > >> >> > >> >> <t> > >> >> UAs MUST ignore any STS header fields containing > >> >> directives, or other header field value data, that does > >> >> not conform to the syntax defined in this specification. > >> >> UAs MUST also ignore any STS header fields containing > >> >> undefined directives. > >> >> </t> > >> >> > >> >> Ok? > >> >> ... > >> > > >> > That makes it basically impossible to add extensions; is that > intended? > >> > >> No, that is not my intention, nor the WG's as far as I understand. > >> > >> > >> Alexey follows up with: > >> > > >> > I agree with Julian: this will make the header field effectively non > >> > extensible. And if you update the header field by adding new > values, all > >> > older implementations will start ignoring it, which is a deployment > >> > headache. > >> > >> Ok, so the first proposal is broken, how about this.. > >> > >> <t> > >> UAs MUST ignore any STS header fields containing > >> directives, or other header field value data, that does > >> not conform to the syntax defined in this specification. > >> </t> > >> <t> > >> UAs MUST ignore any directives they > >> do not recognize, but MAY accept and > >> process a STS header field containing an > >> unrecognized directive but otherwise > >> satisfying the other > >> requirements (1 through 4) stated here. > >> </t> > >> > >> ..? > >> > >> Note that the paragraph following the above numbered list items > states: > >> > >> Additional directives extending the semantic functionality of the STS > >> header field can be defined in other specifications. > > > > "UAs MUST ignore any directives they do not recognize, ..." > > > > Yes. > > > > " ...but MAY accept and process a STS header field containing an > > unrecognized directive but otherwise satisfying the other requirements > > (1 through 4) stated here." > > > > Why "MAY accept" here? If the MUST ignore extension directives, doesn't > > that mean that that "MAY" indeed is a "MUST"? > > thanks, yes, I believe that's correct. Here's what I have upon > re-writing it (this is in S 6.1)... > > 4. UAs MUST ignore any STS header fields containing directives, or > other header field value data, that does not conform to the > syntax defined in this specification. > > 5. If an STS header field contains directive(s) not recognized by > the UA, the UA MUST ignore the unrecognized directives and if the > STS header field otherwise satisfies the above requirements (1 > through 4), the UA MUST process the recognized directives. > > Additional directives extending the semantic functionality of the STS > header field can be defined in other specifications. This looks good to me now.
- Re: [websec] ignoring STS header fields with unde… =JeffH
- Re: [websec] ignoring STS header fields with unde… Julian Reschke
- Re: [websec] ignoring STS header fields with unde… Alexey Melnikov
- Re: [websec] ignoring STS header fields with unde… Chris Palmer
- Re: [websec] ignoring STS header fields with unde… =JeffH
- Re: [websec] ignoring STS header fields with unde… Julian Reschke
- Re: [websec] ignoring STS header fields with unde… =JeffH
- Re: [websec] ignoring STS header fields with unde… Alexey Melnikov