Hi Tom,

please see inline.

On 15.09.2016 06:48, Tom Henderson wrote:
On 09/12/2016 07:28 AM, Mirja Kuehlewind wrote:
Mirja Kühlewind has entered the following ballot position for
draft-ietf-hip-rfc5206-bis-13: No Objection

Mirja, thank you for the review; responses inline below.

- Tom


----------------------------------------------------------------------
COMMENT:
----------------------------------------------------------------------

Some concrete comments:
1) Can you further explain the scenario assumed in these sentences! What
is the middblebox supposed/expected to do?
"In this case, the OLD SPI and NEW SPI parameters
       both are set to the value of the preexisting incoming SPI; this
       ESP_INFO does not trigger a rekeying event but is instead
       included for possible parameter-inspecting middleboxes on the
       path. "
and
"An additional potential benefit of performing address verification is
   to allow middleboxes in the network along the new path to obtain the
   peer host's inbound SPI."

These scenarios are explained further in an informational RFC from a few years 
back (5207).

https://tools.ietf.org/html/rfc5207

In brief, firewalls may wish to authenticate the HIP message exchanges and then 
limit access to the SPIs involved in the association.

How about adding an informational reference to RFC 5207 when we raise such 
issues in this document?
Yes, please. Maybe a sentence or two what the main points of rfc5207 are would be good as well. I would even recommend to not talk about "middleboxes" in general but "NAT and firewall traversal" as rfc5207 does.



2) Section 3.2.1. step 2: I guess the peer would also need to retransmit
the UPDATE+ECHO_REQUEST if it doesn't get a reply in time? (Didn't check
RFC7401...)

Yes, in RFC 7401, the UPDATE messages are protected by a retransmission timer:
https://tools.ietf.org/html/rfc7401#section-6.11

I would also recommend to spell this out (because it's done for the previous step)



3) section 4: Can you give any hints how large the lifetime typically
should be? Can only the original address have an unbounded lifetime (see
section 5) or can I also set the lifetime value in a certain way to
declare the lifetime of this address of unbounded?

Effectively unbounded lifetimes can be set by setting the 32-bit field to the 
maximum value.

Okay that's not spelled out in the doc.

 In practice, I don't know of any guidance to offer, other than perhaps 
aligning it with lifetimes of the addresses such as DHCP leased addresses.

That means like useful guidance.

I guess that we could add a statement that an 'effectively unbounded' lifetime 
can be set by setting the field to the maximum (unsigned) value.

Would you then also need to talk about risks when doing so...?


4) section 4/5: maybe state more clearly that a 'new' LOCATOR_SET
replaces the old one and therefore if a hosts sens a LOCATOR_SET is MUST
include all active addresses. I believe that's what you are doing from
the description in section 5 but it's never really spelled out...

Yes, I agree it could be stated more clearly.  Perhaps early in Section 5.2, on sending 
LOCATOR_SET parameters, we could add a sentence such as "The sending of a new 
LOCATOR_SET parameter replaces the locator information from any previously sent 
LOCATOR_SET parameter, and therefore if a host sends a new LOCATOR_SET parameter, it MUST 
continue to include all active locators."  Later in the text regarding processing of 
the received LOCATOR_SET parameter, it clearly states to deprecate locators that are no 
longer present.

Yes, thanks.


5) section 5.4: How long will an address be in UNVERIFIED state in case
the verification is not successful (no reply). Is there a timer? How
often will the peer retry the verification test? How long does the peer
wait until resending the verification packet?

This point is somewhat implied, but the verification is expected to be 
conducted using HIP UPDATE packet exchanges, which are protected by timers and 
a maximum retry count (RFC7401).  Perhaps this can be stated more clearly such 
as
"A typical verification that is protected by retransmission timers is to include an 
ECHO REQUEST within an UPDATE sent to the new address."

Yes, please.



6) section 5.6: The proposed  Credit-Based Authorization  seems quite
complicated for me. First please state clearly the goal: I guess the
scenario is that that you send data to the host and the host switches to
new address. To be able to keep sending data with the same rate during
the "switch-over 3-way-handshake" you need this credit system. So, what
you actually need is to estimate the current sending rate in packets per
RTT and take this number of packets as your credit. If you know the RTT
you can simply count the packets. You can probably always estimate the
RTT during the initial HIP 'handshake'/UPDATE exchange. If you don't have
a way to update this RTT estimate during the connection, you might just
use 2xRTT or 3xRTT to be safe...

I just reviewed the text again.  Yes, the goal is as you stated, to provide for 
data transfer during this transient handshake period while minimizing the 
potential for abuse.

The text doesn't offer any specific guidance on how to set the credit limit, 
but we could consider to add a heuristic such as you sketched out above.

For me that would make sense! Also state the goal make clear, so people know what to optimize for if they implement their own heuristic.


And more general comments:
1) Did you see any deployment problems because you don't expose a port
number (at a know location above the IP header) with e.g. NATs?

Well, to traverse legacy NATs requires UDP encapsulation (e.g. RFC 5770); I am 
not sure there is much experience with any NAT that is HIP aware or permissive 
in this regard.

I think a reference to rfc5207/rfc5770 would be good.



2) Usually documents that obsolete another rfc have a "changes from
RFCXXXX" section. Not sure if this is needed in this case when you move
from experimental to proposed stanadard but given the rather larger
number of changes, I would find it helpful.

Someone else also recently suggested this section; I will add one to the next 
version.

Thx. It seems even required ;-)


3) I believe reading would be easier for me if section 4 would have been
first but not sure...

I'm not sure about reordering sections without more specific change proposals.

Or you could add a paragraph in the intro explaining where to find what.



4) This docuemnt states several times that mutlihoming is out of scope
and only the handover case is described. I think it would be better to
state this clearly at the very beginning and remove the other cases (I
believe these are anyway kind of left-overs from the previous document.)

Can you point to what you would like to have removed or changed?  Early on, we 
moved most of this material to the other draft, and in scanning it again just 
now, I am not sure what more to take out or rephrase.  It is hard to completely 
avoid the topic of having multiple addresses in this draft, particularly since 
we are defining the LOCATOR_SET parameter that is used in the multihoming 
specification.

Maybe just grab from the word multihoming and double-check if you really need it there. For me it somtimes showed up at place there I thought it's actually not needed to mentioned that again.
But that's nothing big...

Mirja




_______________________________________________
Hipsec mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/hipsec

Reply via email to