Re: [Hipsec] Overlay work: status and request for input

"Henderson, Thomas R" <thomas.r.henderson@boeing.com> Tue, 21 July 2009 05:09 UTC

Return-Path: <thomas.r.henderson@boeing.com>
X-Original-To: hipsec@core3.amsl.com
Delivered-To: hipsec@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 15CDF3A6AD5 for <hipsec@core3.amsl.com>; Mon, 20 Jul 2009 22:09:54 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.299
X-Spam-Level:
X-Spam-Status: No, score=-4.299 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, MANGLED_TOOL=2.3, RCVD_IN_DNSWL_MED=-4]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id VDFj3sesr-G7 for <hipsec@core3.amsl.com>; Mon, 20 Jul 2009 22:09:52 -0700 (PDT)
Received: from blv-smtpout-01.boeing.com (blv-smtpout-01.boeing.com [130.76.32.69]) by core3.amsl.com (Postfix) with ESMTP id A5A033A657C for <hipsec@ietf.org>; Mon, 20 Jul 2009 22:09:52 -0700 (PDT)
Received: from slb-av-01.boeing.com (slb-av-01.boeing.com [129.172.13.4]) by blv-smtpout-01.ns.cs.boeing.com (8.14.0/8.14.0/8.14.0/SMTPOUT) with ESMTP id n6L59Xm4002202 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Mon, 20 Jul 2009 22:09:37 -0700 (PDT)
Received: from slb-av-01.boeing.com (localhost [127.0.0.1]) by slb-av-01.boeing.com (8.14.0/8.14.0/DOWNSTREAM_RELAY) with ESMTP id n6L59Wx8029075; Mon, 20 Jul 2009 22:09:32 -0700 (PDT)
Received: from XCH-NWBH-11.nw.nos.boeing.com (xch-nwbh-11.nw.nos.boeing.com [130.247.55.84]) by slb-av-01.boeing.com (8.14.0/8.14.0/UPSTREAM_RELAY) with ESMTP id n6L59WlL029070; Mon, 20 Jul 2009 22:09:32 -0700 (PDT)
Received: from XCH-NW-5V1.nw.nos.boeing.com ([130.247.55.46]) by XCH-NWBH-11.nw.nos.boeing.com with Microsoft SMTPSVC(6.0.3790.3959); Mon, 20 Jul 2009 22:09:32 -0700
X-MimeOLE: Produced By Microsoft Exchange V6.5
Content-class: urn:content-classes:message
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
Date: Mon, 20 Jul 2009 22:09:32 -0700
Message-ID: <77F357662F8BFA4CA7074B0410171B6D07B0C4AA@XCH-NW-5V1.nw.nos.boeing.com>
In-Reply-To: <4A6447DC.7070005@ericsson.com>
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
Thread-Topic: [Hipsec] Overlay work: status and request for input
Thread-Index: AcoJKHq4FMDnpmeOSlOVxHWuQ2Oi7AAXjVAg
References: <4A6447DC.7070005@ericsson.com>
From: "Henderson, Thomas R" <thomas.r.henderson@boeing.com>
To: Gonzalo Camarillo <Gonzalo.Camarillo@ericsson.com>, HIP <hipsec@ietf.org>
X-OriginalArrivalTime: 21 Jul 2009 05:09:32.0625 (UTC) FILETIME=[6ED4AC10:01CA09C1]
Subject: Re: [Hipsec] Overlay work: status and request for input
X-BeenThere: hipsec@ietf.org
X-Mailman-Version: 2.1.9
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/listinfo/hipsec>, <mailto:hipsec-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/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: Tue, 21 Jul 2009 05:09:54 -0000

Gonzalo, below I've expressed my (somewhat negative, sorry) opinions on
your questions: 

> -----Original Message-----
> From: Gonzalo Camarillo [mailto:Gonzalo.Camarillo@ericsson.com] 
> Sent: Monday, July 20, 2009 3:33 AM
> To: HIP
> Subject: [Hipsec] Overlay work: status and request for input
> 
> Folks,
> 
> here you have a summary of the status of the overlay work.
> Additionally, we have some questions for the WG related to our
> milestones and their related charter items. Your input on those
> questions is very welcome.
> 
> 1) We have the following milestone:
> 
> "Specify a framework to build HIP-based overlays. This framework will
> describe how HIP can perform some of the tasks needed to build an
> overlay and how technologies developed somewhere else (e.g., a peer
> protocol developed in the P2PSIP WG) can complement HIP by performing
> the tasks HIP was not designed to perform."
> 
> The WG item for this milestone is the following draft, which should be
> ready for WGLC:
> 
> http://tools.ietf.org/id/draft-ietf-hip-bone-02.txt

I remain very uneasy about the above draft, which I think is not very
clear and skirts over some hard issues.

The document tries to provide a generalized framework for HIP-based
overlays, but it is not clear how it will work when there are multiple
peer protocols (multiple overlays) and when the peer IDs are not the
same as the node IDs.  The specific instance draft does not handle these
issues; it assumes that the peer ID is the ORCHID (which was not
acceptable to some in the P2PSIP WG due to possible chosen ID attacks),
and is, of course, only one instance.

In general, I recommend not trying to complete work on a framework for
multiple overlays until there is an example of at least how two
independent overlays (perhaps with different peer protocols and
different peer ID structures) coexists on some of the same nodes, and
the peer IDs are not HITs.  

The draft states:
"Since HIP needs
ORCHIDs (and not any type of Peer ID) to work, hosts in the overlay
will transform their Peer IDs into ORCHIDs, for example, by taking a
hash of the Peer IDs or taking a hash of the Peer ID and the public
key."

I don't see how this would work since for an ORCHID to be used as a HIT,
it must hash a public key.

It is not clear from the document what IDs are being routed if the peer
ID is not the same as the HIT.  I think the answer is that it is the
peer IDs that are being routed, and HIP is just providing the links
between the peer IDs.  It may be that the peer IDs are the same as HITs
in some instances, but it should be architecturally clear that transport
connections are being terminated at each hop in the overlay.

If the document were to describe an overlay architecture where you
recommend to the peer protocols "Use HITs like you would otherwise use
IP addresses, and HIP will take care of the rest of the ugly business of
NAT traversal, mobility, and multihoming," then it would seem to be
relatively straightforward, so long as HIP took it upon itself with no
dependency on the peer protocol to do anything for it.

Where I think it becomes conflated, however, is when you try to use the
overlay to forward HIP signaling traffic.  I see why you are trying to
do this but it leads to these questions:

1) the overlay may stitch together addressing realms that have no hope
of supporting end-to-end HIP associations between them.  For instance,
this simple topology:

node A <--------Ipv4 network -----> node B <--------Ipv6 network
---------> node C

The overlay may route the I1 from node A to node C and R1 back, but no
HIP association between A and C can actually be formed.

2) what if node B above belongs to multiple other HIP-based overlays?
How does it know on which overlay to forward the I1?

Also, from a performance perspective, I think there may be some danger
in abstracting the underlying topology away from a peer protocol.  From
the peer protocol layer perspective, HIP makes every node look like it
is "on link" whereas in fact, each node is possibly different number of
hops away, in different administrative domains of the network, etc.

To summarize, I think there is some value in defining how P2PSIP-based
overlay could use HIP to form its links and deal with NAT, mobility, and
multihoming.  However, before allowing RELOAD nodes to perform the HIP
distributed rendezvous service, I would first define:
1) how the system works in the case where the enrollment server chooses
PeerIds that are not HITs
2) how two such independent overlays (run by different organizations)
could operate on the same node, and how the node would ensure that
messages got onto the right overlays

The above can all be done by assuming that HIP rendezvous is done in the
underlay, not overlay.  As a final step, one might consider whether one
of these overlays itself could be leveraged to forward HIP traffic.  If
all of this holds together, then I think we might have a framework
document that completes the charter item.

As an editorial note, I also would recommend skipping section 2 because
RFC 4423 and other documents are available to provide HIP tutorials.

> 
> This draft defines a high-level framework to build HIP-based overlays.
> Additionally, its previous version defined how to build a HIP-based
> overlay using RELOAD. The authors have chosen to move this 
> definition to
> a separate document because while the high-level framework is
> informational in nature, the definition makes use of 
> normative language.
> The resulting document is the draft below. We would like to ask the WG
> if it is OK to split our current milestone in two so that 
> they cover the
> high-level framework and the definition in separate documents.
> 
> http://tools.ietf.org/internet-drafts/draft-keranen-hip-reload
-instance-00.txt
> 
> Additionally, we would like to ask the WG if we should take the draft
> above as the WG item associated to the milestone for the definition.

I think it is good to split framework from instance documents.  I might
suggest that Delay Tolerant Networks (DTN) be another instance document.


> 
> 2) We have the following milestone:
> 
> "Specify how to carry upper-layer data over specified HIP
> packets. These include some of the existing HIP packets and possibly
> new HIP packets (e.g., a HIP packet that occurs outside a HIP base
> exchange)."
> 
> We still do not have a WG item for it but the following draft has been
> around for some time. We would like to ask the WG if we 
> should adopt the
> following draft as the WG item for this milestone.
> 
> http://tools.ietf.org/internet-drafts/draft-nikander-hip-hiccu
ps-02.txt
> 
> Revision 02 of the draft above is identical to 01 (the only 
> changes are
> the date and the new copyright). The authors intend to address the
> comments received on the list shortly.

In January I made a number of comments that the semantics for this new
service were not very clear.  I still would like to understand the
service semantics and requirements; could they be stated clearly
somewhere?  I am not really questioning that such a need for HIP DATA
might exist, but it seems premature to specify message syntax for these
packets when there is no implementation that implements it and no API
for HIP-aware applications to access this service.  How can we build
interoperable implementations without this?

> 
> 3) In order to be able to support the functionality provided 
> by RELOAD,
> HIP needs to support multi-hop routing. Instead of specifying 
> it in the
> HIP BONE draft, having a separate draft seem to make more sense given
> that this functionality has a more general applicability than 
> overlays.
> We would like to ask the WG if we should spin off a new milestone from
> our original milestone for overlays that covers multihop 
> routing in HIP.
> 
> The following draft takes a stab at specifying multihop 
> routing in HIP.
> We would like to ask the WG if we should adopt it as a WG item for the
> milestone above (assuming we decide to create the milestone).
> 
> http://tools.ietf.org/internet-drafts/draft-camarillo-hip-via-00.txt

I'm fine with your suggestion. 

> 
> 4) We have the following milestone:
> 
> "Specify how to generate ORCHIDs from other node identifiers
> including both cryptographic ones (leading to cryptographic
> delegation) and non-cryptographic ones (e.g., identifiers defined by a
> peer protocol)."
> 
> When we created that milestone, we expected to have a generic 
> mechanism
> to transform node IDs into ORCHIDs. However, at this point, it seems
> that such transformation will be done in different ways 
> depending on the
> peer protocol used in a particular overlay. For example, the instance
> specification for RELOAD draft defines such transformation for RELOAD
> peer identifiers. The fact that nobody has submitted a draft for that
> milestone seems to confirm the previous impression. We would 
> like to ask
> the WG if we should remove that milestone from our charter.
> 

(note:  the charter seems to now be missing from
http://www.ietf.org/dyn/wg/charter/hip-charter.html)

RFC4843 already specifies how to generate ORCHIDs from other node
identifiers.  If they are unique, they can serve as the Input in the
ORCHID algorithm.  But they cannot be used as HITs.  Was that the intent
of the charter item, to allow non-HIT ORCHIDs to serve the role as HITs
in the protocol?  (See above discussion about overlays)

I think the interesting question is how to bind other node identifiers
that are not public keys to HIP's public keys.  I have been assuming
that certificates and HIP-CERT are the answer there.  At least, that has
been the direction that we have been interested in at Boeing.

- Tom