Re: [dns-privacy] Multiple DNS requests per packet, multiple packet responses

Phillip Hallam-Baker <> Thu, 20 March 2014 12:54 UTC

Return-Path: <>
Received: from localhost ( []) by (Postfix) with ESMTP id 4111A1A072D for <>; Thu, 20 Mar 2014 05:54:38 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -1
X-Spam-Status: No, score=-1 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, FREEMAIL_REPLY=1, SPF_PASS=-0.001] autolearn=no
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id KcbVX7wbFG-V for <>; Thu, 20 Mar 2014 05:54:36 -0700 (PDT)
Received: from ( [IPv6:2a00:1450:4010:c03::22c]) by (Postfix) with ESMTP id 545801A073E for <>; Thu, 20 Mar 2014 05:54:36 -0700 (PDT)
Received: by with SMTP id hr13so565096lab.17 for <>; Thu, 20 Mar 2014 05:54:26 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=tEhVQ/F7A//8UK5JKPxnM+j6t2psP68SosGyru02Wik=; b=CDKuXNkcldjX0pddVVGhCmoLoWZiAEz0XXqP9ZiTKMFLwjpBI8L43xxhUWRqBg/Shm jbAfdM3bTBAIjQ2DM9yp/W3JdKsimhPkJRoNrCVq/TrEycO0eQEBt++FMKGn/mboKVxg vQO5WpRkUSk1arEcbPpu2Bq8CBtDUJ+KRtmeLUvp4RolrYp6zEBHJvzVhj4N1i40uQ4K 7WccnSzjkfPr60T0zepTlS6EFVRjj1IiBOmBq7SWqu52g4zb6VScVR+QzD/oropggMlQ i/vAWDZf0XjPpXP9rKNwEZ8nAhkYbntKp6alLsMyTU/xNif0qISggf4OTPKRc+Fg5N7i TPig==
MIME-Version: 1.0
X-Received: by with SMTP id yg5mr9017390lbb.14.1395320066707; Thu, 20 Mar 2014 05:54:26 -0700 (PDT)
Received: by with HTTP; Thu, 20 Mar 2014 05:54:26 -0700 (PDT)
In-Reply-To: <>
References: <> <> <> <>
Date: Thu, 20 Mar 2014 08:54:26 -0400
Message-ID: <>
From: Phillip Hallam-Baker <>
To: Matthijs Mekking <>
Content-Type: text/plain; charset="ISO-8859-1"
Cc: Ted Hardie <>,
Subject: Re: [dns-privacy] Multiple DNS requests per packet, multiple packet responses
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Thu, 20 Mar 2014 12:54:38 -0000

On Thu, Mar 20, 2014 at 3:42 AM, Matthijs Mekking <> wrote:
> Hi,
> On 03/19/2014 07:55 PM, Phillip Hallam-Baker wrote:
>> On Wed, Mar 19, 2014 at 2:09 PM, Ted Hardie <
>> <>> wrote:
>>     On Wed, Mar 19, 2014 at 10:40 AM, Phillip Hallam-Baker
>>     < <>> wrote:
>>         One consequence of encrypting DNS traffic is that we break
>>         backwards compatibility.
>>     Howdy,
>>     Backwards compatibility with what part of the system?  Or perhaps
>>     first, what question are we answering, that makes you presume this?
>> Since my client does not currently know about encryption it is going to
>> have to be upgraded to send encrypted packets.
>> Once my client sends encrypted packets they cannot by definition be read
>> unless the receiver has the key and decryption algorithm. Since no
>> server currently implements said decryption, a new server is needed.
>> Hence the new protocol cannot be backwards compatible with the old.
>> There can be a transition path and of course that needs to be
>> considered. But both the plug and the socket have to change and so there
>> is no reason to insist on the same connector.
> My client also didn't knew about DNSSEC and had to be upgraded to
> validate responses. We indeed needed a new server that could add those
> RRSIG records. But the protocol was backwards compatible. So, I don't
> see why we couldn't end up with a solution that is backwards compatible
> here.


When DNSSEC was first proposed in 1995 or thereabouts it wasn't
deployable because most of the DNS infrastructure could not support
new RR types, there was a 500 byte limit on messages in many cases and
several other issues.

It took another five years to fix those issues in the infrastructure
before deployment became practical.

What I am saying here is that we have an opportunity to say that we
leave certain parts of the legacy behind without additional cost.

Or we could start the work by declaring that the DNS protocols were
handed down in a state of grace and that they represent the most
shining example of perfection we can hope to achieve and that anyone
who suggests the mere possibility of alternative approaches must be
cast out as a heretic.

The hard part here is how to apply public key crypto to a low latency
protocol without exposing the server to DoS attacks. And no, Bernstein
et. al. are not close to having solved it and nor is some exotic
public key algorithm likely to be the solution either.

DNSSEC has always had to dance round the problem that DNS responses
have to fit in one packet. And that pushes a huge number of
contortions onto designs. I think it is more than reasonable to
require that if people are going to start encrypting packets that they
be required to have a strategy that can transport DNSSEC packets for
almost all real world protocols without having to switch from UDP to
TCP. That could mean staying in UDP all along or starting in TCP from
the start. But switching horses in midstream from UDP to TCP hits all
sorts of ugly real world deployment issues.