Re: [Doh] some privacy ponderings wrt HTTPs and plain DNS

Howard Chu <hyc@symas.com> Mon, 18 June 2018 18:47 UTC

Return-Path: <hyc@symas.com>
X-Original-To: doh@ietfa.amsl.com
Delivered-To: doh@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id DB4B31294D0 for <doh@ietfa.amsl.com>; Mon, 18 Jun 2018 11:47:54 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.601
X-Spam-Level:
X-Spam-Status: No, score=-2.601 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001] autolearn=ham autolearn_force=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 xqjP4YEHg20m for <doh@ietfa.amsl.com>; Mon, 18 Jun 2018 11:47:50 -0700 (PDT)
Received: from zmcc-5-mx.zmailcloud.com (zmcc-5-mx.zmailcloud.com [52.201.171.122]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 390DB130E29 for <doh@ietf.org>; Mon, 18 Jun 2018 11:47:49 -0700 (PDT)
Received: from zmcc-5-mta-1.zmailcloud.com (zmcc-5-mta-1.zmailcloud.com [104.197.37.127]) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by zmcc-5-mx.zmailcloud.com (Postfix) with ESMTPS id 5F32040553 for <doh@ietf.org>; Mon, 18 Jun 2018 13:56:44 -0500 (CDT)
Received: from zmcc-5-mta-1.zmailcloud.com (localhost [127.0.0.1]) by zmcc-5-mta-1.zmailcloud.com (Postfix) with ESMTPS id 29C34C0726 for <doh@ietf.org>; Mon, 18 Jun 2018 13:47:48 -0500 (CDT)
Received: from localhost (localhost [127.0.0.1]) by zmcc-5-mta-1.zmailcloud.com (Postfix) with ESMTP id 1CD05C0670 for <doh@ietf.org>; Mon, 18 Jun 2018 13:47:48 -0500 (CDT)
X-Virus-Scanned: amavisd-new at zmcc-5-mta-1.zmailcloud.com
Received: from zmcc-5-mta-1.zmailcloud.com ([127.0.0.1]) by localhost (zmcc-5-mta-1.zmailcloud.com [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id H_jH19-01V_3 for <doh@ietf.org>; Mon, 18 Jun 2018 13:47:48 -0500 (CDT)
Received: from [192.168.1.204] (unknown [83.136.45.97]) by zmcc-5-mta-1.zmailcloud.com (Postfix) with ESMTPSA id ADC07C04DD for <doh@ietf.org>; Mon, 18 Jun 2018 13:47:47 -0500 (CDT)
To: doh@ietf.org
From: Howard Chu <hyc@symas.com>
Message-ID: <30a7dbe0-96c3-a0bd-c630-42c972d0a732@symas.com>
Date: Mon, 18 Jun 2018 19:47:45 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:56.0) Gecko/20100101 Firefox/56.0 SeaMonkey/2.53a1
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"; format="flowed"
Content-Transfer-Encoding: quoted-printable
Archived-At: <https://mailarchive.ietf.org/arch/msg/doh/OXBg3RhHvqWbJ-U48izHjL3Eqo0>
Subject: Re: [Doh] some privacy ponderings wrt HTTPs and plain DNS
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: Mon, 18 Jun 2018 18:50:55 -0000

I was asked to poke my head into this conversation. Fwiw I think Sara 
Dickinson has already raised several valid concerns, but I haven't seen them 
all being addressed.

Sara Dickinson <sara@sinodun.com> Mon, 18 June 2018 13:47 UTC
> 
> 
>> On 18 Jun 2018, at 13:49, nusenu <nusenu-lists@riseup.net>; wrote:
>> 
>> Signed PGP part
>>> As noted, I don't know if this has a place in the draft, but I'd recommend
>>> DoH clients to:
>>> 
>>> * Set their Agent to 'DoH client', no matter what browser/library
>>> * Do not pass non-essential HTTP headers (like language)
>>> * Do not allow the DoH server to set cookies
>>> * Ponder TLS sessions resumption data settings
>>> * Think about all other ways in which HTTP can be tracked (HSTS?)
>>> 
>>> Thoughts?

My preference would be that only bare-minimum HTTP requests are ever 
generated. The whole point of this is to enhance user privacy, you can't just 
immediately toss user privacy out the door at step 1.

   GET foo HTTP/1.1
   Host: foo.bar.com

I might even go further and drop the "Host:" header:

   GET foo HTTP/1.0

If this is really going to replace plain DNS over UDP, everything else is not 
only breaking privacy but also useless overhead.

>> Thanks for this, I find it rather important to avoid introducing new data 
>> collection opportunities (at the resolver) that haven't been there on plain DNS 
>> and support your recommendations to minimize data exposure.
>> 
>> Ideally all DoH clients look the same from the DoH server perspective.
>> This this will never be completely the case but we should try to minimize
>> the DoH client fingerprintability.
>> 
>> I hope the minimization of the DoH client fingerprint becomes a mandatory part
>> in the document.
> 
> +1 on this. DNSOP and DPRIVE have both acknowledged that client identifiers in DNS messages directly compromise user privacy and have attempted to minimise or mitigate their use (for example see RFC7626, RFC7871 or draft-tale-dnsop-edns0-clientid). The DoH WG should be doing the same (or at least no less).
> 
>> 
>> This is also in-line with the spirit of RFC6973
>> Privacy Considerations for Internet Protocols
>> 
>> specifically section 6.1 and 7.1
>> https://tools.ietf.org/html/rfc6973#section-6.1
>> https://tools.ietf.org/html/rfc6973#section-7.1
>> 
>> "What identifiers could be omitted or be made less
>> identifying while still fulfilling the protocol's goals?"
>> is always a good question to ask.
> 
> And given that the charter says 
> “The working group will analyze the security and privacy issues that
> could arise from accessing DNS over HTTPS. “
> 
> it suddenly strikes me that this draft doesn’t contain a Privacy Considerations section. I would suggest that one is added to address this issue and offer to help with text on that.

Absolutely. These sections are mandatory now, it's surprising the draft has 
gotten this far without one.

> On a technical note do we have 2 use cases to deal with?
> - one where dedicated connections are used for DoH (i.e. where only DoH requests are made)
> - one where DoH requests are intermingled on the same connection with existing traffic (which will most likely include headers already identifying the client)

This sounds quite implementation-specific and not really within scope of this 
spec.

-- 
   -- Howard Chu
   CTO, Symas Corp.           http://www.symas.com
   Director, Highland Sun     http://highlandsun.com/hyc/
   Chief Architect, OpenLDAP  http://www.openldap.org/project/