Re: [nbs] NBS and TCP connection identification

Erik Nordmark <erik.nordmark@oracle.com> Tue, 21 September 2010 03:29 UTC

Return-Path: <erik.nordmark@oracle.com>
X-Original-To: nbs@core3.amsl.com
Delivered-To: nbs@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 1813F3A6921 for <nbs@core3.amsl.com>; Mon, 20 Sep 2010 20:29:55 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -106.054
X-Spam-Level:
X-Spam-Status: No, score=-106.054 tagged_above=-999 required=5 tests=[AWL=-0.055, BAYES_00=-2.599, J_CHICKENPOX_33=0.6, 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 Ly99mCrVkH9m for <nbs@core3.amsl.com>; Mon, 20 Sep 2010 20:29:54 -0700 (PDT)
Received: from rcsinet10.oracle.com (rcsinet10.oracle.com [148.87.113.121]) by core3.amsl.com (Postfix) with ESMTP id CDB283A6844 for <nbs@ietf.org>; Mon, 20 Sep 2010 20:29:50 -0700 (PDT)
Received: from rcsinet15.oracle.com (rcsinet15.oracle.com [148.87.113.117]) by rcsinet10.oracle.com (Switch-3.4.2/Switch-3.4.2) with ESMTP id o8L3U9dL025283 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Tue, 21 Sep 2010 03:30:11 GMT
Received: from acsmt353.oracle.com (acsmt353.oracle.com [141.146.40.153]) by rcsinet15.oracle.com (Switch-3.4.2/Switch-3.4.1) with ESMTP id o8KJd1a7011207; Tue, 21 Sep 2010 03:30:09 GMT
Received: from abhmt007.oracle.com by acsmt354.oracle.com with ESMTP id 615082111285039807; Mon, 20 Sep 2010 20:30:07 -0700
Received: from [10.7.251.248] (/10.7.251.248) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Mon, 20 Sep 2010 20:30:07 -0700
Message-ID: <4C9826D0.2060703@oracle.com>
Date: Mon, 20 Sep 2010 20:30:24 -0700
From: Erik Nordmark <erik.nordmark@oracle.com>
User-Agent: Mozilla/5.0 (X11; U; SunOS i86pc; en-US; rv:1.9.2.7) Gecko/20100817 Lightning/1.0b2 Thunderbird/3.1.1
MIME-Version: 1.0
To: Christian Vogt <christian.vogt@ericsson.com>
References: <4C97D9A8.2050001@oracle.com> <ACE9611A-9107-46EC-ADD2-56E553DC1C3A@ericsson.com>
In-Reply-To: <ACE9611A-9107-46EC-ADD2-56E553DC1C3A@ericsson.com>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
Cc: nbs@ietf.org
Subject: Re: [nbs] NBS and TCP connection identification
X-BeenThere: nbs@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: Name based sockets discussion list <nbs.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/nbs>, <mailto:nbs-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/nbs>
List-Post: <mailto:nbs@ietf.org>
List-Help: <mailto:nbs-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/nbs>, <mailto:nbs-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 21 Sep 2010 03:29:55 -0000

On 09/20/10 06:15 PM, Christian Vogt wrote:
> Hi Erik:
>
> Thanks for reviewing both documents.  A few comments; Javier will
> fill in the rest.
>
> - You are right that TCP connections will be identified by a pair of
> DNS names.  Implementation-wise, this could be realized by hashing
> the DNS names into 128-bit strings.  Then, a TCP-for-IPv6
> implementation could pretty much be reused.

But that requires that the hash of the DNS name be carried in the TCP 
SYN and SYN|ACK, since you can't setup that state after the connection 
is setup. This adds complexity (and the details are missing) since TCP 
needs to handle both a NBS peer and a normal TCP peer (the latter will 
create a connection based on the IP addresses.)
I don't know how this is intended to work for UDP.

> - Security-wise, the idea is to bind DNS names to IP addresses by
> means of a forward lookup in the DNS.  This gives the same level of
> security that we have for DNS-based applications today, except that
> the forward lookup would not just be done by the connection
> initiator, but also by the connection responder.  Where higher
> security is required, we recommend DNSSEC.  Thus we can avoid extra
> cryptographic identifiers.

If X can predict that A will talk to B (using port1/port2), then X can 
send a SYN claiming to have A's name (and port1) destined to B/port2.
Later when A sends its SYN something on B has to be able to resolve 
things. The easy way is to verify that the initiator actually "owns" the 
name A before creating the TCP state for A/port1.

I don't understand what you mean by the forward lookup being done by the 
responder. Clearly the responder can't do a forward lookup when it 
receives a SYN packet, because that can be used to DoS the responder out 
of existence.

> - Hosts that don't have a name registered in the DNS will derive a
> DNS name from their IP address.  This will give them session
> continuity, albeit no reachability.

But that doesn't allow them to use SHIM6 to move around.
A CBID as a name allows them to move around.

    Erik