Re: 2 questions

Benjamin Carlyle <benjamincarlyle@soundadvice.id.au> Thu, 09 April 2015 14:29 UTC

Return-Path: <ietf-http-wg-request+bounce-httpbisa-archive-bis2juki=lists.ie@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 06D721A6FFA for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Thu, 9 Apr 2015 07:29:24 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.29
X-Spam-Level:
X-Spam-Status: No, score=-6.29 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, FM_FORGED_GMAIL=0.622, RCVD_IN_DNSWL_HI=-5, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01] autolearn=ham
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 VEiQlciH0h1R for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Thu, 9 Apr 2015 07:29:17 -0700 (PDT)
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 069321A6F34 for <httpbisa-archive-bis2Juki@lists.ietf.org>; Thu, 9 Apr 2015 07:29:17 -0700 (PDT)
Received: from lists by frink.w3.org with local (Exim 4.80) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1YgDOn-0001NE-HB for ietf-http-wg-dist@listhub.w3.org; Thu, 09 Apr 2015 14:25:41 +0000
Resent-Date: Thu, 09 Apr 2015 14:25:41 +0000
Resent-Message-Id: <E1YgDOn-0001NE-HB@frink.w3.org>
Received: from maggie.w3.org ([128.30.52.39]) by frink.w3.org with esmtp (Exim 4.80) (envelope-from <fuzzybsc@gmail.com>) id 1YgDOi-0001M8-2d for ietf-http-wg@listhub.w3.org; Thu, 09 Apr 2015 14:25:36 +0000
Received: from mail-ig0-f170.google.com ([209.85.213.170]) by maggie.w3.org with esmtps (TLS1.2:RSA_ARCFOUR_SHA1:128) (Exim 4.80) (envelope-from <fuzzybsc@gmail.com>) id 1YgDOc-0004U6-F9 for ietf-http-wg@w3.org; Thu, 09 Apr 2015 14:25:36 +0000
Received: by iget9 with SMTP id t9so49851511ige.1 for <ietf-http-wg@w3.org>; Thu, 09 Apr 2015 07:25:04 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date:message-id:subject :from:to:cc:content-type; bh=t8EEstTse9rnG6vrE+IkAuhee+WhAokQA7fQJ8Jc2bM=; b=VCDuUZlsSR7wINsI0mxJtiB+9OZywaNV/vEb/TxM/QDUjoslVxB3dy7hSvyuL+tQIO iXSFTwHW/F84tmACzp2D7lUzRCAERsq6CHy2CHZDxASD7vBreURX7MDvDQSl28UaTkO6 9WUUnuz1yadD3+fip4UTdQusV2mBOKj4jL6zTGRS+vNzBhWZgrMQqokSXTv2HPIbN0Qn qFVF/LGGhGKZttc3o8gHw++xSjXqrqTQyy5ySB7OCIY4YuMO7OVP2dKB5UnGfFcE0C4a PhDPIIZKnaFn4umql1CasfdNLjwHLXeBlWrzTqu/LgcokrPqGw01Eiz2vOrjwcJeimD/ Yt6w==
MIME-Version: 1.0
X-Received: by 10.50.61.239 with SMTP id t15mr15433789igr.7.1428589504305; Thu, 09 Apr 2015 07:25:04 -0700 (PDT)
Sender: fuzzybsc@gmail.com
Received: by 10.36.16.68 with HTTP; Thu, 9 Apr 2015 07:25:04 -0700 (PDT)
In-Reply-To: <5516BDFC.3050201@gmail.com>
References: <5516BDFC.3050201@gmail.com>
Date: Fri, 10 Apr 2015 00:25:04 +1000
X-Google-Sender-Auth: -b7IsGfOSqeDd2bocrBp-DZNdco
Message-ID: <CAN2g+6b2A9bxsjrwRGKa7fOyBM6pnmn4mO6UCOMc7EOLicH+_A@mail.gmail.com>
From: Benjamin Carlyle <benjamincarlyle@soundadvice.id.au>
To: Glen <glen.84@gmail.com>
Cc: "ietf-http-wg@w3.org" <ietf-http-wg@w3.org>
Content-Type: text/plain; charset="UTF-8"
Received-SPF: pass client-ip=209.85.213.170; envelope-from=fuzzybsc@gmail.com; helo=mail-ig0-f170.google.com
X-W3C-Hub-Spam-Status: No, score=-3.9
X-W3C-Hub-Spam-Report: AWL=-1.219, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001, W3C_AA=-1, W3C_WL=-1
X-W3C-Scan-Sig: maggie.w3.org 1YgDOc-0004U6-F9 fb5c03d995175267018d8fcce47f16cb
X-Original-To: ietf-http-wg@w3.org
Subject: Re: 2 questions
Archived-At: <http://www.w3.org/mid/CAN2g+6b2A9bxsjrwRGKa7fOyBM6pnmn4mO6UCOMc7EOLicH+_A@mail.gmail.com>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/29295
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>

On 29 March 2015 at 00:43, Glen <glen.84@gmail.com> wrote:
> 1. What were the reasons for HTTP/2 not requiring TLS?

I know this issue has been canvassed many times on the list, but I
thought since I am writing emails tonight I would share a perspective
that I think is novel on this list. To restate from my last email, I
mostly use HTTP/1.1, SPDY, and soon will h2 in the context of highly
available safety-related (not safety-critical) SCADA systems.

Firstly, I mostly like the use of TLS on the web. I think it is well
warranted. However in my environments I'm typically dealing with
"secure" networks where other protections exist at the IP layer or
below that ensure many of the properties that TLS provides. These
generally are isolated networks with air gaps to the Internet or at
least some multiple layers of networks and restrictive firewalls
before the Internet can be reached. Changes to these networks go
through processes to ensure isolation is maintained to the desired
degree, and privacy is not a concern. Rather, if there is a concern it
is potential attacks on the system and related infrastructure. In fact
eliminating privacy and having every action be fully accountable is a
requirement.

My primary concerns in this environment are about high availability,
maintainability, and durability of the system. In my line of work I
often come across systems that have been in place for twenty years,
some still with serial communications, some devices still on the
network but if they failed would require some digging through
paperwork to even find their physical location. Some using network
technologies that are obsolete and are still running only due to
careful spares management. Replacing these systems is expensive and
the accountants like to amortise the expense over a long period of
time.

Traditionally HTTP has been a good next protocol to replace some of
the older system protocols. It is generally possible to connect quite
old and quite new HTTP implementations together and have them
interoperate, and the focus on text-based communications has meant
that reverse-engineering is likely possible when an incompatibility
does come up and some form of information plumbing is possible to join
both ends together.

h2 has largely maintained these properties albeit with a compatibility
break from HTTP/1.1 and with somewhat reduced debuggability /
increased plumbing complexity due to header compression and the like.
TLS brings roughly the same hazards for both HTTP/1.1 and h2, such as:
- opaque data streams that are difficult to put a logic probe
(wireshark) into for reverse engineering purposes
- certificates that need to be acquired, or self-signed certificates
that need to be distributed. This can mean that certificate trust
needs to be installed on a replacement unit before it is sent out into
the field in case of a hardware failure
- the possibility that a certificate will unexpectedly expire. If you
have hundreds of devices around a network in awkward places across a
metropolitan-sized system then the tracking of regular maintenance
activities such as these can be non-trivial
- The cipher suites eventually become outdated, and you can end up
with a patchwork of equipment of various ages that have
old-to-the-point-of-useless encryption that newer devices won't want
to talk to, and potentially a bunch of equipment in between these
extremes. More to track, more to get right. More difficulty supporting
old equipment.
- TLS tends to couple the software implementation to end device. In
this business you tend not to want to update a device, but instead to
offload things that need regular maintenance onto a separate component
that you can physically replace. For example you might have a handful
of field units at a given location connected to an industrial router.
It is the router we would want to be taking on the encryption function
rather than the individual devices because touching one of the devices
requires much more expensive installation and revalidation work.

None of the problems are insurmountable and maybe just making sure
that TLS offload for h2 is well supported and well understood will be
enough to resolve them. But basically as it is the positives of TLS
seem generally more like net negatives in this environment. These may
also be somewhat temporary objections. The systems are always moving
closer to being core business systems rather than solely control
systems so both customer and suppliers are moving closer to
conventional IT practices. It may be that in another twenty years the
systems and practices I'm seeing will all be gone, but given the
distributed nature of the systems I think there will always be some
differences to the Web.