You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: doc/crypto/api/keys/policy.rst
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -37,7 +37,7 @@ The following algorithm policies are supported:
37
37
* An algorithm built from `PSA_ALG_AT_LEAST_THIS_LENGTH_MAC()` permits any MAC algorithm from the same base class (for example, CMAC) which computes or verifies a MAC length greater than or equal to the length encoded in the wildcard algorithm.
38
38
* An algorithm built from `PSA_ALG_AEAD_WITH_AT_LEAST_THIS_LENGTH_TAG()` permits any AEAD algorithm from the same base class (for example, CCM) which computes or verifies a tag length greater than or equal to the length encoded in the wildcard algorithm.
39
39
* The `PSA_ALG_CCM_STAR_ANY_TAG` wildcard algorithm permits the `PSA_ALG_CCM_STAR_NO_TAG` cipher algorithm, the `PSA_ALG_CCM` AEAD algorithm, and the :code:`PSA_ALG_AEAD_WITH_SHORTENED_TAG(PSA_ALG_CCM, tag_length)` truncated-tag AEAD algorithm for ``tag_length`` equal to 4, 8 or 16.
40
-
* The wildcard key policy :code:`PSA_ALG_WPA3_SAE_H2E(PSA_ALG_ANY_HASH)` permits a password key to be used with any WPA3-SAE cipher suite.
40
+
* The wildcard key policy `PSA_ALG_WPA3_SAE_ANY` permits a password key or WPA3-SAE password token key to be used with any WPA3-SAE cipher suite.
41
41
42
42
When a key is used in a cryptographic operation, the application must supply the algorithm to use for the operation. This algorithm is checked against the key's permitted-algorithm policy.
Copy file name to clipboardExpand all lines: doc/crypto/api/keys/types.rst
+8Lines changed: 8 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -988,6 +988,10 @@ See :secref:`wpa3-sae-passwords`.
988
988
989
989
To construct a WPA3-SAE password token, it must be output from key derivation operation using the `PSA_ALG_WPA3_SAE_H2E` algorithm.
990
990
991
+
.. note::
992
+
993
+
To use a password token key with both `PSA_ALG_WPA3_SAE_FIXED` and `PSA_ALG_WPA3_SAE_GDH` algorithms, create the key with the wildcard `PSA_ALG_WPA3_SAE_ANY` permitted algorithm.
994
+
991
995
.. subsection:: Compatible algorithms
992
996
993
997
.. hlist::
@@ -1036,6 +1040,10 @@ See :secref:`wpa3-sae-passwords`.
1036
1040
1037
1041
To construct a WPA3-SAE password token, it must be output from key derivation operation using the `PSA_ALG_WPA3_SAE_H2E` algorithm.
1038
1042
1043
+
.. note::
1044
+
1045
+
To use a password token key with both `PSA_ALG_WPA3_SAE_FIXED` and `PSA_ALG_WPA3_SAE_GDH` algorithms, create the key with the wildcard `PSA_ALG_WPA3_SAE_ANY` permitted algorithm.
Copy file name to clipboardExpand all lines: doc/crypto/api/ops/key-derivation.rst
+3-1Lines changed: 3 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -394,7 +394,9 @@ Key-derivation algorithms
394
394
395
395
:secref:`wpa3-sae-keys` provides details of the derivation procedures.
396
396
397
-
The wildcard key policy :code:`PSA_ALG_WPA3_SAE_H2E(PSA_ALG_ANY_HASH)` permits a password key to be used with any WPA3-SAE cipher suite.
397
+
.. note::
398
+
399
+
To use a single password key with `PSA_ALG_WPA3_SAE_H2E` for any WPA3-SAE cipher suite, create the key with the wildcard `PSA_ALG_WPA3_SAE_ANY` permitted algorithm.
Copy file name to clipboardExpand all lines: doc/crypto/api/ops/pake.rst
+18-15Lines changed: 18 additions & 15 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2168,7 +2168,7 @@ For example, the following code creates a PAKE cipher suite for WPA3-SAE using h
2168
2168
WPA3-SAE password processing
2169
2169
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2170
2170
2171
-
WPA3-SAE defines the following two methods for deriving the password element (PWE) from the password:
2171
+
WPA3-SAE defines the following two methods for deriving the password element PWE from the password:
2172
2172
2173
2173
.. list-table::
2174
2174
:widths: 1 4
@@ -2193,20 +2193,23 @@ The hash-to-element method is recommended, as it is less vulnerable to timing-ba
2193
2193
2194
2194
WPA3-SAE password processing
2195
2195
2196
+
For both methods, the password must be imported as a key of type `PSA_KEY_TYPE_PASSWORD`.
2197
+
The password must be encoded as defined in `[IEEE-802.11]` §12.4.3.
2198
+
2199
+
.. note::
2200
+
2201
+
`[IEEE-802.11]` specifies that the same password is used for any configured WPA3-SAE cipher suites, and with any configured PWE-derivation methods.
2202
+
The wildcard key policy `PSA_ALG_WPA3_SAE_ANY` permits a password key to be used for any valid derivation method, and with any valid WPA3-SAE cipher suite.
2203
+
2196
2204
.. rubric:: Looping method
2197
2205
2198
-
To use the looping method, import the password into a key of type `PSA_KEY_TYPE_PASSWORD`.
2199
-
The password must be encoded as defined in `[IEEE-802.11]` §12.4.3.
2200
-
Provide this key to the WPA3-SAE PAKE operation in the call to `psa_pake_setup()`.
2206
+
Provide the password key directly to the WPA3-SAE PAKE operation in the call to `psa_pake_setup()`.
2201
2207
2202
2208
.. rubric:: Hash-to-element method
2203
2209
2204
2210
To use the hash-to-element method:
2205
2211
2206
-
1. Import the password into a key of type `PSA_KEY_TYPE_PASSWORD`.
2207
-
The password must be encoded as defined in `[IEEE-802.11]` §12.4.3.
2208
-
2209
-
#. A WPA3-SAE password token is derived from the WPA3-SAE password, using a key-derivation operation with the `PSA_ALG_WPA3_SAE_H2E()` algorithm.
2212
+
1. A WPA3-SAE password token is derived from the WPA3-SAE password, using a key-derivation operation with the `PSA_ALG_WPA3_SAE_H2E()` algorithm.
2210
2213
The `PSA_ALG_WPA3_SAE_H2E()` algorithm is parameterized by the hash used in the required WPA3-SAE cipher suite.
2211
2214
2212
2215
The password token is output from the key-derivation operation as a key of type `PSA_KEY_TYPE_WPA3_SAE_ECC()` or `PSA_KEY_TYPE_WPA3_SAE_DH()`.
@@ -2216,7 +2219,9 @@ To use the hash-to-element method:
2216
2219
2217
2220
#. Pass the password token key to the WPA3-SAE PAKE operation in the call to `psa_pake_setup()`.
2218
2221
2219
-
The wildcard key policy `PSA_ALG_WPA3_SAE_ANY` permits a password token key to be used with both the `PSA_ALG_WPA3_SAE_FIXED()` and `PSA_ALG_WPA3_SAE_GDH()` PAKE algorithms.
2222
+
.. note::
2223
+
2224
+
The wildcard key policy `PSA_ALG_WPA3_SAE_ANY` permits a password token key to be used with both the `PSA_ALG_WPA3_SAE_FIXED()` and `PSA_ALG_WPA3_SAE_GDH()` PAKE algorithms.
2220
2225
2221
2226
The following steps demonstrate the derivation of a password token for use with the group-dependent-hash variant of WPA3-SAE.
2222
2227
The selected cipher suite in the example is IANA Group 20: ECC using secp384r1, hash function SHA-384.
@@ -2518,15 +2523,13 @@ WPA3-SAE algorithms
2518
2523
WPA3-SAE algorithms with a group-dependent size for the output key, are constructed using :code:`PSA_ALG_WPA3_SAE_GDH(hash_alg)`.
2519
2524
2520
2525
.. macro:: PSA_ALG_WPA3_SAE_ANY
2521
-
:definition: ((psa_algorithm_t)0x0a000800)
2526
+
:definition: ((psa_algorithm_t)0x0a0088ff)
2522
2527
2523
2528
.. summary::
2524
-
A wildcard algorithm that permits a WPA3-SAE password token key to be used in hash-to-element and group-dependent-hash variants of the WPA3-SAE PAKE algorithm.
2529
+
A wildcard algorithm for WPA3-SAE password keys and password token keys.
2525
2530
2526
2531
.. versionadded:: 1.4
2527
2532
2528
-
If a WPA3-SAE password token key specifies `PSA_ALG_WPA3_SAE_ANY` as its permitted algorithm, then the key can be used with the `PSA_ALG_WPA3_SAE_FIXED()` and `PSA_ALG_WPA3_SAE_GDH()` PAKE algorithms.
2529
-
2530
-
.. todo::
2533
+
If a password key (key type `PSA_KEY_TYPE_PASSWORD`) specifies `PSA_ALG_WPA3_SAE_ANY` as its permitted algorithm, then the key can be used for any WPA3-SAE cipher suite with the `PSA_ALG_WPA3_SAE_H2E` key-derivation algorithm, and with the `PSA_ALG_WPA3_SAE_FIXED` PAKE algorithm.
2531
2534
2532
-
We could extend this wildcard key policy to also cover the cases for password keys being used in the PAKE and KDF algorithms for WPA3-SAE?
2535
+
If a WPA3-SAE password token key specifies `PSA_ALG_WPA3_SAE_ANY` as its permitted algorithm, then the key can be used with both the `PSA_ALG_WPA3_SAE_FIXED()` and `PSA_ALG_WPA3_SAE_GDH()` PAKE algorithms.
a. ``hh`` is the HASH-TYPE for the hash algorithm, ``hash``, used to construct the key-derivation algorithm.
445
446
447
+
b. The wildcard algorithm `PSA_ALG_WPA3_SAE_ANY` permits a password key to be used for any WPA3-SAE cipher suite with the `PSA_ALG_WPA3_SAE_H2E` key-derivation algorithm, and with the `PSA_ALG_WPA3_SAE_FIXED` PAKE algorithm.
448
+
449
+
c. The wildcard algorithm `PSA_ALG_WPA3_SAE_ANY` permits a WPA3-SAE password token key to be used for both the `PSA_ALG_WPA3_SAE_FIXED` and `PSA_ALG_WPA3_SAE_GDH` PAKE algorithms.
0 commit comments