1
1
---
2
- title : The OPAQUE Asymmetric PAKE Protocol
2
+ title : The OPAQUE Augmented PAKE Protocol
3
3
abbrev : OPAQUE
4
4
docname : draft-irtf-cfrg-opaque-latest
5
5
date :
@@ -271,7 +271,7 @@ protocols"
271
271
272
272
--- abstract
273
273
274
- This document describes the OPAQUE protocol, a secure asymmetric
274
+ This document describes the OPAQUE protocol, an augmented (or asymmetric)
275
275
password-authenticated key exchange (aPAKE) that supports mutual
276
276
authentication in a client-server setting without reliance on PKI and
277
277
with security against pre-computation attacks upon server compromise.
@@ -296,7 +296,7 @@ TLS is also vulnerable to cases where TLS may fail, including PKI
296
296
attacks, certificate mishandling, termination outside the security
297
297
perimeter, visibility to TLS-terminating intermediaries, and more.
298
298
299
- Asymmetric (or Augmented ) Password Authenticated Key Exchange (aPAKE)
299
+ Augmented (or Asymmetric ) Password Authenticated Key Exchange (aPAKE)
300
300
protocols are designed to provide password authentication and
301
301
mutually authenticated key exchange in a client-server setting without
302
302
relying on PKI (except during client registration) and without
@@ -2265,6 +2265,23 @@ attacker from using this data to mount a server spoofing attack. Supporting impl
2265
2265
need to consider allowing separate AKE and OPRF algorithms in cases where the HSM is
2266
2266
incompatible with the OPRF algorithm.
2267
2267
2268
+ # # Client Authentication Using Credentials
2269
+
2270
+ For scenarios in which the client has access to private state that can be persisted across
2271
+ registration and login, the client can back up the `randomized_password` variable (as
2272
+ computed in {{finalize-request}}) so that upon a future login attempt, the client can
2273
+ authenticate to the server using `randomized_password` instead of the original password.
2274
+ This can be achieved by supplying an arbitrary password as input to
2275
+ ` CreateCredentialRequest` in the login phase, and then using `randomized_password` from
2276
+ the backup in `RecoverCredentials` (invoked by `GenerateKE3`) rather than computing it from
2277
+ the password.
2278
+
2279
+ This provides an advantage over the regular authentication flow for login
2280
+ in that if `randomized_password` is compromised, an adversary cannot use this value to
2281
+ successfully impersonate the server to the client during login. The drawback is that it is
2282
+ only applicable to settings where `randomized_password` can be treated as a credential
2283
+ which can be stored securely after registration and retrieved upon login.
2284
+
2268
2285
# IANA Considerations
2269
2286
2270
2287
This document makes no IANA requests.
0 commit comments