[Doh] Privacy Considerations Text (#2)

Patrick McManus <pmcmanus@mozilla.com> Thu, 21 June 2018 18:43 UTC

Return-Path: <pmcmanus@mozilla.com>
X-Original-To: doh@ietfa.amsl.com
Delivered-To: doh@ietfa.amsl.com
Received: from localhost (localhost []) by ietfa.amsl.com (Postfix) with ESMTP id 8F8E81310A8 for <doh@ietfa.amsl.com>; Thu, 21 Jun 2018 11:43:13 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.233
X-Spam-Status: No, score=-1.233 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, SPF_SOFTFAIL=0.665, URIBL_BLOCKED=0.001] autolearn=no autolearn_force=no
Received: from mail.ietf.org ([]) by localhost (ietfa.amsl.com []) (amavisd-new, port 10024) with ESMTP id OyQYf5PqYLUj for <doh@ietfa.amsl.com>; Thu, 21 Jun 2018 11:43:11 -0700 (PDT)
Received: from linode64.ducksong.com (www.ducksong.com []) by ietfa.amsl.com (Postfix) with ESMTP id 52483130E05 for <doh@ietf.org>; Thu, 21 Jun 2018 11:43:11 -0700 (PDT)
Received: from mail-ot0-f177.google.com (mail-ot0-f177.google.com []) by linode64.ducksong.com (Postfix) with ESMTPSA id 1B4403A062 for <doh@ietf.org>; Thu, 21 Jun 2018 14:43:09 -0400 (EDT)
Received: by mail-ot0-f177.google.com with SMTP id c15-v6so4736245otl.3 for <doh@ietf.org>; Thu, 21 Jun 2018 11:43:09 -0700 (PDT)
X-Gm-Message-State: APt69E3KWz6IECM3CynjFAbLqVw9zLFzZnDBoN8DlQjj94DL1BOikX1/ qKs2kFQ6zj8EAuB43FNYFqIhy+k9mRHYhZVgi+U=
X-Google-Smtp-Source: ADUXVKJbEn38j7P9IoXcvdaz9HVEe8qAPRtmt9Bt7o7RpR68TYSk5FM49M6JNiJ3FWKXIGITORarqvr+75hcypIH8No=
X-Received: by 2002:a9d:2c41:: with SMTP id f59-v6mr15432701otb.263.1529606588752; Thu, 21 Jun 2018 11:43:08 -0700 (PDT)
MIME-Version: 1.0
Received: by 2002:a4a:8a32:0:0:0:0:0 with HTTP; Thu, 21 Jun 2018 11:43:07 -0700 (PDT)
From: Patrick McManus <pmcmanus@mozilla.com>
Date: Thu, 21 Jun 2018 14:43:07 -0400
X-Gmail-Original-Message-ID: <CAOdDvNpGSw6SP6COgJuJR_y2i1BjPWy3_i14vCYUP3jq6=zGuQ@mail.gmail.com>
Message-ID: <CAOdDvNpGSw6SP6COgJuJR_y2i1BjPWy3_i14vCYUP3jq6=zGuQ@mail.gmail.com>
To: DoH WG <doh@ietf.org>
Content-Type: multipart/alternative; boundary="0000000000005e69ff056f2b4944"
Archived-At: <https://mailarchive.ietf.org/arch/msg/doh/5bdW_B1XW1xoVKC5AfAuH40WKfo>
Subject: [Doh] Privacy Considerations Text (#2)
X-BeenThere: doh@ietf.org
X-Mailman-Version: 2.1.26
Precedence: list
List-Id: DNS Over HTTPS <doh.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/doh>, <mailto:doh-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/doh/>
List-Post: <mailto:doh@ietf.org>
List-Help: <mailto:doh-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/doh>, <mailto:doh-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 21 Jun 2018 18:43:14 -0000

Hi All,

We may be getting close to bridging the important points here - so we've
made an update to the PR. (its still not merged into the working copy, but
it has changed). and we can iterate from there. Thank you for the comments,
and especially text proposals - they really help.

The live copy is at
https://github.com/dohwg/draft-ietf-doh-dns-over-https/pull/200 and I'll
snapshot it again at the end of this email

The deltas make more explicit comparisons between DoH and Do(TLS), calls
out some rationale about the full ecosystem in the same text that asks you
to consider the cost/benefits of http features, and includes the new text
about a minimal data set.


# Privacy Considerations {#PrivacyConsiderations}

{{RFC7626}} discusses DNS Privacy Considerations in both "On the
wire" (Section 2.4), and "In the server" (Section 2.5) contexts. This
is also a useful framing for DoH's privacy considerations.

## On The Wire {#OnTheWire}

DoH encrypts DNS traffic and requires authentication of the
server. This mitigates both passive surveillance {{RFC7258}} and
active attacks attempting to divert DNS traffic to rogue servers
({{RFC7626}} Section 2.5.1). DNS over TLS {{RFC7858}} provides
similar protections, while direct UDP and TCP based transports are
vulnerable to this class of information leak.

Additionally, the use of the HTTPS default port 443 and the ability to
mix DoH traffic with other HTTPS traffic on the same connection can
deter on-path devices from interfering with DNS operations and make
DNS traffic analysis more difficult.

## In The Server {#InTheServer}

A DoH application is built on IP, TCP, TLS, and HTTP. Each layer
contains one or more common features that can be used to correlate
different queries to the same identity. DNS transports will generally
carry the same privacy properties of the layers used to implement
them. For example, the properties of IP, TCP, and TLS apply to DNS
over TLS implementations.

The privacy considerations of using the HTTPS layer in DoH are
incremental to those of DNS over TLS. DoH is not known to introduce
new concerns beyond those associated with HTTPS.

At the IP level, the client address provides obvious correlation
information. This can be mitigated by use of a NAT, proxy, VPN, or
simple address rotation over time. It may be aggravated by use of a
DNS server that can correlate real-time addressing information with
other personal identifiers, such as when a DNS server and DHCP server
are operated by the same entity.

TCP-based solutions may seek performance through the use of TCP Fast
Open {{RFC7413}}. The cookies used in TCP Fast Open allow servers to
correlate different TCP sessions together.

TLS based implementations often achieve better handshake performance
through the use of some form of session resumption mechanism such as
session tickets {{RFC5077}}. Session resumption creates trivial
mechanisms for a server to correlate different TLS connections

HTTP's feature set can also be used for identification and tracking in
a number of different ways. For example, authentication request header
fields explicitly identify profiles in use, and HTTP Cookies are
designed as an explicit state tracking mechanism between the client
and serving site and often are used as an authentication mechanism.

Additionally, the User-Agent and Accept-Language request header fields
often convey specific information about the client version or locale.
This facilitates content negotiation and operational work-arounds for
implementation bugs. Request header fields that control caching
can expose state information about a subset of the client's
history. Mixing DoH requests with other HTTP requests on the same
connection also provides an opportunity for richer data correlation.

The DoH protocol design allows applications to fully leverage all the
features of the HTTP ecosystem, including features not enumerated
here. Implementations of DoH clients and servers need to consider the
benefit and privacy impact of these features, and their deployment
context, when deciding whether or not to enable them. Implementations
should expose the minimal set of data needed to achieve the desired
feature set.