Mbed-TLS / mbedtls

An open source, portable, easy to use, readable and flexible TLS library, and reference implementation of the PSA Cryptography API. Releases are on a varying cadence, typically around 3 - 6 months between releases.
https://www.trustedfirmware.org/projects/mbed-tls/
Other
5.08k stars 2.52k forks source link

Complete the key output support in the PSA PAKE API #4520

Open yanesca opened 3 years ago

yanesca commented 3 years ago

Enhancement / Feature Request

Suggested enhancement

Add the ability to output the missing types of keys from PAKEs.

Justification - why does the library need this feature?

Some schemes specify key confirmation as part of the algorithm (see #4519). Before the key confirmation completes the schemes provide only implicit key confirmation for the key.

Some schemes output raw keying material that must not be used as keys directly, some others session keys that in theory could be used directly (but in practice they still should be used in key derivation as a typical session needs at least two symmetric keys).

In summary, in the output we need to differentiate between the following:

4000 only specifies parts of the PAKE interface that are needed for J-PAKE. J-PAKE doesn't mandate or specify key confirmation and results in key material.

Background

See the "Key confirmation" section of the design document for more information.

Prerequisites: #4000, #4519

yanesca commented 3 years ago

The design document mentions two other kind of key outputs from PAKEs:

Both of these are out of scope for this task because: