Skip to content

Commit 967b423

Browse files
authored
Allow other Wallet Attestation formats (#291)
3 approvals. open for a week.
1 parent 604baa5 commit 967b423

File tree

1 file changed

+9
-5
lines changed

1 file changed

+9
-5
lines changed

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

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -184,22 +184,25 @@ Both Issuer and Wallet MUST support Credential Offer in both same-device and cro
184184

185185
* Wallets MUST authenticate themselves at the PAR endpoint using the same rules as defined in (#token-endpoint) for client authentication at the token endpoint.
186186
* MUST use the `scope` parameter to communicate Credential Type(s) to be issued. The scope value MUST map to a specific Credential Type. The scope value may be pre-agreed, obtained from the Credential Offer, or the Credential Issuer Metadata.
187-
* The `client_id` value in the PAR request MUST be a string that the Wallet has used as the `sub` value in the client attestation JWT.
188187

189188
## Token Endpoint {#token-endpoint}
190189

191-
* The Wallets MUST perform client authentication as defined in (#wallet-attestation).
192190
* Refresh tokens are RECOMMENDED to be supported for Credential refresh. For details, see Section 13.5 in [@!OIDF.OID4VCI].
193191

194192
Note: Issuers SHOULD consider how long a refresh token is allowed to be used to refresh a credential, as opposed to starting the issuance flow from the beginning. For example, if the User is trying to refresh a Credential more than a year after its original issuance, the usage of the refresh tokens is NOT RECOMMENDED.
195193

196194
### Wallet Attestation {#wallet-attestation}
197195

198-
Wallets MUST use Wallet Attestations as defined in Annex E of [@!OIDF.OID4VCI].
196+
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).
199197

200-
The public key certificate, and optionally a trust certificate chain, used to validate the signature on the Wallet Attestation MUST be included in the `x5c` JOSE header of the Client Attestation JWT.
198+
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.
201199

202-
Individual Wallet Attestations MUST be used for each Issuer. They MUST not contain unique identifiers that would enable linkability between issuance processes. See section 14.4.4 of [@!OIDF.OID4VCI] for details on the Wallet Attestation subject.
200+
Additional rules apply when using the format defined in Annex E of [@!OIDF.OID4VCI]:
201+
202+
* 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
203+
* 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.
204+
* if applicable, the `client_id` value in the PAR request MUST be the string in the `sub` value in the client attestation JWT.
205+
* Wallets MUST perform client authentication with the Wallet Attestation at OAuth2 Endpoints that support client authentication.
203206

204207
## Credential Endpoint
205208

@@ -627,6 +630,7 @@ The technology described in this specification was made available from contribut
627630

628631
-05
629632

633+
* change wallet attesation format from mandatory to recommended
630634
* 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
631635
* removed intent_to_retain mandatory
632636
* add small note about signed requests

0 commit comments

Comments
 (0)