Forgery resilience: straw man proposal

Alex Bligh <alex@alex.org.uk> Wed, 30 July 2008 09:22 UTC

Return-Path: <owner-namedroppers@ops.ietf.org>
X-Original-To: ietfarch-namedroppers-archive-gleetwall6@core3.amsl.com
Delivered-To: ietfarch-namedroppers-archive-gleetwall6@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 992513A6B9A; Wed, 30 Jul 2008 02:22:34 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.383
X-Spam-Level:
X-Spam-Status: No, score=-0.383 tagged_above=-999 required=5 tests=[AWL=0.112, BAYES_00=-2.599, FH_RELAY_NODNS=1.451, HELO_MISMATCH_COM=0.553, RDNS_NONE=0.1]
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 fMRPVR+q3hK3; Wed, 30 Jul 2008 02:22:33 -0700 (PDT)
Received: from psg.com (psg.com [IPv6:2001:418:1::62]) by core3.amsl.com (Postfix) with ESMTP id 9FE6E3A6BC7; Wed, 30 Jul 2008 02:22:33 -0700 (PDT)
Received: from majordom by psg.com with local (Exim 4.69 (FreeBSD)) (envelope-from <owner-namedroppers@ops.ietf.org>) id 1KO7lP-000F8N-QD for namedroppers-data@psg.com; Wed, 30 Jul 2008 09:14:31 +0000
Received: from [217.147.82.63] (helo=mail.avalus.com) by psg.com with esmtp (Exim 4.69 (FreeBSD)) (envelope-from <alex@alex.org.uk>) id 1KO7lL-000F7f-FO for namedroppers@ops.ietf.org; Wed, 30 Jul 2008 09:14:29 +0000
Received: from [192.168.100.3] (localhost [127.0.0.1]) by mail.avalus.com (Postfix) with ESMTP id 93F45C2DA7; Wed, 30 Jul 2008 10:14:20 +0100 (BST)
Date: Wed, 30 Jul 2008 10:14:17 +0100
From: Alex Bligh <alex@alex.org.uk>
Reply-To: Alex Bligh <alex@alex.org.uk>
To: namedroppers@ops.ietf.org
cc: Alex Bligh <alex@alex.org.uk>
Subject: Forgery resilience: straw man proposal
Message-ID: <429776829478B32E1ED8DF85@Ximines.local>
X-Mailer: Mulberry/4.0.8 (Mac OS X)
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"; format="flowed"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
Sender: owner-namedroppers@ops.ietf.org
Precedence: bulk
List-ID: <namedroppers.ops.ietf.org>

Here's a straw man proposal for forgery resilience between stub resolvers
and recursive nameservers with minimal invention of new protocols:

1. Use IPsec AH in transport mode between the stub resolver and the
   recursive nameserver. This provides authentication of the recursive
   nameserver to the stub resolver (see below), integrity protection,
   replay protection and (as an unneeded bonus I think) non-repudiation.

2. Determine availability of, and the public key for the recursive
   nameserver the same way as its IP is obtained, IE through a BOOTP/DHCP/
   IPCP option in most cases. If it's not there, use normal IP. If it
   is there, do not fall back. Whilst DHCP options etc. can be
   spoofed, they'd have to be spoofed early, and in any case if Malory
   can spoof these options he can simply insert his own nameserver
   IP addresses anyway. The really paranoid can protect BOOTP/DHCP/IPCP
   in other ways.

3. IPsec AH in transport mode is not compatible with NAT. This is partly
   a blessing in disguise. This means that a typical middlebox in the
   form of an end user NAT box needs to act as an ALG, i.e. either
   a caching resolver or what in old DNS terminology would have been
   called a "forwarder". This has two advantages. Firstly, in this
   scenario it's the NAT box which is the recipient of the DHCP/BOOTP/IPCP
   option, so is best placed to make the IPsec queries and need not
   then distribute this information (and indeed should not if it's
   NATing). Secondly, as the NAT box originates the IPsec queries, it
   can then be optional for devices on the end-user side of the NAT to
   speak IPsec at all, as their query will simply be sent to the
   NAT box, which would forward a query for the same records on but
   wrapped up in IPsec. Of course as a forwarder the NAT box could
   advertise its own IPsec key to prevent forgery between the NAT
   box and the end user for IPsec AH aware end users. Note that NAT
   (or more accurately NAPT) seems to break other forgery resilience
   schemes (e.g. entropy increasing ones) so some degree of rewrite
   is necessary here, and this has the advantage of a rewrite only
   on middleboxen than need not extend to end user boxes (as well
   as at the caching resolver / ISP side).

4. As it is unnecessary for the query originator to be authenticated
   to the resolver (as opposed to vice versa), all query originators
   could use the same null key.

Please make allowance for lack of caffeine so far today. I don't claim
this is the best solution, merely that it should be considered amongst
others.

Alex

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