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
+13-16Lines changed: 13 additions & 16 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -157,7 +157,7 @@ The following diagram depicts the relationship between the artifacts:
157
157
158
158
~~~
159
159
160
-
An Issuer issues Referenced Tokens to a Holder, the Holder uses and presents those Referenced Tokens to a Relying Party. The Issuer gives updated status information to the Status Issuer, who issues a Status List Token. The Status Issuer can be either the Issuer or an entity that has been authorized by the Issuer to issue Status List Tokens. The Status Issuer provides the Status List Token to the Status Provider, who serves the Status List Token on a public, resolvable endpoint. The Relying Party or the Holder may fetch the Status List Token to retrieve the status of the Referenced Token.
160
+
An Issuer issues Referenced Tokens to a Holder, the Holder uses and presents those Referenced Tokens to a Relying Party. The Issuer gives updated status information to the Status Issuer, who issues a Status List Token. The Status Issuer can be either the Issuer or an entity that has been authorized by the Issuer to issue Status List Tokens. The Status Issuer provides the Status List Token to the Status Provider, who serves the Status List Token on an accessible endpoint. The Relying Party or the Holder may fetch the Status List Token to retrieve the status of the Referenced Token.
161
161
162
162
The roles of the Issuer (of the Referenced Token), the Status Issuer and the Status Provider may be fulfilled by the same entity. If not further specified, the term Issuer may refer to an entity acting for all three roles. This document describes how an Issuer references a Status List Token and how a Relying Party fetches and validates Status Lists.
163
163
@@ -232,7 +232,7 @@ Status Issuer:
232
232
: An entity that issues the Status List Token about the status information of the Referenced Token. This role may be fulfilled by the Issuer.
233
233
234
234
Status Provider:
235
-
: An entity that provides the Status List Token on a public endpoint. This role may be fulfilled by the Status Issuer.
235
+
: An entity that provides the Status List Token on an accessible endpoint. This role may be fulfilled by the Status Issuer.
236
236
237
237
Holder:
238
238
: An entity that receives Referenced Tokens from the Issuer and presents them to Relying Parties.
@@ -601,7 +601,7 @@ A Status List represents exactly one status per Referenced Token. If the Status
601
601
602
602
The processing rules for Referenced Tokens (such as JWT or CWT) supersede the Referenced Token's status in a TSL. In particular, a Referenced Token that is evaluated as being expired (e.g. through the `exp` claim) but in a TSL has a status of 0x00 ("VALID"), is considered expired.
603
603
604
-
This document creates a registry in [](#iana-status-types) that includes the most common Status Type values. Applications SHOULD use registered values for statuses if they have the correct semantics. Additional values may be defined for particular use cases. Status Types described by this document comprise:
604
+
This document creates a registry in [](#iana-status-types) that includes the most common Status Type values. To improve interoperability, applications MUST use registered values for statuses if they have the same or compatiable semantics of the use-case. Additional values may be defined for particular use cases. Status Types described by this document comprise:
605
605
606
606
- 0x00 - "VALID" - The status of the Referenced Token is valid, correct or legal.
607
607
- 0x01 - "INVALID" - The status of the Referenced Token is revoked, annulled, taken back, recalled or cancelled.
@@ -686,7 +686,7 @@ If this validation is not successful, the Referenced Token MUST be rejected. If
686
686
1. If the Relying Party is using a system for caching the Status List Token, it SHOULD check the `ttl` claim of the Status List Token and retrieve a fresh copy if (time status was resolved + ttl < current time)
687
687
{: type="a"}
688
688
1. Decompress the Status List with a decompressor that is compatible with DEFLATE {{RFC1951}} and ZLIB {{RFC1950}}
689
-
1. Retrieve the status value of the index specified in the Referenced Token as described in [](#status-list). If the provided index is out of bounds of the Status List, no statement about the status of the Referenced Token can be made and the Referenced Token SHOULD be rejected.
689
+
1. Retrieve the status value of the index specified in the Referenced Token as described in [](#status-list). If the provided index is out of bounds of the Status List, no statement about the status of the Referenced Token can be made and the Referenced Token MUST be rejected.
690
690
1. Check the status value as described in [](#status-types)
691
691
692
692
If any of these checks fails, no statement about the status of the Referenced Token can be made and the Referenced Token SHOULD be rejected.
@@ -751,7 +751,7 @@ An Issuer MAY support any of these mechanisms:
751
751
752
752
## Issuer Metadata
753
753
754
-
The Issuer MAY link to the Status List Aggregation URI in metadata that can be provided by different means like .well-known metadata as is used commonly in OAuth and OpenID Connect, or within Issuer certificates or trust lists (such as VICAL as defined in Annex C of {{ISO.mdoc}}). If the Issuer is an OAuth Authorization Server according to {{RFC6749}}, it is RECOMMENDED to use the `status_list_aggregation_endpoint` parameter within its metadata defined by {{RFC8414}}. The Issuer MAY limit the Status List Tokens listed by a Status List Aggregation to a particular type of Referenced Token.
754
+
The Issuer MAY link to the Status List Aggregation URI in metadata that can be provided by different means like .well-known metadata as is used commonly in OAuth as defined in {{RFC8414}}, or within Issuer certificates or trust lists (such as VICAL as defined in Annex C of {{ISO.mdoc}}). If the Issuer is an OAuth Authorization Server according to {{RFC6749}}, it is RECOMMENDED to use the `status_list_aggregation_endpoint` parameter within its metadata defined by {{RFC8414}}. The Issuer MAY limit the Status List Tokens listed by a Status List Aggregation to a particular type of Referenced Token.
755
755
756
756
The concrete implementation details depend on the specific ecosystem and are out of scope of this specification.
757
757
@@ -922,20 +922,16 @@ This behaviour could be mitigated by:
922
922
923
923
The tuple of uri and index inside the Referenced Token are unique and therefore is traceable data.
924
924
925
-
### Colluding Relying Parties
925
+
### Cross-party Collusion
926
926
927
-
Two or more colluding Relying Parties may link two transactions involving the same Referenced Token by comparing the status claims of received Referenced Tokens and therefore determine that they have interacted with the same Holder.
927
+
Two or more colluding parties (e.g Relying Parties and or the Status Issuer) may link two transactions involving the same Referenced Token by comparing the status claims of received Referenced Tokens and therefore determine that they have interacted with the same Holder.
928
928
929
-
To avoid privacy risks of colluding Relying Parties, it is RECOMMENDED that Issuers provide the ability to issue batches of one-time-use Referenced Tokens, enabling Holders to use in a single interaction with a Relying Party before discarding. See [](#implementation-linkability) to avoid further correlatable information by the values of `uri` and `idx`, Status Issuers are RECOMMENDED to:
929
+
To avoid privacy risks of this possible collusion, it is RECOMMENDED that Issuers provide the ability to issue batches of one-time-use Referenced Tokens, enabling Holders to use in a single interaction with a Relying Party before discarding. See [](#implementation-linkability) to avoid further correlatable information by the values of `uri` and `idx`, Status Issuers are RECOMMENDED to:
930
930
931
931
- choose non-sequential, pseudo-random or random indices
932
932
- use decoy entries to obfuscate the real number of Referenced Tokens within a Status List
933
933
- choose to deploy and utilize multiple Status Lists simultaneously
934
934
935
-
### Colluding Status Issuer and Relying Party
936
-
937
-
A Status Issuer and a Relying Party Issuer may link two transactions involving the same Referenced Tokens by comparing the status claims of the Referenced Token and therefore determine that they have interacted with the same Holder. It is therefore recommended to use Status Lists for Referenced Token formats that have similar unlinkability properties.
938
-
939
935
## External Status Provider for Privacy {#third-party-hosting}
940
936
941
937
If the roles of the Status Issuer and the Status Provider are performed by different entities, this may give additional privacy assurances as the Issuer has no means to identify the Relying Party or its request.
@@ -1312,10 +1308,10 @@ To indicate that the content is an JWT-based Status List:
1312
1308
* Applications that use this media type: Applications using this specification for updated status information of tokens
1313
1309
* Fragment identifier considerations: n/a
1314
1310
* Additional information: n/a
1315
-
* Person & email address to contact for further information: Paul Bastian, paul.bastian@posteo.de
1311
+
* Person & email address to contact for further information: OAuth WG mailing list, oauth@ietf.org
1316
1312
* Intended usage: COMMON
1317
1313
* Restrictions on usage: none
1318
-
* Author: Paul Bastian, paul.bastian@posteo.de
1314
+
* Author: OAuth WG mailing list, oauth@ietf.org
1319
1315
* Change controller: IETF
1320
1316
* Provisional registration? No
1321
1317
@@ -1332,10 +1328,10 @@ To indicate that the content is an CWT-based Status List:
1332
1328
* Applications that use this media type: Applications using this specification for updated status information of tokens
1333
1329
* Fragment identifier considerations: n/a
1334
1330
* Additional information: n/a
1335
-
* Person & email address to contact for further information: Paul Bastian, paul.bastian@posteo.de
1331
+
* Person & email address to contact for further information: OAuth WG mailing list, oauth@ietf.org
1336
1332
* Intended usage: COMMON
1337
1333
* Restrictions on usage: none
1338
-
* Author: Paul Bastian, paul.bastian@posteo.de
1334
+
* Author: OAuth WG mailing list, oauth@ietf.org
1339
1335
* Change controller: IETF
1340
1336
* Provisional registration? No
1341
1337
@@ -1835,6 +1831,7 @@ CBOR encoding:
1835
1831
* small corrections in the introduction
1836
1832
* change guidance around HTTP content negotiation to refer to RFC 9110
1837
1833
* strengthen normative guidance around handling cases or redirection
1834
+
* changing media type contact to oauth WG mailing list
1838
1835
* update discussion around collusion risk in unlinkability section
1839
1836
* strength guidance to MUST about rejecting reference tokens with an index which is out of bounds of the resolved list
0 commit comments