Subject: [Cfrg] Fwd: New Version Notification for draft-krawczyk-cfrg-opaque-04.txt

From: Hugo Krawczyk <[email-masked]>
Date: Thu, 14 May 2020 23:20:06 -0400

I posted version 04 of the OPAQUE draft (see links in the forwarded
message).
Main changes from 03 are:

- An expanded section on how to build the EnvU envelope. The specification
is
  general, but for concreteness, the (random-key robust) authenticated
encryption
  is specified using AES-CTR and HMAC. The general mode is encrypt-then-MAC
  with any encryption but only with MAC functions that are also collision
  resistant. So it makes sense to choose HMAC (with 256 or more bits of
output)
  as the MAC. For encryption I chose AES-CTR and included an appendix with
the
  description of such a mode. This does not have to be the final
specification
  for EnvU but I wanted to have one concrete proposal for now. I removed
any
  discussion on accommodating any mode other than encrypt-then-HMAC. GCM is
  allowed but only as GCM-then-HMAC (which would compute GHASH
unnecessarily,
  but it may be convenient for those that want to use the GCM API).

- I expanded details on the integration of specific key-exchange protocols
  within OPAQUE. It includes three protocols: HMQV, 3DH and SIGMA-I. The
latter
  is a natural choice as it is the protocol to be integrated with TLS (and
its
  4-message variant, not presented, would support integration with IKEv2).
  HMQV is there as the most  efficient instantiation of OPAQUE but since it
has
  a patent I added 3DH. 3DH is the basis of SIGNAL and it is identical to
HMQV
  on the wire, only the key derivation changes. This same specification can
be
  extended to semi-static TLS, the Noise family, and possibly the
post-quantum
  AKEs built on KEMs. All these cases can use, in principle, the same
messages
  on the wire and differ in key derivation.

- The OPRF definition was changed not to include the value vU=g^kU under the
  hash. This was there before because of some provability issues with
  multiplicative blinding, but in a recent paper we show this addition to
the
  hash is not needed. At the same time, I changed the presentation to
  exponential blinding for the sake of simplicity (not carrying vU around).
  This section is essentially a placeholder as the OPRF specification will
be
  completely "outsourced" to the voprf document and its suites (which will
also
  determine implementation details related to specific curves which the
current
  draft does not discuss at all).

- I added a subsection on identities that are essential for the security of
  key-exchange protocols.

I assume that OPAQUE will be adopted as a WG item and the draft will morph
into
a more precise, standard- and implementation-oriented document. Chris Wood
has
offered his much needed help for producing such document so I hope that we
will
produce a better version soon. There will be a parallel effort to specify
the
integration of OPAQUE with TLS, a work that was initiated in the past but
was
paused while CFRG was making a determination on PAKE protocols.

Hugo

---------- Forwarded message ---------
From: <[email-masked]>
Date: Thu, May 14, 2020 at 10:39 PM
Subject: New Version Notification for draft-krawczyk-cfrg-opaque-04.txt
To: Hugo Krawczyk <[email-masked]>

A new version of I-D, draft-krawczyk-cfrg-opaque-04.txt
has been successfully submitted by Hugo Krawczyk and posted to the
IETF repository.

Name:           draft-krawczyk-cfrg-opaque
Revision:       04
Title:          The OPAQUE Asymmetric PAKE Protocol
Document date:  2020-05-15
Group:          Individual Submission
Pages:          27
URL:
https://www.ietf.org/internet-drafts/draft-krawczyk-cfrg-opaque-04.txt
Status:         https://datatracker.ietf.org/doc/draft-krawczyk-cfrg-opaque/
Htmlized:       https://tools.ietf.org/html/draft-krawczyk-cfrg-opaque-04
Htmlized:
https://datatracker.ietf.org/doc/html/draft-krawczyk-cfrg-opaque
Diff:
https://www.ietf.org/rfcdiff?url2=draft-krawczyk-cfrg-opaque-04

Abstract:
   This draft describes the OPAQUE protocol, a secure asymmetric
   password authenticated key exchange (aPAKE) that supports mutual
   authentication in a client-server setting without reliance on PKI and
   with security against pre-computation attacks upon server compromise.
   Prior aPAKE protocols did not use salt and if they did, the salt was
   transmitted in the clear from server to user allowing for the
   building of targeted pre-computed dictionaries.  OPAQUE security has
   been proven by Jarecki et al.  (Eurocrypt 2018) in a strong and
   universally composable formal model of aPAKE security.  In addition,
   the protocol provides forward secrecy and the ability to hide the
   password from the server even during password registration.

   Strong security, versatility through modularity, good performance,
   and an array of additional features make OPAQUE a natural candidate
   for practical use and for adoption as a standard.  To this end, this
   draft presents several instantiations of OPAQUE and ways of
   integrating OPAQUE with TLS.

   This draft presents a high-level description of OPAQUE highlighting
   its components and modular design.  It also provides the basis for a
   specification for standardization but a detailed specification ready
   for implementation is beyond the current scope of this document
   (which may be expanded in future revisions or done separately).

Please note that it may take a couple of minutes from the time of submission
until the htmlized version and diff are available at tools.ietf.org.

The IETF Secretariat