<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.1 (Ruby 3.2.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-oauth-status-list-00" category="info" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.18.2 -->
  <front>
    <title>OAuth Status List</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-oauth-status-list-00"/>
    <author fullname="Tobias Looker">
      <organization>MATTR</organization>
      <address>
        <email>tobias.looker@mattr.global</email>
      </address>
    </author>
    <author fullname="Paul Bastian">
      <organization/>
      <address>
        <email>paul.bastian@posteo.de</email>
      </address>
    </author>
    <author fullname="Christian Bormann">
      <organization/>
      <address>
        <email>chris.bormann@gmx.de</email>
      </address>
    </author>
    <date year="2023" month="October" day="23"/>
    <abstract>
      <?line 37?>

<t>This specification defines status list data structures for representing the status of JSON Web Tokens (JWTs) <xref target="RFC7519"/> and CBOR Web Tokens (CWTs) <xref target="RFC8392"/>.
The status list data structures themselves are also represented as JWTs or CWTs.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://vcstuff.github.io/draft-ietf-oauth-status-list/draft-ietf-oauth-status-list.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-ietf-oauth-status-list/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/vcstuff/draft-ietf-oauth-status-list"/>.</t>
    </note>
  </front>
  <middle>
    <?line 42?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>JSON Web Tokens (JWTs) <xref target="RFC7519"/> and CBOR Web Tokens (CWTs) <xref target="RFC8392"/> as secure token formats, have vast possible applications. Some of these applications can involve issuing a token whereby certain semantics about the token can change over time, which are important to be able to communicate to relying parties in an interoperable manner, such as whether the token is considered invalidated or suspended by its issuer.</t>
      <t>This document defines Status List representations in JWT and CWT formats that describe the individual statuses of multiple Referenced Tokens, which themselves are also JWTs or CWTs. The statuses of all Referenced Tokens are conveyed via a bit array in the Status List. Each Referenced Token is allocated an index during issuance that represents its position within this bit array. The value of the bit(s) at this position correspond to the Referenced Token's status. The document also defines how an issuer of a Referenced Token references a Status List Token. Status Lists may be composed for expressing a range of Status Types. This document defines basic Status Types for the most common use cases as well as an extensibility mechanism for custom Status Types. The Status List Token may be used by an issuer in the Issuer-Holder-Verifier model to express the status of verifiable credentials (Referenced Tokens) issued by an issuer.</t>
      <t>The following diagram depicts the basic conceptual relationship.</t>
      <artwork type="ascii-art"><![CDATA[
+------------------+                    +-------------------+
|                  |     References     |                   |
|                  |------------------->|                   |
| Referenced Token |                    | Status List Token |
|   (JWT or CWT)   |                    |    (JWT or CWT)   |
|                  |  Describes Status  |                   |
|                  |<-------------------|                   |
+------------------+                    +-------------------+
]]></artwork>
      <section anchor="rationale">
        <name>Rationale</name>
        <t>Revocation mechanisms are an essential part for most identity ecosystems. In the past, revocation of X.509 TLS certificates has been proven difficult. Traditional certificate revocation lists (CRLs) have limited scalability; Online Certificate Status Protocol (OCSP) has additional privacy risks, since the client is leaking the requested website to a third party. OCSP stapling is addressing some of these problems at the cost of less up-to-date data. Modern approaches use accumulator-based revocation registries and Zero-Knowledge-Proofs to accommodate for this privacy gap, but face scalability issues again.</t>
        <t>This specification seeks to find a balance between scalability, security, and privacy by minimizing the status information to mere bits (often a single bit) and compressing the resulting binary data. Thereby, a Status List may contain statuses of 100,000 or more Referenced Tokens, but still remain relatively small. Placing large amounts of Referenced Tokens into the same list also enables herd privacy relative to the Issuer.</t>
      </section>
    </section>
    <section anchor="conventions-and-definitions">
      <name>Conventions and Definitions</name>
      <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
      <?line -18?>

</section>
    <section anchor="terminology">
      <name>Terminology</name>
      <dl>
        <dt>Issuer:</dt>
        <dd>
          <t>An entity that issues the Referenced Token and provides the status information of the Referenced Token by serving a Status List Token on a public endpoint.</t>
        </dd>
        <dt>Relying Party:</dt>
        <dd>
          <t>An entity that relies on the Status List to validate the status of the Referenced Token. Also known as Verifier.</t>
        </dd>
        <dt>Status List:</dt>
        <dd>
          <t>A bit array that lists the statuses of many Referenced Tokens.</t>
        </dd>
        <dt>Status List Token:</dt>
        <dd>
          <t>A token in JWT or CWT representation that contains a cryptographically secured Status List.</t>
        </dd>
        <dt>Referenced Token:</dt>
        <dd>
          <t>A token in JWT or CWT representation which contains a reference to a Status List Token. The information from the contained Status List may give a Relying Party additional information about up-to-date status of the Referenced Token.</t>
        </dd>
      </dl>
    </section>
    <section anchor="json-web-token-representation">
      <name>JSON Web Token Representation</name>
      <section anchor="jwt-status-list-format-and-processing">
        <name>Status List JWT Format and Processing Requirements</name>
        <t>The following rules apply to validating a JWT-based Status List Token. Application of additional restrictions and policy are at the discretion of the verifying party.</t>
        <ol spacing="normal" type="1"><li>
            <t>The JWT <bcp14>MUST</bcp14> contain an "iss" (issuer) claim that contains a unique string identifier for the entity that issued the JWT. In the absence of an application profile specifying otherwise, compliant applications <bcp14>MUST</bcp14> compare issuer values using the Simple String Comparison method defined in Section 6.2.1 of <xref target="RFC3986"/>. The value <bcp14>MUST</bcp14> be equal to that of the "iss" claim contained within the Referenced Token.</t>
          </li>
          <li>
            <t>The JWT <bcp14>MUST</bcp14> contain a "sub" (subject) claim that contains an unique string identifier for that Referenced Token. The value <bcp14>MUST</bcp14> be equal to that of the "uri" claim contained in the "status" claim of the Referenced Token.</t>
          </li>
          <li>
            <t>The JWT <bcp14>MUST</bcp14> contain an "iat" (issued at) claim that identifies the time at which it was issued.</t>
          </li>
          <li>
            <t>The JWT <bcp14>MUST</bcp14> contain an "status_list" (status list) claim conforming to the rules outlined in <xref target="jwt-status-list-claim-format"/>.</t>
          </li>
          <li>
            <t>The JWT <bcp14>MAY</bcp14> contain an "exp" (expiration time) claim that conveys when it is considered expired by its issuer.</t>
          </li>
          <li>
            <t>The JWT <bcp14>MAY</bcp14> contain other claims.</t>
          </li>
          <li>
            <t>The JWT <bcp14>MUST</bcp14> be digitally signed using an asymmetric cryptographic algorithm. Relying parties <bcp14>MUST</bcp14> reject the JWT if it is using a Message Authentication Code (MAC) algorithm. Relying parties <bcp14>MUST</bcp14> reject JWTs with an invalid signature.</t>
          </li>
          <li>
            <t>Relying parties <bcp14>MUST</bcp14> reject JWTs that are not valid in all other respects per "JSON Web Token (JWT)" <xref target="RFC7519"/>.</t>
          </li>
        </ol>
        <artwork><![CDATA[
{
  "alg": "ES256",
  "kid": "12",
  "typ": "statuslist+jwt"
}
.
{
  "exp": 2291720170,
  "iat": 1686920170,
  "iss": "https://example.com",
  "status_list": {
    "bits": 2,
    "lst": "H4sIAOpbjGQC_zvp8hMAZLRLMQMAAAA"
  },
  "sub": "https://example.com/statuslists/1"
}
]]></artwork>
        <section anchor="jwt-status-list-claim-format">
          <name>Status List Claim Format</name>
          <t>The following rules apply to validating the "status_list" (status list) claim</t>
          <ol spacing="normal" type="1"><li>
              <t>The claim value <bcp14>MUST</bcp14> be a valid JSON object.</t>
            </li>
            <li>
              <t>The claim value object <bcp14>MUST</bcp14> contain a "bits" (bit size) member with an numeric value that represents the number of bits per Referenced Token in the Status List ("lst") of the Status List JWT. The allowed values for "bits" are 1,2,4 and 8.</t>
            </li>
            <li>
              <t>The claim value object <bcp14>MUST</bcp14> contain a "lst" (list) member with a string value that represents the status values for all the tokens it conveys statuses for. The value <bcp14>MUST</bcp14> be computed using the algorithm described in <xref target="jwt-status-list-claim-encoding"/>.</t>
            </li>
          </ol>
        </section>
        <section anchor="jwt-status-list-claim-encoding">
          <name>Status List Encoding</name>
          <t>Each status of a Referenced Token <bcp14>MUST</bcp14> be represented with a bit size of 1,2,4, or 8. Therefore up to 2,4,16, or 256 statuses for a Referenced Token are possible, depending on the bit size. This limitation is intended to limit bit manipulation necessary to a single byte for every operation and thus keeping implementations simpler and less error prone.</t>
          <ol spacing="normal" type="1"><li>
              <t>The overall Status List is encoded as a byte array. Depending on the bitsize, each byte corresponds to 8/(#bit-size) statuses (8,4,2, or 1). The status of each Referenced Token is identified using the index that maps to one or more specific bits within the byte array. The index starts counting at 0 and ends with "size" - 1 (being the last valid entry). The bits within an array are counted from least significant bit "0" to the most significant bit ("7"). All bits of the byte array at a particular index are set to a status value.</t>
            </li>
            <li>
              <t>The complete byte array is compressed using gZIP <xref target="RFC1952"/>.</t>
            </li>
            <li>
              <t>The result of the gZIP compression is then base64url-encoded, as defined in Section 2 of <xref target="RFC7515"/>.</t>
            </li>
          </ol>
        </section>
      </section>
      <section anchor="jwt-referenced-token">
        <name>Referenced Token Format and Processing Requirements</name>
        <t>The following rules apply to validating a Referenced Token in JWT representation, which references a Status List Token. Application of additional restrictions and policy are at the discretion of the verifying party.</t>
        <ol spacing="normal" type="1"><li>
            <t>The JWT <bcp14>MUST</bcp14> contain an "iss" (issuer) claim that contains a unique string identifier for the entity that issued the JWT. In the absence of an application profile specifying otherwise, compliant applications <bcp14>MUST</bcp14> compare issuer values using the Simple String Comparison method defined in Section 6.2.1 of <xref target="RFC3986"/>. The value <bcp14>MUST</bcp14> be equal to that of the "iss" claim contained within the referenced Status List Token.</t>
          </li>
          <li>
            <t>The JWT <bcp14>MUST</bcp14> contain an "status" (status) claim conforming to the rules outlined in <xref target="jwt-referenced-token-status"/></t>
          </li>
        </ol>
        <t>The following example is the decoded header and payload of a JWT meeting the processing rules as defined above.</t>
        <artwork type="ascii-art"><![CDATA[
{
  "alg": "ES256",
  "kid": "11"
}
.
{
  "iss": "https://example.com",
  "status": {
    "idx": 0,
    "uri": "https://example.com/statuslists/1"
  }
}
]]></artwork>
        <section anchor="jwt-referenced-token-status">
          <name>Status Claim Format</name>
          <t>The following rules apply to validating the "status" (status) claim</t>
          <ol spacing="normal" type="1"><li>
              <t>The claim value <bcp14>MUST</bcp14> be a valid JSON object.</t>
            </li>
            <li>
              <t>The claim value object <bcp14>MUST</bcp14> contain an "idx" (index) member with a numeric value that represents the index to check for status information in the Status List for the current JWT. The value of this member <bcp14>MUST</bcp14> be a non-negative number, containing a value of zero or greater.</t>
            </li>
            <li>
              <t>The claim value object <bcp14>MUST</bcp14> contain a "uri" member with a string value that identifies the Status List containing the status information for the JWT. The value of this member <bcp14>MUST</bcp14> be a uri conforming to <xref target="RFC3986"/>.</t>
            </li>
          </ol>
        </section>
      </section>
    </section>
    <section anchor="status-types">
      <name>Status Types</name>
      <t>This document defines potential statuses of Referenced Tokens as Status Type values. If the Status List contains more than one bit per token (as defined by "bits" in the Status List), then the whole value of bits <bcp14>MUST</bcp14> describe one value. A Status List can not represent multiple statuses per Referenced Token.</t>
      <t>The registry in this document describes the basic Status Type values required for the most common use cases.
Additional values may defined for particular use cases.</t>
      <section anchor="status-types-values">
        <name>Status Types Values</name>
        <t>A status describes the state, mode, condition or stage of an entity that is described by the status list. Status Types <bcp14>MUST</bcp14> be numeric values between 0 and 255.
Status types described by this specification comprise:
 - 0x00 - "VALID" - The status of the Token is valid, correct or legal.
 - 0x01 - "INVALID" - The status of the Token is revoked, annulled, taken back, recalled or cancelled. This state is irreversible.
 - 0x02 - "SUSPENDED" - The status of the Token is temporarily invalid, hanging, debarred from privilege. This state is reversible.</t>
        <t>The issuer of the Status List Token <bcp14>MUST</bcp14> choose an adequate "bits" (bit size) to be able to describe the required Status Types for the application.</t>
      </section>
    </section>
    <section anchor="example-jwt-status-lists">
      <name>Example JWT Status Lists</name>
      <section anchor="example-status-list-with-1-bit-status-values">
        <name>Example Status List with 1-Bit Status Values</name>
        <t>In this example, the Status List is used as a revocation list. It only requires the Status Types "VALID" and "INVALID"; therefore a "bits" of 1 is sufficient.</t>
        <t>This example Status List represents the statuses of 16 Referenced Tokens, requiring 16 bits (2 bytes) of status.</t>
        <artwork type="ascii-art"><![CDATA[
status[0] = 1
status[1] = 0
status[2] = 0
status[3] = 1
status[4] = 1
status[5] = 1
status[6] = 0
status[7] = 1
status[8] = 1
status[9] = 1
status[10] = 0
status[11] = 0
status[12] = 0
status[13] = 1
status[14] = 0
status[15] = 1
]]></artwork>
        <t>These bits are concatenated:</t>
        <artwork type="ascii-art"><![CDATA[
byte             0                  1               2
bit       7 6 5 4 3 2 1 0    7 6 5 4 3 2 1 0    7
         +-+-+-+-+-+-+-+-+  +-+-+-+-+-+-+-+-+  +-+...
values   |1|0|1|1|1|0|0|1|  |1|0|1|0|0|0|1|1|  |0|...
         +-+-+-+-+-+-+-+-+  +-+-+-+-+-+-+-+-+  +-+...
index     7 6 5 4 3 2 1 0   15   ...  10 9 8   23
         \_______________/  \_______________/
                0xB9               0xA3

]]></artwork>
        <t>Resulting in the byte array and compressed/base64url encoded status list:</t>
        <artwork><![CDATA[
byte_array = [0xb9, 0xa3] 
encoded = "H4sIAOpbjGQC_9u5GABc9QE7AgAAAA"
]]></artwork>
      </section>
      <section anchor="example-status-list-with-2-bit-status-values">
        <name>Example Status List with 2-Bit Status Values</name>
        <t>In thisexample, the Status List additionally includes the Status Type "SUSPENDED. As the Status Type value for "SUSPENDED" is 0x02 and does not fit into 1 bit, the "bits" is required to be 2.</t>
        <t>This example Status List represents the status of 12 Referenced Tokens, requiring 24 bits (3 bytes) of status.</t>
        <artwork type="ascii-art"><![CDATA[
status[0] = 1
status[1] = 2
status[2] = 0
status[3] = 3
status[4] = 0
status[5] = 1
status[6] = 0
status[7] = 1
status[8] = 1
status[9] = 2
status[10] = 3
status[11] = 3
]]></artwork>
        <t>These bits are concatenated:</t>
        <artwork type="ascii-art"><![CDATA[
byte             0                  1                  2
bit       7 6 5 4 3 2 1 0    7 6 5 4 3 2 1 0    7 6 5 4 3 2 1 0
         +-+-+-+-+-+-+-+-+  +-+-+-+-+-+-+-+-+  +-+-+-+-+-+-+-+-+
values   |1|1|0|0|1|0|0|1|  |0|1|0|0|0|1|0|0|  |1|1|1|1|1|0|0|1|
         +-+-+-+-+-+-+-+-+  +-+-+-+-+-+-+-+-+  +-+-+-+-+-+-+-+-+
          \ / \ / \ / \ /    \ / \ / \ / \ /    \ / \ / \ / \ /
status     3   0   2   1      1   0   1   0      3   3   2   1
index      3   2   1   0      7   6   5   4      11  10  9   8
           \___________/      \___________/      \___________/
                0xC9               0x44               0xF9

]]></artwork>
        <t>Resulting in the byte array and compressed/base64url encoded status list:</t>
        <artwork><![CDATA[
byte_array = [0xc9, 0x44, 0xf9] 
encoded = "H4sIAOpbjGQC_zvp8hMAZLRLMQMAAAA"
]]></artwork>
      </section>
    </section>
    <section anchor="verification-and-processing">
      <name>Verification and Processing</name>
      <section anchor="status-list-request">
        <name>Status List Request</name>
        <t>To obtain the Status List or Status List Token, the Relying Party <bcp14>MUST</bcp14> send a HTTP GET request to the Status List Endpoint. Communication with the Status List Endpoint <bcp14>MUST</bcp14> utilize TLS. Which version(s) should be implemented will vary over time. A TLS server certificate check <bcp14>MUST</bcp14> be performed as defined in Section 5 and 6 of <xref target="RFC6125"/>.</t>
        <t>The Relying Party <bcp14>SHOULD</bcp14> send the following Accept-Header to indicate the requested response type:</t>
        <ul spacing="normal">
          <li>
            <t>"application/statuslist+jwt" for Status List JWTs</t>
          </li>
          <li>
            <t>"application/statuslist+cwt" for Status List CWTs</t>
          </li>
        </ul>
        <t>If the Relying Party does not send an Accept Header, the reponse type is assumed to be known implicit or out-of-band.</t>
      </section>
      <section anchor="status-list-response">
        <name>Status List Response</name>
        <t>In the successful response, the Status List Provider <bcp14>MUST</bcp14> use the following content-type:</t>
        <ul spacing="normal">
          <li>
            <t>"application/statuslist+jwt" for Status List JWTs</t>
          </li>
          <li>
            <t>"application/statuslist+cwt" for Status List CWTs</t>
          </li>
        </ul>
        <t>In the case of "application/statuslist+jwt", the response <bcp14>MUST</bcp14> be of type JWT and follow the rules of <xref target="jwt-status-list-format-and-processing"/>.
In the case of "application/statuslist+cwt", the response <bcp14>MUST</bcp14> be of type JWT and follow the rules of <xref target="cwt-status-list-format"/>.</t>
        <t>The response <bcp14>SHOULD</bcp14> use gzip Content-Encoding as defined in <xref target="RFC9110"/>.</t>
      </section>
      <section anchor="caching">
        <name>Caching</name>
        <t>If caching is required (e.g., to enable the use of alternative mechanisms for hosting, like Content Delivery Networks), the control of the caching mechanism <bcp14>SHOULD</bcp14> be implemented using the standard HTTP Cache-Control as defined in <xref target="RFC9111"/>.</t>
      </section>
      <section anchor="validation-rules">
        <name>Validation Rules</name>
      </section>
    </section>
    <section anchor="cwt-status-list-format">
      <name>CWT Representations</name>
      <t>TBD Define parallel CWT representations for Status Lists and Referenced Tokens.</t>
      <t>TBD Declare whether JWT and CWT representations can be used interchangeably by the same issuer.  For instance, declare whether a status list can reference both JWT and CWT tokens.</t>
    </section>
    <section anchor="Security">
      <name>Security Considerations</name>
      <section anchor="correct-decoding-and-parsing-of-the-encoded-status-list">
        <name>Correct decoding and parsing of the encoded status list</name>
        <t>TODO elaborate on risks of incorrect parsing/decoding leading to erroneous status data</t>
      </section>
      <section anchor="cached-and-stale-status-lists">
        <name>Cached and Stale status lists</name>
        <t>TODO consumers/Relying Party of the status list should be aware if they fetch the up-to-date data</t>
      </section>
      <section anchor="security-authorization">
        <name>Authorized access to the Status List</name>
        <t>TODO elaborate on authorization mechanisms preventing misuse and profiling as described in privacy section</t>
      </section>
      <section anchor="history">
        <name>History</name>
        <t>TODO elaborate on status list only providing the up-to date/latest status, no historical data, may be provided by the underlying hosting architecture</t>
      </section>
    </section>
    <section anchor="privacy-considerations">
      <name>Privacy Considerations</name>
      <section anchor="privacy-issuer">
        <name>Issuer tracking and Herd Privacy</name>
        <t>The main privacy consideration for a Status List, especially in the context of the Issuer-Holder-Verifier model, is to prevent the Issuer from tracking the usage of the Referenced Token when the status is being checked. If an Issuer offers status information by referencing a specific token, this would enable him to create a profile for the issued token by correlating the date and identity of Relying Parties, that are requesting the status.</t>
        <t>The Status List approaches these privacy implications by integrating the status information of many Referenced Tokens into the same list. Therefore, the Issuer does not learn for which Referenced Token the Relying Party is requesting the Status List. The privacy of the Holder is protected by the anonymity within the set of Referenced Tokens in the Status List, also called herd privacy. This limits the possibilities of tracking by the Issuer.</t>
        <t>The herd privacy is depending on the number of entities within the Status List called its size. A larger size results in better privacy but also impacts the performance as more data has to be transferred to read the Status List.</t>
      </section>
      <section anchor="malicious-issuers">
        <name>Malicious Issuers</name>
        <t>A malicious Issuer could bypass the privacy benefits of the herd privacy by generating a unique Status List for every Referenced Token. By these means, he could maintain a mapping between Referenced Tokens and Status Lists and thus track the usage of Referenced Tokens by utilizing this mapping for the incoming requests. This malicious behaviour could be detected by Relying Parties that request large amounts of Referenced Tokens by comparing the number of different Status Lists and their sizes.</t>
      </section>
      <section anchor="privacy-relying-party">
        <name>Relying Party tracking</name>
        <t>Once the Relying Party gets the Referenced Token, this enables him to request the Status List to validate the status of the Token through the provided "uri" property and look up the corresponding "index". However, the Relying Party may persistently store the "uri" and "index" of the Referenced Token to request the Status List again at a later time. By doing so regularly, the Relying Party may create a profile of the Referenced Token's validity status. This behaviour may be inteded as a feature, e.g. for a KYC process that requires regular validity checks, but might also be abused in cases where this is not intended and unknown to the Holder, e.g. profiling the suspension of a driving license or checking the employment status of an employee credential. This behaviour could be constrained by adding authorization rules to the Status List, see <xref target="security-authorization"/>.</t>
      </section>
      <section anchor="correlation-risks-and-tracking">
        <name>Correlation Risks and Tracking</name>
        <t>Colluding Issuers and Relying Parties have the possibility to identify the usage of credentials of a particular Holder, as the Referenced Token contains unique, trackable data.</t>
        <t>To avoid privacy risks for colluding Relying Parties, it is recommended that Issuers use batch issuance to issue multiple tokens, such that Holders can use individual tokens for specific Relying Parties. In this case, every Referenced Token <bcp14>MUST</bcp14> have a dedicated Status List entry. Revoking batch issued Referenced Tokens might reveal this correlation lateron.</t>
        <t>To avoid information leakage by the values of "uri" and "index", Issuers are <bcp14>RECOMMENDED</bcp14> to:</t>
        <ul spacing="normal">
          <li>
            <t>choose non-sequential, pseudo-random or random indices</t>
          </li>
          <li>
            <t>use decoy or dead entries to obfuscate the real number of Referenced Tokens within a Status List</t>
          </li>
          <li>
            <t>choose to deploy and utilize multiple Status Lists simulantaniously</t>
          </li>
        </ul>
      </section>
      <section anchor="third-party-hosting">
        <name>Third Party Hosting</name>
        <t>TODO elaborate on increased privacy if the status list is hosted by a third party instead of the issuer reducing tracking possiblities
TODO evaluate deifnition of Status List Provider?
 An entity that hosts the Status List as a resource for potential Relying Parties. The Status List Provider may be the issuer of the Status List but may also be outsourced to a trusted third party.</t>
      </section>
    </section>
    <section anchor="implementation">
      <name>Implementation Considerations</name>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <section anchor="json-web-token-claims-registration">
        <name>JSON Web Token Claims Registration</name>
        <t>This specification requests registration of the following Claims in the
IANA "JSON Web Token Claims" registry [@IANA.JWT] established by [@!RFC7519].</t>
        <ul spacing="normal">
          <li>
            <t>Claim Name: <tt>status</tt></t>
          </li>
          <li>
            <t>Claim Description: Reference to a status list containing up-to-date status information on the JWT.</t>
          </li>
          <li>
            <t>Change Controller: IETF</t>
          </li>
          <li>
            <t>Specification Document(s):  [[ (#jwt-referenced-token) of this specification ]]</t>
          </li>
        </ul>
        <t><br/></t>
        <ul spacing="normal">
          <li>
            <t>Claim Name: <tt>status_list</tt></t>
          </li>
          <li>
            <t>Claim Description: A status list containing up-to-date status information on multiple other JWTs encoded as a bitarray.</t>
          </li>
          <li>
            <t>Change Controller: IETF</t>
          </li>
          <li>
            <t>Specification Document(s):  [[ (#jwt-status-list-claim-format) of this specification ]]</t>
          </li>
        </ul>
      </section>
      <section anchor="media-type-registration">
        <name>Media Type Registration</name>
        <t>This section requests registration of the following media types [@RFC2046] in
the "Media Types" registry [@IANA.MediaTypes] in the manner described
in [@RFC6838].</t>
        <t>To indicate that the content is an JWT-based Status List:</t>
        <t>Type name: application
  * Subtype name: statuslist+jwt
  * Required parameters: n/a
  * Optional parameters: n/a
  * Encoding considerations: binary; A JWT-based Status List is a JWT; JWT values are encoded as a series of base64url-encoded values (some of which may be the empty string) separated by period ('.') characters.
  * Security considerations: See (#Security) of [[ this specification ]]
  * Interoperability considerations: n/a
  * Published specification: [[ this specification ]]
  * Applications that use this media type: Applications using [[ this specification ]] for updated status information of tokens
  * Fragment identifier considerations: n/a
  * Additional information:
    * File extension(s): n/a
    * Macintosh file type code(s): n/a
  * Person &amp; email address to contact for further information: Paul Bastian, paul.bastian@posteo.de
  * Intended usage: COMMON
  * Restrictions on usage: none
  * Author: Paul Bastian, paul.bastian@posteo.de
  * Change controller: IETF
  * Provisional registration? No</t>
        <t>To indicate that the content is an CWT-based Status List:</t>
        <t>Type name: application
  * Subtype name: statuslist+cwt
  * Required parameters: n/a
  * Optional parameters: n/a
  * Encoding considerations: binary
  * Security considerations: See (#Security) of [[ this specification ]]
  * Interoperability considerations: n/a
  * Published specification: [[ this specification ]]
  * Applications that use this media type: Applications using [[ this specification ]] for updated status information of tokens
  * Fragment identifier considerations: n/a
  * Additional information:
    * File extension(s): n/a
    * Macintosh file type code(s): n/a
  * Person &amp; email address to contact for further information: Paul Bastian, paul.bastian@posteo.de
  * Intended usage: COMMON
  * Restrictions on usage: none
  * Author: Paul Bastian, paul.bastian@posteo.de
  * Change controller: IETF
  * Provisional registration? No</t>
      </section>
    </section>
  </middle>
  <back>
    <references anchor="sec-normative-references">
      <name>Normative References</name>
      <reference anchor="RFC7519">
        <front>
          <title>JSON Web Token (JWT)</title>
          <author fullname="M. Jones" initials="M." surname="Jones"/>
          <author fullname="J. Bradley" initials="J." surname="Bradley"/>
          <author fullname="N. Sakimura" initials="N." surname="Sakimura"/>
          <date month="May" year="2015"/>
          <abstract>
            <t>JSON Web Token (JWT) is a compact, URL-safe means of representing claims to be transferred between two parties. The claims in a JWT are encoded as a JSON object that is used as the payload of a JSON Web Signature (JWS) structure or as the plaintext of a JSON Web Encryption (JWE) structure, enabling the claims to be digitally signed or integrity protected with a Message Authentication Code (MAC) and/or encrypted.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="7519"/>
        <seriesInfo name="DOI" value="10.17487/RFC7519"/>
      </reference>
      <reference anchor="RFC8392">
        <front>
          <title>CBOR Web Token (CWT)</title>
          <author fullname="M. Jones" initials="M." surname="Jones"/>
          <author fullname="E. Wahlstroem" initials="E." surname="Wahlstroem"/>
          <author fullname="S. Erdtman" initials="S." surname="Erdtman"/>
          <author fullname="H. Tschofenig" initials="H." surname="Tschofenig"/>
          <date month="May" year="2018"/>
          <abstract>
            <t>CBOR Web Token (CWT) is a compact means of representing claims to be transferred between two parties. The claims in a CWT are encoded in the Concise Binary Object Representation (CBOR), and CBOR Object Signing and Encryption (COSE) is used for added application-layer security protection. A claim is a piece of information asserted about a subject and is represented as a name/value pair consisting of a claim name and a claim value. CWT is derived from JSON Web Token (JWT) but uses CBOR rather than JSON.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="8392"/>
        <seriesInfo name="DOI" value="10.17487/RFC8392"/>
      </reference>
      <reference anchor="RFC3986">
        <front>
          <title>Uniform Resource Identifier (URI): Generic Syntax</title>
          <author fullname="T. Berners-Lee" initials="T." surname="Berners-Lee"/>
          <author fullname="R. Fielding" initials="R." surname="Fielding"/>
          <author fullname="L. Masinter" initials="L." surname="Masinter"/>
          <date month="January" year="2005"/>
          <abstract>
            <t>A Uniform Resource Identifier (URI) is a compact sequence of characters that identifies an abstract or physical resource. This specification defines the generic URI syntax and a process for resolving URI references that might be in relative form, along with guidelines and security considerations for the use of URIs on the Internet. The URI syntax defines a grammar that is a superset of all valid URIs, allowing an implementation to parse the common components of a URI reference without knowing the scheme-specific requirements of every possible identifier. This specification does not define a generative grammar for URIs; that task is performed by the individual specifications of each URI scheme. [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="STD" value="66"/>
        <seriesInfo name="RFC" value="3986"/>
        <seriesInfo name="DOI" value="10.17487/RFC3986"/>
      </reference>
      <reference anchor="RFC1952">
        <front>
          <title>GZIP file format specification version 4.3</title>
          <author fullname="P. Deutsch" initials="P." surname="Deutsch"/>
          <date month="May" year="1996"/>
          <abstract>
            <t>This specification defines a lossless compressed data format that is compatible with the widely used GZIP utility. This memo provides information for the Internet community. This memo does not specify an Internet standard of any kind.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="1952"/>
        <seriesInfo name="DOI" value="10.17487/RFC1952"/>
      </reference>
      <reference anchor="RFC7515">
        <front>
          <title>JSON Web Signature (JWS)</title>
          <author fullname="M. Jones" initials="M." surname="Jones"/>
          <author fullname="J. Bradley" initials="J." surname="Bradley"/>
          <author fullname="N. Sakimura" initials="N." surname="Sakimura"/>
          <date month="May" year="2015"/>
          <abstract>
            <t>JSON Web Signature (JWS) represents content secured with digital signatures or Message Authentication Codes (MACs) using JSON-based data structures. Cryptographic algorithms and identifiers for use with this specification are described in the separate JSON Web Algorithms (JWA) specification and an IANA registry defined by that specification. Related encryption capabilities are described in the separate JSON Web Encryption (JWE) specification.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="7515"/>
        <seriesInfo name="DOI" value="10.17487/RFC7515"/>
      </reference>
      <reference anchor="RFC6125">
        <front>
          <title>Representation and Verification of Domain-Based Application Service Identity within Internet Public Key Infrastructure Using X.509 (PKIX) Certificates in the Context of Transport Layer Security (TLS)</title>
          <author fullname="P. Saint-Andre" initials="P." surname="Saint-Andre"/>
          <author fullname="J. Hodges" initials="J." surname="Hodges"/>
          <date month="March" year="2011"/>
          <abstract>
            <t>Many application technologies enable secure communication between two entities by means of Internet Public Key Infrastructure Using X.509 (PKIX) certificates in the context of Transport Layer Security (TLS). This document specifies procedures for representing and verifying the identity of application services in such interactions. [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="6125"/>
        <seriesInfo name="DOI" value="10.17487/RFC6125"/>
      </reference>
      <reference anchor="RFC9110">
        <front>
          <title>HTTP Semantics</title>
          <author fullname="R. Fielding" initials="R." role="editor" surname="Fielding"/>
          <author fullname="M. Nottingham" initials="M." role="editor" surname="Nottingham"/>
          <author fullname="J. Reschke" initials="J." role="editor" surname="Reschke"/>
          <date month="June" year="2022"/>
          <abstract>
            <t>The Hypertext Transfer Protocol (HTTP) is a stateless application-level protocol for distributed, collaborative, hypertext information systems. This document describes the overall architecture of HTTP, establishes common terminology, and defines aspects of the protocol that are shared by all versions. In this definition are core protocol elements, extensibility mechanisms, and the "http" and "https" Uniform Resource Identifier (URI) schemes.</t>
            <t>This document updates RFC 3864 and obsoletes RFCs 2818, 7231, 7232, 7233, 7235, 7538, 7615, 7694, and portions of 7230.</t>
          </abstract>
        </front>
        <seriesInfo name="STD" value="97"/>
        <seriesInfo name="RFC" value="9110"/>
        <seriesInfo name="DOI" value="10.17487/RFC9110"/>
      </reference>
      <reference anchor="RFC9111">
        <front>
          <title>HTTP Caching</title>
          <author fullname="R. Fielding" initials="R." role="editor" surname="Fielding"/>
          <author fullname="M. Nottingham" initials="M." role="editor" surname="Nottingham"/>
          <author fullname="J. Reschke" initials="J." role="editor" surname="Reschke"/>
          <date month="June" year="2022"/>
          <abstract>
            <t>The Hypertext Transfer Protocol (HTTP) is a stateless application-level protocol for distributed, collaborative, hypertext information systems. This document defines HTTP caches and the associated header fields that control cache behavior or indicate cacheable response messages.</t>
            <t>This document obsoletes RFC 7234.</t>
          </abstract>
        </front>
        <seriesInfo name="STD" value="98"/>
        <seriesInfo name="RFC" value="9111"/>
        <seriesInfo name="DOI" value="10.17487/RFC9111"/>
      </reference>
      <reference anchor="RFC2119">
        <front>
          <title>Key words for use in RFCs to Indicate Requirement Levels</title>
          <author fullname="S. Bradner" initials="S." surname="Bradner"/>
          <date month="March" year="1997"/>
          <abstract>
            <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
          </abstract>
        </front>
        <seriesInfo name="BCP" value="14"/>
        <seriesInfo name="RFC" value="2119"/>
        <seriesInfo name="DOI" value="10.17487/RFC2119"/>
      </reference>
      <reference anchor="RFC8174">
        <front>
          <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
          <author fullname="B. Leiba" initials="B." surname="Leiba"/>
          <date month="May" year="2017"/>
          <abstract>
            <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
          </abstract>
        </front>
        <seriesInfo name="BCP" value="14"/>
        <seriesInfo name="RFC" value="8174"/>
        <seriesInfo name="DOI" value="10.17487/RFC8174"/>
      </reference>
    </references>
    <?line 477?>

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>We would like to thank
Brian Campbell,
Francesco Marino,
Guiseppe De Marco,
Kristina Yasuda,
Michael B. Jones,
Mike Prorock,
Orie Steele,
Timo Glastra
and
Torsten Lodderstedt</t>
      <t>for their valuable contributions, discussions and feedback to this specification.</t>
    </section>
    <section numbered="false" anchor="document-history">
      <name>Document History</name>
      <t>-01</t>
      <ul spacing="normal">
        <li>
          <t>Applied editorial improvements suggested by Michael Jones.</t>
        </li>
      </ul>
      <t>-00</t>
      <ul spacing="normal">
        <li>
          <t>Initial draft</t>
        </li>
      </ul>
    </section>
  </back>
  <!-- ##markdown-source:
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
xHgo3rbv/S8ayHfgkGAAAA==

-->

</rfc>
