Re: [IPsec] draft-tjhai-ipsecme-hybrid-qske-ikev2-01

Tero Kivinen <kivinen@iki.fi> Tue, 13 February 2018 22:20 UTC

Return-Path: <kivinen@iki.fi>
X-Original-To: ipsec@ietfa.amsl.com
Delivered-To: ipsec@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id E732512D964 for <ipsec@ietfa.amsl.com>; Tue, 13 Feb 2018 14:20:47 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.12
X-Spam-Level:
X-Spam-Status: No, score=-1.12 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_NEUTRAL=0.779, URIBL_BLOCKED=0.001] autolearn=no 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 3bBppTEdVrjC for <ipsec@ietfa.amsl.com>; Tue, 13 Feb 2018 14:20:45 -0800 (PST)
Received: from mail.kivinen.iki.fi (fireball.acr.fi [212.16.101.130]) (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 E2334127058 for <ipsec@ietf.org>; Tue, 13 Feb 2018 14:20:44 -0800 (PST)
Received: from fireball.acr.fi (localhost [127.0.0.1]) by mail.kivinen.iki.fi (8.15.2/8.15.2) with ESMTPS id w1DMKbrH023455 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Wed, 14 Feb 2018 00:20:37 +0200 (EET)
Received: (from kivinen@localhost) by fireball.acr.fi (8.15.2/8.14.8/Submit) id w1DMKbUF022038; Wed, 14 Feb 2018 00:20:37 +0200 (EET)
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Message-ID: <23171.25781.719070.719736@fireball.acr.fi>
Date: Wed, 14 Feb 2018 00:20:37 +0200
From: Tero Kivinen <kivinen@iki.fi>
To: Paul Wouters <paul@nohats.ca>
Cc: Valery Smyslov <smyslov.ietf@gmail.com>, 'CJ Tjhai' <cjt@post-quantum.com>, ipsec@ietf.org
In-Reply-To: <alpine.LRH.2.21.1802121021290.14570@bofh.nohats.ca>
References: <033701d39b5d$bf7f2140$3e7d63c0$@gmail.com> <CANs=h-UXGubRKH4xc_U4YHf2LgwatwsnL3173_0i59DGQo9wDw@mail.gmail.com> <0ab401d3a402$fe205ce0$fa6116a0$@gmail.com> <alpine.LRH.2.21.1802121021290.14570@bofh.nohats.ca>
X-Mailer: VM 8.2.0b under 25.1.1 (x86_64--netbsd)
X-Edit-Time: 16 min
X-Total-Time: 28 min
Archived-At: <https://mailarchive.ietf.org/arch/msg/ipsec/lW4cFBLagNMdAx2VOSrz1z8VJF0>
Subject: Re: [IPsec] draft-tjhai-ipsecme-hybrid-qske-ikev2-01
X-BeenThere: ipsec@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Discussion of IPsec protocols <ipsec.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/ipsec>, <mailto:ipsec-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/ipsec/>
List-Post: <mailto:ipsec@ietf.org>
List-Help: <mailto:ipsec-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/ipsec>, <mailto:ipsec-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 13 Feb 2018 22:20:48 -0000

Paul Wouters writes:
> On Mon, 12 Feb 2018, Valery Smyslov wrote:
> 
> >> This is one particular implementation peculiarity, there
> >> will be others that behaves oddly. The point is, if we introduce a new
> >> Transform Type, it is very likely that backward compatibility can no
> >> longer be achieved.
> >
> > Again, it depends. If the majority of implementations immediately crash once they
> > receive unknown transform, then I agree that we need another mechanism...
> > Most of other cases usually can be dealt with. Probably not all and probably
> > not as elegant as we wish, but still I believe they can.
> 
> We still have plenty of time to get the word out to those
> implementations to fix their problem. By the time we have a
> document ready for post quantum transforms, those implementations
> should have been fixed. It's a little early now to deem this
> an unsurmountable problem.

Yes. Also there is big difference in requirements for
draft-ietf-ipsecme-qr-ikev2 and requirements for proposal doing proper
quantum safe algorithms. The draft-ietf-ipsecme-qr-ikev2 is intended
to be deployed now, and should work with existing implementations
without fatal interoperability errors with them. 

As quantum safe algorithms itself are so much in ongoing research now,
I do not think we will be having implementations out there using any
of the quantum safe algorithms now, and so there will be time for
broken implementations to get fixes installed to them. I.e., if you
still plan on running completely broken strongswan implementation
which do not implement MUSTs in IKEv2 for example in year 2019, then
you are not interested in security, thus you are not really going to
be even try to use anything like quantum safe algorithms to talk to
them...

I mean, if you plan not to install security updates to your IPsec
products for years to come, it does not matter what we do, you most
likely have big security holes in your gateways anyways.

Even RFC4306 said you "MUST contain exactly one transform of each type
included in the proposal" in section 2.7, so what they are doing has
never been allowed in the IKEv2.

In the RFC5996 we did add text saying:

    If the responder receives a proposal that contains a Transform
    Type it does not understand, or a proposal that is missing a
    mandatory Transform Type, it MUST consider this proposal
    unacceptable; however, other proposals in the same SA payload are
    processed as usual.

and if they have not updated IPsec implemenation since 2010, again
there will most likely be so many holes in it that there is no point
of talking about quantum safe algorithms...

We have discussed several times of adding new transform types, and
in most cases we have found better ways of doing that. On the other
hand there is nothing that would make it impossible to add new
transform types. IKEv2 has been designed so that new things can be
added without breaking old implementations (provided old
implementations actually follow what was written in the IKEv2 RFCs).

In this case I think I agree with Valery that adding new transform
types might be good option, and we should investigate that option too. 

> > I prefer to reuse existing code for this and I see no reason why
> > it cannot be done. 
> I agree.

Making IKE_SA_INIT more complicated than what is now, is something we
do not really want to do. It is first exchange with the peer, it has
all kind of denial of service properties which we should try to cope.
We do not want to make it so big it will get larger than one kilobyte
in size, so it will not get fragmented by the IP layer etc. Doing
fragmentation on that layer is very hard if we want to protect that
also against DoS.

I am very much suprised that some of the vendors really said that they
wanted to change the IKE_SA_INIT instead than add new exchange between
IKE_SA_INIT and IKE_AUTH.
-- 
kivinen@iki.fi