Re: [Hipsec] Eric Rescorla's Discuss on draft-ietf-hip-native-nat-traversal-28: (with DISCUSS and COMMENT)

Eric Rescorla <ekr@rtfm.com> Thu, 27 December 2018 01:05 UTC

Return-Path: <ekr@rtfm.com>
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 D98B3127B4C for <hipsec@ietfa.amsl.com>; Wed, 26 Dec 2018 17:05:15 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.9
X-Spam-Level:
X-Spam-Status: No, score=-1.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_MED=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=rtfm-com.20150623.gappssmtp.com
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 k0c_drenk_em for <hipsec@ietfa.amsl.com>; Wed, 26 Dec 2018 17:05:10 -0800 (PST)
Received: from mail-lf1-x129.google.com (mail-lf1-x129.google.com [IPv6:2a00:1450:4864:20::129]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id B5E571286D9 for <hipsec@ietf.org>; Wed, 26 Dec 2018 17:05:09 -0800 (PST)
Received: by mail-lf1-x129.google.com with SMTP id p86so11741323lfg.5 for <hipsec@ietf.org>; Wed, 26 Dec 2018 17:05:09 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rtfm-com.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=5ZwSdV86vnaVFIRkYg5moSE7XstbdF7RG+bd2YaJJbw=; b=QwcC7DsXOQpT2SCAVu2mmuP5EzlLcltgFdj5GKDx6/nLTp66f3B+E3m2GSZOfJNOty 1nkL/H7U8jd+tm89I//sfohft1hgvYgXhOnPuUY+QF52cK9FjssrjB71NDMRfwME56n6 DfFwf+D3TwJvYUD+WPGWY3EL6igo2OMk81VPlJYYjK0IbSl1osPciNqdnssqITKpCGsM 61b8wcux923DQ/1iQTTpLZkHjiiuvK7kMUGCbVHd3PGVNvyZtFX5zJQXNeb0ci073e8c 0WxEs8+5qGe4XlLrwn/BUz4uVQkHUUq5yAJzJZp1vdGCPJ424e46NvUosM0Cu3xf3YaJ aeVg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=5ZwSdV86vnaVFIRkYg5moSE7XstbdF7RG+bd2YaJJbw=; b=azku6aVSvnoQd1BX8wR98kg5W9oKwwq/4hgwI7NJ94ld8IFYWNs2hYgsMfiF5UpM49 mQexxLIt5hWEX0x7p5Aiupkkx/is/wrvGCbtvUrBaFCDEldF7f5GXI+QuipLsGfu3A18 TRv5tT8kmS0WY/eZC4/gNS4nyLnK7ej3bXnec6SHJETOSrObntVB8qe7DGjSFBAASloM zgm59ZmPTU6dmJtoRbHl8mJCsfv1jyQtssvEABunjL4tqW4ydack/RwZwsC3mlEofSJ+ GF1Rc6han9AbgNUYNS/aR24Mb+i1uKC6FcnO8wfzpSb9QH4Lke1tRYtzEn/jZgecvLRF HrHA==
X-Gm-Message-State: AA+aEWamOypdRl7K/Qh45QVgmSQheOZ665/HslGw3f8MnHdHYWnOZbUQ ATYHojhD7bgZzit2HSxpFvhO0BMX2oAIr5WlZfeYbQ==
X-Google-Smtp-Source: AFSGD/Ue9Cza3/ku1MjGiEB1ETqIKVXnle95XdwSrU9B0m+kpmZ5umy4Gs9asGBUqtAQJBouFVsouQfahWEhVGCwmKM=
X-Received: by 2002:a19:a9d2:: with SMTP id s201mr10334953lfe.154.1545872707821; Wed, 26 Dec 2018 17:05:07 -0800 (PST)
MIME-Version: 1.0
References: <152546246777.11589.13288594519409569524.idtracker@ietfa.amsl.com> <a657ffe0-3574-850e-3b8d-9b21f6f8825b@ericsson.com>
In-Reply-To: <a657ffe0-3574-850e-3b8d-9b21f6f8825b@ericsson.com>
From: Eric Rescorla <ekr@rtfm.com>
Date: Wed, 26 Dec 2018 17:04:27 -0800
Message-ID: <CABcZeBO3gLUZevW0zTN6RHiuYBY+7d-4DefSNBA3FzhXFWfGQw@mail.gmail.com>
To: Miika Komu <miika.komu@ericsson.com>
Cc: The IESG <iesg@ietf.org>, "hipsec@ietf.org" <hipsec@ietf.org>, Gonzalo Camarillo <gonzalo.camarillo@ericsson.com>, "hip-chairs@ietf.org" <hip-chairs@ietf.org>, "draft-ietf-hip-native-nat-traversal@ietf.org" <draft-ietf-hip-native-nat-traversal@ietf.org>
Content-Type: multipart/alternative; boundary="0000000000009e3b97057df6893f"
Archived-At: <https://mailarchive.ietf.org/arch/msg/hipsec/G1t1eBG08Ys7lpF_05g4fWQruok>
Subject: Re: [Hipsec] Eric Rescorla's Discuss on draft-ietf-hip-native-nat-traversal-28: (with DISCUSS and COMMENT)
X-BeenThere: hipsec@ietf.org
X-Mailman-Version: 2.1.29
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, 27 Dec 2018 01:05:16 -0000

On Wed, Nov 7, 2018 at 1:37 PM Miika Komu <miika.komu@ericsson.com> wrote:

> Hi Eric,
>
> apologies for the belated response, I am not working on HIP anymore, so
> it has been rather difficult to find time for this.
>
> On 5/4/18 22:34, Eric Rescorla wrote:
> > Eric Rescorla has entered the following ballot position for
> > draft-ietf-hip-native-nat-traversal-28: Discuss
> >
> > When responding, please keep the subject line intact and reply to all
> > email addresses included in the To and CC lines. (Feel free to cut this
> > introductory paragraph, however.)
> >
> >
> > Please refer to
> https://www.ietf.org/iesg/statement/discuss-criteria.html
> > for more information about IESG DISCUSS and COMMENT positions.
> >
> >
> > The document, along with other ballot positions, can be found here:
> > https://datatracker.ietf.org/doc/draft-ietf-hip-native-nat-traversal/
> >
> >
> >
> > ----------------------------------------------------------------------
> > DISCUSS:
> > ----------------------------------------------------------------------
> >
> > Rich version of this review at:
> > https://mozphab-ietf.devsvcdev.mozaws.net/D3099
> >
> >
> > I am very familiar with ICE and yet I found this document extremely
> > hard to follow. The problem is that it cherry-picks pieces of ICE and
> > I'm just not sure that it's a complete specification when put all
> > together. I have noted a number of places where I actually am not sure
> > how to implement something, and fixing those will resolve this
> > DISCUSS, but IMO you really should totally rewrite this document
> > either (a) as a variant of ICE or (b) as an entirely new document not
> > with a pile of new text and then references out to ICE sections.
>
> the expected receivers of the work are the implementers of RFC5770, so
> the draft follows the sectioning of the RFC5770 (which has two
> interoperable implementations).
>
> If I understood your comment right, the variant of ICE (a) would follow
> the ICE document structure but then the document would not serve anymore
> HIP implementers so well. What comes to option (b), I think it would
> make the the document quite long if we replicated everything in the ICE
> specification (and possibly from the HIP specifications) in the draft.
>

Yes, it would be long, because ICE is complicated. It would also be
complete.
As I said in my initial ballot, if you resolve the ambiguities I noted I
will
clear my DISCUSS, but I think that this document should really be rewritten
and i would urge the AD to require it.




> > S 4.6.2.
> >>
> >>       A host may receive a connectivity check before it has received the
> >>       candidates from its peer.  In such a case, the host MUST
> immediately
> >>       generate a response, and then continue waiting for the
> candidates.  A
> >>       host MUST NOT select a candidate pair until it has verified the
> pair
> >>       using a connectivity check as defined in Section 4.6.1.
> >
> > Are you supposed to put this on a TODO check list as with ICE?
>
> I believe you refer to the triggered-check queue:
>
> https://tools.ietf.org/html/rfc8445#section-6.1.4.1
>
> I changed the text as follows:
>
> A host may receive a connectivity check before it has
>
> received the candidates from its peer. In such a case, the
>
> host MUST immediately generate a response by placing it in the
> triggered-check queue, and then continue
> waiting for the candidates.
>

Well, this isn't generating a response, it's queueing a response.


> S 5.8.
> >>
> >>    5.8.  RELAY_HMAC Parameter
> >>
> >>       As specified in Legacy ICE-HIP [RFC5770], the RELAY_HMAC parameter
> >>       value has the TLV type 65520.  It has the same semantics as
> RVS_HMAC
> >>       [RFC8004].
> >
> > What key is used for the HMAC?
>
> clarified this as follows:
>
> [..] It has the same semantics as RVS_HMAC as specified in section 4.2.1
> in [RFC8004].  Similarly as with RVS_HMAC, also RELAY_HMAC is is keyed
> with the HIP integrity key (HIP-lg or HIP-gl as specified in section 6.5
> in [RFC7401]), established during the relay registration procedure as
> described in Section 4.1.
>

This seems like it might have potential for cross-protocol attacks on the
key. Why
is this OK>


> > S 4.2.
> >>       deployments in order to enable it by software configuration
> update if
> >>       needed at some point.  A host SHOULD employ only a single server
> for
> >>       gathering the candidates for a single HIP association; either one
> >>       server providing both Control and Data Relay Server
> functionality, or
> >>       one Control Relay Server and also Data Relay Server if the
> >>       functionality is offered by another server.  When the relay
> service
> >
> > How does this interact with mult-layered NAT?>
>
> No different from ICE with separated STUN and TURN servers multi-layer
> NAT scenarios. Should we mention something about the issues related to
> some specific scenario?
>

Well, with multi-layered NAT, you actually want a STUN server at each level
so that you minimize hairpinning. But you recommend against that here.


> S 5.7.
> >>       | Reserved  | 0        | Reserved for future extensions
>    |
> >>       | Preferred | 0 or 1   | Set to 1 for a Locator in R1 if the
>   |
> >>       | (P) bit   |          | Responder can use it for the rest of
> the   |
> >>       |           |          | base exchange, otherwise set to zero
>    |
> >>       | Locator   | Variable | Locator lifetime in seconds
>   |
> >>       | Lifetime  |          |
>   |
> >
> > What is the purpose of this? It's not an ICE parameter.
>
> In HIP, locators have a maximum lifetime after which they become
> deprecated (RFC8046). Should add something here?
>

Yes

-Ekr