Re: [Hipsec] Mirja Kühlewind's No Objection on draft-ietf-hip-rfc5206-bis-13: (with COMMENT)

Mirja Kühlewind <ietf@kuehlewind.net> Thu, 15 September 2016 14:42 UTC

Return-Path: <ietf@kuehlewind.net>
X-Original-To: hipsec@ietfa.amsl.com
Delivered-To: hipsec@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 6F9C612B5E7 for <hipsec@ietfa.amsl.com>; Thu, 15 Sep 2016 07:42:53 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.41
X-Spam-Level:
X-Spam-Status: No, score=-3.41 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RP_MATCHES_RCVD=-1.508, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 0vCvUtSDHaju for <hipsec@ietfa.amsl.com>; Thu, 15 Sep 2016 07:42:48 -0700 (PDT)
Received: from kuehlewind.net (kuehlewind.net [83.169.45.111]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id A847612B5E8 for <hipsec@ietf.org>; Thu, 15 Sep 2016 06:55:23 -0700 (PDT)
Received: (qmail 32169 invoked from network); 15 Sep 2016 15:55:21 +0200
Received: from nb-10510.ethz.ch (HELO ?82.130.103.143?) (82.130.103.143) by kuehlewind.net with ESMTPSA (DHE-RSA-AES128-SHA encrypted, authenticated); 15 Sep 2016 15:55:21 +0200
To: Tom Henderson <tomhend@u.washington.edu>
References: <alpine.LRH.2.01.1609142148070.22599@hymn01.u.washington.edu>
From: Mirja Kühlewind <ietf@kuehlewind.net>
Message-ID: <eddfae96-c4a9-8d2d-f7c6-97607bee42cd@kuehlewind.net>
Date: Thu, 15 Sep 2016 15:55:20 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.2.0
MIME-Version: 1.0
In-Reply-To: <alpine.LRH.2.01.1609142148070.22599@hymn01.u.washington.edu>
Content-Type: text/plain; charset="iso-8859-15"; format="flowed"
Content-Transfer-Encoding: 8bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/hipsec/wxSxzEmGwGNXENxJ1jHjebCf9_Q>
Cc: hipsec@ietf.org, draft-ietf-hip-rfc5206-bis@ietf.org, iesg@ietf.org, hip-chairs@ietf.org
Subject: Re: [Hipsec] Mirja Kühlewind's No Objection on draft-ietf-hip-rfc5206-bis-13: (with COMMENT)
X-BeenThere: hipsec@ietf.org
X-Mailman-Version: 2.1.17
Precedence: list
List-Id: "This is the official IETF Mailing List for the HIP Working Group." <hipsec.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/hipsec>, <mailto:hipsec-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/hipsec/>
List-Post: <mailto:hipsec@ietf.org>
List-Help: <mailto:hipsec-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/hipsec>, <mailto:hipsec-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 15 Sep 2016 14:42:53 -0000

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