Re: [dns-privacy] [Step 2] More discussion needed: state your opinion

John Heidemann <johnh@isi.edu> Tue, 13 December 2016 18:02 UTC

Return-Path: <johnh@isi.edu>
X-Original-To: dns-privacy@ietfa.amsl.com
Delivered-To: dns-privacy@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 7F9B412968E for <dns-privacy@ietfa.amsl.com>; Tue, 13 Dec 2016 10:02:13 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -9.796
X-Spam-Level:
X-Spam-Status: No, score=-9.796 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_HI=-5, RP_MATCHES_RCVD=-2.896] 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 xEiMgAO-ZsS7 for <dns-privacy@ietfa.amsl.com>; Tue, 13 Dec 2016 10:02:11 -0800 (PST)
Received: from boreas.isi.edu (boreas.isi.edu [128.9.160.161]) (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 79F6D12962C for <dns-privacy@ietf.org>; Tue, 13 Dec 2016 10:02:11 -0800 (PST)
Received: from dash.isi.edu (vir.isi.edu [128.9.160.91]) by boreas.isi.edu (8.13.8/8.13.8) with ESMTP id uBDI1qlX026809; Tue, 13 Dec 2016 10:01:54 -0800 (PST)
Received: from dash.isi.edu (localhost6.localdomain6 [IPv6:::1]) by dash.isi.edu (Postfix) with ESMTP id 8C02528054B; Tue, 13 Dec 2016 10:01:51 -0800 (PST)
From: John Heidemann <johnh@isi.edu>
To: Shane Kerr <shane@time-travellers.org>
In-reply-to: <20161213154625.6b314fe6@pallas.home.time-travellers.org>
References: <20161213105936.opaqw6hwwkx3txk2@nic.fr> <20161213154625.6b314fe6@pallas.home.time-travellers.org>
X-url: http://www.isi.edu/~johnh/
MIME-Version: 1.0 (generated by SEMI 1.14.7 - "Harue")
Content-Type: text/plain; charset="US-ASCII"
Date: Tue, 13 Dec 2016 10:01:51 -0800
Message-ID: <11704.1481652111@dash.isi.edu>
X-ISI-4-43-8-MailScanner: Found to be clean
X-MailScanner-From: johnh@isi.edu
Archived-At: <https://mailarchive.ietf.org/arch/msg/dns-privacy/oOwvCfPbXopsWR3PBCP6op_xtQc>
Cc: dns-privacy@ietf.org, Stephane Bortzmeyer <bortzmeyer@nic.fr>
Subject: Re: [dns-privacy] [Step 2] More discussion needed: state your opinion
X-BeenThere: dns-privacy@ietf.org
X-Mailman-Version: 2.1.17
Precedence: list
List-Id: <dns-privacy.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dns-privacy>, <mailto:dns-privacy-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/dns-privacy/>
List-Post: <mailto:dns-privacy@ietf.org>
List-Help: <mailto:dns-privacy-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dns-privacy>, <mailto:dns-privacy-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 13 Dec 2016 18:02:13 -0000

On Tue, 13 Dec 2016 15:46:25 +0100, Shane Kerr wrote: 
>Stephane,
>
>At 2016-12-13 11:59:36 +0100
>Stephane Bortzmeyer <bortzmeyer@nic.fr> wrote:
>
>> In the minutes of the Seoul meeting, we see:
>> 
>> Strong hum for sticking around to work on this.
>> Terry (as AD): more mailing list discussion, please
>> 
>> So, this email is to request this
>> discussion. draft-bortzmeyer-dprive-step-2-04 is published, with all
>> the remarks from the Seoul meeting integrated. Now, it is time to give
>> an advice on things like:
>> 
>> 1) Use TLS for the resolver-to-auth link, or not?
>
>I think that TLS may be more painful in the resolver-to-auth case, as
>TCP Fast Open will be generally less useful, right?

You're correct that connections are less sticky from recursive-to-auth,
and so persistent connections and fast open are less helpful.  From the
server's perspective, they are still helpful---we see about 90%
connection reuse in replays of root-server traffic with a 30s connection
timeout (see figure 2c in http://www.isi.edu/~johnh/PAPERS/Zhu16b.pdf ).

But the set of clients seen by a root is somewhat
skewed by the number of bogus clients.  From the *client* perspective,
we see less connection reuse from recursive-to-auth: only about 25% with
a 30s connection timeout (figure 8 in the paper).

The other real cost is in memory for state (memory that is in both TCP
and TLS, so DTLS doesn't make it go away).  Memory at auths is much
higher if all traffic is TCP, but well within the reach of current
servers.  Our estimate was about 4GB of connection state at a root with
a 30s timeout window.

>But what are the other alternatives?
>
>DTLS is mentioned in the draft. Do we have any benchmarks or
>simulations as to the expected relative benefits of DTLS vs. TLS for
>DNS?

It seems unlikely that there would be significant benefit from DTLS.
The only thing DTLS saves is the SYN / SYN-ACK RTT,
otherwise it runs the same TLS handshake.  The SYN / SYN-ACK RTT can also be
avoided with TCP fast open, if you get a cache hit.
The main place where DTLS wins is not performance, but in allowing out-of-order
packet processing once the connection is setup.
(If you drop a query packet after handshae, you don't need to recover it
before processing later ones).

Our experiments with TCP fastopen and persistent TLS are basically the
same performance as UDP when you get a cache hit (compare bars e and f
vs. bar a for Figure 6 in that paper).  So the main performance question
is: how often do you find an already open connection.




>
>IIRC the idea of using IPsec was also discussed somewhere. IIRC, IPsec
>may have problems traversing NAT. It is also usually implemented by the
>kernel, which may cause deployment issues. I *want* IPsec to be an
>option here, but realistically I don't think it is.
>
>The other alternative is to invent some novel crypto (fun but
>ill-advised) or steal some equivalent (like the crypto part of
>DNScurve, also mentioned in the draft). After TSIG, DNSSEC, DNS
>cookies, and the rest, it would be weird if DNS used something
>standard, but maybe we can try it for once? ;)

Can you please clarify, what is the problem IPsec or novel crypto is
trying to solve?

   -John Heidemann