Subject: [dnsext] Source Port and QID selection for re-transmits?

From: [email-masked]
Date: Thu, 23 Oct 2008 10:42:16 +0100

On researching a draft I'm writing I've been unable to find any guidance 
on whether the QID and Source Port of a re-transmit should be the same as 
for the original request.

Post Kaminsky, my initial thought was that each re-transmission of a 
request should pick a new QID and a new Source Port.

However if an earlier attempt at the same request is still left 
outstanding, such that a response to any of the retries would still be 
accepted, this apparently creates a potential birthday attack situation 
(as per §5 of the Forgery Resilience draft).  This could also contribute 
to QID/SPort pool exhaustion.

The FR draft itself is silent on this question.

What are the WG's thoughts?

Ray

-- 
Ray Bellis, MA(Oxon)
Senior Researcher in Advanced Projects, Nominet
e: [email-masked], t: +44 1865 332211

--
to unsubscribe send a message to [email-masked] with
the word 'unsubscribe' in a single line as the message text body.
archive: <http://ops.ietf.org/lists/namedroppers/>

---

From: Wouter Wijngaards <[email-masked]>
Date: Thu, 23 Oct 2008 12:58:58 +0200

> What are the WG's thoughts?

Leave to implementation.  Lengthening the time the packet is accepted is
one choice.  Choosing new ID, port (and no longer accepting the old one)
is another choice.  You could caution against birthday attacks, but
please do not prescribe implementation.

Best regards,
   Wouter

---

From: Nicholas Weaver <[email-masked]>
Date: Thu, 23 Oct 2008 06:34:22 -0700

On Oct 23, 2008, at 3:58 AM, Wouter Wijngaards wrote:

> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>

I don't think it matters much:

Case 1:  Retry uses the same entropy.

Case 2:  Retry uses a new entropy set.

For BOTH cases, there is an additional window of time outstanding  
where a spoofed packet could be received.  There is a trivially slight  
attacker advantage on case 1, as the attacker can continue to send  
from a randomly selected subset of the entropy space instead of  
starting over, but if you have 32b+ of entropy, this advantage is  
going to be trivially small, and if you have only 16b of entropy, you  
are sunk anyway.

---

From: "George Barwood" <[email-masked]>
Date: Thu, 23 Oct 2008 17:50:08 +0100

I believe the source port should be the same, due to rather low limits 
placed by common NAT firewalls on incoming connections - the server behind 
the firewall might be capable of handling millions  of requests a minute, 
but the firewall limit might be only 100 "connections" per minute.

For the QID, either possibility is ok.

If a single response is expected to be sufficient, using the same QID 
preserves slightly more entropy ( about 1 bit  ).

However if multiple responses are needed, you might get two responses with 
the same QID, which is no good ( only one can be counted ), if the server is 
just slow responding to the first query.

Using a new QID each time is simplest, and would be my recommendation.

George

----- Original Message ----- 
From: <[email-masked]>
To: <[email-masked]>
Sent: Thursday, October 23, 2008 10:42 AM
Subject: [dnsext] Source Port and QID selection for re-transmits?

Ray