Re: [I2nsf] [IPsec] draft-abad-i2nsf-sdn-ipsec-flow-protection

Rafa Marin-Lopez <rafa@um.es> Wed, 19 July 2017 14:42 UTC

Return-Path: <rafa@um.es>
X-Original-To: i2nsf@ietfa.amsl.com
Delivered-To: i2nsf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 088EE131C57; Wed, 19 Jul 2017 07:42:52 -0700 (PDT)
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, HTML_MESSAGE=0.001, RP_MATCHES_RCVD=-0.001, SPF_PASS=-0.001, URIBL_BLOCKED=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 Yj-abjpV5aLz; Wed, 19 Jul 2017 07:42:47 -0700 (PDT)
Received: from xenon42.um.es (xenon42.um.es [IPv6:2001:720:1710:601::42]) by ietfa.amsl.com (Postfix) with ESMTP id 296F2131C08; Wed, 19 Jul 2017 07:42:47 -0700 (PDT)
Received: from localhost (localhost [127.0.0.1]) by xenon42.um.es (Postfix) with ESMTP id 091CB20B1E; Wed, 19 Jul 2017 16:42:46 +0200 (CEST)
X-Virus-Scanned: by antispam in UMU at xenon42.um.es
Received: from xenon42.um.es ([127.0.0.1]) by localhost (xenon42.um.es [127.0.0.1]) (amavisd-new, port 10024) with LMTP id S7RBPi6OrUpN; Wed, 19 Jul 2017 16:42:45 +0200 (CEST)
Received: from quantum.inf.um.es (quantum.inf.um.es [155.54.204.208]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) (Authenticated sender: rafa@um.es) by xenon42.um.es (Postfix) with ESMTPSA id 6DBC020B18; Wed, 19 Jul 2017 16:42:43 +0200 (CEST)
From: Rafa Marin-Lopez <rafa@um.es>
Message-Id: <D34EEF4F-3A3B-4443-AC22-3BBDAF4A3626@um.es>
Content-Type: multipart/alternative; boundary="Apple-Mail=_8DA084F7-8E63-471E-BD23-67AD5E8CDF7C"
Mime-Version: 1.0 (Mac OS X Mail 10.3 \(3273\))
Date: Wed, 19 Jul 2017 16:42:41 +0200
In-Reply-To: <F49572FB-D58D-44F8-9C7F-EF7E817A973B@um.es>
Cc: Rafa Marin-Lopez <rafa@um.es>, i2nsf@ietf.org, IPsecME WG <ipsec@ietf.org>, Alejandro Pérez Méndez <alex@um.es>, gabriel Lopez <gabilm@um.es>
To: Valery Smyslov <svanru@gmail.com>
References: <021c01d2ffcf$95f043b0$c1d0cb10$@gmail.com> <f56439b8-09f7-af23-32ed-061dc1f887a8@um.es> <02e601d3005a$c1791170$446b3450$@gmail.com> <1e2efa38-5b95-7685-8fb9-047b656f0e58@um.es> <031201d30085$d4cab0a0$7e6011e0$@gmail.com> <F49572FB-D58D-44F8-9C7F-EF7E817A973B@um.es>
X-Mailer: Apple Mail (2.3273)
Archived-At: <https://mailarchive.ietf.org/arch/msg/i2nsf/tTTDV3lH5hH2iT14_JtI0vU76QU>
Subject: Re: [I2nsf] [IPsec] draft-abad-i2nsf-sdn-ipsec-flow-protection
X-BeenThere: i2nsf@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: "*I2NSF: Interface to Network Security Functions mailing list*" <i2nsf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/i2nsf>, <mailto:i2nsf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/i2nsf/>
List-Post: <mailto:i2nsf@ietf.org>
List-Help: <mailto:i2nsf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/i2nsf>, <mailto:i2nsf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 19 Jul 2017 14:42:52 -0000

Hi Valery, Gabi:

A couple of comments inline.

> El 19 jul 2017, a las 16:21, Gabriel Lopez <gabilm@um.es> escribió:
> 
> Hi Valery,
> 
>> El 19 jul 2017, a las 13:54, Valery Smyslov <svanru@gmail.com <mailto:svanru@gmail.com>> escribió:
>> 
>> Hi Alejandro,
>> 
>>>>>> It is more fragile too. You must perform periodical rekey (update keys)
>>>>>> and this must be done synchronously.
>>>>> You have to do it by pairs, does not seem that difficult. And, as IKE
>>>>> does, you create the new ones and, once created, delete the old ones. I
>>>>> don't see the synchrony problem that important.
>>>> In ideal world - yes. In real world - I'm not so sure.
>>>> Imagine you have an SA expired and the SDN installs a new SA
>>>> on the peers, but one of SDN-peer TLS connection failed because off
>>>> the temporary network problem, so you have a new SA partially installed.
>>>> What is the peer that didn't receive a new SA supposed to do?
>>>> Continue to use an old one despite the fact that it is expired?
>>>> Block all traffic? Something else?
>>> In fact, I think the SDN-based approach performs even better than IKE in
>>> this regards.
>>> Imagine what happens if the corresponding IKE rekey process fails for
>>> the very same temporary network problem. In the best case, CHILD SAs are
>>> deleted after a hard expiration, and they will need to be re-created
>>> when triggered by the SPD again. This is roughly identical to the SDN
>>> approach. But, typically, when an IKE rekey fails, the initiator will
>>> likely close the entire IKE_SA thinking the other peer is down, which
>>> would result into having to recreate the IKE_SA (including the DH
>>> exchange), and all the associated CHILD_SAs afterwards.
>> 
>> Exactly, that's what IKE will do. But this is reasonable, because if IKE
>> messages cannot go between peers, it is most probably that 
>> IPsec won't go either (especially in case of UDP encapsulation).
>> With SDN the situation is a bit different. The network problem 
>> takes place on SDN-EE path, while EE-EE path works well,
>> but the peers cannot communicate, because SDN fails to provide
>> the keys in time. Note, that rekey may take place quite often, depending 
>> on the algorithms involved. 
> 
> [Gabi] This kind of strong requirements on the controller availability and workload is assumed in the SDN paradigm. Let’s think in a L2 OpenFlow controller for example, where the L2-switch has to forward a copy of the incoming frame before to forward it.
>> 
>>>> How NAT traversal is to be done in IKE-less case? I understand, that
>>>> NATs are also controlled by SDN, but does SDN pre-install NAT mappings?
>>> 
>>> That's a good question. I would say so, yes.
>> 
>> So, SDN needs to synchronously configure one more entity (NAT)
>> for IPsec to start working? 
> 
> [Gabi] If NAT is required the controller should know that, the IPsec configuration required to cross the NAT should be applied by the Security Controller . The configuration of the NAT entity may be configured independently (manually or not, note that there are Yang models for NAT (https://tools.ietf.org/html/draft-sivakumar-yang-nat-07 <https://tools.ietf.org/html/draft-sivakumar-yang-nat-07>)).
> 
>> 
>>> But, would that generate problems if the NAT box is not included in your
>>> SDN (e.g. it belongs to the mall centre or similar)?
>> 
>> In this case you first need to use UDP encapsulation and second need to send
>> NAT keepalive messages periodically. Usually it is IKE who  sends
>> these messages (I admit that you can also sends them from the kernel).
>> IKE also determines if there is a NAT in between and which peer is 
>> behind the NAT. In case the NAT is out of SDN control, who will do this job?
> 
> [Gabi] the Controller should know that there is NAT in the scenario.

[Rafa] As additional comment to Gabi’s e-mail related with NAT, in our draft we have this text when IKE is not in the device (NSF):

"Another example is the
   NAT traversal support.  In general, the SDN paradigm assumes the SDN
   controller has a view of the network it controls.  This view is built
   either requesting information to the NSFs under its control or
   because these NSFs inform the SDN controller.  Based on this
   information, the SDN/security controller can guess if there is a NAT
   configured between two hosts, apply the required policies to both
   NSFs besides activating the usage of UDP encapsulation of ESP packets
   [RFC3948].

   In those scenarios, the Controller could directly request the NSF for
   specific data such as networking configuration, NAT support, etc.
   Protocols such as NETCONF or SNMP can be used here.  For example, RFC
   7317 [RFC7317] provides a YANG data model for system management or
   [I-D.sivakumar-yang-nat] a data model for NAT management.


>> 
>> What is supposed to be done if packet with invalid AH/ESP SPI is received?
> 
> 
> 
>> Clearly, the packet itself is dropped, but later IKEv2 extensions (namely
>> RFC6290, Quick Crash Detection) allows to send IKE notification
>> to the peer with a security token to help peers quickly recover from the crash.
>> What is supposed to be done in IKE-less case? Or do you think  that
>> with SDN such things like non-synchronized IPsec states never happen?

> 
> [Gabi] If it is an audiatable event by the kernel, the peer can notify the controller about that (some examples of notifications are already included in the yang model)

[Rafa] Regarding the quick recover, it is typical a keep alive mechanism between the device and the SDN controller. So that the SDN controller can react quickly when a device restart or crash.

Best Regards.

> 
> Thanks for the comments, this discussion is really interesting ….


> 
> Regards, Gabi.
>> 
>> Regards,
>> Valery. 
>> 
>>> These are exactly the sort of situations that need to be figured out.
>> 
>> I believe there are many of them.
>> 
>> Regards,
>> Valery.
>> 
>> _______________________________________________
>> I2nsf mailing list
>> I2nsf@ietf.org <mailto:I2nsf@ietf.org>
>> https://www.ietf.org/mailman/listinfo/i2nsf <https://www.ietf.org/mailman/listinfo/i2nsf>
> 
> 
> 
> -----------------------------------------------------------
> Gabriel López Millán
> Departamento de Ingeniería de la Información y las Comunicaciones
> University of Murcia
> Spain
> Tel: +34 868888504
> Fax: +34 868884151
> email: gabilm@um.es <mailto:gabilm@um.es>
> 
> 
> 
> 
> _______________________________________________
> IPsec mailing list
> IPsec@ietf.org <mailto:IPsec@ietf.org>
> https://www.ietf.org/mailman/listinfo/ipsec <https://www.ietf.org/mailman/listinfo/ipsec>
-------------------------------------------------------
Rafa Marin-Lopez, PhD
Dept. Information and Communications Engineering (DIIC)
Faculty of Computer Science-University of Murcia
30100 Murcia - Spain
Telf: +34868888501 Fax: +34868884151 e-mail: rafa@um.es
-------------------------------------------------------