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

Tero Kivinen <> Fri, 30 August 2019 00:11 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id A28831200B2 for <>; Thu, 29 Aug 2019 17:11:31 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -3.42
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 ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id AZMB4VWCdbfd for <>; Thu, 29 Aug 2019 17:11:30 -0700 (PDT)
Received: from ( []) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id EC32F1200F8 for <>; Thu, 29 Aug 2019 17:11:29 -0700 (PDT)
Received: from (localhost []) by (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 (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: <>
Date: Fri, 30 Aug 2019 03:11:26 +0300
From: Tero Kivinen <>
To: Dan Harkins <>
In-Reply-To: <>
References: <> <>
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: <>
Subject: Re: [IPsec] Call for independent experts (IKEv2) for Stage 4 of the PAKE selection process
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Discussion of IPsec protocols <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-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.