Re: [IAB] Mandatory encryption as part of HTTP2

Iljitsch van Beijnum <iljitsch@muada.com> Fri, 15 November 2013 12:55 UTC

Return-Path: <iljitsch@muada.com>
X-Original-To: ietf@ietfa.amsl.com
Delivered-To: ietf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id D9A7B11E814C; Fri, 15 Nov 2013 04:55:34 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -102.6
X-Spam-Level:
X-Spam-Status: No, score=-102.6 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, NO_RELAYS=-0.001, 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 FWObJduuTgAd; Fri, 15 Nov 2013 04:55:34 -0800 (PST)
Received: from sequoia.muada.com (sequoia.muada.com [IPv6:2001:1af8:3100:a006:1::]) by ietfa.amsl.com (Postfix) with ESMTP id D052011E80F9; Fri, 15 Nov 2013 04:55:32 -0800 (PST)
Received: from global-hq.muada.com (global-hq.muada.com [IPv6:2001:470:1f0b:1289:14c6:aa7:e66d:1de2] (may be forged)) (authenticated bits=0) by sequoia.muada.com (8.13.3/8.13.3) with ESMTP id rAFCrgRg065190 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NO); Fri, 15 Nov 2013 13:53:44 +0100 (CET) (envelope-from iljitsch@muada.com)
Content-Type: text/plain; charset="iso-8859-1"
Mime-Version: 1.0 (Mac OS X Mail 7.0 \(1816\))
Subject: Re: [IAB] Mandatory encryption as part of HTTP2
From: Iljitsch van Beijnum <iljitsch@muada.com>
In-Reply-To: <52860201.8000001@gmx.net>
Date: Fri, 15 Nov 2013 13:55:18 +0100
Content-Transfer-Encoding: quoted-printable
Message-Id: <3B2983EA-4462-4398-B822-95437C664E2F@muada.com>
References: <946B0ADE-F03B-4249-9D74-904C4BF13632@muada.com> <290E20B455C66743BE178C5C84F1240847E5103781@EXMB01CMS.surrey.ac.uk>, <CAP+FsNfJ7iP8FZqY=beKE_ZNfiwZYvMcwbU9VUXmD5x4vNg9Kw@mail.gmail.com> <290E20B455C66743BE178C5C84F1240847E5103783@EXMB01CMS.surrey.ac.uk> <52860201.8000001@gmx.net>
To: Hannes Tschofenig <hannes.tschofenig@gmx.net>
X-Mailer: Apple Mail (2.1816)
Cc: iab@iab.org, ietf@ietf.org
X-BeenThere: ietf@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: IETF-Discussion <ietf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/ietf>, <mailto:ietf-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/ietf>
List-Post: <mailto:ietf@ietf.org>
List-Help: <mailto:ietf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/ietf>, <mailto:ietf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 15 Nov 2013 12:55:35 -0000

On 15 nov 2013, at 12:14, Hannes Tschofenig <hannes.tschofenig@gmx.net> wrote:

> We mandate other things in protocol specification as well (that aim to take performance, for example, to a specific level) then why not also certain security features.

I'm all for mandating certain security features. A big part of that is not having insecure stuff in version 1 of protocols, because once the can is open, the worms never (completely) crawl back in. However, mandates in the form "if you do X you may only do it in manner Y" don't mean much, because the IETF has no real-world power beyond the text of its specifications.

That aside, just saying "you MUST do TLS with HTTP/2.0" doesn't buy much security in a world where CAs are not trustworthy, people still use RC4/MD5, use woefully short keys for otherwise strong algorithms, browsers have effectively trained people to always click "visit anyway" and so on.

Also, there are cases where encryption isn't needed, and cases where it's not desired. An example close to home: a while back, some IETF meeting related page, the agenda perhaps, would only be available over HTTPS. And it was extremely slow. Not sure if this was because the server was overloaded, session keys were negotiated every time (which shouldn't be necessary) or the page wouldn't be cached (which should be possible), but the end result was that a static file that is available to everyone without credentials was much harder to access for no benefit. Unless you pad all your pages as well as their URLs to the same length, it's trivial for snoops to see who got which page simply by observing the length of the exchange.

With security, the perfect tends to be the enemy of the good. Let's focus our efforts on getting everything encrypted that needs to be encrypted, and do so according to the state of the art rather than sloppily as often happens today, rather than fight over whether people get to serve unencrypted stuff over HTTP/1.1 or HTTP/2.0. "Encrypt everything" makes for a good soundbite, but it's a terrible policy.