Re: Proposed Statement on "HTTPS everywhere for the IETF"

"Roy T. Fielding" <fielding@gbiv.com> Wed, 10 June 2015 20:02 UTC

Return-Path: <fielding@gbiv.com>
X-Original-To: ietf@ietfa.amsl.com
Delivered-To: ietf@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 5CD8C1A8A6E for <ietf@ietfa.amsl.com>; Wed, 10 Jun 2015 13:02:24 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 1.034
X-Spam-Level: *
X-Spam-Status: No, score=1.034 tagged_above=-999 required=5 tests=[BAYES_50=0.8, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, IP_NOT_FRIENDLY=0.334, RCVD_IN_DNSWL_NONE=-0.0001] autolearn=no
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 U32NKUSszSOw for <ietf@ietfa.amsl.com>; Wed, 10 Jun 2015 13:02:22 -0700 (PDT)
Received: from homiemail-a86.g.dreamhost.com (sub4.mail.dreamhost.com [69.163.253.135]) by ietfa.amsl.com (Postfix) with ESMTP id 2DF0E1A8999 for <ietf@ietf.org>; Wed, 10 Jun 2015 13:02:22 -0700 (PDT)
Received: from homiemail-a86.g.dreamhost.com (localhost [127.0.0.1]) by homiemail-a86.g.dreamhost.com (Postfix) with ESMTP id 07812360116; Wed, 10 Jun 2015 13:02:22 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=gbiv.com; h=content-type :mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; s=gbiv.com; bh=da+Fy0quDV6Rt6sVdWQ6ZywIo3U=; b=SFy1JqSGyVSX9eo18198C1zkiNzL FdgjoXiDFYhHviCmGAJrtPDJ/pliYskKFZmwFCV6q+siRzpyTqVQsjbdtwj0FLOt FBpHzcFc2L7jcyRubLpv/tnvyYYXL65XHBVJKktDwButyi7j+VZo75fXFrRNi8W1 KtKweelFeAx0GQE=
Received: from [192.168.1.18] (ip68-228-83-124.oc.oc.cox.net [68.228.83.124]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) (Authenticated sender: fielding@gbiv.com) by homiemail-a86.g.dreamhost.com (Postfix) with ESMTPSA id 75C7636007C; Wed, 10 Jun 2015 13:02:21 -0700 (PDT)
Content-Type: text/plain; charset="utf-8"
Mime-Version: 1.0 (Mac OS X Mail 8.2 \(2098\))
Subject: Re: Proposed Statement on "HTTPS everywhere for the IETF"
From: "Roy T. Fielding" <fielding@gbiv.com>
In-Reply-To: <80BAB6F9-9059-48C1-B85E-ED5344C6C890@mnot.net>
Date: Wed, 10 Jun 2015 13:02:19 -0700
Content-Transfer-Encoding: quoted-printable
Message-Id: <F3A908B9-5B12-4995-95CB-68BB6D4BDA7C@gbiv.com>
References: <7CD16905-AA0C-4CF4-8473-DE3E698D4C52@mnot.net> <978EACB4-295B-4BD1-8243-0A5686F11237@gbiv.com> <80BAB6F9-9059-48C1-B85E-ED5344C6C890@mnot.net>
To: Mark Nottingham <mnot@mnot.net>
X-Mailer: Apple Mail (2.2098)
Archived-At: <http://mailarchive.ietf.org/arch/msg/ietf/TWqLwQ2i_kmR4V4ZFCCUwvCPEak>
Cc: IETF <ietf@ietf.org>
X-BeenThere: ietf@ietf.org
X-Mailman-Version: 2.1.15
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: Wed, 10 Jun 2015 20:02:24 -0000

> On Jun 9, 2015, at 7:58 PM, Mark Nottingham <mnot@mnot.net> wrote:
> 
> On 10 Jun 2015, at 10:24 am, Roy T. Fielding <fielding@gbiv.com> wrote:
>> […]
>>>> Furthermore, with TLS in place, it becomes easy and commonplace to send stored authentication credentials in those requests, without visibility, and without the ability to easily reset those credentials (unlike in-the-clear cookies).
>>> 
>>> Yes. This is a concern that I talked through with Balachander Krishnamurthy (who said his cookie research would have been much more difficult with pervasive HTTPS) and others when SPDY came around. I think we need much better tooling here. There has been a bit of progress, but it's been very slow...
>> 
>> I don't think you appreciate the impact of authenticated requests on the overall system.
>> It isn't just that the sites you intend to visit now have the ability to uniquely identify
>> you at no additional infrastructure cost.  It is that every https reference on every page
>> has the same ability, and is no longer hindered by limitations on Referer or "privacy"
>> concerns (again, because people like the IETF claim that encrypted data sent over TLS is
>> private even when we have no control over the CAs, the recipient, and the data sent).
> 
> Or perhaps you just weren't explaining what you meant very well. Thanks for doing so below.
> 
> I agree that there are aspects of TLS that could be abused into tracking users (e.g., session tickets), and that this is a concern. However, the same can be said for HTTP (ETags, anyone?), URIs, JavaScript, and many other parts of the Web. 
> 
> Maintaining truly anonymous, untracked Web access is really, really hard — to the point that if you're serious about it, each time you want to use a Web site, you'll use a different physical machine (think side channel attacks; this is a fun sampler: <http://arxiv.org/pdf/1502.07373v2.pdf>).
> 
> As such, equating TLS to "authenticated requests" confuses the matter more than it helps explain what's happening. If TLS has the potential for adding entropy to a browser fingerprint, we can and should look at ways to mitigate that. But, it's not like people who want to track users using things other than cookies are over the moon about HTTPS Everywhere; they already have a buffet of choices to do that on the modern Web. 
> 
> And yes, HTTPS does hide what happens on the wire. However, the techniques used are still apparent in the endpoints, and we have a growing galaxy of privacy-aiding browser plugins to find at least some of them, as well as more hardened approaches like TorBrowser. The ones that can't be found in the browser by a plugin probably can't be detected on the wire either.
> 
> Don't get me wrong - many people (including me) are very concerned about this problem, and we're talking about it in the TAG right now. I just don't see any reason to recommend that people NOT deploy HTTPS based upon these specific concerns — they're dwarfed by other (very real) concerns about cookieless tracking as well as pervasive monitoring.
> 
> 
> […]
>>>> What it does is disable anonymous access to ensure authority.
>>> 
>>> Please explain?
>> 
>> The https scheme relies on the notion of authority in the URI combined with direct or
>> tunneled connection to that authority to establish a trusted exchange of information
>> between the user and that authority (assuming that the user trusts that authority).
>> For various performance reasons, a great deal of state is held on the user agent to
>> ensure that its next connection to the same authority isn't depressingly slow.
>> Recipients are discouraged from shared caching or mirroring of the content, since
>> the authority is vested only in the connection that delivered it, not in the bits
>> that were delivered, and the user agent doesn't know why the bits were secured.
>> 
>> Anonymous access, in contrast, does not presume that the user trusts the authority.
>> Very little state is maintained on the user agent, since it doesn't actually help.
>> Recipients are encouraged to cache or mirror the content, especially if the
>> content itself is signed, which means other users can access the content without
>> making a request to the authority.  Information can be replicated and accessed at
>> locations the user does trust, perhaps even offline.
>> 
>> The other advantage that replication has over https, aside from not requiring
>> a connection to the authority, is that the information cannot be personalized.
>> If you can go to a public library to see a copy of the tax code, or legal code,
>> or some other document of public interest, it makes it much harder for that code
>> to be changed without people noticing, or for certain viewers of the code to see
>> a different version than others.
> 
> Thanks again.
> 
> 
>>> I think the combination of how HTTP is defined and Web browsers' specific usage patterns of HTTP over TLS does that. We're already seeing some background discussion of how to offer caching without sacrificing security. 
>> 
>> We can't have a reasonable comparison of the effect of HTTPS-everywhere based on
>> proposals that are deployed nowhere.  Deploy them first, advocate later.
> 
> Well, exactly. You seem to be arguing that we should stop advocating for/improving HTTPS (for all of the reasons that led us to this) while we wait for a new proposal/protocol to be developed and deployed, because it might be a better overall solution.

No, I am advocating that https is not the solution you say it is, and further that
moving everything to https is actively harmful to the cases you haven't considered.
This doesn't stop anyone from improving https, or choosing a better solution for the
problem, or just moderating the message to be more truthful.

If it weren't for the absolutist position of the campaign, cloaked in the petals of
privacy, I would not feel a need to say anything at all.

> It indeed might be better in many aspects — and I'd love to get such a thing going. Let's do a Bar BoF in Prague. 

I won't be in Prague.  I doubt that I will attend another IETF in person, given how
distasteful the experience was in Vancouver and Honolulu.  

> In the meantime, we have a deployed Web that needs maintenance and evolution. It needs to be secured from a variety of attacks — pervasive monitoring being just one — that HTTPS can help mitigate.
> 
> "HTTPS Everywhere" is not an edict from the IESG (or IAB, TAG or anyone else); it's at most an aspirational goal shared by many. Pretty much all of the actual activity has been focused on making sure that it's easy / possible to deploy, and that it is used when a new feature is powerful / privileged enough to warrant it (e.g., ServiceWorker).
> 
> Stopping that on the basis that we hope something better will come along doesn't make sense.

No, but adjusting the campaign to be truthful in its statements and abundantly clear on
the exceptions does make sense.  I don't like seeing governmental agencies refer to
contrived agendas as if they were technical recommendations by the IETF.

  https://https.cio.gov/everything/

I also don't like the way that rational exceptions have been dismissed

  https://github.com/GSA/https/issues/107

I particularly don't like the assumption that all HTTP use is by browsers.

>> If you are going to conduct a political campaign, I expect to see reasonable and
>> responsible disclosures of the profit motive even if it has no personal relevance
>> to the person disclosing.  Readers can reach their own conclusions.
> 
> OK. 
> 
> I don't know if I'm "conducting a political campaign" (which seems like a pejorative phrase already), but regardless: I'm employed by a CDN, Akamai. They make money by running a lot of servers on the Internet and doing interesting things with them, including serving TLS.

Sorry, I didn't mean here.  I meant in the campaign itself.  

> Your turn, Roy from Adobe and Apache.

I am not the one campaigning, but since you ask ... I have no idea what Adobe's position
would be, and am not aware of any impact one way or another given we already use https.
For Apache, it is fair to say that the ASF's software distribution network that mirrors
our software, for free, world-wide

   http://www.apache.org/dyn/closer.cgi

would be severely impacted by an https-everywhere policy, for no benefit whatsoever
given that the artifacts are cryptographically signed using gpg and have been for
the past 20 years.  In fact, the ASF would not have been able to afford its
own bandwidth costs, at least for the first ten years when we didn't have sponsors,
if it were not for that mirror network.

> […]
>>>> It's a shame that the IETF has been abused in this way to promote a campaign that will
>>>> effectively end anonymous access, under the guise of promoting privacy.
>>> 
>>> How does HTTPS "end anonymous access"?
>> 
>> Because https-everywhere eliminates anonymous access; not just in the technical
>> leaks that result from all that authenticating the authority, but also in the social
>> effects it has on the overall ecosystem.  It excludes the features of HTTP
>> that encouraged shared caching (by default) and removes social and technical
>> barriers associated with persistently identifying each user.
>> 
>> If we are going to make grand recommendations that change the way the Web works,
>> we should at least understand the consequences.  If we are going to tell people
>> that something will improve privacy, then it had better improve privacy to the
>> same degree that we say it does.
> 
> So, the start of this thread was about using HTTPS to serve IETF.org sites. We seem to be veering off-topic; I don't see a "grand recommendation" of any sort in <https://trac.tools.ietf.org/group/iesg/trac/wiki/HttpsEverywhere>. What exactly are you arguing against *here*? 

This part of the thread, which is about the proposed statement overreaching
the actual proposed policy.

....Roy