Re: [dnsext] draft-vandergaast-edns-client-ip-00.txt

Nicholas Weaver <nweaver@ICSI.Berkeley.EDU> Tue, 02 February 2010 17:17 UTC

Return-Path: <owner-namedroppers@ops.ietf.org>
X-Original-To: ietfarch-dnsext-archive@core3.amsl.com
Delivered-To: ietfarch-dnsext-archive@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 3E9843A6856; Tue, 2 Feb 2010 09:17:10 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -106.577
X-Spam-Level:
X-Spam-Status: No, score=-106.577 tagged_above=-999 required=5 tests=[AWL=0.022, BAYES_00=-2.599, RCVD_IN_DNSWL_MED=-4, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id XrvAl-jpzeCk; Tue, 2 Feb 2010 09:17:09 -0800 (PST)
Received: from psg.com (psg.com [147.28.0.62]) by core3.amsl.com (Postfix) with ESMTP id 1DFEB3A6803; Tue, 2 Feb 2010 09:17:09 -0800 (PST)
Received: from majordom by psg.com with local (Exim 4.71 (FreeBSD)) (envelope-from <owner-namedroppers@ops.ietf.org>) id 1NcMJS-000JYQ-FH for namedroppers-data0@psg.com; Tue, 02 Feb 2010 17:13:18 +0000
Received: from [192.150.186.11] (helo=fruitcake.ICSI.Berkeley.EDU) by psg.com with esmtps (TLSv1:AES256-SHA:256) (Exim 4.71 (FreeBSD)) (envelope-from <nweaver@ICSI.Berkeley.EDU>) id 1NcMJL-000JXO-4f for namedroppers@ops.ietf.org; Tue, 02 Feb 2010 17:13:11 +0000
Received: from [IPv6:::1] (jack.ICSI.Berkeley.EDU [192.150.186.73]) by fruitcake.ICSI.Berkeley.EDU (8.12.11.20060614/8.12.11) with ESMTP id o12HDAnf023660; Tue, 2 Feb 2010 09:13:10 -0800 (PST)
References: <7c31c8cc1001271556w4918093er6e94e07cb92c4dc4@mail.gmail.com> <OF675CC47F.6FE1B342-ON802576BA.00453090-C12576BA.0047E04C@nominet.org.uk> <74DFF61A-A8BB-4B46-A873-F2407C34C412@sackheads.org> <139D0D6A-5A31-4EE8-88B9-3CACE933187B@icsi.berkeley.edu> <6e04e83a1002010944q7abfabc6h892ce4cbb1bddcbf@mail.gmail.com> <973B1F15-E822-491E-89BF-F09FC7E67509@ICSI.Berkeley.EDU> <6e04e83a1002011109u1cd55c99k8b584648184cdc73@mail.gmail.com> <162E0DB1-EC86-4206-AB36-6FEFA786B24C@ICSI.Berkeley.EDU> <6e04e83a1002011402u395f599g74180d28fdbe5707@mail.gmail.com> <939BB577-FDBE-4573-9129-8CA29B0FB493@sackheads.org> <7B06A582-38E3-4387-BA16-932825A4A62B@rfc1035.com>
In-Reply-To: <7B06A582-38E3-4387-BA16-932825A4A62B@rfc1035.com>
Mime-Version: 1.0 (Apple Message framework v1077)
Content-Type: text/plain; charset="us-ascii"
Message-Id: <F2E927AA-B07C-45D0-9D26-AFE8115F2CC2@icsi.berkeley.edu>
Content-Transfer-Encoding: quoted-printable
Cc: Nicholas Weaver <nweaver@ICSI.Berkeley.EDU>, John Payne <john@sackheads.org>, namedroppers@ops.ietf.org
From: Nicholas Weaver <nweaver@ICSI.Berkeley.EDU>
Subject: Re: [dnsext] draft-vandergaast-edns-client-ip-00.txt
Date: Tue, 02 Feb 2010 09:13:10 -0800
To: Jim Reid <jim@rfc1035.com>
X-Mailer: Apple Mail (2.1077)
Sender: owner-namedroppers@ops.ietf.org
Precedence: bulk
List-ID: <namedroppers.ops.ietf.org>
List-Unsubscribe: To unsubscribe send a message to namedroppers-request@ops.ietf.org with
List-Unsubscribe: the word 'unsubscribe' in a single line as the message text body.
List-Archive: <http://ops.ietf.org/lists/namedroppers/>

On Feb 2, 2010, at 8:46 AM, Jim Reid wrote:

> On 1 Feb 2010, at 22:07, John Payne wrote:
> 
>> Yes, it adds complexity to the recursive nameservers _that want to send the information_.
>> 
>> Where else is it adding any complexity?
> 
> [1] Stub resolvers that don't want their address info disclosed. Or those who may want to send that info (how??) but are talking to resolving servers who don't. Or the resolving servers tamper with that data whenever they query the authoritative server(s). Or choose to mangle whatever is returned as the optimised response.

If the resolver doesn't support it, a) Who cares?  b)  Just run your own recursive resolver.

If you don't trust the resolver, thinking it may tamper with things, why are you using it at all?  Seriously, if the recursive resolver is in your threat model, bypass it and generate your own recursive requests: its not necessary for correct operation of DNS.

> [2] Authoritative servers who can't/won't speak this EDNS0 option. The draft does not specify how they should behave.

You can easily do fallbacks for those who don't speak this EDNS0 option:  If you don't get a response on the first query, retry without this option.  If that works, have your next 2-3 queries be both (with and without).  If those two or three also fail, record that authority as not supporting, and don't use the query in any subsequnet responses

Voila, you have fallback: only ever hits a timeout the first time for authorities which can NOT respond to a request with an unknown EDNS option, and even for those, its only 1 timeout latency and 2-3 extra queries from each recursive resolver which bothers with this option.


This is why the basic scheme is so beautiful: it does NOT require changes to anyone who doesn't actually care about this option.  This is the kind of thing EDNS options should be designed for: optional behavior amongst a subset of the system.


> Another Bad Idea in this draft is the concept of not using these extended queries to root and TLD servers. [Ironically, this is one place where "optimised" addresses in responses could be useful by directing resolvers to the nearest server for a referral.] It's not a good idea IMO to constrain a particular protocol query format to certain parts of the name space or an arbitrary number of labels in the QNAME.

Except that provides the privacy protections that you and S Bortzmeyer want: limiting disclosure, when possible, to the authority of the site the user will be contacting.  If you ONLY include such queries in the queries to the final authority, the information leakage really IS trivial, its so that a host in that particular subnet can contact the authority's associated site!

And for your suggested usage, this isn't necessary, as you refer the RESOLVER's IP to the most appropriate one, not the client's IP, because it is the resolver that needs to contact the domain's authority.