Re: Richard Barnes' Discuss on draft-ietf-httpbis-http2-16: (with DISCUSS and COMMENT)
Mark Nottingham <mnot@mnot.net> Wed, 28 January 2015 00:39 UTC
Return-Path: <ietf-http-wg-request+bounce-httpbisa-archive-bis2juki=lists.ietf.org@listhub.w3.org>
X-Original-To: ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com
Delivered-To: ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 5CEE91AC44D for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Tue, 27 Jan 2015 16:39:39 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.912
X-Spam-Level:
X-Spam-Status: No, score=-6.912 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_HI=-5, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01] autolearn=unavailable
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id ZJ-h_sXoZ7Qx for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Tue, 27 Jan 2015 16:39:38 -0800 (PST)
Received: from frink.w3.org (frink.w3.org [128.30.52.56]) (using TLSv1.2 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 345FB1AC44C for <httpbisa-archive-bis2Juki@lists.ietf.org>; Tue, 27 Jan 2015 16:39:38 -0800 (PST)
Received: from lists by frink.w3.org with local (Exim 4.80) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1YGGcX-0006h8-K4 for ietf-http-wg-dist@listhub.w3.org; Wed, 28 Jan 2015 00:36:37 +0000
Resent-Date: Wed, 28 Jan 2015 00:36:37 +0000
Resent-Message-Id: <E1YGGcX-0006h8-K4@frink.w3.org>
Received: from lisa.w3.org ([128.30.52.41]) by frink.w3.org with esmtp (Exim 4.80) (envelope-from <mnot@mnot.net>) id 1YGGcT-0006gR-4v for ietf-http-wg@listhub.w3.org; Wed, 28 Jan 2015 00:36:33 +0000
Received: from mxout-07.mxes.net ([216.86.168.182]) by lisa.w3.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.72) (envelope-from <mnot@mnot.net>) id 1YGGcR-00026X-Rw for ietf-http-wg@w3.org; Wed, 28 Jan 2015 00:36:33 +0000
Received: from [192.168.1.83] (unknown [118.209.44.193]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by smtp.mxes.net (Postfix) with ESMTPSA id 0CD4422E260; Tue, 27 Jan 2015 19:36:07 -0500 (EST)
Content-Type: text/plain; charset="us-ascii"
Mime-Version: 1.0 (Mac OS X Mail 8.1 \(1993\))
From: Mark Nottingham <mnot@mnot.net>
In-Reply-To: <CAL02cgQDVSR+W4=93gB9qWazPmU9+PiDFH_5+iYMz8PvC0U8TQ@mail.gmail.com>
Date: Wed, 28 Jan 2015 11:36:04 +1100
Cc: The IESG <iesg@ietf.org>, HTTP Working Group <ietf-http-wg@w3.org>, draft-ietf-httpbis-http2.all@tools.ietf.org
Content-Transfer-Encoding: quoted-printable
Message-Id: <9F7E45D1-36A3-45FE-9336-4B71BE4F6679@mnot.net>
References: <20150122061422.7066.99244.idtracker@ietfa.amsl.com> <DA42752E-F2AE-4D26-809B-BBC228666BD5@mnot.net> <CAL02cgQDVSR+W4=93gB9qWazPmU9+PiDFH_5+iYMz8PvC0U8TQ@mail.gmail.com>
To: Richard Barnes <rlb@ipv.sx>
X-Mailer: Apple Mail (2.1993)
Received-SPF: pass client-ip=216.86.168.182; envelope-from=mnot@mnot.net; helo=mxout-07.mxes.net
X-W3C-Hub-Spam-Status: No, score=-3.8
X-W3C-Hub-Spam-Report: AWL=-3.049, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001
X-W3C-Scan-Sig: lisa.w3.org 1YGGcR-00026X-Rw 9debea2e8dd5f4a42a02a1fd6606eebf
X-Original-To: ietf-http-wg@w3.org
Subject: Re: Richard Barnes' Discuss on draft-ietf-httpbis-http2-16: (with DISCUSS and COMMENT)
Archived-At: <http://www.w3.org/mid/9F7E45D1-36A3-45FE-9336-4B71BE4F6679@mnot.net>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/28675
X-Loop: ietf-http-wg@w3.org
Resent-Sender: ietf-http-wg-request@w3.org
Precedence: list
List-Id: <ietf-http-wg.w3.org>
List-Help: <http://www.w3.org/Mail/>
List-Post: <mailto:ietf-http-wg@w3.org>
List-Unsubscribe: <mailto:ietf-http-wg-request@w3.org?subject=unsubscribe>
Hi Richard, On 23 Jan 2015, at 12:54 am, Richard Barnes <rlb@ipv.sx> wrote: >> > (1) Section 3.2: "A server MUST ignore a "h2" token in an Upgrade header >> > field." >> > What is the reasoning behind this exclusion? This seems to unnecessarily >> > rule out the use of TLS, especially given that the server can opt out by >> > choosing "h2c". >> >> We chose ALPN as the interoperable way to upgrade a TLS connection to h2; doing Upgrade inside TLS makes no sense, because ALPN support is required, and is much more efficient (since the entire connection has to stop for the Upgrade dance). I.e., Upgrade is designed for plaintext HTTP only, and use elsewhere is a good sign that there's a buggy client. > > Different problem. You're talking about how you upgrade a TLS connection once you're making one. I'm talking about what you do when you start with an "http" URI. > > The path I'm asking about is roughly as follows: > 1. Client: Upgrade: h2, h2c > 2. Server: Upgrade: TLS/1.2, h2 > 3. Client: ClientHello with ALPN, ... > > (Maybe include a client preamble to help with middleboxes.) It seems like that provides a path to get from an "http" URI to TLS, which is possible in h2 by virtue of the :scheme pseudo-header. You can get to "http" over TLS via connection reuse; why would you forbid going there directly? This implies support for RFC2817, which is pretty much unused. We haven't had any implementers express interest in that upgrade path, IIRC, and we'd need to assess it for security properties. OTOH it's currently perfectly possible to do the following without changing the h2 spec: 1. Client: Upgrade: TLS/1.2 2. Server: Upgrade: TLS/1.2 3. Client: ClientHello with ALPN What's the qualitative difference? It's true that if the server doesn't support h2, the client won't be able to multiplex http:// and https:// URLs over it, but that's going to be the case no matter what we do here. While some implementations might want to know whether their peer supports h2 before negotiating TLS, I'm not sure enabling that is a good outcome -- after all, the IAB wants to encourage use of encryption... > One of my favorite things about this spec is that it disentangles the concepts of transport and scheme. The two places I've called out in this DISCUSS (here and below) are the only ones where there still seems to be confusion, so it seems worth ironing them out so that the separation can be clean. I understand, but we've prioritised interoperability and security here. >> > (3) Section 9.1.1: "For "http" resources..." >> > This seems to imply that requests for "http" resources can only be >> > carried over bare TCP, which seems wrong given the presence of the >> > ":scheme" pseudo-header. Proposed text: >> > >> > OLD: "For "http" resources, this depends on the host having resolved to >> > the same IP address." >> > NEW: "For TCP connections without TLS, this depends on the host having >> > resolved to the same IP address." >> >> Within the scope of this specification, I think the current text is correct; further specifications (including HTTP OppSec, if it wants to) can modify this behaviour when they're in effect. > > I actually think that this spec does a pretty good job of separating "cleartext/TLS" from "http/https". The only points of confusion are here and the point mentioned above. Regardless of whether we do OppSec, it seems worth being clear about this distinction. Your proposed language creates ambiguity; whereas before we divided the world into http and https resources, now there would be several states. Cheers, -- Mark Nottingham https://www.mnot.net/
- Richard Barnes' Discuss on draft-ietf-httpbis-htt… Richard Barnes
- Re: Richard Barnes' Discuss on draft-ietf-httpbis… Mark Nottingham
- Re: Richard Barnes' Discuss on draft-ietf-httpbis… Amos Jeffries
- Re: Richard Barnes' Discuss on draft-ietf-httpbis… Richard Barnes
- Re: Richard Barnes' Discuss on draft-ietf-httpbis… Mark Nottingham
- Re: Richard Barnes' Discuss on draft-ietf-httpbis… Martin Thomson
- Re: Richard Barnes' Discuss on draft-ietf-httpbis… Richard Barnes
- Re: Richard Barnes' Discuss on draft-ietf-httpbis… Martin Thomson
- Re: Richard Barnes' Discuss on draft-ietf-httpbis… Mark Nottingham
- Re: Richard Barnes' Discuss on draft-ietf-httpbis… Richard Barnes
- Re: Richard Barnes' Discuss on draft-ietf-httpbis… Martin Thomson
- Re: Richard Barnes' Discuss on draft-ietf-httpbis… Richard Barnes
- Re: Richard Barnes' Discuss on draft-ietf-httpbis… Barry Leiba