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

Tom Henderson <tomhend@u.washington.edu> Thu, 15 September 2016 04:52 UTC

Return-Path: <tomhend@u.washington.edu>
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 BA70212B170; Wed, 14 Sep 2016 21:52:09 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.2
X-Spam-Level:
X-Spam-Status: No, score=-4.2 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, SPF_PASS=-0.001, UNPARSEABLE_RELAY=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 jl_JSMeyurDt; Wed, 14 Sep 2016 21:52:07 -0700 (PDT)
Received: from mxout21.s.uw.edu (mxout21.s.uw.edu [140.142.32.139]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id AB09612B16E; Wed, 14 Sep 2016 21:52:04 -0700 (PDT)
Received: from hymn01.u.washington.edu (hymn01.u.washington.edu [140.142.9.110]) by mxout21.s.uw.edu (8.14.4+UW14.03/8.14.4+UW16.03) with ESMTP id u8F4m8Pg031591 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Wed, 14 Sep 2016 21:48:09 -0700
Received: from hymn01.u.washington.edu (localhost [127.0.0.1]) by hymn01.u.washington.edu (8.14.4+UW14.03/8.14.4+UW16.03) with ESMTP id u8F4m8bM032133; Wed, 14 Sep 2016 21:48:08 -0700
Received: from localhost (Unknown UID 21258@localhost) by hymn01.u.washington.edu (8.14.4+UW14.03/8.14.4+Submit-local) with ESMTP id u8F4m7no032124; Wed, 14 Sep 2016 21:48:08 -0700
X-Auth-Received: from [73.140.18.44] by hymn01.u.washington.edu via HTTP; Wed, 14 Sep 2016 21:48:07 PDT
Date: Wed, 14 Sep 2016 21:48:07 -0700
From: Tom Henderson <tomhend@u.washington.edu>
To: ietf@kuehlewind.net
Message-ID: <alpine.LRH.2.01.1609142148070.22599@hymn01.u.washington.edu>
User-Agent: Web Alpine 2.01 (LRH 1302 2010-07-20)
MIME-Version: 1.0
Content-Type: MULTIPART/MIXED; BOUNDARY="-1903399415-99189172-1473914887=:22599"
X-PMX-Version: 6.2.1.2493963, Antispam-Engine: 2.7.2.2107409, Antispam-Data: 2016.9.15.44217
X-PMX-Server: mxout21.s.uw.edu
X-Uwash-Spam: Gauge=XI, Probability=11%, Report=' TO_IN_SUBJECT 0.5, MULTIPLE_RCPTS 0.1, HTML_00_01 0.05, HTML_00_10 0.05, MIME_TEXT_ONLY_MP_MIXED 0.05, SUPERLONG_LINE 0.05, BODY_SIZE_6000_6999 0, BODY_SIZE_7000_LESS 0, DATE_TZ_NA 0, LEGITIMATE_NEGATE 0, LEGITIMATE_SIGNS 0, MSG_THREAD 0, __ANY_URI 0, __BOUNCE_CHALLENGE_SUBJ 0, __BOUNCE_NDR_SUBJ_EXEMPT 0, __CP_NOT_1 0, __CP_URI_IN_BODY 0, __CT 0, __CTYPE_HAS_BOUNDARY 0, __CTYPE_MULTIPART 0, __CTYPE_MULTIPART_MIXED 0, __FORWARDED_MSG 0, __HAS_CC_HDR 0, __HAS_FROM 0, __HAS_MSGID 0, __HTTPS_URI 0, __MIME_TEXT_ONLY 0, __MIME_VERSION 0, __MULTIPLE_RCPTS_CC_X2 0, __MULTIPLE_URI_TEXT 0, __SANE_MSGID 0, __SUBJ_ALPHA_NEGATE 0, __SUBJ_HIGHBIT 0, __TO_IN_SUBJECT 0, __TO_MALFORMED_2 0, __TO_NO_NAME 0, __URI_IN_BODY 0, __URI_NO_MAILTO 0, __URI_NO_WWW 0, __URI_NS , __URI_WITH_PATH 0, __USER_AGENT 0'
Archived-At: <https://mailarchive.ietf.org/arch/msg/hipsec/4IBhe3eoHKx8WjiUWWzOIQ9vhbE>
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 04:52:10 -0000

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?

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

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

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.

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

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

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

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

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

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

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