Re: [IPsec] Proposed method to achieve quantum resistant IKEv2

Michael Richardson <mcr+ietf@sandelman.ca> Wed, 09 August 2017 18:12 UTC

Return-Path: <mcr+ietf@sandelman.ca>
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 0CB71132448 for <ipsec@ietfa.amsl.com>; Wed, 9 Aug 2017 11:12:17 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.901
X-Spam-Level:
X-Spam-Status: No, score=-1.901 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-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 FtatI_x1puwq for <ipsec@ietfa.amsl.com>; Wed, 9 Aug 2017 11:12:15 -0700 (PDT)
Received: from tuna.sandelman.ca (tuna.sandelman.ca [209.87.249.19]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 686A713245E for <ipsec@ietf.org>; Wed, 9 Aug 2017 11:12:15 -0700 (PDT)
Received: from sandelman.ca (obiwan.sandelman.ca [209.87.249.21]) by tuna.sandelman.ca (Postfix) with ESMTP id 666632009E; Wed, 9 Aug 2017 14:14:30 -0400 (EDT)
Received: from obiwan.sandelman.ca (localhost [IPv6:::1]) by sandelman.ca (Postfix) with ESMTP id A6C5580717; Wed, 9 Aug 2017 14:12:14 -0400 (EDT)
From: Michael Richardson <mcr+ietf@sandelman.ca>
To: Daniel Van Geest <Daniel.VanGeest@isara.com>
cc: "Graham Bartlett (grbartle)" <grbartle@cisco.com>, "ipsec@ietf.org" <ipsec@ietf.org>
In-Reply-To: <B991A75E-0473-428E-95B8-39491D0EB098@isaracorp.com>
References: <BBEB2C9C-9B96-4C6C-BB9B-4415F096FAE1@cisco.com> <B991A75E-0473-428E-95B8-39491D0EB098@isaracorp.com>
X-Mailer: MH-E 8.6; nmh 1.6+dev; GNU Emacs 24.5.1
X-Face: $\n1pF)h^`}$H>Hk{L"x@)JS7<%Az}5RyS@k9X%29-lHB$Ti.V>2bi.~ehC0; <'$9xN5Ub# z!G,p`nR&p7Fz@^UXIn156S8.~^@MJ*mMsD7=QFeq%AL4m<nPbLgmtKK-5dC@#:k
MIME-Version: 1.0
Content-Type: multipart/signed; boundary="=-=-="; micalg="pgp-sha256"; protocol="application/pgp-signature"
Date: Wed, 09 Aug 2017 14:12:14 -0400
Message-ID: <10412.1502302334@obiwan.sandelman.ca>
Archived-At: <https://mailarchive.ietf.org/arch/msg/ipsec/Pz2xyNmaB1ECjRnB4b-4jgtFmVo>
Subject: Re: [IPsec] Proposed method to achieve quantum resistant IKEv2
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: Wed, 09 Aug 2017 18:12:17 -0000

Daniel Van Geest <Daniel.VanGeest@isara.com> wrote:
    > transform *attributes*, but not about transforms). My point here is
    > that if a responder may chose any of the proposed transforms then for
    > the first proposal to be QS it must not contain any quantum-insecure
    > transforms, or the responder must be modified to understand which
    > ENCR/PRF transforms are QS and to pick them when creating a QS
    > connection (and to fail if no QS algorithms are proposed).

I don't see this an issue.  Perhaps it needs to be well explained, but
generally in IKEv2 we use (UI) suites to configure things.

    > Then if an
    > initiator wants to create QS SAs, but also wants to interoperate with
    > (very?) old responders who don’t support AES-256 or PRF_HMAC_SHA2_384+
    > then they will need a second non-QS proposal in their SA list.

Sure, that's exactly what they will do during the transition time (which may
be a few years... some entities stupidly refuse to even patch systems, preferring to
just replace them with new hardware every three years.)
They will propose a set of things that is compatible to the future and to the
past, and over time the old stuff gets removed from the policy.

    > I don’t find the re-use of transform 4 in this proposal, and the
    > implicit combination of QS + non-QS algorithms, to be the most elegant,
    > though I can understand it in the context of not wanting to add a new
    > transform type.

So you are suggesting that the QR mechanism be a new transform type then?
I could live with that actually since it make the combinatorics easier to manage.

    > The idea is to add the new transform type 6 (Q-S-Group) like CJ’s
    > proposal, but don’t include it in the SA payload. Rather, introduce a
    > new QS_SA payload which would be identical in structure to the SA
    > payload except that it would also include the Q-S-Group transform
    > type. An endpoint could configure the proposals in this payload to

I don't think we need to do this.
I think that unknown transform types will be ignored by compliant
implementations.

    > Something to keep in mind is that many QS key agreement algorithms
    > don’t have exactly the same message flow as Diffie Hellman. With DH,
    > each endpoint’s public/private keys can be generated independently of
    > each other. But many QS algorithms have an initiator-responder flow, so
    > the responder can only generate its public key once it has processed
    > the initiator’s public key. We just need to keep this in mind when
    > designing the flow of the PRE_AUTH messages. An initiator can’t send
    > the first chunk of a public key, and the responder reply with the first
    > chunk of their public key, the responder would need to process all
    > initiator chunks for that key first. This means the initiator would
    > have to send a special acknowledgement response for chunks that don’t
    > complete a public key rather than responding with a partial key when
    > receiving a partial key.

Would the initiator know how much data to expect from the responder?
If so, the initiator can just keep sending query messages to get new blocks
of data back.

    > Also note that StrongSwan’s code assumes that IKE_AUTH will always have
    > a message ID of 1, but this won’t hold if there are one or more

That's a bug, we both agree.

    > 4) That was long

:-)

--
Michael Richardson <mcr+IETF@sandelman.ca>, Sandelman Software Works
 -= IPv6 IoT consulting =-