<?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.5 (Ruby 3.0.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-demarco-oauth-status-attestations-00" category="info" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.19.2 -->
  <front>
    <title abbrev="OAuth Status Attestations">OAuth Status Attestations</title>
    <seriesInfo name="Internet-Draft" value="draft-demarco-oauth-status-attestations-00"/>
    <author fullname="Giuseppe De Marco">
      <organization>Dipartimento per la trasformazione digitale</organization>
      <address>
        <email>gi.demarco@innovazione.gov.it</email>
      </address>
    </author>
    <author fullname="Orie Steele">
      <organization>Transmute</organization>
      <address>
        <email>orie@transmute.industries</email>
      </address>
    </author>
    <author fullname="Francesco Marino">
      <organization>Istituto Poligrafico e Zecca dello Stato</organization>
      <address>
        <email>fa.marino@ipzs.it</email>
      </address>
    </author>
    <date year="2024" month="February" day="06"/>
    <keyword>digital credentials</keyword>
    <keyword>status list</keyword>
    <keyword>revocation</keyword>
    <abstract>
      <?line 45?>

<t>Status Attestation is a signed object that demonstrates the validity status of a
digital credential.
These attestations are ephemeral and periodically provided
to holders, who can present these to Verifiers along
with the corresponding digital credentials.
The approach outlined in this document
makes the verifiers able to check the non-revocation of a digital credential
without requiring to query any third-party entities.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://peppelinux.github.io/draft-demarco-oauth-status-attestations/draft-demarco-oauth-status-attestations.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-demarco-oauth-status-attestations/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/peppelinux/draft-demarco-oauth-status-attestations"/>.</t>
    </note>
  </front>
  <middle>
    <?line 56?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>Status Attestation plays a crucial role in maintaining the integrity and
trustworthiness of digital credentials,
since these serve as proof that a particular digital credential,
whether in JSON Web Tokens (JWT) or CBOR Web Tokens (CWT) format,
has not been revoked and is still valid.</t>
      <t>A digital credential may be presented to a verifier long after it has been issued.
During this interval, the digital credential could potentially be invalidated for
various reasons (e.g., due to the device lost or holder fraud).
To ensure the digital credential's validity, the issuer provides a short-lived
Status Attestation to the holder.
This attestation is bound to the digital credential and can be provided to a verifier,
together with the digital credential, as evidence of the digital credential's non-revocation status.</t>
      <t>Status Attestation safeguards privacy and is essential in facilitating offline scenarios.
In these circumstances, both the wallet and the verifier work without internet connectivity during the presentation phase;
nonetheless, Status Attestation provides a method to statically validate the validity of the digital credentials,
thus increasing the security of the digital credential system. By limiting the disclosure of status information,
Status Attestation strikes a balance between scalability, security, and privacy.</t>
      <artwork type="ascii-art"><![CDATA[
+-----------------+                             +-------------------+
|                 | Requests Status Attestation |                   |
|                 |---------------------------->|                   |
| Wallet Instance |                             | Credential Issuer |
|                 | Status Attestation          |                   |
|                 |<----------------------------|                   |
+-----------------+                             +-------------------+


+-- ----------------+                             +----------+
|                   | Presents Digital Credential |          |
|  Wallet Instance  | and Status Attestation      | Verifier |
|                   |---------------------------->|          |
+-------------------+                             +----------+
]]></artwork>
    </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>
      <t>This specification uses the terms "End-User", "Entity" as defined by
OpenID Connect Core [@OpenID.Core], the term "JSON Web Token (JWT)"
defined by JSON Web Token (JWT) <xref target="RFC7519"/>.</t>
      <dl>
        <dt>Digital Credential:</dt>
        <dd>
          <t>A set of one or more claims about a subject made by a Credential Issuer.</t>
        </dd>
        <dt>Credential Issuer:</dt>
        <dd>
          <t>Entity that is responsible for the issuance of the Digital Credentials.
The Issuer is responsible for the lifecycle of their issued Digital Credentials
and their validity status.</t>
        </dd>
        <dt>Verifier:</dt>
        <dd>
          <t>Entity that relies on the validity of the Digital Credentials presented to it.
This Entity, also known as a Relying Party, needs to verify the authenticity and
validity of the Digital Credentials, including their revocation status, before accepting them.</t>
        </dd>
        <dt>Wallet Instance:</dt>
        <dd>
          <t>The digital Wallet in control of a User, also known as Wallet or Holder.
It securely stores the User's Digital Credentials. It can present Digital Credentials to Verifiers
and request Status Attestations from Issuers under the control of the User.</t>
        </dd>
      </dl>
    </section>
    <section anchor="rationale">
      <name>Rationale</name>
      <t>OAuth Status Lists [@!I-D.looker-oauth-jwt-cwt-status-list] are suitable
for specific scenarios, especially when the Verifier needs to verify the
status of a Digital Credential at a later time after the User has presented the
Digital Credential.</t>
      <t>However, there are cases where the Verifier only needs
to check the revocation status of a Digital Credential at the time of
presentation, or situations where the Verifier should not be allowed to
check the status of a Digital Credential over time due to some privacy constraints,
in compliance with national privacy regulations.</t>
      <t>TODO: Add an example of national privacy constraints to give the reader some intuition.</t>
      <t>In scenarios where the Verifier, Credential Issuer, and OAuth Status List
Provider are all part of the same domain or operate within a context where
a high level of trust exists between them and the End-User, the OAuth
Status List is the optimal solution; while there might be other cases
where the OAuth Status List facilitates the exposure to the following
privacy risks:</t>
      <ul spacing="normal">
        <li>
          <t>An OAuth Status List Provider might know the association between a specific
list and a Credential Issuer, especially if the latter issues a
single type of Digital Credential. This could inadvertently reveal the
Status List Provider which list corresponds to which Digital Credential.</t>
        </li>
        <li>
          <t>A Verifier retrieves an OAuth Status List by establishing a TCP/IP connection
with an OAuth Status List Provider. This allows the OAuth Status List Provider to
obtain the IP address of the Verifier and potentially link it to a specific
Digital Credential type and Credential Issuer associated with that OAuth Status List.
A malicious OAuth Status List Provider could use internet diagnostic tools, such as Whois
or GeoIP lookup, to gather additional information about the Verifier.
This could inadvertently disclose to the OAuth Status List Provider which
Digital Credential the requester is using and from which Credential Issuer,
information that should remain confidential.</t>
        </li>
      </ul>
      <t>Status Attestations differ significantly from OAuth Status Lists in several ways:</t>
      <ol spacing="normal" type="1"><li>
          <t><strong>Privacy</strong>: Status Attestations are designed to be privacy-preserving.
They do not require the Verifier to gather any additional information
from third-party entities, thus preventing potential privacy leaks.</t>
        </li>
        <li>
          <t><strong>Static Verification</strong>: Status Attestations are designed to be
statically provided to Verifiers by Wallet Instance.
Once a Status Attestation is issued, it can be verified without any further
communication with the Credential Issuer or any other party.</t>
        </li>
        <li>
          <t><strong>Digital Credentials Formats</strong>: Status Attestations are agnostic from the
Digital Credential format to which they are bound.</t>
        </li>
        <li>
          <t><strong>Trust Model</strong>: Status Attestations operate under a model where
the Verifier trusts the Credential Issuer to provide accurate status information,
while the OAuth Status Lists operate under a model where the Verifier
trusts the Status List Provider to maintain an accurate and up-to-date
list of statuses.</t>
        </li>
        <li>
          <t><strong>Offline flow</strong>: OAuth Status List can be accessed by a Verifier when
an internet connection is present. At the same time,
OAuth Status List defines
how to provide a static Status List Token, to be included within a
Digital Credential. This requires the Wallet Instance to acquire a
new Digital Credential for a specific presentation. Even if similar to
the OAuth Status List Token, the Status Attestations enable the User to
persistently use their preexistent Digital Credentials, as long as
the linked Status Attestation is available and presented to the
Verifier, and not expired.</t>
        </li>
      </ol>
    </section>
    <section anchor="requirements">
      <name>Requirements</name>
      <t>The general requirements for the implementation of Status Attestation are listed in this section.
The Status Attestation:</t>
      <ul spacing="normal">
        <li>
          <t><bcp14>MUST</bcp14> be presented in conjunction with the Digital Credential.
The Status Attestation <bcp14>MUST</bcp14> be timestamped with its issuance datetime,
always referring to a previous period to the presentation time.</t>
        </li>
        <li>
          <t><bcp14>MUST</bcp14> contain the expiration datetime after which the Digital Credential
<bcp14>MUST NOT</bcp14> be considered valid anymore. The expiration datetime <bcp14>MUST</bcp14> be
superior to the issuance datetime.</t>
        </li>
        <li>
          <t>enables offline use cases as it <bcp14>MUST</bcp14> be validated using
a cryptographic signature and the cryptographic public key of the Credential Issuer.</t>
        </li>
      </ul>
      <t>Please note: in this specification the examples and the normative properties
of Attestations are reported in accordance with the JWT standard, while
for the purposes of this specification any Digital Credential or Attestation
format may be used, as long as all attributes and requirements
defined in this specification are satisfied, even using equivalent names
or values.</t>
    </section>
    <section anchor="status-attestation-request">
      <name>Status Attestation Request</name>
      <t>The Credential Issuer provides the Wallet Instance with a Status Attestation,
which is bound to a Digital Credential.
This allows the Wallet Instance to present it, along with the Digital Credential itself,
to a Verifier as proof of the Digital Credential's non-revocation status.</t>
      <t>The following diagram shows the Wallet Instance requesting a
Status Attestation to a Credential Issuer,
related to a specific Credential issued by the same Credential Issuer.</t>
      <artwork type="ascii-art"><![CDATA[
+-------------------+                         +--------------------+
|                   |                         |                    |
|  Wallet Instance  |                         | Credential Issuer  |
|                   |                         |                    |
+--------+----------+                         +----------+---------+
         |                                               |
         | HTTP POST /status                             |
         |  credential_pop = $CredentialPoPJWT           |
         +----------------------------------------------->
         |                                               |
         |  Response with Status Attestation JWT         |
         <-----------------------------------------------+
         |                                               |
+--------+----------+                         +----------+---------+
|                   |                         |                    |
|  Wallet Instance  |                         | Credential Issuer  |
|                   |                         |                    |
+-------------------+                         +--------------------+
]]></artwork>
      <t>The Wallet Instance sends the Status Attestation request to the Credential Issuer.
The request <bcp14>MUST</bcp14> contain the Digital Credential, for which the Status Attestation
is requested, and enveloped in a signed object as proof of possession.
The proof of possession <bcp14>MUST</bcp14> be signed with the private key corresponding
to the public key attested by the Credential Issuer and contained within the Digital Credential.</t>
      <artwork><![CDATA[
POST /status HTTP/1.1
Host: issuer.example.org
Content-Type: application/x-www-form-urlencoded

credential_pop=$CredentialPoPJWT
]]></artwork>
      <t>To validate that the Wallet Instance is entitled to request its Status Attestation,
the following requirements <bcp14>MUST</bcp14> be satisfied:</t>
      <ul spacing="normal">
        <li>
          <t>The Credential Issuer <bcp14>MUST</bcp14> verify the signature of the <tt>credential_pop</tt> object using
the public key contained in the Digital Credential;</t>
        </li>
        <li>
          <t>the Credential Issuer <bcp14>MUST</bcp14> verify that it is the legitimate Issuer.</t>
        </li>
      </ul>
      <t>The technical and details about the <tt>credential_pop</tt> object
are defined in the next section.</t>
      <section anchor="digital-credential-proof-of-possession">
        <name>Digital Credential Proof of Possession</name>
        <t>The Wallet Instance that holds a Digital Credential, when requests a Status Attestation,
<bcp14>MUST</bcp14> demonstrate the proof of possession of the Digital Credential to the Credential Issuer.</t>
        <t>The proof of possession is made by enclosing the Digital Credential in an
object (JWT) signed with the private key that its related public key is referenced in the Digital Credential.</t>
        <t>Below is a non-normative example of a Credential proof of possession with
the JWT headers and payload are represented without applying signature and
encoding, for better readability:</t>
        <artwork><![CDATA[
{
    "alg": "ES256",
    "typ": "status-attestation-request+jwt",
    "kid": $WIA-CNF-JWKID

}
.
{
    "iss": "0b434530-e151-4c40-98b7-74c75a5ef760",
    "aud": "https://issuer.example.org/status-attestation-endpoint",
    "iat": 1698744039,
    "exp": 1698834139,
    "jti": "6f204f7e-e453-4dfd-814e-9d155319408c",
    "credential_format": "vc+sd-jwt",
    "credential": $Issuer-Signed-JWT
}
]]></artwork>
        <t>When the JWT format is used, the JWT <bcp14>MUST</bcp14> contain the parameters defined in the following table.</t>
        <table>
          <thead>
            <tr>
              <th align="left">JOSE Header</th>
              <th align="left">Description</th>
              <th align="left">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">
                <strong>typ</strong></td>
              <td align="left">It <bcp14>MUST</bcp14> be set to <tt>status-attestation-request+jwt</tt></td>
              <td align="left">
                <xref target="RFC7516"/> Section 4.1.1</td>
            </tr>
            <tr>
              <td align="left">
                <strong>alg</strong></td>
              <td align="left">A digital signature algorithm identifier such as per IANA "JSON Web Signature and Encryption Algorithms" registry. It <bcp14>MUST NOT</bcp14> be set to <tt>none</tt> or any symmetric algorithm (MAC) identifier.</td>
              <td align="left">
                <xref target="RFC7516"/> Section 4.1.1</td>
            </tr>
            <tr>
              <td align="left">
                <strong>kid</strong></td>
              <td align="left">Unique identifier of the JWK used for the signature of the Status Attestation Request, it <bcp14>MUST</bcp14> match the one contained in the Credential <tt>cnf.jwk</tt>.</td>
              <td align="left">
                <xref target="RFC7515"/></td>
            </tr>
          </tbody>
        </table>
        <table>
          <thead>
            <tr>
              <th align="left">JOSE Payload</th>
              <th align="left">Description</th>
              <th align="left">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">
                <strong>iss</strong></td>
              <td align="left">Wallet identifier.</td>
              <td align="left">
                <xref target="RFC9126"/>, <xref target="RFC7519"/></td>
            </tr>
            <tr>
              <td align="left">
                <strong>aud</strong></td>
              <td align="left">It <bcp14>MUST</bcp14> be set to the identifier of the Credential Issuer.</td>
              <td align="left">
                <xref target="RFC9126"/>, <xref target="RFC7519"/></td>
            </tr>
            <tr>
              <td align="left">
                <strong>exp</strong></td>
              <td align="left">UNIX Timestamp with the expiration time of the JWT.</td>
              <td align="left">
                <xref target="RFC9126"/>, <xref target="RFC7519"/></td>
            </tr>
            <tr>
              <td align="left">
                <strong>iat</strong></td>
              <td align="left">UNIX Timestamp with the time of JWT issuance.</td>
              <td align="left">
                <xref target="RFC9126"/>, <xref target="RFC7519"/></td>
            </tr>
            <tr>
              <td align="left">
                <strong>jti</strong></td>
              <td align="left">Unique identifier for the JWT.</td>
              <td align="left">
                <xref target="RFC7519"/> Section 4.1.7</td>
            </tr>
            <tr>
              <td align="left">
                <strong>credential_format</strong></td>
              <td align="left">The data format of the Credential. Eg: <tt>vc+sd-jwt</tt> for SD-JWT, <tt>vc+mdoc</tt> for ISO/IEC 18013-5 MDOC CBOR [@ISO.18013-5]</td>
              <td align="left">this specification</td>
            </tr>
            <tr>
              <td align="left">
                <strong>credential</strong></td>
              <td align="left">It <bcp14>MUST</bcp14> contain the Credential according to the data format given in the <tt>format</tt> claim.</td>
              <td align="left">this specification</td>
            </tr>
          </tbody>
        </table>
      </section>
    </section>
    <section anchor="status-attestation">
      <name>Status Attestation</name>
      <t>When a Status Attestation is requested to a Credential Issuer, the
Issuer checks the status of the Digital Credential and creates a Status Attestation bound to it.</t>
      <t>If the Digital Credential is valid, the Credential Issuer creates a new Status Attestation, which a non-normative example is given below.</t>
      <artwork><![CDATA[
{
    "alg": "ES256",
    "typ": "status-attestation+jwt",
    "kid": $ISSUER-JWKID
}
.
{
    "iss": "https://issuer.example.org",
    "iat": 1504699136,
    "exp": 1504700136,
    "credential_hash": $CREDENTIAL-HASH,
    "credential_hash_alg": "sha-256",
    "cnf": {
        "jwk": {...}
    }
}
]]></artwork>
      <t>The Status Attestation <bcp14>MUST</bcp14> contain the following claims when the JWT format is used.</t>
      <table>
        <thead>
          <tr>
            <th align="left">JOSE Header</th>
            <th align="left">Description</th>
            <th align="left">Reference</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">
              <strong>alg</strong></td>
            <td align="left">A digital signature algorithm identifier such as per IANA "JSON Web Signature and Encryption Algorithms" registry. It <bcp14>MUST NOT</bcp14> be set to <tt>none</tt> or to a symmetric algorithm (MAC) identifier.</td>
            <td align="left">
              <xref target="RFC7515"/>, <xref target="RFC7517"/></td>
          </tr>
          <tr>
            <td align="left">
              <strong>typ</strong></td>
            <td align="left">It <bcp14>MUST</bcp14> be set to <tt>status-attestation+jwt</tt>.</td>
            <td align="left">
              <xref target="RFC7515"/>, <xref target="RFC7517"/> and this specification</td>
          </tr>
          <tr>
            <td align="left">
              <strong>kid</strong></td>
            <td align="left">Unique identifier of the Issuer JWK.</td>
            <td align="left">
              <xref target="RFC7515"/></td>
          </tr>
        </tbody>
      </table>
      <table>
        <thead>
          <tr>
            <th align="left">JOSE Payload</th>
            <th align="left">Description</th>
            <th align="left">Reference</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">
              <strong>iss</strong></td>
            <td align="left">It <bcp14>MUST</bcp14> be set to the identifier of the Issuer.</td>
            <td align="left">
              <xref target="RFC9126"/>, <xref target="RFC7519"/></td>
          </tr>
          <tr>
            <td align="left">
              <strong>iat</strong></td>
            <td align="left">UNIX Timestamp with the time of the Status Attestation issuance.</td>
            <td align="left">
              <xref target="RFC9126"/>, <xref target="RFC7519"/></td>
          </tr>
          <tr>
            <td align="left">
              <strong>exp</strong></td>
            <td align="left">UNIX Timestamp with the expiry time of the Status Attestation.</td>
            <td align="left">
              <xref target="RFC9126"/>, <xref target="RFC7519"/></td>
          </tr>
          <tr>
            <td align="left">
              <strong>credential_hash</strong></td>
            <td align="left">Hash value of the Digital Credential the Status Attestation is bound to.</td>
            <td align="left">this specification</td>
          </tr>
          <tr>
            <td align="left">
              <strong>credential_hash_alg</strong></td>
            <td align="left">The Algorithm used of hashing the Digital Credential to which the Status Attestation is bound. The value <bcp14>SHOULD</bcp14> be set to <tt>S256</tt>.</td>
            <td align="left">this specification</td>
          </tr>
          <tr>
            <td align="left">
              <strong>cnf</strong></td>
            <td align="left">JSON object containing the cryptographic key binding. The <tt>cnf.jwk</tt> value <bcp14>MUST</bcp14> match with the one provided within the related Digital Credential.</td>
            <td align="left">
              <xref target="RFC7800"/> Section 3.1</td>
          </tr>
        </tbody>
      </table>
    </section>
    <section anchor="status-attestation-response">
      <name>Status Attestation Response</name>
      <t>If the Status Attestation is requested for a non-existent, expired, revoked or invalid Digital Credential, the
Credential Issuer <bcp14>MUST</bcp14> respond with an HTTP Response with the status code set to 404.</t>
      <t>If the Digital Credential is valid, the Credential Issuer then returns the Status Attestation to the Wallet Instance,
as in the following non-normative example.</t>
      <artwork><![CDATA[
HTTP/1.1 201 OK
Content-Type: application/json

{
    "status_attestation": "eyJhbGciOiJFUzI1Ni ...",
}
]]></artwork>
    </section>
    <section anchor="credential-issuers-supporting-status-attestations">
      <name>Credential Issuers Supporting Status Attestations</name>
      <section anchor="credential-issuer-metadata">
        <name>Credential Issuer Metadata</name>
        <t>The Credential Issuers that uses the Status Attestations <bcp14>MUST</bcp14> include in their
OpenID4VCI [@!OpenID.VCI] metadata the claim <tt>status_attestation_endpoint</tt>,
which its value <bcp14>MUST</bcp14> be an HTTPs URL indicating the endpoint where
the Wallet Instances can request Status Attestations.</t>
      </section>
      <section anchor="issued-digital-credentials">
        <name>Issued Digital Credentials</name>
        <t>The Credential Issuers that uses the Status Attestations <bcp14>SHOULD</bcp14> include in the
issued Digital Credentials the object <tt>status</tt> with the
JSON member <tt>status_attestation</tt> set to a JSON Object containing the following
member:</t>
        <ul spacing="normal">
          <li>
            <t><tt>credential_hash_alg</tt>. <bcp14>REQUIRED</bcp14>. The Algorithm used of hashing the Digital Credential to which the Status Attestation is bound. The value <bcp14>SHOULD</bcp14> be set to <tt>S256</tt>.</t>
          </li>
        </ul>
        <t>The non-normative example of an unsecured payload of
an SD-JWT VC is shown below.</t>
        <ul empty="true">
          <li>
            <t>TODO: alignments with the OAuth2 Status List schema and IANA registration.</t>
          </li>
        </ul>
        <artwork><![CDATA[
{
 "vct": "https://credentials.example.com/identity_credential",
 "given_name": "John",
 "family_name": "Doe",
 "email": "johndoe@example.com",
 "phone_number": "+1-202-555-0101",
 "address": {
   "street_address": "123 Main St",
   "locality": "Anytown",
   "region": "Anystate",
   "country": "US"
 },
 "birthdate": "1940-01-01",
 "is_over_18": true,
 "is_over_21": true,
 "is_over_65": true,
 "status": {
    "status_attestation": {
        "credential_hash_alg": "S256",
    }
 }
}
]]></artwork>
      </section>
    </section>
    <section anchor="presenting-status-attestations">
      <name>Presenting Status Attestations</name>
      <t>The Wallet Instance that provides the Status Attestations <bcp14>SHOULD</bcp14> be included in the
<tt>vp_token</tt> JSON array, as defined in [@OpenID4VP], the Status Attestation along with the
related Digital Credential.</t>
      <t>The Verifier that receives a Digital Credential supporting the Status Attestation,
<bcp14>SHOULD</bcp14>:</t>
      <ul spacing="normal">
        <li>
          <t>Decode and validate the Digital Credential;</t>
        </li>
        <li>
          <t>check the presence of <tt>status.status_attestation</tt> in the Digital Credential. If true, the Verifier <bcp14>SHOULD</bcp14>:
          </t>
          <ul spacing="normal">
            <li>
              <t>produce the hash of the Digital Credential using the hashing algorithm defined in <tt>status.status_attestation</tt>;</t>
            </li>
            <li>
              <t>decode all the Status Attestations provided in the presentation, by matching the JWS Header parameter <tt>typ</tt> set to <tt>status-attestation+jwt</tt> and looking for the <tt>credential_hash</tt> value that matches with the hash produced at the previous point;</t>
            </li>
            <li>
              <t>evaluate the validity of the Status Attestation.</t>
            </li>
          </ul>
        </li>
      </ul>
      <t>Please note: The importance of checking the revocation status of Digital Credentials as a '<bcp14>SHOULD</bcp14>' rather than a '<bcp14>MUST</bcp14>' for a Verifier
who gets Status Attestation for the Digital Credential stems from the fact that the decision of a Verifier to check the revocation status
of Digital Credentials is not absolute and can be influenced by numerous variables. Consider as an example the case of age-over x;
even if it has expired, it may still perform its intended purpose. As a result, the expiration status alone does not render it invalid.
The adaptability recognizes that the need to verify revocation status may not always coincide with the actual usability of a Digital Credential,
allowing Verifiers to examine and make educated conclusions based on a variety of scenarios.</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>TODO Security</t>
    </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 <xref target="RFC7519"/>.</t>
        <ul spacing="normal">
          <li>
            <t>Claim Name: <tt>credential_format</tt></t>
          </li>
          <li>
            <t>Claim Description: The Digital Credential format the Status Attestation is bound to.</t>
          </li>
          <li>
            <t>Change Controller: IETF</t>
          </li>
          <li>
            <t>Specification Document(s):  [[ (#digital-credential-proof-of-possession) of this specification ]]</t>
          </li>
        </ul>
        <t><br/></t>
        <ul spacing="normal">
          <li>
            <t>Claim Name: <tt>credential</tt></t>
          </li>
          <li>
            <t>Claim Description: The Digital Credential the Status Attestation is bound to.</t>
          </li>
          <li>
            <t>Change Controller: IETF</t>
          </li>
          <li>
            <t>Specification Document(s):  [[ (#digital-credential-proof-of-possession) of this specification ]]</t>
          </li>
        </ul>
        <t><br/></t>
        <ul spacing="normal">
          <li>
            <t>Claim Name: <tt>credential_hash</tt></t>
          </li>
          <li>
            <t>Claim Description: Hash value of the Digital Credential the Status Attestation is bound to.</t>
          </li>
          <li>
            <t>Change Controller: IETF</t>
          </li>
          <li>
            <t>Specification Document(s):  [[ (#status-attestation) of this specification ]]</t>
          </li>
        </ul>
        <t><br/></t>
        <ul spacing="normal">
          <li>
            <t>Claim Name: <tt>credential_hash_alg</tt></t>
          </li>
          <li>
            <t>Claim Description: The Algorithm used of hashing the Digital Credential to which the Status Attestation is bound.</t>
          </li>
          <li>
            <t>Change Controller: IETF</t>
          </li>
          <li>
            <t>Specification Document(s):  [[ (#status-attestation) 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>
        <ul spacing="normal">
          <li>
            <t>Type name: application</t>
          </li>
          <li>
            <t>Subtype name: status-attestation-request+jwt</t>
          </li>
          <li>
            <t>Required parameters: n/a</t>
          </li>
          <li>
            <t>Optional parameters: n/a</t>
          </li>
          <li>
            <t>Encoding considerations: binary; A JWT-based Status Attestation Request object 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.</t>
          </li>
          <li>
            <t>Security considerations: See (#Security) of [[ this specification ]]</t>
          </li>
          <li>
            <t>Interoperability considerations: n/a</t>
          </li>
          <li>
            <t>Published specification: [[ this specification ]]</t>
          </li>
          <li>
            <t>Applications that use this media type: Applications using [[ this specification ]] for updated status information of tokens</t>
          </li>
          <li>
            <t>Fragment identifier considerations: n/a</t>
          </li>
          <li>
            <t>Additional information:
            </t>
            <ul spacing="normal">
              <li>
                <t>File extension(s): n/a</t>
              </li>
              <li>
                <t>Macintosh file type code(s): n/a</t>
              </li>
            </ul>
          </li>
          <li>
            <t>Person &amp; email address to contact for further information: Giuseppe De Marco, gi.demarco@innovazione.gov.it</t>
          </li>
          <li>
            <t>Intended usage: COMMON</t>
          </li>
          <li>
            <t>Restrictions on usage: none</t>
          </li>
          <li>
            <t>Author: Giuseppe De Marco, gi.demarco@innovazione.gov.it</t>
          </li>
          <li>
            <t>Change controller: IETF</t>
          </li>
          <li>
            <t>Provisional registration? No</t>
          </li>
        </ul>
        <t>To indicate that the content is an CWT-based Status List:</t>
        <ul spacing="normal">
          <li>
            <t>Type name: application</t>
          </li>
          <li>
            <t>Subtype name: status-attestation+jwt</t>
          </li>
          <li>
            <t>Required parameters: n/a</t>
          </li>
          <li>
            <t>Optional parameters: n/a</t>
          </li>
          <li>
            <t>Encoding considerations: binary</t>
          </li>
          <li>
            <t>Security considerations: See (#Security) of [[ this specification ]]</t>
          </li>
          <li>
            <t>Interoperability considerations: n/a</t>
          </li>
          <li>
            <t>Published specification: [[ this specification ]]</t>
          </li>
          <li>
            <t>Applications that use this media type: Applications using [[ this specification ]] for status attestation of tokens and Digital Credentials</t>
          </li>
          <li>
            <t>Fragment identifier considerations: n/a</t>
          </li>
          <li>
            <t>Additional information:
            </t>
            <ul spacing="normal">
              <li>
                <t>File extension(s): n/a</t>
              </li>
              <li>
                <t>Macintosh file type code(s): n/a</t>
              </li>
            </ul>
          </li>
          <li>
            <t>Person &amp; email address to contact for further information: Giuseppe De Marco, gi.demarco@innovazione.gov.it</t>
          </li>
          <li>
            <t>Intended usage: COMMON</t>
          </li>
          <li>
            <t>Restrictions on usage: none</t>
          </li>
          <li>
            <t>Author: Giuseppe De Marco, gi.demarco@innovazione.gov.it</t>
          </li>
          <li>
            <t>Change controller: IETF</t>
          </li>
          <li>
            <t>Provisional registration? No</t>
          </li>
        </ul>
      </section>
    </section>
  </middle>
  <back>
    <references anchor="sec-normative-references">
      <name>Normative References</name>
      <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="RFC7516">
        <front>
          <title>JSON Web Encryption (JWE)</title>
          <author fullname="M. Jones" initials="M." surname="Jones"/>
          <author fullname="J. Hildebrand" initials="J." surname="Hildebrand"/>
          <date month="May" year="2015"/>
          <abstract>
            <t>JSON Web Encryption (JWE) represents encrypted content 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 IANA registries defined by that specification. Related digital signature and Message Authentication Code (MAC) capabilities are described in the separate JSON Web Signature (JWS) specification.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="7516"/>
        <seriesInfo name="DOI" value="10.17487/RFC7516"/>
      </reference>
      <reference anchor="RFC7517">
        <front>
          <title>JSON Web Key (JWK)</title>
          <author fullname="M. Jones" initials="M." surname="Jones"/>
          <date month="May" year="2015"/>
          <abstract>
            <t>A JSON Web Key (JWK) is a JavaScript Object Notation (JSON) data structure that represents a cryptographic key. This specification also defines a JWK Set JSON data structure that represents a set of JWKs. Cryptographic algorithms and identifiers for use with this specification are described in the separate JSON Web Algorithms (JWA) specification and IANA registries established by that specification.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="7517"/>
        <seriesInfo name="DOI" value="10.17487/RFC7517"/>
      </reference>
      <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="RFC7800">
        <front>
          <title>Proof-of-Possession Key Semantics for JSON Web Tokens (JWTs)</title>
          <author fullname="M. Jones" initials="M." surname="Jones"/>
          <author fullname="J. Bradley" initials="J." surname="Bradley"/>
          <author fullname="H. Tschofenig" initials="H." surname="Tschofenig"/>
          <date month="April" year="2016"/>
          <abstract>
            <t>This specification describes how to declare in a JSON Web Token (JWT) that the presenter of the JWT possesses a particular proof-of- possession key and how the recipient can cryptographically confirm proof of possession of the key by the presenter. Being able to prove possession of a key is also sometimes described as the presenter being a holder-of-key.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="7800"/>
        <seriesInfo name="DOI" value="10.17487/RFC7800"/>
      </reference>
      <reference anchor="RFC9126">
        <front>
          <title>OAuth 2.0 Pushed Authorization Requests</title>
          <author fullname="T. Lodderstedt" initials="T." surname="Lodderstedt"/>
          <author fullname="B. Campbell" initials="B." surname="Campbell"/>
          <author fullname="N. Sakimura" initials="N." surname="Sakimura"/>
          <author fullname="D. Tonge" initials="D." surname="Tonge"/>
          <author fullname="F. Skokan" initials="F." surname="Skokan"/>
          <date month="September" year="2021"/>
          <abstract>
            <t>This document defines the pushed authorization request (PAR) endpoint, which allows clients to push the payload of an OAuth 2.0 authorization request to the authorization server via a direct request and provides them with a request URI that is used as reference to the data in a subsequent call to the authorization endpoint.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="9126"/>
        <seriesInfo name="DOI" value="10.17487/RFC9126"/>
      </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 570?>

<section anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>We would like to thank:</t>
      <ul spacing="normal">
        <li>
          <t>Paul Bastien</t>
        </li>
        <li>
          <t>Riccardo Iaconelli</t>
        </li>
        <li>
          <t>Victor Näslund</t>
        </li>
        <li>
          <t>Giada Sciarretta</t>
        </li>
        <li>
          <t>Amir Sharif</t>
        </li>
      </ul>
    </section>
    <section anchor="document-history">
      <name>Document History</name>
      <t>TODO changelog.</t>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA+1c63bbOJL+j6fAqOdsbqJiJXbsOD09cdtOR5nE9tpOZ2f7
5MQQCUmIKVLDix11t+dZ9sc+ye6LbVUBIEERVJy+7GXO9pnptkAQKBTq8lWh
wCAIWKGKWO7y3vFeWcz4WSGKMud7RSFz+FOlSd5jYjzO5NX6PqEo5DTNlrtc
JZOUsSgNEzGHgaNMTIogknORhWmQChghyGmEQDgjBBsbLC/Hc5Xn8LNYLuDV
0eH5C86/4iLOU5hdJZFcSPhXUvT6vCcjVaSZEjH+GO19C/9JM/jr9PxFjyXl
fCyzXRYBWbsshAlkkpf5Li+yUjJYy2N2KZfXaRbtMh7wSE1VIWIeZhKHh0Fz
bNZ08ljlBf4EJqQhkcuuZFLCwJzDe7NyDNQt5GIhY5WUnx7ecsk9eD0W+Bte
nxXFIt99+LAeZqCHHqj0tgPett9gVszjHmP4PM2QAUAJ55MyjvWefafKHOng
B5K/wbHoeZpNRaJ+pDF2+YFaiKxQc2BXyhcyg6UAc0U+SbO5+BG6SMtVSW8D
USreBX4NDH3PVZKkV7rrYJpeDVTRpuQ4UxIETkozSpOG80wk+bwsGjOATMjn
hX0yAKkp8wLa8vboL6BXKPMwxVWqxLfMUQ4KUsIST9JYTYG/CnpL/q8yDAWP
ZBynpA+pS8FEDOY03nO1+DHHdbEEuVKoK5KZ0xf721vDrV37R9X0xDY9qZq2
bdN21fTUNj01TTsbG7v2D930dPhIj4V/MIYqWc3PWBAEXIyBKSIE0trqzFXO
Bc/VNJERT8cfZVjwYiYKWO8cxAfeg67QIvmViBWo4dJqSjrhgrWVacDOZzKX
3BVCLjLJ5WIm5zKDziKJUIpUGqlQxPGSL7L0SkUyYsD7WRpHMsv7/HqW8lAk
8BCGS5AqHBZ6fA+vThT0AWORJlN2DbpDFIZpBn0XaRKpZOrTc6KNiwXMJ8IZ
T8sCtA/WrRJ4HxgBhqxEIWdzcWlXXU82jmn6cCbDS3qWpElQ2wliiGdWog+m
ApPyt1JlSBqM8rdSZkvgxBJnzqIAFWzJ8Y0CxHegN26uogiUgX3FR0mRpVEZ
kkHybeMiFkvcyTArQ5iUZylQC+sCKU0K+D9NO8MmsN0ZbiPsAgMLmRdgGYGG
ROa0px629VmuQHfMDuQyuwIm5rhr0J+ERXAyEGEZi8wzQp9dzyS8nSFFr86O
j/g7Oebn6SUYan731bvze2jO9789Pm082McHWpr7bAYzJmnBx1ImZJ0vYeNQ
kmDfQG/jWAsocG7PQwHwYQmvWmGCV2EPRLW7HAWJg0FFEguOc9E84KFKCWMe
lHrfUEiQgxnM1Sd+eqYK0zIGAU8L/TumiVVC5AmcGpbErsBopLCHmRQ5ashd
sIuDPo9KkjEaWV4pYHqc5gVyR+sFn2SijO6BIINlAi+XyQ4q7uSVwmpCaSmZ
VTVSenAIRRCDoYh8EmXI0POi5qClaBqOcVomUUVvmxO4PajCxHit4k2+90Hj
p1oyKi32iA9Km8TXUQpJ5jqWvKKR2lINvAqTi4mcliKLUJDVlQiXVppAEQz9
IK0TEapY4Tuw/+lkggaD56FMcP9g6FFi1CJUGRgPGB29TB9YY5ZzDRIgCxrb
tScctO6SW9NAMpVAN0AvCZhgdYUaGlmpq+TW6DrIp3wGfiZB1sVAb98D1Nyt
nkPHlHhPD7XVtQLZtO6d7AUzABgF5T9EobWU5TIss7Uv8nyZF3I+4N8uAV7N
VWFfjVQegnijEMPLxq1U/itN+t59A/9+SYsaixiZDdJVXKOy5rAsMcbdApG3
ZPW1t9E7DJLA2N///neQp1CpAEwWexCs/vOAr/un3R/eYD+3+v3MT8HcA9W5
b2va/eEN3yie2ap/vuka5Z0WuVGipdE7m0vpfr1VI20lvLT4FuI8veWKvl63
JP8ov80eMRyH/+KRfJuMyz7RmpkDSNaC73DTeYN4sbox0AGls4uvP1dQx8vK
LxAPHw+/aO2gNAxxyH6aXOHiCNQB6QdyAtiCfjMCVxBpoWkDq9p78/bsHOM1
/C8/Oqa/Tw//+e3o9PAA/z57uff6dfUHMz3OXh6/fX1Q/1W/uX/85s3h0YF+
GVp5o4n13uz9tafVvXd8cj46Ptp73WtBO4KiYAfHGgplYFjRJYucgaUMMzXW
cPDb/ZP/+LfhJv/ppz8Asn40HD69uTE/dobbm/ADEE2iZ0sTMKb6J1i1JQN8
KQVBHdhu8H8LFIucnBi43OuEg7uTYIru/4Cceb/Lvx6Hi+HmN6YBF9xotDxr
NBLP2i2tlzUTPU2eaSpuNtpXON2kd++vjd+W707j138mlxkMd/78DSMZOpfZ
HAKmOJ0umYYV+UKGIOfGa0M8qrE3bM8c5OgwiYK3gDpx2w8RIC97yMsIRQ92
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

-->

</rfc>
