Skip to content

Commit ca6eaa2

Browse files
authored
Merge pull request #280 from oauth-wg/ttl_consideration
improve caching guidelines and move them to implementaiton considerat…
2 parents 8ff2afd + bf07ad1 commit ca6eaa2

File tree

1 file changed

+40
-28
lines changed

1 file changed

+40
-28
lines changed

Diff for: draft-ietf-oauth-status-list.md

+40-28
Original file line numberDiff line numberDiff line change
@@ -976,34 +976,6 @@ If the Issuer of the Referenced Token is a different entity than the Status Issu
976976
└─────────────────┘
977977
~~~
978978

979-
## Status List Caching
980-
981-
When fetching a Status List Token, Relying Parties must carefully evaluate how long a Status List is cached for. Collectively the `iat`, `exp` and `ttl` claims when present in a Status List Token communicate how long a Status List should be cached and should be considered valid for. The following diagram illustrates the relationship between these claims and how they are designed to influence caching.
982-
983-
~~~ ascii-art
984-
Time of fetching
985-
986-
987-
│ Check for Check for Check for
988-
│ updates updates updates
989-
990-
iat │ │ │ │ exp
991-
│ │ │ │
992-
│ │ │ │ │ │
993-
│ │ │ │ │ │
994-
│ │ │ │ │ │
995-
│ │ │ │ │ │
996-
│ │ ttl │ ttl │ ttl │ │
997-
│ │ ─────────────► │ ─────────────► │ ─────────────► │ ──► │
998-
│ │ │ │ │ │
999-
│ │ │ │ │ │
1000-
│ │
1001-
──┼───────────────────────────────────────────────────────────────┼─►
1002-
│ │
1003-
~~~
1004-
1005-
It is essential to understand the distinct purposes of the `ttl` and `exp` claims. The `ttl` claim represents a duration to be interpreted relative to the time the Status List is fetched, indicating when a new version of the Status List may be available. In contrast, the `exp` claim specifies an absolute timestamp, marking the point in time when the Status List expires and MUST NOT be relied upon any longer. Together, these claims provide guidance on when to check for updates (`ttl` claim) and when the Status List must be refreshed or replaced (`exp` claim).
1006-
1007979
# Privacy Considerations
1008980

1009981
## Observability of Issuers {#privacy-issuer}
@@ -1123,6 +1095,45 @@ If the roles of the Issuer of the Referenced Token and the Status Issuer are per
11231095

11241096
If the roles of the Status Issuer and the Status Provider are performed by different entities, this may allow for greater scalability, as the Status List Tokens may be served by operators with greater resources, like CDNs. At the same time the authenticity and integrity of Token Status List is still guaranteed, as it is signed by the Status Issuer.
11251097

1098+
## Status List Update Interval and Caching
1099+
1100+
Status Issuers have two options to communicate their update interval policy for the status of their Referenced Tokens:
1101+
1102+
- the `exp` claim specifies an absolute timestamp, marking the point in time when the Status List expires and MUST NOT be relied upon any longer
1103+
- the `ttl` claim represents a duration to be interpreted relative to the time the Status List is fetched, indicating when a new version of the Status List may be available
1104+
1105+
Both `ttl` and `exp` are RECOMMENDED to be used by the Status Issuer.
1106+
1107+
When fetching a Status List Token, Relying Parties must carefully evaluate how long a Status List is cached for. Collectively the `iat`, `exp` and `ttl` claims when present in a Status List Token communicate how long a Status List should be cached and should be considered valid for. Relying Parties have different options for caching the Status List:
1108+
1109+
- After time of fetching, the Relying Party caches the Status List for time duration of `ttl` before making checks for updates. This method is RECOMMENDED to distribute the load for the Status Provider.
1110+
- After initial fetching, the Relying Party checks for updates at time of `iat` + `ttl`. This method ensures the most up-to-date information for critical use cases. The Relying Party should account a minimal offset due to the signing and distribution process of the Status Issuer.
1111+
- If no `ttl` is given, then Relying Party SHOULD check for updates latest after time of `exp`.
1112+
1113+
Ultimately, its the Relying Parties decision how often to check for updates, ecosystems may define there own guidelines and policies for updating the Status List information.
1114+
1115+
The following diagram illustrates the relationship between these claims and how they are designed to influence caching:
1116+
1117+
~~~ ascii-art
1118+
1119+
Time of Check for Check for Check for
1120+
Fetching updates updates updates
1121+
1122+
iat │ │ │ │ exp
1123+
│ │ │ │
1124+
│ │ │ │ │ │
1125+
│ │ │ │ │ │
1126+
│ │ │ │ │ │
1127+
│ │ │ │ │ │
1128+
│ │ ttl │ ttl │ ttl │ │
1129+
│ │ ─────────────► │ ─────────────► │ ─────────────► │ ──► │
1130+
│ │ │ │ │ │
1131+
│ │ │ │ │ │
1132+
│ │
1133+
──┼───────────────────────────────────────────────────────────────┼─►
1134+
│ │
1135+
~~~
1136+
11261137
## Relying Parties avoiding correlatable Information
11271138

11281139
If the Relying Party does not require the Referenced Token and the Status List Token after the presentation, e.g. for subsequent status checks or audit trail, it is RECOMMENDED to delete correlatable information, in particular:
@@ -1882,6 +1893,7 @@ CBOR encoding:
18821893

18831894
-10
18841895

1896+
* improve caching guidelines and move them to implementaiton considerations
18851897
* Add CoAP Content-Format ID and IANA registration
18861898
* Add size comparison for status list and compressed uuids
18871899
* Change Controller IESG for OAuths Parameters Registration

0 commit comments

Comments
 (0)