From dcfe55993ade74facbd7d39d755e3a89dacefd66 Mon Sep 17 00:00:00 2001
From: gabe
This specification defines how to secure media types @@ -205,7 +205,7 @@
This section outlines how to secure documents conforming @@ -240,9 +240,9 @@
This section details how to use JOSE to secure verifiable credentials conforming @@ -304,7 +304,7 @@
This section details how to use JOSE to secure verifiable presentations conforming @@ -391,7 +391,7 @@
@@ -463,9 +463,9 @@
This section details how to use JOSE to secure verifiable credentials conforming @@ -539,7 +539,7 @@
This section details how to use SD-JWT to secure verifiable presentations conforming @@ -637,7 +637,7 @@
COSE [[RFC9052]] is a common approach to encoding and securing @@ -646,7 +646,7 @@
This section details how to use COSE to secure verifiable credentials conforming @@ -709,7 +709,7 @@
This section details how to use COSE to secure verifiable presentations conforming @@ -951,13 +951,13 @@
These JOSE header parameters and JWT claims can be used by verifiers to discover verification keys.
-
If kid
is present in the JOSE Header
@@ -973,7 +973,7 @@
If iss
is present in the JOSE Header,
@@ -998,7 +998,7 @@
If cnf
is present in the JOSE Header,
@@ -1017,10 +1017,10 @@
When the issuer value is a URL using the HTTPS scheme, @@ -1036,7 +1036,7 @@
When using [=controller documents=] with this specification, @@ -1055,7 +1055,7 @@
@@ -1153,6 +1153,254 @@
+ This specification might be used with many different key discovery protocols. + Therefore, discovery of verification keys is described in , + and is assumed to have succeeded prior to beginning the verification process. +
++ As a general rule, verifiers SHOULD strive to minimize the processing of + untrusted data. This includes minimizing any processing of the protected header, + unprotected header, or payload as part of the key discovery procedures. +
++ After verification has succeeded, additional validation checks SHOULD be + performed as described in Section +
++ The outputs for the following algorithms are: +
+status
: a boolean indicating the result of verification,
+ true
for success and false
for failure.
+ document
: a document conforming to the [[[VC-DATA-MODEL-2.0]]] [[VC-DATA-MODEL-2.0]]
+ mediaType
: vc
or vp
+ + The inputs for this algorithm are: +
+inputMediaType
: vc-ld+jwt
or
+ vp-ld+jwt
+ inputDocument
: the verifiable credential secured as a JWT [[RFC7519]]
+ + Upon receipt of the verifiable credential or presentation secured as a JWT + [[RFC7519]], the holder or verifier follows this algorithm: +
+status
to true
+ mediaType
to vc
or vp
+ document
to the decoded JWS payload.
+ status
to false
+ document
to null
+ mediaType
to null
+ + The inputs for this algorithm are: +
+inputMediaType
: vc-ld+sd-jwt
+ inputDocument
: the verifiable credential secured with [[SD-JWT]]
+ + Upon receipt of the verifiable credential or presentation secured with + [[SD-JWT]], the holder or verifier follows this algorithm: +
+status
to true
+ mediaType
to vc
+ document
to the JSON claim set.
+ (For examples of the transition from JSON claim set to SD-JWT payload, please
+ see SD-JWT examples).
+ status
to false
+ document
to null
+ mediaType
to null
+ + The inputs for this algorithm are: +
+inputMediaType
: vc-ld+cose
or
+ vp-ld+cose
+ inputDocument
: the verifiable credential or verifiable presentation
+ secured with [[[RFC9052]]]
+ + Upon receipt of the verifiable credential or presentation secured with + [[RFC9052]], the holder or verifier follows this algorithm: +
+status
to true
+ mediaType
to vc
or vp
+ document
to the decoded COSE_Sign1 payload.
+ status
to false
+ document
to null
+ mediaType
to null
+
+ All claims expected for the typ
MUST be present.
+ All claims that are understood MUST be evaluated according the verifier's validation policies.
+ All claims that are not understood MUST be ignored.
+
+ The verified document
returned from verification MUST be a
+ well-formed compact JSON-LD document, as described in
+ Verifiable Credentials Data Model v2.0.
+
+ Schema extension mechanisms such as credentialSchema
SHOULD be checked.
+ If the extension mechanism type
is not understood, this property
+ MUST be ignored.
+
+ Status extension mechanisms such as credentialStatus
SHOULD be checked.
+ If the extension mechanism type
is not understood, this property
+ MUST be ignored.
+
+ Based on the validation policy of the verifier, the type of credentials, and + the type of securing mechanism, additional validation checks MAY be applied. + For example, dependencies between multiple credentials, ordering or timing + information associated with multiple credentials, and/or multiple presentations + could cause an otherwise valid credential or presentation to be considered + invalid. +
+ +application/vp-ld+cose
@@ -1550,7 +1799,8 @@
When implementing this specification, it is crucial for @@ -1838,256 +2088,6 @@
- This specification might be used with many different key discovery protocols. - Therefore, discovery of verification keys is described in , - and is assumed to have succeeded prior to beginning the verification process. -
-- As a general rule, verifiers SHOULD strive to minimize the processing of - untrusted data. This includes minimizing any processing of the protected header, - unprotected header, or payload as part of the key discovery procedures. -
-- After verification has succeeded, additional validation checks SHOULD be - performed as described in Section -
-- The outputs for the following algorithms are: -
-status
: a boolean indicating the result of verification,
- true
for success and false
for failure.
- document
: a document conforming to the [[[VC-DATA-MODEL-2.0]]] [[VC-DATA-MODEL-2.0]]
- mediaType
: vc
or vp
- - The inputs for this algorithm are: -
-inputMediaType
: vc-ld+jwt
or
- vp-ld+jwt
- inputDocument
: the verifiable credential secured as a JWT [[RFC7519]]
- - Upon receipt of the verifiable credential or presentation secured as a JWT - [[RFC7519]], the holder or verifier follows this algorithm: -
-status
to true
- mediaType
to vc
or vp
- document
to the decoded JWS payload.
- status
to false
- document
to null
- mediaType
to null
- - The inputs for this algorithm are: -
-inputMediaType
: vc-ld+sd-jwt
- inputDocument
: the verifiable credential secured with [[SD-JWT]]
- - Upon receipt of the verifiable credential or presentation secured with - [[SD-JWT]], the holder or verifier follows this algorithm: -
-status
to true
- mediaType
to vc
- document
to the JSON claim set.
- (For examples of the transition from JSON claim set to SD-JWT payload, please
- see SD-JWT examples).
- status
to false
- document
to null
- mediaType
to null
- - The inputs for this algorithm are: -
-inputMediaType
: vc-ld+cose
or
- vp-ld+cose
- inputDocument
: the verifiable credential or verifiable presentation
- secured with [[[RFC9052]]]
- - Upon receipt of the verifiable credential or presentation secured with - [[RFC9052]], the holder or verifier follows this algorithm: -
-status
to true
- mediaType
to vc
or vp
- document
to the decoded COSE_Sign1 payload.
- status
to false
- document
to null
- mediaType
to null
-
- All claims expected for the typ
MUST be present.
- All claims that are understood MUST be evaluated according the verifier's validation policies.
- All claims that are not understood MUST be ignored.
-
- The verified document
returned from verification MUST be a
- well-formed compact JSON-LD document, as described in
- Verifiable Credentials Data Model v2.0.
-
- Schema extension mechanisms such as credentialSchema
SHOULD be checked.
- If the extension mechanism type
is not understood, this property
- MUST be ignored.
-
- Status extension mechanisms such as credentialStatus
SHOULD be checked.
- If the extension mechanism type
is not understood, this property
- MUST be ignored.
-
- Based on the validation policy of the verifier, the type of credentials, and - the type of securing mechanism, additional validation checks MAY be applied. - For example, dependencies between multiple credentials, ordering or timing - information associated with multiple credentials, and/or multiple presentations - could cause an otherwise valid credential or presentation to be considered - invalid. -
-