[Cross-posting to hipsec since this analysis seems to
 be important for HIP, too.  CC:s appropriately, please.]

The recent discussion on the ML has led me to believe
that we have a fairly poor understanding on what we
are speaking about.  (Dave Crocker has also privately
pointed this out, thereby making my mind clearer.)
This is yet another strawman attempt to try to clarify
the  problem scope, or at least something.

After some thought, I think that we have at least
three main classes of needs for (loosely speaking)
end-point identifiers, and some subclasses:

1) Identification

     1a) identification for the purpose of mobility and
         multi-homing

     1b) identification for the purpose of referral
         or rendezvous (related to 1a but slightly
         different)

     1c) identification for other, e.g. administrative,
         purposes

2) Referral

3) Rendezvous

3a) initial rendezvous with no existing connection

3b) subsequent rendezvous, e.g., after concurrent movement

There are probably others, but these are the ones that
my poor brains managed to (small pun) identify.

The *point* of this mail is that the different needs have
different requirements, and that it may be very difficult
or even impossible to design one class of identifiers that
would fulfil all of the primary needs plus the related
secondary needs, such as privacy and security.

Let me try to brefly analyze the above outlined needs
one by one, in reverse order.

3) Rendezvous
-------------

I haven't seen any good definition for rendezvous in the
meaning that we seem to be using it.  (If you have, please
post a reference).  So, here is an attempt:

  End-point rendezvous refers to the situation where
  one end-point makes a contact with an explicitly identified
  other end-point over the network.

To be able to perform rendezvous, the first end point seems
to need

  - a means to identify the second end-point (1a or 1b)
  - a means to reach the second end-point, i.e., locator

In the case of 3b), the end-points have been in contact
with each other and share explicit "fresh" state.  Hence,
they can identify each other just based on this state,
and they do not necessarily need any stable, long-living
end-point identifiers.  Due to mobility, they need a
service that gives the currently active locator for the
other end-point, i.e., the equivalent of mobile IP home
agent.

In the case of 3a), the end-points have not been in contact
with each other, and the only "state" that they share is
that the first end-point has an identifier that denotes
the second one.  The service giving locators does not seem
to be very fast or dynamic, as long as the given locator
will reach the given end-point.  That is, if we have the
equivalent of mobile ip home agent, the locator used for
3a) can be the equivalent of mobile ip home address.

2) Referral
-----------

Again, I haven't seen any good definitions (and again,
please post if you have).  Another attempt:

  Inter-end-point referral refers to a situation where one
  end-point hands over information about a second end-point
  to a third end-point, with the purpose of allowing the
  third end-point to make a rendezvous with the second end-point.

For referral to succeed, the transferred information must give
the receiving end-point

  - a means to identify the second end-point (1b)
  - a means to reach the second end-point

Note that in this case the "means to reach" does not need
to be a locator.  It can be a name that the rendezvous (3b)
service is able to convert to a locator.

1) Identification
-----------------

Now we get to the real business.  Just to refresh the mind,
here are again the suggested subclasses:

  1a) identification for mobility and multi-homing
  1b) identification for referral or rendezvous
  1c) identification for other, e.g. administrative, purposes

1a) To me, identification for mobility and multi-homing seems to
    be the easiest one.  There we are only interested in gaining
assurance that the peer remains the same.  That is, for the
sole purpose of mobility or multi-homing, we do not really
care with whom we are communicating with, but only that the
peer end-point is not changed in mid-communication due to
mobility, multi-homing, or attacks based on mobility or
multi-homing mechanisms.

[There is also the need of keeping the apparent identifier to
 TCP or UDP stable, but that is really a secondary need, created
 by the desire of backwards compatibility.]

For the purposes of 1a) it seems to be sufficient to create
an ephemeral identifier, only known to the participating end-points
(and a sufficiently limited class of potential attackers).
There is no need for long-lasting stable identifiers.

Identification at the mobility related rendezvous (3b) is
really a special case of the generic mobility related
identification, and therefore the argumentation above holds.

1b) For initial rendezvous and referral, we need something stable.
    That is, we need to have an identifier that allows us to
identify the peer end-point even if it does not share any state
(but the identifier/identity) with us.

Note that I have explicitly separated the function of locating
the end-point from the function of identifying the end-point.
For rendezvous and referral we naturally need both.  However,
they are distinct functions, and it is technically *possible*
to use different tokes for these purposes.  On the other hand,
if there is a need for two tokens, we can also define that the
end-point identifier (for referral or initial rendezvous)
consists of a *pair* of tokens, ones used for identification and
one used for finding the current address.

1c) The final class of needs for identification seems to have
    nothing to do with mobility, multi-homing or even referral
or even rendezvous.  There are other needs for identifying
end-points:
  - Human GUI needs: to allow humans to type in names that
    refer to end-points
  - Various administrative needs:
     - configuration management
     - inventory management
     - monitoring and intrusion detection
     - etc.
  - (running out of coffee....  can't think of others)

-------------------------------------------------------------

The next step is to analyse the security and privacy threats
associated with all of the above mentioned needs for identifiers.
However, that is a subject of another mail.

--Pekka Nikander



--------------------------------------------------------------------
IETF IPv6 working group mailing list
[EMAIL PROTECTED]
Administrative Requests: https://www1.ietf.org/mailman/listinfo/ipv6
--------------------------------------------------------------------

Reply via email to