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: draft-ietf-oauth-status-list.md
+142-17
Original file line number
Diff line number
Diff line change
@@ -326,7 +326,7 @@ The following is the CBOR Annotated Hex output of the example above:
326
326
327
327
By including a "status" claim in a Referenced Token, the Issuer is referencing a mechanism to retrieve status information about this Referenced Token. The claim contains members used to reference to a status list as defined in this specification. Other members of the "status" object may be defined by other specifications. This is analogous to "cnf" claim in Section 3.1 of {{RFC7800}} in which different authenticity confirmation methods can be included.
328
328
329
-
## Referenced Token in JOSE Format {#referenced-token-jwt}
329
+
## Referenced Token in JOSE {#referenced-token-jose}
330
330
331
331
The Referenced Token MAY be encoded as a "JSON Web Token (JWT)" according to {{RFC7519}} or other formats based on JOSE.
332
332
@@ -358,7 +358,7 @@ The following is a non-normative example for a decoded header and payload of a R
358
358
}
359
359
~~~
360
360
361
-
SD-JWT-based Verifiable Credentials {{SD-JWT.VC}} introduce the usage of Status List in Section 3.2.2.2. The "status" object uses the same encoding as a JWT as defined in {{referenced-token-jwt}}.
361
+
SD-JWT-based Verifiable Credentials {{SD-JWT.VC}} introduce the usage of Status List in Section 3.2.2.2. The "status" object uses the same encoding as a JWT as defined in {{referenced-token-jose}}.
362
362
363
363
The following is a non-normative example for a Referenced Token in SD-JWT-VC serialized form as received from an Issuer:
364
364
@@ -405,16 +405,16 @@ Resulting payload of the example above:
405
405
}
406
406
~~~
407
407
408
-
## Referenced Token in CWT Format {#referenced-token-cwt}
408
+
## Referenced Token in COSE {#referenced-token-cose}
409
409
410
-
The Referenced Token MUST be encoded as a "COSE Web Token (CWT)" object according to {{RFC8392}}.
410
+
The Referenced Token MAY be encoded as a "COSE Web Token (CWT)" object according to {{RFC8392}} or other formats based on COSE.
411
411
412
412
The following content applies to the CWT Claims Set:
413
413
414
414
* `65535` (status): REQUIRED. The status claim is encoded as a `Status` CBOR structure and MUST include at least one data item that refers to a status mechanism. Each data item in the `Status` CBOR structure comprises a key-value pair, where the key must be a CBOR text string (Major Type 3) specifying the identifier of the status mechanism, and the corresponding value defines its contents. This specification defines the following data items:
415
-
* `status_list` (status list): REQUIRED when the status list mechanism defined in this specification is used. It has the same definition as the `status_list` claim in [](#referenced-token-jwt) but MUST be encoded as a `StatusListInfo` CBOR structure with the following fields:
416
-
* `idx`: REQUIRED. Same definition as `idx` claim in [](#referenced-token-jwt).
417
-
* `uri`: REQUIRED. Same definition as `uri` claim in [](#referenced-token-jwt).
415
+
* `status_list` (status list): REQUIRED when the status list mechanism defined in this specification is used. It has the same definition as the `status_list` claim in [](#referenced-token-jose) but MUST be encoded as a `StatusListInfo` CBOR structure with the following fields:
416
+
* `idx`: REQUIRED. Same definition as `idx` claim in [](#referenced-token-jose).
417
+
* `uri`: REQUIRED. Same definition as `uri` claim in [](#referenced-token-jose).
418
418
419
419
Application of additional restrictions and policy are at the discretion of the verifying party.
420
420
@@ -430,20 +430,143 @@ The following is the CBOR Annotated Hex output of the example above:
430
430
{::include ./examples/referenced_token_cwt_diag}
431
431
~~~~~~~~~~
432
432
433
+
ISO mdoc {{ISO.mdoc}} may utilize the Status List mechanism by introducing the `status` parameter in the Mobile Security Object (MSO) as specified in Section 9.1.2. The `status` parameter uses the same encoding as a CWT as defined in {{referenced-token-cose}}.
433
434
434
-
## Referenced Token in other COSE/CBOR Format {#referenced-token-cose}
435
+
It is RECOMMENDED to use `status` for the label of the field that contains the `Status` CBOR structure.
435
436
436
-
The Referenced Token MUST be encoded as a `COSE_Sign1` or `COSE_Sign` CBOR structure as defined in "CBOR Object Signing and Encryption (COSE)" {{RFC9052}}.
437
+
Application of additional restrictions and policy are at the discretion of the verifying party.
437
438
438
-
It is required to encode the status mechanisms referred to in the Referenced Token using the `Status` CBOR structure defined in [](#referenced-token-cwt).
439
+
The following is a non-normative example for an IssuerAuth as specified in ISO mDL (also referred to as signed MSO) in Hex:
439
440
440
-
It is RECOMMENDED to use `status` for the label of the field that contains the `Status` CBOR structure.
441
+
~~~ ascii-art
441
442
442
-
Application of additional restrictions and policy are at the discretion of the verifying party.
@@ -507,7 +630,7 @@ As this is out of scope of this document, this validation is not be described he
507
630
508
631
If this validation was not successful, the Referenced Token MUST be rejected. If the validation was successful, the Relying Party MUST perform the following validation steps to evaluate the status of the reference token:
509
632
510
-
1. Check for the existence of a `status` claim, check for the existence of a `status_list` claim within the `status` claim and validate that the content of `status_list` adheres to the rules defined in [](#referenced-token-jwt) for JWTs and [](#referenced-token-cwt) for CWTs. This step can be overruled if defined within the Referenced Token Format natively
633
+
1. Check for the existence of a `status` claim, check for the existence of a `status_list` claim within the `status` claim and validate that the content of `status_list` adheres to the rules defined in [](#referenced-token-jose) for JWTs and [](#referenced-token-cose) for CWTs. This step can be overruled if defined within the Referenced Token Format natively
511
634
2. Resolve the Status List from the provided URI
512
635
3. Validate the Status List Token:
513
636
1. Validate the Status List Token by following the rules defined in section 7.2 of {{RFC7519}} for JWTs and section 7.2 of {{RFC8392}} for CWTs.
@@ -764,7 +887,7 @@ Specification Document(s):
764
887
* Status Method Value: `status_list`
765
888
* Status Method Description: A status list containing up-to-date status information on multiple tokens.
766
889
* Change Controller: IETF
767
-
* Specification Document(s): [](#referenced-token-jwt) of this specification
890
+
* Specification Document(s): [](#referenced-token-jose) of this specification
768
891
769
892
## CBOR Web Token Claims Registration
770
893
@@ -824,7 +947,7 @@ Specification Document(s):
824
947
* Status Method Value: `status_list`
825
948
* Status Method Description: A status list containing up-to-date status information on multiple tokens.
826
949
* Change Controller: IETF
827
-
* Specification Document(s): [](#referenced-token-cwt) of this specification
950
+
* Specification Document(s): [](#referenced-token-cose) of this specification
828
951
829
952
## Media Type Registration
830
953
@@ -924,6 +1047,7 @@ Francesco Marino,
924
1047
Guiseppe De Marco,
925
1048
Kristina Yasuda,
926
1049
Markus Kreusch,
1050
+
Martijn Haring,
927
1051
Michael B. Jones,
928
1052
Mike Prorock,
929
1053
Oliver Terbu,
@@ -939,6 +1063,7 @@ for their valuable contributions, discussions and feedback to this specification
939
1063
940
1064
-04
941
1065
1066
+
* add mDL example as Referenced Token and consolidate CWT and CBOR sections
942
1067
* add implementation consideration for Default Values, Double Allocation and Status List Size
943
1068
* add privacy consideration on using private relay protocols
944
1069
* add privacy consideration on observability of outsiders
0 commit comments