Subject: [nbs] To verify or not to verify a name. (Was: Re: NBS and TCP connection identification)

From: Javier Ubillos <[email-masked]>
Date: Fri, 22 Oct 2010 16:52:27 +0200

Hi Rémi.

Some food for thought...

In the e-mail below and an earlier one by Christian Vogt, I think we
have touched a subject witch might be decisive for the whole discussion
about synthesized names.

Rémis e-mail:
http://www.ietf.org/mail-archive/web/nbs/current/msg00036.html
Christians e-mail:
http://www.ietf.org/mail-archive/web/nbs/current/msg00034.html

The issue is basically:
From which point does a name matter?

The options I see are.
1) Should the name->ip relation be authenticated.
2) If it should, when
2a) When the connection is setup
2b) When some particular network-feature which needs it requests it
(example below)

Let's use the current name-based shim6 as a scenario:
Assuming that the server accepts connections w/o filtering on names or
IPs

* In the initial connection setup, names are not too interesting. What
is important is to locally have a session identifier.
This is simply a legacy point-to-point communication with no fancy
features.

* The name-based shim6 heuristic kicks in, and locators are now
negotiated. In this step, it becomes important to have a name which is
resolvable to a locator (or multiple). The service suggested in the
draft is DNS. (should it fail, the current implementation still allows
situations where one host moves, but not the simultaneous-move
scenario).

Not until this point does it matter that we give the remote peer a
functional name. So, until now, no authing is needed.

What I'm getting at is that if this kind of decision-tree is OK, then we
arrive at a point where the whole ordeal of synthesized names.
It becomes a non-issue.

123456789012345678901234567890123456789012345678901234567890123
                   |    Has a FQDN     |   Does not have FQDN
-------------------+-------------------+------------------------
Do not require     |    Fine           |   Fine
initially auth     |                   |
-------------------+-------------------+------------------------
Do require         |   Lookup in       |   n/a or
initial auth       |   DNS (-SEC?)     |   get a name
-------------------+-------------------+------------------------
Particular feature |   Out of band     |   n/a or
requires auth      |   negotiation     |   get a name
-------------------+-------------------+------------------------

I'm not a stranger to the thought of NBS not doing any verifications at
all, leaving that to sub-features and to the applications. Very much as
DNS-dependent applications do today. But this needs to be discussed (at
the BoF ?)

// Javier