Skip to content

Commit eb14326

Browse files
authored
Capitalise ecosystem (#349)
closes #345 4 approvals, not open for a week yet but merging as per consensus on WG call just now
1 parent 6ce434e commit eb14326

File tree

1 file changed

+19
-19
lines changed

1 file changed

+19
-19
lines changed

openid4vc-high-assurance-interoperability-profile-1_0.md

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -172,7 +172,7 @@ Note that some optional parts of [@!FAPI2_Security_Profile] are not applicable w
172172

173173
Ecosystems SHOULD clearly indicate whether the Wallets and the Issuers need to support Issuer-initiated, Wallet-initiated Issuance or both, including how to send Credential Offer. If Issuer-initiated flows are supported, they MUST use the Credential Offer as defined in Section 4.1 of [@!OIDF.OID4VCI].
174174

175-
Note that ecosystems that aim for a stronger separation between the different Issuers and Wallets are expected to prefer the Issuer-initiated issuance flows and those with stronger integration into wallets (more wallet-centric ecosystems) will likely prefer the Wallet-initiated Issuance.
175+
Note that Ecosystems that aim for a stronger separation between the different Issuers and Wallets are expected to prefer the Issuer-initiated issuance flows and those with stronger integration into wallets (more wallet-centric Ecosystems) will likely prefer the Wallet-initiated Issuance.
176176

177177
If batch issuance is supported, the Wallet SHOULD use it rather than making consecutive requests for a single Credential of the same Credential Dataset. The Issuer MUST indicate whether batch issuance is supported by including or omitting the `batch_credential_issuance` metadata parameter. The Issuer’s decision may be influenced by various factors, including, but not limited to, trust framework requirements, regulatory constraints, applicable laws or internal policies.
178178

@@ -185,7 +185,7 @@ The Authorization Server MUST support metadata according to [@!RFC8414].
185185
The Credential Issuer MUST support metadata retrieval according to Section 12.2.2 of [@!OIDF.OID4VCI].
186186
The Credential Issuer metadata MUST include a scope for every Credential Configuration it supports.
187187

188-
When ecosystem policies require Issuer Authentication to a higher level than possible with TLS alone, signed Credential Issuer Metadata as specified in Section 11.2.3 in [@!OIDF.OID4VCI]
188+
When Ecosystem policies require Issuer Authentication to a higher level than possible with TLS alone, signed Credential Issuer Metadata as specified in Section 11.2.3 in [@!OIDF.OID4VCI]
189189
MUST be supported by both the Wallet and the Issuer. Key resolution to validate the signed Issuer
190190
Metadata MUST be supported using the `x5c` JOSE header parameter as defined in [@!RFC7515]. In this case, the X.509 certificate of the trust anchor MUST NOT be included in the `x5c` JOSE header of the signed request. The X.509 certificate signing the request MUST NOT be self-signed.
191191

@@ -197,7 +197,7 @@ If the Issuer supports Credential Configurations that require key binding, as in
197197

198198
* The Grant Type `authorization_code` MUST be supported as defined in Section 4.1.1 in [@!OIDF.OID4VCI]
199199
* For Grant Type `authorization_code`, the Issuer MUST include a scope value in order to allow the Wallet to identify the desired Credential Type. The Wallet MUST use that value in the `scope` Authorization parameter.
200-
* As a way to invoke the Wallet the custom URL scheme `haip-vci://` MAY be supported. Implementations MAY support other ways to invoke Wallets as agreed upon by trust frameworks/ecosystems/jurisdictions, including but not limited to using other custom URL schemes or claimed "https" scheme URIs.
200+
* As a way to invoke the Wallet the custom URL scheme `haip-vci://` MAY be supported. Implementations MAY support other ways to invoke Wallets as agreed upon by trust frameworks/Ecosystems/jurisdictions, including but not limited to using other custom URL schemes or claimed "https" scheme URIs.
201201

202202
Note: The Authorization Code flow does not require a Credential Offer from the Issuer to the Wallet. However, it is included in the feature set to allow for Issuer initiated Credential issuance.
203203

@@ -218,7 +218,7 @@ Note: Issuers SHOULD consider how long a refresh token is allowed to be used to
218218

219219
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).
220220

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.
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.
222222

223223
Additional rules apply when using the format defined in Appendix E of [@!OIDF.OID4VCI]:
224224

@@ -243,7 +243,7 @@ When using the format specified in Appendix D of [@!OIDF.OID4VCI]:
243243
* The X.509 certificate signing the key attestation MUST NOT be self-signed.
244244
* The X.509 certificate profiles to be used are out of scope of this specification.
245245

246-
Alternatively, ecosystems MAY choose to rely on other key attestation formats, meaning they would need to use a proof type other than `attestation`, define a new proof type, or expand the `jwt` proof type to support other key attestation formats.
246+
Alternatively, Ecosystems MAY choose to rely on other key attestation formats, meaning they would need to use a proof type other than `attestation`, define a new proof type, or expand the `jwt` proof type to support other key attestation formats.
247247

248248
If batch issuance is used and the Credential Issuer has indicated (via `cryptographic_binding_methods_supported` metadata parameter) that cryptographic holder binding is required, all public keys used in Credential Request SHOULD be attested within a single key attestation.
249249

@@ -263,13 +263,13 @@ The following requirements apply to OpenID for Verifiable Presentations, irrespe
263263

264264
Additional requirements for OpenID4VP are defined in (#oid4vp-redirects), (#oid4vp-dc-api), (#oid4vp-credential-formats), (#crypto-suites) and (#hash-algorithms).
265265

266-
Note that while this specification does not define profiles for X.509 certificates used in Verifier authentication (e.g., with the `x509_hash` Client Identifier Prefix), ecosystems are encouraged to select suitable certificate issuing policies and certificate profiles (for example, an mDL ecosystem can use the Reader Authentication Certificate profile defined in Annex B of ISO/IEC 18013-5 with `x509_hash`), or define new ones if there is a good reason to do so. Such policies and profiles MAY specify how information in the certificate corresponds to information in the presentation flows. For example, an ecosystem might require that the Wallet verifies that the `redirect_uri`, `response_uri`, `origin`, or `expected_origin` request parameters match with information contained in the Verifier's end-entity certificate (e.g., its DNS name).
266+
Note that while this specification does not define profiles for X.509 certificates used in Verifier authentication (e.g., with the `x509_hash` Client Identifier Prefix), Ecosystems are encouraged to select suitable certificate issuing policies and certificate profiles (for example, an mDL Ecosystem can use the Reader Authentication Certificate profile defined in Annex B of ISO/IEC 18013-5 with `x509_hash`), or define new ones if there is a good reason to do so. Such policies and profiles MAY specify how information in the certificate corresponds to information in the presentation flows. For example, an Ecosystem might require that the Wallet verifies that the `redirect_uri`, `response_uri`, `origin`, or `expected_origin` request parameters match with information contained in the Verifier's end-entity certificate (e.g., its DNS name).
267267

268268
## OpenID for Verifiable Presentations via Redirects {#oid4vp-redirects}
269269

270270
The following requirements apply to OpenID for Verifiable Presentations via redirects:
271271

272-
* As a way to invoke the Wallet, the custom URL scheme `haip-vp://` MAY be supported by the Wallet and the Verifier. Implementations MAY support other ways to invoke the Wallets as agreed upon by trust frameworks/ecosystems/jurisdictions, including but not limited to using other custom URL schemes or claimed "https" scheme URIs.
272+
* As a way to invoke the Wallet, the custom URL scheme `haip-vp://` MAY be supported by the Wallet and the Verifier. Implementations MAY support other ways to invoke the Wallets as agreed upon by trust frameworks/Ecosystems/jurisdictions, including but not limited to using other custom URL schemes or claimed "https" scheme URIs.
273273
* Signed Authorization Requests MUST be used by utilizing JWT-Secured Authorization Request (JAR) [@!RFC9101] with the `request_uri` parameter.
274274
* Response encryption MUST be used by utilizing response mode `direct_post.jwt`, as defined in Section 8.3 of [@!OIDF.OID4VP]. Security considerations in Section 14.3 of [@!OIDF.OID4VP] MUST be applied.
275275
* Verifiers and Wallets MUST support the "same-device" flow. Verifiers are RECOMMENDED to use only the "same-device" flow unless the Verifier does not rely on session binding for phishing resistance, e.g. in a proximity scenario. If "same-device" flow is used, then:
@@ -330,7 +330,7 @@ Each Credential MUST have its own unique, unpredictable status list index, even
330330

331331
Note: For guidance on preventing linkability by colluding parties, such as Issuer/Verifier pairs, multiple Verifiers, or repeated interactions with the same Verifier, see Section 15.4.1 of [@!OIDF.OID4VCI] and Section 15.5 of [@!OIDF.OID4VP].
332332

333-
Note: If there is a requirement to communicate information about the verification status and identity assurance data of the claims about the subject, the syntax defined by [@!OIDF.ekyc-ida] SHOULD be used. It is up to each jurisdiction and ecosystem, whether to require it to the implementers of this specification.
333+
Note: If there is a requirement to communicate information about the verification status and identity assurance data of the claims about the subject, the syntax defined by [@!OIDF.ekyc-ida] SHOULD be used. It is up to each jurisdiction and Ecosystem, whether to require it to the implementers of this specification.
334334

335335
Note: If there is a requirement to provide the Subject’s identifier assigned and maintained by the Issuer, the `sub` claim MAY be used. There is no requirement for a binding to exist between the `sub` and `cnf` claims. See the Implementation Considerations section in [@!I-D.ietf-oauth-sd-jwt-vc].
336336

@@ -354,7 +354,7 @@ Issuers, Verifiers, and Wallets MUST, at a minimum, support ECDSA with P-256 and
354354
- Key Attestations when Appendix D of [@!OIDF.OID4VCI] is used.
355355
- `jwt` proof type as specified in Appendix E of [@!OIDF.OID4VCI].
356356
- Verifiers
357-
- 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+
- 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.
358358
- the status information of the Verifiable Credential or Wallet Attestation.
359359
- Wallets
360360
- signed presentation requests.
@@ -384,7 +384,7 @@ Wallet implementations using the key attestation format specified in Appendix D
384384

385385
## Ecosystem Implementation Considerations
386386

387-
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+
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:
388388

389389
- Which flow(s) to adopt: presentation, issuance, or both (see (#scope))
390390
- 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))
@@ -398,11 +398,11 @@ This specification intentionally leaves certain extensions for ecosystems to def
398398

399399
### Non-normative Examples of Ecosystem-specific Extensions of this Specification
400400

401-
Below are two non-normative examples illustrating how an ecosystem may define the above elements to achieve its specific goals and preferences.
401+
Below are two non-normative examples illustrating how an Ecosystem may define the above elements to achieve its specific goals and preferences.
402402

403403
#### Example 1: Baseline Interoperability without pre-existing relationships
404404

405-
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+
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:
406406

407407
- Use this specification for both presentation and issuance with the following requirements:
408408
- No additional cryptographic suites and hash algorithms are defined.
@@ -416,11 +416,11 @@ An Ecosystem that prioritizes interoperability among all Wallets, Issuers and Ve
416416
- 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.
417417
- No additional X.509 certificate profile is defined.
418418

419-
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+
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).
420420

421421
#### Example 2: Achieving Compatibility with Existing Deployments of ISO/IEC 18013-5
422422

423-
An Ecosystem that prioritizes achieving compatibility with existing deployments could define the following ecosystem-specific extensions of this specification:
423+
An Ecosystem that prioritizes achieving compatibility with existing deployments could define the following Ecosystem-specific extensions of this specification:
424424

425425
- Use this specification only for presentation with the following requirements:
426426
- Wallets and Verifiers support only the mdoc Credential Format.
@@ -729,9 +729,9 @@ The technology described in this specification was made available from contribut
729729
-05
730730

731731
* mandate support for same device flow for redirect-based OpenID4VP
732-
* add ecosystem guidance section
732+
* add Ecosystem guidance section
733733
* change wallet attestation format from mandatory to recommended
734-
* update crypto suites to require at least ECDSA w/ P-256 and SHA-256 for verifying signed artificats; and made ecosystem-specific exceptions for crypto suites and hash algorithms if certain criteria is not met
734+
* update crypto suites to require at least ECDSA w/ P-256 and SHA-256 for verifying signed artificats; and made Ecosystem-specific exceptions for crypto suites and hash algorithms if certain criteria is not met
735735
* removed intent_to_retain mandatory
736736
* add small note about signed requests
737737
* clarify batch issuance requirements
@@ -741,7 +741,7 @@ The technology described in this specification was made available from contribut
741741
* remove requirement that SD-JWT `iss` is a https url
742742
* add section about the OIDF conformance tests
743743
* add implementation considers around browser/OS limitations
744-
* combine text about ecosystem profiling of X.509 certifications
744+
* combine text about Ecosystem profiling of X.509 certifications
745745
* add guidance around key sizes
746746
* require wallets (that render images from credential metadata) to support png and svg, and data: and https: urls
747747
* clarity text around flows that are defined in this specification
@@ -757,8 +757,8 @@ The technology described in this specification was made available from contribut
757757
* update etsi tl and DC API references
758758
* update VP & VCI references to be to 1.0 Final
759759
* add separate custom url schemes for issuance and presentation to replace the haip:// scheme
760-
* support for haip-vp:// and haip-vci:// custom url schemes is now an ecosystem decision
761-
* allow ecosystems the option to use key attestations other than those defined in Appendix D of [@!OIDF.OID4VCI] in some cases
760+
* support for haip-vp:// and haip-vci:// custom url schemes is now an Ecosystem decision
761+
* allow Ecosystems the option to use key attestations other than those defined in Appendix D of [@!OIDF.OID4VCI] in some cases
762762
* clarify nonce endpoint must be present when cryptographic_binding_methods_supported is
763763
* remove various requirements around claims present in SD-JWT VC as upstream spec covers them
764764
* require ephemeral encryption keys in VP

0 commit comments

Comments
 (0)