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
Fix description of deviceauth_alg_values for mdoc + add examples (#650)
Merging now we have all the reviews as per agreement on yesterday's WG call. Thanks to Tobias for doing all the work!
* Grammar fixes to sentence about deviceauth_alg_values for mdoc
As per Oliver's suggestion on the issue
closes#644
* updates to PR
* Update openid-4-verifiable-presentations-1_0.md
Co-authored-by: Christian Bormann <8774236+c2bo@users.noreply.github.com>
* Apply MikeJ's suggestions
Co-authored-by: Michael B. Jones <michael_b_jones@hotmail.com>
---------
Co-authored-by: Tobias Looker <tobias.looker@mattr.global>
Co-authored-by: Tobias Looker <tplooker@gmail.com>
Co-authored-by: Christian Bormann <8774236+c2bo@users.noreply.github.com>
Co-authored-by: Michael B. Jones <michael_b_jones@hotmail.com>
Copy file name to clipboardExpand all lines: openid-4-verifiable-presentations-1_0.md
+29-11Lines changed: 29 additions & 11 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2751,23 +2751,41 @@ Some document types support some transaction data ((#transaction_data)) to be pr
2751
2751
The `vp_formats_supported` parameter of the Verifier metadata or Wallet metadata MUST have the Credential Format Identifier as a key, and the value MUST be an object consisting of the following name/value pairs:
2752
2752
2753
2753
*`issuerauth_alg_values`: OPTIONAL. A non-empty array containing cryptographic algorithm identifiers. The Credential MUST be considered to fulfill the requirement(s) expressed in this parameter if one of the following is true: 1) The value in the array matches the 'alg' value in the IssuerAuth COSE header. 2) The value in the array is a fully specified algorithm according to [@!I-D.ietf-jose-fully-specified-algorithms] and the combination of the `alg` value in the `IssuerAuth` COSE header and the curve used by the signing key of the COSE structure matches the combination of the algorithm and curve identified by the fully specified algorithm. As an example, if the `IssuerAuth` structure contains an `alg` header with value `-7` (which stands for ECDSA with SHA-256 in [@IANA.COSE]) and is signed by a P-256 key, then it matches an `issuerauth_alg_values` element of `-7` and `-9` (which stands for ECDSA using P-256 curve and SHA-256 in [@!I-D.ietf-jose-fully-specified-algorithms]).
2754
-
*`deviceauth_alg_values`: OPTIONAL. A non-empty array containing cryptographic algorithm identifiers. The Credential MUST be considered to fulfill requirement(s) expressed in this parameter if one of the following is true: 1) The value in the array matches the 'alg' value in the `DeviceSignature` or `DeviceMac` COSE header. 2) The value in the array is a fullyspecified algorithm according to [@!I-D.ietf-jose-fully-specified-algorithms] and the combination of the `alg` value in the `DeviceSignature` COSE header and the curve used by the signing key of the COSE structure matches the combination of the algorithm and curve identified by the fullyspecified algorithm. 3) The value in the array is the `alg` of the `DeviceMac` COSE header is `HMAC 256/256` (as described in Section 9.1.3.5 of [@ISO.18013-5]) and the curve of the device key (from Table 22 of [@ISO.18013-5]) matches one of the values defined in the following table:
2754
+
*`deviceauth_alg_values`: OPTIONAL. A non-empty array containing cryptographic algorithm identifiers. The Credential MUST be considered to fulfill the requirement(s) expressed in this parameter if one of the following is true: 1) The value in the array matches the 'alg' value in the `DeviceSignature` or `DeviceMac` COSE header. 2) The value in the array is a fully-specified algorithm according to [@!I-D.ietf-jose-fully-specified-algorithms] and the combination of the `alg` value in the `DeviceSignature` COSE header and the curve used by the signing key of the COSE structure matches the combination of the algorithm and curve identified by the fully-specified algorithm. 3) The `alg` of the `DeviceMac` COSE header is `HMAC 256/256` (as described in Section 9.1.3.5 of [@ISO.18013-5]) and the curve of the device key (from Table 22 of [@ISO.18013-5]) matches a value in the array using the identifiers defined in the following table:
2755
2755
2756
-
|Curve Name | Value |
2756
+
|Algorithm Name | Algorithm Value |
2757
2757
|:--- |:--- |
2758
-
| Curve P-256 | -65537 |
2759
-
| Curve P-384 | -65538 |
2760
-
| Curve P-521 | -65539 |
2761
-
| X25519 | -65540 |
2762
-
| X448 | -65541 |
2763
-
| brainpoolP256r1 | -65542 |
2764
-
| brainpoolP320r1 | -65543 |
2765
-
| brainpoolP384r1 | -65544 |
2766
-
| brainpoolP512r1 | -65545 |
2758
+
|HMAC 256/256 using ECDH with Curve P-256 | -65537 |
2759
+
|HMAC 256/256 using ECDH with Curve P-384 | -65538 |
2760
+
|HMAC 256/256 using ECDH with Curve P-521 | -65539 |
2761
+
|HMAC 256/256 using ECDH with X25519 | -65540 |
2762
+
|HMAC 256/256 using ECDH with X448 | -65541 |
2763
+
|HMAC 256/256 using ECDH with brainpoolP256r1 | -65542 |
2764
+
|HMAC 256/256 using ECDH with brainpoolP320r1 | -65543 |
2765
+
|HMAC 256/256 using ECDH with brainpoolP384r1 | -65544 |
2766
+
|HMAC 256/256 using ECDH with brainpoolP512r1 | -65545 |
2767
2767
Table: Mapping of curves to `alg` identifiers used for the `HMAC 256/256` case
2768
2768
2769
2769
Note: These are specified in OpenID4VP only for private use in this parameter in this specification, and might be superseded by a future registration in IANA.
2770
2770
2771
+
For clarity, the following is a couple of non-normative examples of the `deviceauth_alg_values` parameter
2772
+
2773
+
The example below indicates the verifier supports DeviceMac with HMAC 256/256, where the MAC key is established via ECDH using keys on the P-256 curve as per Section 9.1.3.5 of [@ISO.18013-5].
2774
+
2775
+
```json
2776
+
{
2777
+
"deviceauth_alg_values": [ -65537 ]
2778
+
}
2779
+
```
2780
+
2781
+
The example below indicates the verifier supports DeviceMac with HMAC 256/256, where the MAC key is established via ECDH using keys on the P-256 curve as per Section 9.1.3.5 of [@ISO.18013-5], and DeviceSignature using ECDSA with the P-256 curve.
2782
+
2783
+
```json
2784
+
{
2785
+
"deviceauth_alg_values": [ -65537, -9 ]
2786
+
}
2787
+
```
2788
+
2771
2789
The following is a non-normative example of `client_metadata` request parameter value in a request to present an ISO/IEC 18013-5 mDOC.
0 commit comments