Re: Security for various IETF services

Brian Trammell <> Mon, 07 April 2014 10:09 UTC

Return-Path: <>
Received: from localhost ( []) by (Postfix) with ESMTP id C9A321A06EC; Mon, 7 Apr 2014 03:09:31 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: 0.798
X-Spam-Status: No, score=0.798 tagged_above=-999 required=5 tests=[BAYES_50=0.8, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001] autolearn=ham
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id m97cu0Rpfxmm; Mon, 7 Apr 2014 03:09:27 -0700 (PDT)
Received: from ( []) by (Postfix) with ESMTP id C80621A06E6; Mon, 7 Apr 2014 03:09:26 -0700 (PDT)
Received: from ( []) by (Postfix) with ESMTPSA id E694E1A002D; Mon, 7 Apr 2014 12:09:19 +0200 (CEST)
Content-Type: multipart/signed; boundary="Apple-Mail=_1EAA7E2D-7FD1-4932-AA10-FF73214BAF86"; protocol="application/pgp-signature"; micalg="pgp-sha512"
Mime-Version: 1.0 (Mac OS X Mail 7.2 \(1874\))
Subject: Re: Security for various IETF services
From: Brian Trammell <>
In-Reply-To: <>
Date: Mon, 07 Apr 2014 12:09:18 +0200
Message-Id: <>
References: <> <> <> <> <>
X-Mailer: Apple Mail (2.1874)
Cc: Tim Bray <>, The IESG <>, IETF-Discussion <>
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: IETF-Discussion <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Mon, 07 Apr 2014 10:09:32 -0000

On 07 Apr 2014, at 11:40, Stewart Bryant <> wrote:

> On 05/04/2014 18:29, Tim Bray wrote:
>> On Sat, Apr 5, 2014 at 1:50 AM, Stewart Bryant (stbryant) <> wrote:
>> > Please confirm that "friendly" implies that the user gets to
>> > choose the degree of security privacy that they consider
>> > appropriate, and that their applications and devices are not
>> > encumbered  with the overheads unless they choose to invoke
>> > the privacy and security mechanisms.
>> Here, I think, is a key issue.  I disagree with Stewart.  WHAT?!  How can I possibly disagree with  ​user choice?  Because, a huge majority of people
>> (a) aren’t aware that there is a choice to be made, and shouldn’t need to be
>> (b) do not understand the technical issues surrounding the choice, and shouldn’t have to
>> (c) do not understand the legal/policy issues surrounding the choice, and shouldn’t have to
>> This includes both the people who use online services and the people who offer them.  Thus, the only sane ethical position is to operate in a mode that is private by default, because the consequences of a negative failure (the user really didn’t need privacy but got it anyhow) are immensely less damaging than the consequences of a positive failure (the user really needed privacy but didn’t get it).
> I could be persuaded towards "crypto by default", but I hear in these discussions "crypto as an exclusive mode", and I do not think that is an acceptable constraint on implementations.

Then let's talk about crypto by default, which I think is a useful position in the case of IETF services, which is of course the subject of the thread. Here the specific threats posed by an adversary are:

(1) Leakage of browsing history. It may be tempting to presume that there is no value to the information that person X was interested in IETF documents w, y, and z, at time t, but that is indeed a presumption. We don't know X, and we can't presume to know why X might think their interest in the work of the IETF (or their presence at a particular point in time when they were accessing our services) is private, so we should make it as easy as possible to use TLS to at least limit the passively-observable information to that about the flow. And it doesn't get any easier than on-by-default. :)

(One could say that post-Snowden there is no reasonable practical presumption of privacy over HTTP, and that people using HTTP are knowingly serving up their browsing history to all observers. I have to agree with Tim on this point, though. As far as I am concerned this threat is justification enough to provide TLS by default for IETF web services. The details of how to do this to best "upgrade" initial landings without breaking access for deep-links and/or automated processes are just that, details of implementation.)

(2) Credential theft and subsequent impersonation: unencrypted access to the datatracker could allow eavesdroppers to impersonate anyone who logs in over HTTP. Yes, there are non-TLS ways to deal with this, though I'm not sure how universally reliable they are. (We also send mailing list credentials in plaintext at incredibly predictable times, so it would be relatively easy for someone to bulk-unsubscribe most of the IETF from most of our mailing lists, but that's unrelated to web services.)

I think the practical risk here is only of vandalism, creating a mess in the datatracker that it would take a fair amount of work to clean up. Any impersonation materially impacting the process would presumably (hopefully) be detected by the impersonated themselves. And the possibility of someone actually doing this certainly seems far-fetched, but so do so many of the things one reads in the press these days on this subject.

Protecting credential exchange by default via TLS for IETF web services requiring a login is a nice side-benefit to addressing (1) above, but if we think we have really good reasons for addressing (2) without addressing (1), there are ways to do so that are slightly computationally less expensive. It would take some effort to convince me that this is the correct tradeoff though.

(3) Injection/deletion/modification of RFC or draft content inline. There are already lots and lots and lots of places that mirror our documents anyway, so TLS won't help much here. The appropriate way to handle this is to sign the documents, not to provide protection on the wire. As I understand it this is an ongoing project anyway. Ignoring issues with the web PKI, TLS provides a practical bootstrap to this process by ensuring authenticity and integrity of public keys for verification retrieved from a known source.

There are probably a few others, but I think I've used all my Narten points for the week.

So there are specific reasons to do this, beyond simply increasing the cost of bulk collection by adding a few drops to the growing ocean of traffic encrypted on the wire.

> Privacy and authentication always ends up taking CPU, memory and bandwidth, which in turn costs money, silicon, power, weight and complexity. If a specific application requires privacy and or authentication, then fine, but each case needs to be examined on its own merits.

Yep. And I think in the case of the IETF services the real question comes down to "is the impact on 'restricted execution environments' worth the benefit (especially wrt threat 1) to default-on TLS for *"

> Now you may say "ah but we are getting so much better at the engineering that who cares about such things", to which I would point out that such thinking stunts our ability to build things that are orders of magnitude smaller, lighter, cheaper and more power efficient than we can conceive of oday.

Agree completely.