Re: [IPsec] Call for independent experts (IKEv2) for Stage 4 of the PAKE selection process

Tero Kivinen <kivinen@iki.fi> Fri, 30 August 2019 00:11 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 A28831200B2 for <ipsec@ietfa.amsl.com>; Thu, 29 Aug 2019 17:11:31 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.42
X-Spam-Level:
X-Spam-Status: No, score=-3.42 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, SPF_HELO_NONE=0.001, SPF_NEUTRAL=0.779] 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 AZMB4VWCdbfd for <ipsec@ietfa.amsl.com>; Thu, 29 Aug 2019 17:11:30 -0700 (PDT)
Received: from mail.kivinen.iki.fi (fireball.acr.fi [83.145.195.1]) (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 EC32F1200F8 for <ipsec@ietf.org>; Thu, 29 Aug 2019 17:11:29 -0700 (PDT)
Received: from fireball.acr.fi (localhost [127.0.0.1]) by mail.kivinen.iki.fi (8.15.2/8.15.2) with ESMTPS id x7U0BRE5028040 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Fri, 30 Aug 2019 03:11:27 +0300 (EEST)
Received: (from kivinen@localhost) by fireball.acr.fi (8.15.2/8.14.8/Submit) id x7U0BQ8A014560; Fri, 30 Aug 2019 03:11:26 +0300 (EEST)
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: quoted-printable
Message-ID: <23912.27054.796487.391930@fireball.acr.fi>
Date: Fri, 30 Aug 2019 03:11:26 +0300
From: Tero Kivinen <kivinen@iki.fi>
To: Dan Harkins <dharkins@lounge.org>
Cc: ipsec@ietf.org
In-Reply-To: <7538495e-258d-1927-cbba-eb783675c83f@lounge.org>
References: <CAMr0u6mVev6HmaV259FP8=bcSj89o9xhzAu_81A5VOfR1NiPRA@mail.gmail.com> <7538495e-258d-1927-cbba-eb783675c83f@lounge.org>
X-Mailer: VM 8.2.0b under 25.1.1 (x86_64--netbsd)
X-Edit-Time: 8 min
X-Total-Time: 8 min
Archived-At: <https://mailarchive.ietf.org/arch/msg/ipsec/lW7rPvp-C3asHAKl8cbxkG_jqgk>
Subject: Re: [IPsec] Call for independent experts (IKEv2) for Stage 4 of the PAKE selection process
X-BeenThere: ipsec@ietf.org
X-Mailman-Version: 2.1.29
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: Fri, 30 Aug 2019 00:11:32 -0000

[removed cfrg from CC, as I do not think this issue really belongs
there as we are discussing IKE signaling here].

Dan Harkins writes:
>   First of all this suggestion is for a particular PAKE and I'm not
> suggesting that any of the other candidates would slide in so effortlessly.
> In fact an augmented PAKE is, IMHO, not suitable for a protocol like IKE
> where either side can initiate. The PAKE I'm describing here is SPEKE,
> a balance PAKE.
> 
>   SPEKE does a simple Diffie-Hellman but uses a secret generator that is
> deterministically obtained from the password. This technique is basically
> one of the hash-to-curve functions from the CFRG's hash-to-curve I-D
> or a simple hashing and exponentiation for MODP groups. All this happens
> at password provisioning time prior to IKE being run.
> 
>   Then when IKE is run the secret generator for the negotiated group is
> used to do the D-H, the IKE_SA_INIT exchange is basically SPEKE. The
> result is, if they both have the same generator (which means they had the
> same password), an authenticated shared secret. This secret is verified in
> the IKE_AUTH exchange.

How does the responder know which of the one million username password
pairs to pick to generate the generator when calculating D-H in the
IKE_SA_INIT? The actual identity of the user is only sent in the
encrypted IKE_AUTH message. 

I.e., I think this has exactly same problem than IKEv1 has with
pre-shared keys for main mode. You must know the initiator identity
based on the IP-addresses, thus makes this completely unusable for
non static VPN cases.

>   This would require a new Auth Method defined for SPEKE/PAKE to indicate
> that the SPEKE shared secret is used. And that should be all that's needed.
> It should be that simple. The protocol shouldn't have to change, no new
> messages, no new payloads, no new nuthin. If I'm missing something please
> let me know.
-- 
kivinen@iki.fi