jari's review of protocol-04

Jari Arkko <[email protected]>
Newsgroups gmane.ietf.mobike
Message-ID <[email protected]>
Here are my LC comments. Overall, I'm quite happy with
specification as it is. Some technical and editorial issues
are listed below, however.

I have added names for technical issues to
assist in keeping track of what issues we have.

Technical:

*imprecise explanation of what nat cases are not supported*

>   "Does not fully support" means that no special effort is made to
>   support this functionality.  However, if the alternative is losing
>   connectivity completely, the responder can still attempt to proceed
>   with the change, and depending on, e.g., the exact type of NAT, it
>   may succeed.  However, analyzing the exact circumstances when this
>   will or will not work is not done in this document.
>  
>
I'm OK with the text being vague about the type of
scenarios supported beyond the basic client-inside-NAT
case. However, the above text appears to say that the
responder is capable of detecting such situations,
which I don't think is at least always true.

*certain vs. possible changed address info*

>   o  An INFORMATIONAL request containing ADDITIONAL_IP4/6_ADDRESS
>      notifications is received.  This means the peer's addresses may
>      have changed.
>  
>
I think we have two cases: the list (and source) either
contains the addresses that we currently know of and
use, or they don't. In the former case addresses may
have changed, but in the latter case they surely have.
For instance, if the peer sends us a message saying
that its now in address B instead of A, we really need
to take that into account, rather than continuing to
use A.

Suggestion: explain this in the bullet item, or split the
item in two.

*minimal conformance requirements*

>   Note that both peers can have their own policies about what addresses
>   are acceptable to use.  A minimal "mobile client" could have a policy
>   that says that only the responder's address specified in local
>   configuration is acceptable.  This kind of client does not have to
>   send or process ADDITIONAL_*_ADDRESS notifications.  Similarly, a
>   simple "VPN gateway" that has only a single address, and is not going
>   to change it, does not need to send or understand
>   ADDITIONAL_*_ADDRESS notifications.
>  
>
I think we discussed this previously (and I have not
yet checked what the result of that discussion was).
However, the above client text sounds a bit too flexible
in my opinion.

*RR requirements according to earlier decisions*

>   Both parties can optionally verify that the other party can actually
>   receive packets at the claimed address.  This "return routability
>   check" can be done before updating the IPsec SAs, immediately after
>   updating them, or continuously during the connection.
>
>   By default, the return routability check SHOULD be done before
>   updating the IPsec SAs.  In environments where the peer is expected
>   to be well-behaved (many corporate VPNs, for instance), or the
>   address can be verified by some other means (e.g., the address is
>   included in the peer's certificate), the return routability check MAY
>   be omitted or postponed until after the IPsec SAs have been updated.
>  
>
I think we decided earlier that the RR checks are by default
on, and that they are by default done before updating the
SAs. The above text seems to omit the former default. Suggested
fix:

   Both parties can optionally verify that the other party can actually
   receive packets at the claimed address.  By default, this "return
   routability check" SHOULD be performed. In environments where the
   peer is expected to be well-behaved (many corporate VPNs, for instance),
   or the address can be verified by some other means (e.g., the address is
   included in the peer's certificate), the return routability check MAY
   be omitted.

   The check can be done before updating the IPsec SAs, immediately after
   updating them, or continuously during the connection. By default, the
   return routability check SHOULD be done before updating the IPsec 
   SAs, but in some environments it MAY be postponed until after the
   IPsec SAs have been updated.

*meta issue about specification completeness*

Pasi, as you have edited ikev2-clarifications, what kind of
issues have you seen that have caused so many clarifications
needed? If you have a list of these issue types, can we go
over our spec to ensure that we don't introduce the same
unclarities?

I'm asking because the specification style is close to what
we had in IKEv2. Do we need add tables of what attributes
are possible in what messages, state machines, or spend
more effort in detailed processing algorithms?

(But I did not see anything on my review that would
be obviously prone for interpretation.)

Editorial:

>In the current
>   specifications, the IPsec and IKE SAs are created implicitly between
>   the IP addresses that are used when the IKE_SA is established.
>
s/current specifications/base IKEv2 protocol/

>   user interaction for authentication (entering a code from a token
>   card, for instance).
>
.... authentication, such as entering ...

>3.1.  Basic Operation
>
2nd para: it would be useful to state early that ike exchange
initiator decides the addresses to use for that exchange. Right
now you only talk about IPsec addresses. I know this is part of
ikev2, but the reader may not have the background to understand
this.

>3.2.  Example Protocol Runs
>
2nd example, Step 3 needs to show that the response is lost.

The 2nd example should also explain better why COOKIE2
is needed in Step 4.

>3.4.  Limitations
>  
>
Probably worthwhile to explain this earlier, maybe as Section
1.1.

>4.8.  NAT Prohibition
>
This section would benefit from a message flow example.

>   The attackers in this threat can be either outsiders or even one of
>   the IKEv2 peers.  In usual VPN usage scenarios, attacks by the peers
>   can be easily dealt with if the authentication performed in the
>   initial IKEv2 negotiation can be traced to persons who can be held
>   responsible for the attack.  This may not be the case in all
>   scenarios, particularly with opportunistic approaches to security.
>  
>
s/persons/persons or devices/?

--Jari
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.