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: openid4vc-high-assurance-interoperability-profile-1_0.md
+17-17Lines changed: 17 additions & 17 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -218,9 +218,9 @@ Note: Issuers SHOULD consider how long a refresh token is allowed to be used to
218
218
219
219
Wallets MUST use, and Issuers MUST require, an OAuth2 Client authentication mechanism at OAuth2 Endpoints that support client authentication (such as the PAR and Token Endpoints).
220
220
221
-
Ecosystems that desire wallet-issuer interoperability on the level of Wallet Attestations SHOULD require Wallets to support the authentication mechanism and Wallet Attestation format specified in Annex E of [@!OIDF.OID4VCI]. When doing so, they might need to define additional ecosystem-specific claims contained in the attestation. Alternatively, ecosystems MAY choose to rely on other Wallet Attestation formats.
221
+
Ecosystems that desire wallet-issuer interoperability on the level of Wallet Attestations SHOULD require Wallets to support the authentication mechanism and Wallet Attestation format specified in Appendix E of [@!OIDF.OID4VCI]. When doing so, they might need to define additional ecosystem-specific claims contained in the attestation. Alternatively, ecosystems MAY choose to rely on other Wallet Attestation formats.
222
222
223
-
Additional rules apply when using the format defined in Annex E of [@!OIDF.OID4VCI]:
223
+
Additional rules apply when using the format defined in Appendix E of [@!OIDF.OID4VCI]:
224
224
225
225
* the public key certificate, and optionally a trust certificate chain excluding the trust anchor, used to validate the signature on the Wallet Attestation MUST be included in the `x5c` JOSE header of the Client Attestation JWT
226
226
* Wallet Attestations MUST NOT be reused across different Issuers. They MUST NOT introduce a unique identifier specific to a single Wallet instance. The subject claim for the Wallet Attestation MUST be a value that is shared by all Wallet instances using the present type of wallet implementation. See section 15.4.4 of [@!OIDF.OID4VCI] for details on the Wallet Attestation subject.
@@ -231,7 +231,7 @@ Ecosystems that desire wallet-issuer interoperability on the level of Wallet Att
231
231
232
232
### Key Attestation {#key-attestation}
233
233
234
-
Wallets MUST support key attestations. Ecosystems that desire wallet-issuer interoperability on the level of key attestations SHOULD require Wallets to support the format specified in Annex D of [@!OIDF.OID4VCI], in combination with the following proof types:
234
+
Wallets MUST support key attestations. Ecosystems that desire wallet-issuer interoperability on the level of key attestations SHOULD require Wallets to support the format specified in Appendix D of [@!OIDF.OID4VCI], in combination with the following proof types:
235
235
236
236
*`jwt` proof type using `key_attestation`
237
237
*`attestation` proof type
@@ -284,16 +284,16 @@ The following requirements apply to OpenID for Verifiable Presentations via the
284
284
285
285
* The Wallet MUST support Wallet Invocation via the W3C Digital Credentials API or an equivalent platform API. The Verifier MUST use Wallet Invocation via the W3C Digital Credentials API or an equivalent platform API.
286
286
* The Wallet MUST support the Response Mode `dc_api.jwt`. The Verifier MUST use the Response Mode `dc_api.jwt`.
287
-
* The Verifier and Wallet MUST use Annex A in [@!OIDF.OID4VP] that defines how to use OpenID4VP over the W3C Digital Credentials API.
288
-
* The Wallet MUST support both signed and unsigned requests as defined in Annex A.3.1 and A.3.2 of [@!OIDF.OID4VP]. The Verifier MAY support signed requests, unsigned requests, or both.
287
+
* The Verifier and Wallet MUST use Appendix A in [@!OIDF.OID4VP] that defines how to use OpenID4VP over the W3C Digital Credentials API.
288
+
* The Wallet MUST support both signed and unsigned requests as defined in Appendix A.3.1 and A.3.2 of [@!OIDF.OID4VP]. The Verifier MAY support signed requests, unsigned requests, or both.
289
289
290
290
Note that unsigned requests depend on the origin information provided by the platform and the web PKI for request integrity protection and to authenticate the Verifier. Signed requests introduce a separate layer for request integrity protection and Verifier authentication that can be validated by the Wallet.
291
291
292
292
## Requirements specific to Credential Formats {#oid4vp-credential-formats}
293
293
294
294
### ISO Mobile Documents or mdocs (ISO/IEC 18013 and ISO/IEC 23220 series)
295
295
296
-
The following requirements apply to all OpenID4VP flows when the mdoc Credential Format is used (as defined in Annex B.2. of [@!OIDF.OID4VP]):
296
+
The following requirements apply to all OpenID4VP flows when the mdoc Credential Format is used (as defined in Appendix B.2. of [@!OIDF.OID4VP]):
297
297
298
298
* The Credential Format identifier MUST be `mso_mdoc`.
299
299
* When multiple ISO mdocs are being returned, each ISO mdoc MUST be returned in a separate `DeviceResponse` (as defined in 8.3.2.1.2.2 of [@!ISO.18013-5]), each matching to a respective DCQL query. Therefore, the resulting `vp_token` contains multiple `DeviceResponse` instances.
@@ -310,11 +310,11 @@ The following requirements apply to all OpenID4VP flows when the SD-JWT VC Crede
310
310
Credential Format Profiles are defined as follows:
311
311
312
312
- IETF SD-JWT VCs (as specified in [@!I-D.ietf-oauth-sd-jwt-vc]), subject to the additional requirements defined in (#sd-jwt-vc):
313
-
-[@!OIDF.OID4VCI] – Annex A.3
314
-
-[@!OIDF.OID4VP] – Annex B.3
313
+
-[@!OIDF.OID4VCI] – Appendix A.3
314
+
-[@!OIDF.OID4VP] – Appendix B.3
315
315
- ISO mdocs:
316
-
-[@!OIDF.OID4VCI] – Annex A.2
317
-
-[@!OIDF.OID4VP] – Annex B.2
316
+
-[@!OIDF.OID4VCI] – Appendix A.2
317
+
-[@!OIDF.OID4VP] – Appendix B.2
318
318
319
319
## IETF SD-JWT VC Profile {#sd-jwt-vc}
320
320
@@ -350,8 +350,8 @@ This specification mandates the support for X.509 certificate-based key resoluti
350
350
Issuers, Verifiers, and Wallets MUST, at a minimum, support ECDSA with P-256 and SHA-256 (JOSE algorithm identifier `ES256`; COSE algorithm identifier `-7` or `-9`, as applicable) for the purpose of validating the following:
351
351
352
352
- Issuers
353
-
- Wallet Attestations (including PoP) when Annex E of [@!OIDF.OID4VCI] is used;
354
-
- Key Attestations when Annex D of [@!OIDF.OID4VCI] is used.
353
+
- Wallet Attestations (including PoP) when Appendix E of [@!OIDF.OID4VCI] is used;
354
+
- Key Attestations when Appendix D of [@!OIDF.OID4VCI] is used.
355
355
- Verifiers
356
356
- the signature of the Verifiable Presentation, e.g., KB-JWT of an SD-JWT VC, or `deviceSignature` CBOR structure in case of ISO mdocs. Verifiers are assumed to determine in advance the cryptographic suites supported by the ecosystem, e.g. mDL Issuers/Verifiers implementing ISO mdocs.
357
357
- the status information of the Verifiable Credential or Wallet Attestation.
@@ -379,7 +379,7 @@ This specification relies on certain prerequisites, such as browser or operating
379
379
380
380
## Interoperable Key Attestations
381
381
382
-
Wallet implementations using the key attestation format specified in Annex D of [@!OIDF.OID4VCI] might need to utilize a transformation (backend) service to create such attestations based on data as provided in other formats by the respective platform or secure key management module. The dependency on such a service might impact the availability of the wallet app as well as the performance of the issuance process. This could be mitigated by creating keys and obtaining the respective key attestations in advance.
382
+
Wallet implementations using the key attestation format specified in Appendix D of [@!OIDF.OID4VCI] might need to utilize a transformation (backend) service to create such attestations based on data as provided in other formats by the respective platform or secure key management module. The dependency on such a service might impact the availability of the wallet app as well as the performance of the issuance process. This could be mitigated by creating keys and obtaining the respective key attestations in advance.
383
383
384
384
## Ecosystem Implementation Considerations
385
385
@@ -409,8 +409,8 @@ An Ecosystem that prioritizes interoperability among all Wallets, Issuers and Ve
409
409
- For issuance, the following requirements apply:
410
410
- Issuers use and Wallets support unsigned Issuer Metadata.
411
411
- Wallets register for the `haip-vci://` custom scheme, where possible. This custom scheme is also used to communicate Credential Offer.
412
-
- Wallets and Issuers both support Key Attestations in the format specified in Annex D of [@!OIDF.OID4VCI]. Both `jwt` proof type using `key_attestation` and `attestation` proof type are supported.
413
-
- Wallets and Issuers both support Wallet Attestations in the format specified in Annex E of [@!OIDF.OID4VCI] and (#wallet-attestation) of this specification.
412
+
- Wallets and Issuers both support Key Attestations in the format specified in Appendix D of [@!OIDF.OID4VCI]. Both `jwt` proof type using `key_attestation` and `attestation` proof type are supported.
413
+
- Wallets and Issuers both support Wallet Attestations in the format specified in Appendix E of [@!OIDF.OID4VCI] and (#wallet-attestation) of this specification.
414
414
- for presentation, the following requirements apply:
415
415
- Wallets use DC API where possible and when they have credentials available. As a fallback mechanism when DC API is not available, Wallets register for the `haip-vp://` custom scheme, where possible.
416
416
- No additional X.509 certificate profile is defined.
@@ -454,7 +454,7 @@ Note that privacy considerations for OpenID for Verifiable Credential Issuance a
Wallet implementations using the key attestation format specified in Annex D of [@!OIDF.OID4VCI] might need to utilize a transformation (backend) service to create such attestations based on data as provided in other formats by the respective platform or secure key management module. Such a backend service MUST be designed considering the privacy of its users. For example, the service could be stateless and just perform the transformation of the attestation data without binding the process in any way to a unique user identifier.
457
+
Wallet implementations using the key attestation format specified in Appendix D of [@!OIDF.OID4VCI] might need to utilize a transformation (backend) service to create such attestations based on data as provided in other formats by the respective platform or secure key management module. Such a backend service MUST be designed considering the privacy of its users. For example, the service could be stateless and just perform the transformation of the attestation data without binding the process in any way to a unique user identifier.
458
458
459
459
{backmatter}
460
460
@@ -755,7 +755,7 @@ The technology described in this specification was made available from contribut
755
755
* update VP & VCI references to be to 1.0 Final
756
756
* add separate custom url schemes for issuance and presentation to replace the haip:// scheme
757
757
* support for haip-vp:// and haip-vci:// custom url schemes is now an ecosystem decision
758
-
* allow ecosystems the option to use key attestations other than those defined in Annex D of [@!OIDF.OID4VCI] in some cases
758
+
* allow ecosystems the option to use key attestations other than those defined in Appendix D of [@!OIDF.OID4VCI] in some cases
759
759
* clarify nonce endpoint must be present when cryptographic_binding_methods_supported is
760
760
* remove various requirements around claims present in SD-JWT VC as upstream spec covers them
0 commit comments