Skip to content

Commit cebd437

Browse files
authored
Merge pull request #249 from oauth-wg/222-suspended-privacy-considerations
222 suspended privacy considerations
2 parents ef4ee62 + 04bd6ab commit cebd437

File tree

1 file changed

+11
-0
lines changed

1 file changed

+11
-0
lines changed

draft-ietf-oauth-status-list.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -712,6 +712,8 @@ This document creates a registry in [](#iana-status-types) that includes the mos
712712

713713
The processing rules for Referenced Tokens (such as JWT or CWT) precede any evaluation of a Referenced Token's status. For example, if a token is evaluated as being expired through the "exp" (Expiration Time) but also has a status of 0x00 ("VALID"), the token is considered expired.
714714

715+
See [](#privacy-status-types) for privacy considerations on status types.
716+
715717
# Verification and Processing
716718

717719
## Status List Request {#status-list-request}
@@ -1031,6 +1033,14 @@ By default, this specification only supports providing Status List information f
10311033

10321034
There are strong privacy concerns that have to be carefully taken into consideration when providing a mechanism that allows historic requests for status information - see [](#privacy-relying-party) for more details. Support for this functionality is optional and Implementers are RECOMMENDED to not support historic requests unless there are strong reasons to do so and after carefully considering the privacy implications.
10331035

1036+
## Status Types {#privacy-status-types}
1037+
1038+
As previously explained, there is the potential risk of observability by Relying Parties (see [](#privacy-relying-party)) and Outsiders (see [](#privacy-outsider)). That means that any Status Type that transports special information about a Token can leak information to other parties. This documents defines one additional Status Type with "SUSPENDED" that conveys such additional information. Depending on the use-case, suspended could for example provide information that an authorization in the Token is suspended, but the token itself is still valid.
1039+
1040+
A concrete example would be a driver's license, where the digital driver's license might still be useful to prove other information about its holder, but suspended could signal that it should not be considered valid in the scope of being allowed to drive a car. This case could be solved by either introducing a special status type, or by revoking the Token and re-issuing with changed attributes. For such a case, the status type suspended might be dangerous as it would leak the information of a suspended driver's license even if the driver's license is used as a mean of identification and not in the context of driving a car. This could also allow for the unwanted collection of statistical data on the status of driver's licenses.
1041+
1042+
Ecosystems that want to use other Status Types than "VALID" and "INVALID" should consider the possible leakage of data and profiling possibilities before doing so and evaluate if revocation and re-issuance might a better fit for their use-case.
1043+
10341044
# Implementation Considerations {#implementation}
10351045

10361046
## Referenced Token Lifecycle {#implementation-lifecycle}
@@ -1804,6 +1814,7 @@ CBOR encoding:
18041814
* add prior art
18051815
* updated language around application specific status type values and assigned ranges for application specific usage
18061816
* add short security considerations section for mac based deployments
1817+
* privacy considerations for other status types like suspended
18071818
* fix aggregation_uri text in referenced token
18081819
* mention key resolution in validation rules
18091820

0 commit comments

Comments
 (0)