Skip to content

Commit b9d6c2d

Browse files
authored
Merge branch 'main' into issue-343
2 parents bd3649b + 62eba52 commit b9d6c2d

1 file changed

Lines changed: 13 additions & 16 deletions

File tree

draft-ietf-oauth-status-list.md

Lines changed: 13 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -157,7 +157,7 @@ The following diagram depicts the relationship between the artifacts:
157157

158158
~~~
159159

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

162162
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.
163163

@@ -232,7 +232,7 @@ Status Issuer:
232232
: An entity that issues the Status List Token about the status information of the Referenced Token. This role may be fulfilled by the Issuer.
233233

234234
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.
236236

237237
Holder:
238238
: 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
601601

602602
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.
603603

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:
605605

606606
- 0x00 - "VALID" - The status of the Referenced Token is valid, correct or legal.
607607
- 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
686686
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)
687687
{: type="a"}
688688
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.
690690
1. Check the status value as described in [](#status-types)
691691

692692
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:
751751

752752
## Issuer Metadata
753753

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

756756
The concrete implementation details depend on the specific ecosystem and are out of scope of this specification.
757757

@@ -922,20 +922,16 @@ This behaviour could be mitigated by:
922922

923923
The tuple of uri and index inside the Referenced Token are unique and therefore is traceable data.
924924

925-
### Colluding Relying Parties
925+
### Cross-party Collusion
926926

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

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:
930930

931931
- choose non-sequential, pseudo-random or random indices
932932
- use decoy entries to obfuscate the real number of Referenced Tokens within a Status List
933933
- choose to deploy and utilize multiple Status Lists simultaneously
934934

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-
939935
## External Status Provider for Privacy {#third-party-hosting}
940936

941937
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:
13121308
* Applications that use this media type: Applications using this specification for updated status information of tokens
13131309
* Fragment identifier considerations: n/a
13141310
* Additional information: n/a
1315-
* Person &amp; email address to contact for further information: Paul Bastian, paul.bastian@posteo.de
1311+
* Person &amp; email address to contact for further information: OAuth WG mailing list, oauth@ietf.org
13161312
* Intended usage: COMMON
13171313
* Restrictions on usage: none
1318-
* Author: Paul Bastian, paul.bastian@posteo.de
1314+
* Author: OAuth WG mailing list, oauth@ietf.org
13191315
* Change controller: IETF
13201316
* Provisional registration? No
13211317

@@ -1332,10 +1328,10 @@ To indicate that the content is an CWT-based Status List:
13321328
* Applications that use this media type: Applications using this specification for updated status information of tokens
13331329
* Fragment identifier considerations: n/a
13341330
* Additional information: n/a
1335-
* Person &amp; email address to contact for further information: Paul Bastian, paul.bastian@posteo.de
1331+
* Person &amp; email address to contact for further information: OAuth WG mailing list, oauth@ietf.org
13361332
* Intended usage: COMMON
13371333
* Restrictions on usage: none
1338-
* Author: Paul Bastian, paul.bastian@posteo.de
1334+
* Author: OAuth WG mailing list, oauth@ietf.org
13391335
* Change controller: IETF
13401336
* Provisional registration? No
13411337

@@ -1835,6 +1831,7 @@ CBOR encoding:
18351831
* small corrections in the introduction
18361832
* change guidance around HTTP content negotiation to refer to RFC 9110
18371833
* strengthen normative guidance around handling cases or redirection
1834+
* changing media type contact to oauth WG mailing list
18381835
* update discussion around collusion risk in unlinkability section
18391836
* strength guidance to MUST about rejecting reference tokens with an index which is out of bounds of the resolved list
18401837
* remove non-normative ISO mdoc examples

0 commit comments

Comments
 (0)