review of draft-ietf-mobike-protocol-04.txt

Francis Dupont <[email protected]>
Newsgroups gmane.ietf.mobike
Message-ID <[email protected]>
Here is my review of draft-ietf-mobike-protocol-04.txt.
I've seen some comments in the list but had not enough time to
really read them, so I apologize if I point some already known problems...

- in 1 page 3

   IKEv2 is used for performing mutual authentication and establishing
   and maintaining IPsec Security Associations (SAs).

=> too many "and"s

- in 3.1 page 5

   Making the decision at the initiator is consistent with how normal
   IKEv2 works: the initiator decides which addresses it uses when
   contacting the responder.  It also makes sense, especially when the
   initiator is the mobile node: it is in a better position to decide
   which of its network interfaces should be used for both upstream and
   downstream traffic.

=> as this has some limitations IMHO there should be a pointer to
the section 3.4 "Limitations".

- in 3.2 page 6 and others

      Initiator                  Responder
     -----------                -----------
   1) HDR, SAi1, KEi, Ni,
           N(NAT_DETECTION_*_IP)  -->

                            <--  HDR, SAr1, KEr, Nr,
                                      N(NAT_DETECTION_*_IP)
   ...

=> I believe the illustration needs the IP addresses and ports from
IP and UDP headers. If someone finds a good way to add them, the whole
stuff will become far more readable.

- in 4.3 page 10

   Note that if some of the initiator's interfaces are behind a NAT
   (from the responder's point of view), the addresses received by the
   responder will be incorrect.  This means the procedure for changing
   responder addresses described in Section 4.5 does not fully work when
   the initiator is behind a NAT.  For the same reason, the peers also
   SHOULD NOT use this information for any other purposes than what is
   explicitly described in this document.

=> I have a problem with "this document". I propose to relax it in
"MOBIKE documents".

- in 4.4 page 11

   The reasons why the initiator wishes to change the addresses are
   largely beyond the scope of MOBIKE.  Typically, triggers include
   information received from lower layers, such as changes in IP
   addresses or link-down indications.  Some of this information can be
   unreliable: for instance, ICMP messages could be spoofed by an
   attacker.  Unreliable information itself MUST NOT be used to conclude
   than an update is needed: instead, the initiator SHOULD trigger dead
   peer detection (that is, send an INFORMATIONAL request).

=> this at the first read seems to conflict with path testing (4.9).
IMHO some clarification is needed, I propose something like (after
"an update is needed") "because the current path seems to be no more
usable"...

- about 4.4: if/when we'd like to extend the mechanism, two things
seem to be interesting:
 - the capability to move to another addresses (than the addresses in
   the IP header of the message), for instance for network controlled
   mobility.
 - the capability to limit the update to a SA set (i.e., partial update).
Both will be easier with a payload...

- in 4.5 page 14

   As described in Section 4.3, both the initiator and responder can
   send a list of additional addresses in the IKE_AUTH exchange.  This
   information can be updated by sending an INFORMATIONAL exchange
   request message that contains either one or more ADDITIONAL_IP4/
   6_ADDRESS notifications or the NO_ADDITIONAL_ADDRESSES notification.

=> there is no explanation about NO_ADDITIONAL_ADDRESSES: 4.3 can't help
because it doesn't use it. I propose to move or copy some text from
5.3 where the notification is described.

- in 4.6 page 15

   To ensure that the peer cannot generate the correct INFORMATIONAL
   response without seeing the request, a new payload is added to
   INFORMATIONAL messages.  The sender of an INFORMATIONAL request MAY
   include a COOKIE2 notification, and if included, the recipient of an
   INFORMATIONAL request MUST copy the notification as-is to the
   response.  When processing the response, the original sender MUST
   verify that the value is the same one as sent.  If the values do not
   match, the IKE_SA MUST be closed.

=> there is no explanation about COOKIE2, I propose an explicit pointer
to section 5.6.

- in 4.9 page 17

   IKEv2 Dead Peer Detection allows the peers to detect if the currently
   used path has stopped working.  However, if either of the peers has
   several addresses, Dead Peer Detection alone does not tell which of
   the other paths might work.

=> this text is fine but perhaps a bit late in the document (i.e.,
path testing should be in the overview too)?

- in 5

=> I believe "notification" is better English than "notify" but
as the IKEv2 document uses "notify payloads"...

- in 5.3 page 18

   The NO_ADDITIONAL_ADDRESSES notification can be included in an
   INFORMATIONAL exchange request message to indicate that the exchange
   initiator does not have addresses beyond the one used in the exchange
   (see Section 4.5 for more detailed description).

=> in fact in the *current* document there is no description at all
of NO_ADDITIONAL_ADDRESSES...

- in 6.1 page 20

   MOBIKE introduces the NO_NATS_ALLOWED notification that is used to
   detect modification, by outsiders, of the addresses in the IP header.
   When this notification is used, communication through NATs and other
   address translators is impossible, so it is sent only when not doing
   NAT Traversal.  This feature is mainly intended for site-to-site VPN
   cases, where the administrators may know beforehand that valid NATs
   are not present, and thus any modification to the packet can be
   considered an attack.

=> IPv6 environments are other obvious candidates for NO_NATS_ALLOWED!

Regards

[email protected]
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.