Re: [Doh] No truncation for DNS over HTTPS

Ray Bellis <ray@bellis.me.uk> Thu, 22 March 2018 15:02 UTC

Return-Path: <ray@bellis.me.uk>
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 DC4F012D88A for <doh@ietfa.amsl.com>; Thu, 22 Mar 2018 08:02:10 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.901
X-Spam-Level:
X-Spam-Status: No, score=-1.901 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_NONE=-0.0001, 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 RPxbRsFQSF2X for <doh@ietfa.amsl.com>; Thu, 22 Mar 2018 08:02:07 -0700 (PDT)
Received: from hydrogen.portfast.net (hydrogen.portfast.net [188.246.200.2]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id ABC0712D88D for <doh@ietf.org>; Thu, 22 Mar 2018 08:02:07 -0700 (PDT)
Received: from nat64-c2.meeting.ietf.org ([31.130.238.194]:56504 helo=rays-mbp.local) by hydrogen.portfast.net ([188.246.200.2]:465) with esmtpsa (fixed_plain:ray@bellis.me.uk) (TLS1.0:DHE_RSA_AES_128_CBC_SHA1:16) id 1ez1jA-0002VH-On (Exim 4.72) (return-path <ray@bellis.me.uk>); Thu, 22 Mar 2018 15:02:04 +0000
To: Davey Song <songlinjian@gmail.com>
Cc: doh@ietf.org
References: <CAAObRXJDV5Oa_d_S12HT2jqBuO=-AHOuMH8eKrac3BZ2bDxixw@mail.gmail.com> <a8949b7b-5717-6d63-af70-984894e6a571@bellis.me.uk> <CAAObRXKTpo=xt_C=C1xhkeOFAV=B7_fq7r7nU24VE-7RpVqbBA@mail.gmail.com>
From: Ray Bellis <ray@bellis.me.uk>
Message-ID: <26c28a74-632d-4c9c-2a64-36711180bcaa@bellis.me.uk>
Date: Thu, 22 Mar 2018 15:02:05 +0000
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:52.0) Gecko/20100101 Thunderbird/52.6.0
MIME-Version: 1.0
In-Reply-To: <CAAObRXKTpo=xt_C=C1xhkeOFAV=B7_fq7r7nU24VE-7RpVqbBA@mail.gmail.com>
Content-Type: text/plain; charset="utf-8"
Content-Language: en-US
Content-Transfer-Encoding: 8bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/doh/mDGrBtGEbuET5JaYdkzkB-S0PNU>
Subject: Re: [Doh] No truncation for DNS over HTTPS
X-BeenThere: doh@ietf.org
X-Mailman-Version: 2.1.22
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, 22 Mar 2018 15:02:11 -0000

On 22/03/2018 14:51, Davey Song wrote:
> Sorry. We are talking about two different things. One is about DOH as a
> dns transport protocol. One is about the proxy use case.
> 
> I'm told by the author that the doh draft is to define HTTPS as DNS
> native transport, just as DNS UDP and DNS TCP, that's why I'm asking
> more clarification on truncation.  There is nothing to do with proxy use
> case.

IMHO you can't separate the two.

The client shouldn't be able to tell the difference between a "native"
DOH Server endpoint and one that's being proxied through some smart
middleware to a DNS server that only speaks "normal" UDP and TCP
wire-format queries.

[the analog is those using e.g. stunnel to provide DNS-over-TLS support
as a front end to servers that don't natively support DNS-over-TLS]

> If the DNS API server is deployed as a proxy, it is introduced as a doh
> use case in another draft in dnsop:
> https://tools.ietf.org/html/draft-ietf-dnsop-dns-wireformat-http-02 
> 
> In the doh proxy draft, it keeps the transparent principle which is
> proposed in rfc5625 as well as full support on TCP proposed in s4.4.1 of
> rfc5625. So the "WAN interface" speaking normal UDP must recognize TC
> bit and be able to fall back to TCP. But the "LAN interface" speaking
> DOH should not do truncation. The process of truncation for
> stub-resolver should be done in the"LAN interface" of DNS API client, If
> I understand correctly. 

I believe that's consistent with what I wrote in my second paragraph:

"The alternative is that the proxy has to have sufficient smarts to
recognise the returned +TC and re-issue the request over TCP to the
backend DNS server."

That said (and as suggested a few messages back) a pool of persistent
TCP connections between proxy and server would be preferable to using
UDP and risking truncation.

> I will add your suggestion on doh proxy draft. It is recommended in
> rfc5625 though.

Look at who wrote that RFC :p

Ray