Re: [Anima] I-D Action: draft-ietf-anima-grasp-13.txt - SONN

Toerless Eckert <tte@cs.fau.de> Thu, 08 June 2017 18:25 UTC

Return-Path: <eckert@i4.informatik.uni-erlangen.de>
X-Original-To: anima@ietfa.amsl.com
Delivered-To: anima@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 56705129464 for <anima@ietfa.amsl.com>; Thu, 8 Jun 2017 11:25:31 -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, HEADER_FROM_DIFFERENT_DOMAINS=0.001, RCVD_IN_DNSWL_MED=-2.3, RP_MATCHES_RCVD=-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 rhIbgcAeDmYk for <anima@ietfa.amsl.com>; Thu, 8 Jun 2017 11:25:28 -0700 (PDT)
Received: from faui40.informatik.uni-erlangen.de (faui40.informatik.uni-erlangen.de [131.188.34.40]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 4B65C12025C for <anima@ietf.org>; Thu, 8 Jun 2017 11:25:28 -0700 (PDT)
Received: from faui40p.informatik.uni-erlangen.de (faui40p.informatik.uni-erlangen.de [IPv6:2001:638:a000:4134::ffff:77]) by faui40.informatik.uni-erlangen.de (Postfix) with ESMTP id 3403C58C4B0; Thu, 8 Jun 2017 20:25:24 +0200 (CEST)
Received: by faui40p.informatik.uni-erlangen.de (Postfix, from userid 10463) id 1F00AB0C22D; Thu, 8 Jun 2017 20:25:23 +0200 (CEST)
Date: Thu, 08 Jun 2017 20:25:23 +0200
From: Toerless Eckert <tte@cs.fau.de>
To: Michael Richardson <mcr+ietf@sandelman.ca>
Cc: Anima WG <anima@ietf.org>, Brian E Carpenter <brian.e.carpenter@gmail.com>
Message-ID: <20170608182523.GH20021@faui40p.informatik.uni-erlangen.de>
References: <149669625424.3230.10151704455578829166@ietfa.amsl.com> <f829bda3-d4f5-014d-8ffd-e63537171ba6@gmail.com> <20170606232417.GJ12427@faui40p.informatik.uni-erlangen.de> <15560.1496872540@obiwan.sandelman.ca> <20170607225624.GF20021@faui40p.informatik.uni-erlangen.de> <16530.1496889369@obiwan.sandelman.ca>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <16530.1496889369@obiwan.sandelman.ca>
User-Agent: Mutt/1.5.21 (2010-09-15)
Archived-At: <https://mailarchive.ietf.org/arch/msg/anima/1ZGOrczq_ctcmOCUZLpQnmR5zcI>
Subject: Re: [Anima] I-D Action: draft-ietf-anima-grasp-13.txt - SONN
X-BeenThere: anima@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Autonomic Networking Integrated Model and Approach <anima.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/anima>, <mailto:anima-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/anima/>
List-Post: <mailto:anima@ietf.org>
List-Help: <mailto:anima-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/anima>, <mailto:anima-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 08 Jun 2017 18:25:31 -0000

Thanks, Michael:

Any examples of how IKEv2 is used to negotiate other non-IPsec protocols ?

[ I have not found examples describing the use of IKE(v2) for dissimilar
  crypto associations outside of IPsec, except for maybe RFC4595. If i
  wanted for example to negotiate between 802.1ae or IPsec, i wonder what
  amount of trouble/work that would be to define that as an IKEv2 extension
  vs. defining this just as a GRASP negotiation in TLS. ]

Yes, we just made up TLS, and yes, if we can't come to a conclusion that
IKEv2 is not the most feasible approach (see above for my concerns),
TLS may potentially also not be the most widely accepted transport given the
constrained IoT worlds preference to use CoAP/dTLS if i am not mistaken.

In any case this discussion seems to point to need to take the more intelligent
negotiation out of the ACP document into a separate draft where we can continue to
ponder and decide on the best option. Right ?

Eg: Maybe a "lightweight heterogenous security association negotiation mechanism"
would have to be GRASP/CoAP/dTLS. and the negotiation functions should
defintely be able to argue how they did inherit or differ from IKEv2.

In the end this may simple be a more strategic modularization direction,
to reuse evolving building blocks eg: IKEv2 was built as a silo when there
where no widely adopted initial security association protocols like TLS/dTLS.
And the message formats used in IKEv2 where predating evolving industry
preferences over a reuse of request/response exchange standards such as those
of HTTP/CoAP/(hopefully GRASP) or encoding rules such as those of XML or JSON/CBOR.

If using IKEv2 to negotiate into eg: 802.1ae would be easier and make
adoption easier, i'd be all for it. Past experience just makes me think this
to be less likely.

Wrt to IP in dTLS:

This would of course only be a candidate ACP channel. For negotiation we would not
need IP, it would just be GRASP/(d)TLS or GRASP/CoAP/dTLS.

We had the argument in Chigaco or before whether it would be necessary to have a
1 paragraph separate document to state that IP packets can be carried in dTLS,
and i thought we did in the meeting come to the conclusion that that was not
necessary. But that may have been premature. I was looking at:
draft-mavrogiannopoulos-openconnect-00. That certainly is mostly complexity
because it combines TLS for connection negotiation and dTLS for the data.
Gee, i wonder why they didn't use IKEv2 ;-))

Nevertheless: Would be interesting to find the most simple RFC example of
an application protocol that just uses dTLS to have an example of what dTLS
parameters one would need to specify.

(i assume OpenVPN is just an implementation of openconnect mechanism, right ?,
i have not used it myself but just linux openconnect and Cisco Anyconnect)

Btw: Eric recommended to take a look at https://tools.ietf.org/html/draft-ietf-dprive-dtls-and-tls-profiles-09 as a recent example how to specify security profiles for (d)TLS.

Cheers
    toerless

On Wed, Jun 07, 2017 at 10:36:09PM -0400, Michael Richardson wrote:
> 
> Toerless Eckert <tte@cs.fau.de> wrote:
>     > So, in some near term future, ANI/ACP is so successfully that we
>     > have four possible ACP channel protocols: IPsec, IPsec/GRE, dTLS and
>     > 802.1ae
> 
> That's only three, btw.
> And the answer is that you'd use IKEv2 to negotiate which one of them to use,
> because IKEv2 was designed *SPECIFICALLY* to do this kind of thing.
> 
>     > a) We need a security association before we negotiate so the negotiation does
>     > not become an attack vector. Solution: We build a a TLS connection
> 
> You just assumed TLS.
> If you can assume TLS, I can assume IKEv2, and save a lot more code, and
> pages less
> 
> And you have to assume TLS 1.3 (so you need new code and new libraries on
> every device). The process will still be suspectible to trivial TCP RST
> attacks.  So please add some security for that part too!
> 
> 
>     >> 2) We have no meaningful specification for IP over *TLS thing.
>     >> (but that, I mean a deployed protocol with an RFC and widespread
>     >> implementation.)
> 
>     > The negotiation is just GRASP inside TLS. No IP needed.
> 
> I'm talking about the "dTLS" option above you just named.
> What is it?  "IP in DTLS" isn't anywhere near enough.
> Why not add OpenVPN to the list too?
> At least it has widely used, extensively tested reference code, even if it
> has no public specification.
> 
> Some developer in Mumbai will still have no idea what that means.
> Is there an IXIA or SPIRENT module so that I can test it at 10G? or 100G?
> That's a serious objection: you can't just make stuff up like that.
> 
>     >> 3) I have been trying to understand the MACsec KMP, as some would like to run
>     >> the ACP over MACsec.    I originally was led to believe that there was no
>     >> KMP, but after finding the full specifications, it's clear that there is
>     >> support for PSK and other things and even IDevID are mentioned.
>     >> I'd still like to suggest that we negotiate the use of MACsec (or of some
>     >> yet-to-be-well-defined IP over TLS) via IKEv2.  It's not at all hard, and
>     >> if IKEv2 is the MTI, then we need it implemented anyway.  An IKEv2 minimal
>     >> implementation can be very small; lwig has some good advice, but it
>     >> assumes initiator only, and we need both.
>     >>
>     >> I can not see a purpose for SONN, and I do not think we can do a proper
>     >> security analysis, and it forces TLS to be MTI.  SONN will therefore add
>     >> a significant (3-5 pages) of text on how to use TLS properly.
> 
>     > Would be great if you could point me to some example RFC where something like
>     > this ("how to use TLS appropriately") is done!
> 
> I think that the Opportunistic Security specification, https://tools.ietf.org/html/rfc7435
> tried to do this.  I'm not a TLS guy, so go ask one of them.
> 
> --
> Michael Richardson <mcr+IETF@sandelman.ca>, Sandelman Software Works
>  -= IPv6 IoT consulting =-
>