On  3 Aug 2009, at 05:59, Xu Xiaohu wrote:

Hi Ran,

At the suggestion of one of the RRG Chairs, kindly let me
reiterate the explanations on this topic, with specific
reference to the slides presented at RRG in Stockholm today.

Looking specifically at Slide 22:

1) Off-path Attacks
   Ordinary IPv6 without IPsec has broad vulnerability to
on-path attacks,
   as noted in Slide 22, round bullet 2, triangle sub-bullet 2, first
   dash sub-sub-bullet.

   This means that to provide equivalent security ILNP without IPsec
   only needs to protect against off-path attacks.

   ILNP includes a Nonce to protect traffic from off-path attacks,
   as described in Slide 22, 2nd round bullet (and its
subsidiary items).

   This means that ILNP without IPsec has the same security
properties
   as IPv6 without IPsec.  This is also described in draft-rja-ilnp-
nonce-*
   and in the other draft-rja-ilnp-* drafts -- in more
detail than fits
   on 1 slide in a ~30 minute overview talk.  This is also described
   in the 2nd circular bullet on Slide 22.

Sorry, I just read your ilnp-nonce draft. I felt that without the HIP/CGA
tricks, this nonce mechanism itself only solves the session hijacking
problem, and it doesn't prevent stealing and spoofing of the identifiers. For example, an attacker could use somebody else's identifier to initiate
communication with a given correspondent node.

It is not possible for an off-path attacker to do what you suggest
when ILNP is in use.  There is enough information available on both
ends of an ILNP session to distinguish between two different nodes
that have accidentally used the same Node Identifier.

Without repeating another paper at great length in this email,
here is a starting point to understanding:

        1) Recall that all ILNP sessions will include a
           Nonce Destination Option sent from the initiator node
           to the responder node (and subsequently a Nonce
           sent from the responder to the initiator).
        2) Nonces are unidirectional, so different nonce values
           will be used (X->Y) and (Y->X).
        
Let:
        A, B    are different initiator nodes using the same
                Node ID value.
        C       is a responder node communicating with A, B


Observe:
        1) A and B will each select large (e.g. 96-bit) Nonce
           values independently.  If the operational risk is
           lower, a smaller Nonce value could be selected instead.
        2) The probability of selecting the same Nonce value is now
           1 out of 2^^96 -- this is a lower probability than selecting
           the same inputs for generating a common CGA value.  However,
           unlike the CGA, neither initiator nor responder need to
           perform any significant computation -- so no new DOS attack
           window is created by using the Nonce mechanism.
        3) Since A and B are using different Nonce values, C is
           perfectly capable of distinguishing between A and B.
        4) As is already the case today with IPv6, it is not valid
           to have 2 unrelated nodes on the same subnet use the
           same Identifier (IID in the case of IPv6) value at the
           same time.  (I say "unrelated nodes" here to distinguish
           crisply from some kind of "distributed system" where 2
           or more boxes form a single logical computing system.)

Note 1: The same kind of analysis can be done to show that this
        works generally, even if A, B are responders and C is
        an initiator.  The details are omitted here because this
        is already a long email.

Note 2: None of the above mechanisms or analysis involve either
        cryptography or any other expensive mathematical operation.

        (If it is still confusing, I'd urge re-reading the published
        ILNP papers and also the ILNP Internet-Drafts to gain more
        clarity on this.)

Finally, if some folks want to use CGAs, that is fine.  ILNP permits
the existing CGA specifications to be used without any modification.
Again, we've shown that ILNP has security properties no worse than IPv6.

1) Based on the assumption that the identifier is not globally unique, if two hosts using the same identifier initiate communication with a third host, how could this third host distinguish the different sessions from
these two hosts?

Please see above.  There is sufficient other information to distinguish
the sessions from each other.  This is discussed in more depth in
other published drafts/documents.

2) Based on the assumption that the idenfiters are only needed to be unique
within the context of a given Locator, if a mobile node moved to a new
subnet, and unfortunately there is a host within this subnet which uses the
same identifier as the mobile node, should be mobile node renumber its
identifier?

If the node wanted to change its Identifier, it could do so without losing
any existing sessions.

However, kindly recall IPv6.  The IPv6 rules say that a given IID
must be unique within the context of a specific /64 routing prefix.

The ILNP rule is not more strict than the IPv6 rule.  So again,
ILNP does not fail to support any case that works today with IPv6.

In normal operation, the ILNP Identifier would probably be an EUI-64
with the scope bit set to "global" and would be formed by using some
EUI-48 or EUI-64 already associated with the node.  Recall this also
is entirely consistent with IPv6 practices on forming an IID.  In
this case, the IEEE allocation rules combined with the EUI-64
formation rules ensure that the scenario you describe will not occur.

In some different case where an ILNP Identifier is being formed in
some other way (e.g. some pseudo-anonymous ID algorithm), then as
with IPv6 some form of DAD would be required because the scope bit
is set to "local".  ILNP never requires that a node use this form
of Identifier, although a node might choose to do so if it wishes.

So one can again see that ILNP is imposing no new constraints beyond
those imposed by IPv6 at present, and that deployments that work
today with IPv6 would also seamlessly work with ILNP.

Of course, ILNP provides various benefits (described throughout
the talk and the various drafts/documents) that IPv6 does not provide.
So there is a net benefit to migrating to ILNP from ordinary IPv6.

3) If I understand your ILNP correctly, the DNS server will be used as the
rendezvous to deal with the simultaneous mobility issue. In pratice,
multiple hosts could share a FQDN for load-balancing purpose, that's to say, the mapping between FQDN and I/L is 1:N, not 1:1, how could the mobile node know which I/L is corresponding to the communicating node? Or do you believe the DNS should be changed so that each host will have a globally unique FQDN
in your ILNP architecture?

In the scenario you describe, existing deployments of that kind
share session state among the N physical boxes that are clustered
to emulate a single node.

That is, the case you describe is not really a case of N separate nodes,
but instead it is the case of a single distributed system that happens
to be built out of a number of boxes.  This sort of clustering has been
commonplace for decades.  (I think I first encountered it with a DEC
VAX/VMS cluster.  One imagines modern systems are most commonly built
out of some flavour(s) of UNIX.)

Moreover, in such cases in the real-world today, multiple "back end"
servers are fronted by some commercial load-balancing appliance.  Those
appliances ensure that requests are handled consistently by the server
cluster.  Various session management mechanisms have been built by
various commercial vendors, but they all have the same apparent
external behaviour (i.e. from the perspective of the client system).

No DNS changes are needed for ILNP, other than adding the I and L records.
Optionally, also adding the LP record optimises DNS performance and
scalability for mobile network cases or for site multi-homing cases.

Yours,

Ran

_______________________________________________
rrg mailing list
[email protected]
http://www.irtf.org/mailman/listinfo/rrg

Reply via email to