Re: A different way to look at the problem

Ted Hardie <ted.ietf@gmail.com> Thu, 19 February 2015 18:21 UTC

Return-Path: <ted.ietf@gmail.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 9B7341A797C for <ietf@ietfa.amsl.com>; Thu, 19 Feb 2015 10:21:37 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.999
X-Spam-Level:
X-Spam-Status: No, score=-1.999 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, SPF_PASS=-0.001] autolearn=ham
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 xR648B9HS7Cj for <ietf@ietfa.amsl.com>; Thu, 19 Feb 2015 10:21:35 -0800 (PST)
Received: from mail-ie0-x22d.google.com (mail-ie0-x22d.google.com [IPv6:2607:f8b0:4001:c03::22d]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id C17051A86F3 for <ietf@ietf.org>; Thu, 19 Feb 2015 10:21:34 -0800 (PST)
Received: by iecar1 with SMTP id ar1so1945692iec.11 for <ietf@ietf.org>; Thu, 19 Feb 2015 10:21:34 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=6/NtCB6to+EMsuHAWtByVk8fI9bgdKXsrMe49FaMbFM=; b=EeH3UEDXCqMswUYXmnbAapUjKGnw08s70cdF7kw/Zk9+IpnUwPsM7Pg9BDWmxMZSUl osB0bIBlhBQLYwTVvlhXsSuL5Q/cCYj7Y97f/oS9nvO8gLMVrE2iO94P/piF2ZIeHLuJ C+Ki5SruNAkukngiF/HbDIftDEOBIP5zp1KpircflFiRB1QKqayDUaWLup4d0RQV/dZu Eub5+2jNGZL2dWmK3379rG+roYK2oP+D+YtaEuuQwcgxPqdKxUxJEvokTdvF98/KmIjM IvB9URByk0zphm5X/VsE3NcVPU7qrwfptnIucZa4MMNsG/ZMgwK3oTaA8z1X//4u1nOF B5XA==
MIME-Version: 1.0
X-Received: by 10.42.229.10 with SMTP id jg10mr7591461icb.62.1424370093988; Thu, 19 Feb 2015 10:21:33 -0800 (PST)
Received: by 10.42.35.80 with HTTP; Thu, 19 Feb 2015 10:21:33 -0800 (PST)
In-Reply-To: <CAMm+LwgxnY-3aVr=xP8YfGh8pe+ujphB2F1Up=uHQH_X8E9Z=w@mail.gmail.com>
References: <CAMm+LwgxnY-3aVr=xP8YfGh8pe+ujphB2F1Up=uHQH_X8E9Z=w@mail.gmail.com>
Date: Thu, 19 Feb 2015 10:21:33 -0800
Message-ID: <CA+9kkMCcD2dN1zaFdc9JPuArDs8rpf2bWBoPQNVxDPsD3ji79Q@mail.gmail.com>
Subject: Re: A different way to look at the problem
From: Ted Hardie <ted.ietf@gmail.com>
To: Phillip Hallam-Baker <phill@hallambaker.com>
Content-Type: multipart/alternative; boundary="001a11c3d2327b2336050f750118"
Archived-At: <http://mailarchive.ietf.org/arch/msg/ietf/JROmzktGdayQtfuRCxid04Rk0P8>
Cc: IETF Discussion Mailing List <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: Thu, 19 Feb 2015 18:21:37 -0000

Howdy,

On Thu, Feb 19, 2015 at 7:20 AM, Phillip Hallam-Baker <phill@hallambaker.com
> wrote:

> DNS privacy requires us to make two changes to the DNS protocol.
>
> ​I'm a little confused as to why this isn't on DPRIVE, but okay.

So let's agree to the framing a bit.  There are two exchanges in the
current system:  resolver to authoritative and client to resolver.  It's
important that the resolver to authoritative  exchange not leak more
information to the authoritative server than is necessary (e,g, passing
along the client's IP at single IP granularity).  It is useful if the
system allows for the traffic between the two be encrypted so that
eavesdroppers cannot read them​ (for large installations with lots of
clients behind them, the leakage in that eavesdropping is diffused by the
difficulty of associating it with specific clients, so it may not be used
everywhere, but it should be possible).  I think the work so far has
presumed that this exchange is, however, the less urgent one to protect,
and that client to resolver is more urgent.

​As you note, protecting the exchange between client and resolver so that
it is confidential is one critical aspect; encrypting the exchange does
that.  Having the client able to perform integrity checking (presumably
using DNSSEC) allows it to verify that the  resolvers is providing the
​data entered by the zone maintainer. The critical issue here has often
been latency--clients have been reluctant to do that in real time, as the
resulting increase in latency was bad for operations.  There may be ways to
improve that--by having the resolver perform those functions but also
consistently provide the client with the data used to verify, so that it
can cross-check at some configured rate ("trust, but verify").

The other issue you raise--can you trust the resolver not to forward the
data to some third party?  boils down to a relationship question for which
there are a couple of parts.  The first is "are you sure you are talking to
who you think you are?", which means some form of resolver to client
authentication.   The second is "should you be talking to the party named
by the network or to one configured elsewhere?".  Split DNS has,
unfortunately, meant that there are times when talking to the party named
by the network is the only way to get an answer, but that's not a reason to
talk to it for all things.  In general, we may want to develop code that
allows us to use multiple DNS resolvers, some configured and some
provided.  Not only would that raise the costs for attackers attempting to
develop client profiles, it gives you a secondary method for checking
accuracy when DNSSEC isn't available by using a voting-algorithm style
anomaly detection (the large caveat here being the knock-on effect on CDN
operations, which may well be returning different results to different
resolvers if they have no other client data).

Again, though, I think this conversation is really squarely in DPRIVE
territory, so I'd suggest follow-ups there.

Ted


> 1) The resolver is acknowledged as being a trusted service
> 2) Some form of crypto is added between the transport and application
> layer in the client-resolver protocol.
>
> So far we seem to have focused on the second issue. But that is the easy
> one. There is really nothing at all special or interesting in the way TLS
> or DTLS or my proposal add crypto to packets. That part of the spec can be
> implemented in an afternoon.
>
> The hard part is the consequences of the first issue. Whether or not we
> want to trust the resolver to give us the right data (integrity), privacy
> demands that we trust the resolver not to disclose the data
> (confidentiality).
>
>
> Question: Is anyone proposing that we can achieve DNS privacy while
> maintaining the current practice of the client defaulting to the DNS server
> advertised in DHCP?
>
> I don't think that is the case. But I thought best to check.
>
>
> Once we decide that the client is going to have a persistent relationship
> with a specific DNS service we face the problem of how to establish and
> secure that relationship.
>
> The main difference between my proposal and the VeriSign/USC proposal is
> how we go about achieving that.
>
> We are both proposing to use TLS as a basis for this interaction. The
> difference being that I am proposing to use the TLS infrastructure and PKI
> path math once to establish a long term credential and the VeriSign
> proposal is to use TLS on each client-resolver interaction.
>
>
> Now before making a choice between one approach or the other, I strongly
> recommend people look at what is being proposed in ACME. While this looks
> like a completely different problem (PKI credential provisioning versus
> service discovery), it actually isn't.
>
> In both cases we have a hard problem and an easy problem. The easy part
> being the bit that is different and the hard part being how to establish
> and maintain the binding between the client and a trusted service.
>
>
> I think that if we could factor that part out and make it a reusable
> component, we would be doing the IETF a big favor.
>
> The reason I don't want to use TLS for this is that neither TLS not PKIX
> is a good tool for this particular job. PKIX
>
>
>
>