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
+39-3Lines changed: 39 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -386,15 +386,50 @@ Wallet implementations using the key attestation format specified in Annex D of
386
386
This specification intentionally leaves certain extensions for ecosystems to define, in order to enable broad compatibility across differing or even conflicting requirements. Below are the extension points listed in this specification:
387
387
388
388
- Which flow(s) to adopt: presentation, issuance, or both (see (#scope))
389
-
-Whether to use the W3C Digital Credentials API, Redirects with custom URL schemes and/or Redirects with claimed `https` scheme URIs for presentation (see (#scope))
390
-
- Which Credential format to support across issuance and presentation (see (#scope))
389
+
-For presentation, whether to use the W3C Digital Credentials API, Redirects with custom URL schemes, and/or Redirects with claimed `https` scheme URIs (see (#scope))
390
+
- Which Credential Format to support across issuance and presentation (see (#scope))
391
391
- Whether to use Signed Issuer Metadata or not (see (#issuer-metadata))
392
392
- How to make a Credential Offer available to the Wallet (see (#credential-offer))
393
-
- Which key attestation format to use (see (#key-attestation))
393
+
- Which Key Attestation format to use (see (#key-attestation))
394
394
- Which Wallet Attestation format to use (see (#wallet-attestation))
395
395
- Which X.509 certificate profile to use (see (#openid-for-verifiable-presentations), (#wallet-attestation) and (#key-attestation))
396
396
- Support or restriction of additional cryptographic suites and hash algorithms (see (#crypto-suites))
397
397
398
+
### Non-normative Examples of Ecosystem-specific Extensions of this Specification
399
+
400
+
Below are two non-normative examples illustrating how an ecosystem may define the above elements to achieve its specific goals and preferences.
401
+
402
+
#### Example 1: Baseline Interoperability without pre-existing relationships
403
+
404
+
An Ecosystem that prioritizes interoperability among all Wallets, Issuers and Verifiers, without requiring any pre-existing relationships, could define the following ecosystem-specific extensions of this specification:
405
+
406
+
- Use this specification for both presentation and issuance with the following requirements:
407
+
- No additional cryptographic suites and hash algorithms are defined.
408
+
- For each Credential, Wallets support both mdoc and sd-jwt-vc Credential Formats, Issuers have a choice to issue in either format, and Verifiers accept the Credential Format that the Issuer of a requested Credential supports.
409
+
- For issuance, the following requirements apply:
410
+
- Issuers use and Wallets support unsigned Issuer Metadata.
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.
414
+
- for presentation, the following requirements apply:
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
+
- No additional X.509 certificate profile is defined.
417
+
418
+
Making these choices maximizes interoperability between the parties in the ecosystem while minimizing the burden on Issuers and Verifiers. This comes at the expense of an increased burden on Wallets as well as the potential privacy and security issues in (#interop-key-attestations).
419
+
420
+
#### Example 2: Achieving Compatibility with Existing Deployments of ISO/IEC 18013-5
421
+
422
+
An Ecosystem that prioritizes achieving compatibility with existing deployments could define the following ecosystem-specific extensions of this specification:
423
+
424
+
- Use this specification only for presentation with the following requirements:
425
+
- Wallets and Verifiers support only the mdoc Credential Format.
426
+
- Wallets register and use the `haip-vp://` custom scheme, where possible.
427
+
- As X.509 certificate profile, Wallets and Verifiers use the Reader Authentication Certificate profile defined in Annex B of [@!ISO.18013-5].
428
+
- Verifiers support all curves from Cipher Suite 1 listed in table 22 of [@!ISO.18013-5].
429
+
- Verifiers support all hash algorithms listed in table 21 of [@!ISO.18013-5].
430
+
431
+
Making these choices ensures interoperability at the increased cost on the Verifier.
Note that security considerations for OpenID for Verifiable Credential Issuance are defined in Section 13 of [@!OIDF.OID4VCI] and for OpenID for Verifiable Presentations in Section 14 (for redirect based flows) or Section A.5 (for DC API) of [@!OIDF.OID4VP].
@@ -686,6 +721,7 @@ The technology described in this specification was made available from contribut
686
721
* clarify that DCQL applies in HAIP as defined in OpenID4VP and all REQUIRED and OPTIONAL requirements remain the same
687
722
* add reference to ECCG Agreed Cryptographic Mechanisms 2.0
688
723
* require x5c header in the OID4VCI Appendix D key attestation
724
+
* add "Non-normative Examples of Ecosystem-specific Extensions of this Specification" section
0 commit comments