<?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.29 (Ruby 3.4.4) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-wimse-wpt-00" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.31.0 -->
  <front>
    <title abbrev="WIMSE Workload-Proof-Token">WIMSE Workload Proof Token</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-wimse-wpt-00"/>
    <author fullname="Brian Campbell">
      <organization>Ping Identity</organization>
      <address>
        <email>bcampbell@pingidentity.com</email>
      </address>
    </author>
    <author fullname="Arndt Schwenkschuster">
      <organization>Defakto Security</organization>
      <address>
        <email>arndts.ietf@gmail.com</email>
      </address>
    </author>
    <date year="2025" month="November" day="03"/>
    <area>Applications and Real-Time</area>
    <workgroup>Workload Identity in Multi System Environments</workgroup>
    <keyword>workload</keyword>
    <keyword>identity</keyword>
    <abstract>
      <?line 54?>

<t>The WIMSE architecture defines authentication and authorization for software workloads in a variety of runtime environments, from basic deployments to complex multi-service, multi-cloud, multi-tenant systems. This document specifies the Workload Proof Token (WPT), a mechanism for workloads to prove possession of the private key associated with a Workload Identity Token (WIT). The WPT is a signed JWT that binds the workload's authentication to a specific HTTP request, providing application-level proof of possession for workload-to-workload communication. This specification is designed to work alongside the WIT credential format defined in draft-ietf-wimse-workload-creds and can be combined with other WIMSE protocols in multi-hop call chains.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://ietf-wg-wimse.github.io/draft-ietf-wimse-s2s-protocol/draft-ietf-wimse-wpt.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-ietf-wimse-wpt/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        Workload Identity in Multi System Environments Working Group mailing list (<eref target="mailto:wimse@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/wimse/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/wimse/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/ietf-wg-wimse/draft-ietf-wimse-s2s-protocol"/>.</t>
    </note>
  </front>
  <middle>
    <?line 58?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>This document defines the Workload Proof Token (WPT), a simple, protocol-independent mechanism for proving possession of the private key associated with a Workload Identity Token (WIT). The WIT, defined in <xref target="I-D.ietf-wimse-workload-creds"/>, is a credential that binds a public key to a workload identity and is designed to require proof of possession - it must not be used as a bearer token. The WPT provides that proof of possession.
The WPT's primary design goal is simplicity: it is a signed JWT that demonstrates control of the private key corresponding to the public key in the WIT. By requiring this cryptographic proof, the WPT significantly reduces the risk of credential theft and replay attacks compared to bearer token approaches.
The WPT is protocol-agnostic by design. While this specification provides detailed guidance for HTTP-based usage (including the Workload-Proof-Token HTTP header field), the core WPT format is fundamentally a signed JWT that can be adapted to other protocols including asynchronous messaging systems, event-driven architectures, and future transport mechanisms. The JWT-based structure allows for protocol-specific extensions through additional claims while maintaining core interoperability.</t>
      <t>Key characteristics of the WPT include:</t>
      <t>Proof of Possession: Demonstrates control of the WIT's associated private key through a digital signature.
Context Binding: Binds the proof to specific message context through claims such as audience (aud) and WIT hash (wth). Other tokens in the message can also be bound (e.g., OAuth access tokens, transaction tokens) to provide unified proof across different authorization contexts.
Short-Lived: Typically valid for minutes or seconds, limiting replay attack windows.
Protocol Independent: Core format is not tied to any specific transport protocol.</t>
      <t>This specification is part of the WIMSE protocol suite, which includes credential formats defined in <xref target="I-D.ietf-wimse-workload-creds"/> and follows the architectural principles in <xref target="I-D.ietf-wimse-arch"/>. The WPT provides application-level proof of possession particularly suited for environments where transport-level solutions are insufficient or where communication patterns span multiple protocols.
This document defines the WPT JWT format, its HTTP usage, validation requirements, and security considerations. Out of scope are the WIT credential format itself (covered in <xref target="I-D.ietf-wimse-workload-creds"/>), policy enforcement and authorization, credential issuance and lifecycle management, detailed bindings for non-HTTP protocols (to be addressed in future specifications), and alternative proof-of-possession mechanisms such as HTTP Message Signatures.</t>
    </section>
    <section anchor="wpt">
      <name>Workload Proof Token</name>
      <t>The Workload Proof Token (WPT) is a JWT that provides proof of possession of the private key associated with a Workload Identity Token (WIT). The Workload Identity Token is sent in the request as described in <xref target="I-D.ietf-wimse-workload-creds"/>. The WPT, is sent in the <tt>Workload-Proof-Token</tt> header field of the request.
The ABNF syntax of the <tt>Workload-Proof-Token</tt> header field is:</t>
      <figure anchor="wpt-header-abnf">
        <name>Workload-Proof-Token Header Field ABNF</name>
        <sourcecode type="abnf"><![CDATA[
WPT =  JWT
]]></sourcecode>
      </figure>
      <t>where the <tt>JWT</tt> projection is defined in <xref target="wpt-header-abnf"/>.</t>
      <t>A WPT MUST contain the following:</t>
      <ul spacing="normal">
        <li>
          <t>in the JOSE header:
          </t>
          <ul spacing="normal">
            <li>
              <t><tt>alg</tt>: An identifier for an appropriate JWS asymmetric digital signature algorithm corresponding to
   the confirmation key in the associated WIT. The value MUST match the <tt>alg</tt> value of the <tt>jwk</tt> in the <tt>cnf</tt> claim of the WIT. See <xref target="I-D.ietf-wimse-workload-creds"/> for valid values and restrictions.</t>
            </li>
            <li>
              <t><tt>typ</tt>: the WPT is explicitly typed, as recommended in <xref section="3.11" sectionFormat="of" target="RFC8725"/>,
   using the <tt>application/wpt+jwt</tt> media type.</t>
            </li>
          </ul>
        </li>
        <li>
          <t>in the JWT claims:
          </t>
          <ul spacing="normal">
            <li>
              <t><tt>aud</tt>: The audience SHOULD contain the HTTP target URI (<xref section="7.1" sectionFormat="of" target="RFC9110"/>) of the request
   to which the WPT is attached, without query or fragment parts. However, there may be some normalization,
  rewriting or other process that requires the audience to be set to a deployment-specific value.</t>
            </li>
            <li>
              <t><tt>exp</tt>: The expiration time of the WPT (as defined in <xref section="4.1.4" sectionFormat="of" target="RFC7519"/>). WPT lifetimes MUST be short,
   e.g., on the order of minutes or seconds.</t>
            </li>
            <li>
              <t><tt>jti</tt>: An identifier for the token. The value MUST be unique, at least within the scope of the sender.</t>
            </li>
            <li>
              <t><tt>wth</tt>: Hash of the Workload Identity Token, defined in <xref target="I-D.ietf-wimse-workload-creds"/>. The value is the base64url encoding of the
   SHA-256 hash of the ASCII encoding of the WIT's value.</t>
            </li>
            <li>
              <t><tt>ath</tt>: Hash of the OAuth access token, if present in the request, which might convey end-user identity and/or
   authorization context of the request. The value, as per <xref section="4.1" sectionFormat="of" target="RFC9449"/>,
   is the base64url encoding of the SHA-256 hash of the ASCII encoding of the access token's value.</t>
            </li>
            <li>
              <t><tt>tth</tt>: Hash of the Txn-Token <xref target="I-D.ietf-oauth-transaction-tokens"/>, if present in the request,
   which might convey end-user identity and/or authorization context of the request. The value MUST be the result of
   a base64url encoding (as defined in <xref section="2" sectionFormat="of" target="RFC7515"/>) of the SHA-256 hash of
   the ASCII encoding of the associated token's value.</t>
            </li>
            <li>
              <t><tt>oth</tt>: Hash(es) of other token(s) in the request that convey end-user identity and/or authorization context of the
   request. The value is a JSON object with a key-value pair for each such token. For each, in the absence of an
   application profile specifying details, the key corresponds to the header field name containing the token,
   and the value is the base64url encoding of the SHA-256 hash of the ASCII bytes of the header field value with any
   leading or trailing spaces removed. The header field name MUST be normalized by converting
   it to all lower case.
   Header fields occurring multiple times in the request are not supported by default.
   An application profile may specify different behavior for a key, such as
   using a different hash algorithm or means of locating the token in the request.</t>
            </li>
          </ul>
        </li>
      </ul>
      <t>To clarify: the <tt>ath</tt>, <tt>tth</tt> and <tt>oth</tt> claims are each mandatory if the respective tokens are included in the request.</t>
      <t>The rules for using non-standard claims in WPTs are documented in <xref target="add-claims"/>.</t>
      <t>An example WPT might look like the following:</t>
      <figure anchor="example-wpt">
        <name>Example Workload Proof Token (WPT)</name>
        <sourcecode type="jwt"><![CDATA[
=============== NOTE: '\' line wrapping per RFC 8792 ================

eyJhbGciOiJFZERTQSIsInR5cCI6IndwdCtqd3QifQ.eyJhdGgiOiJDTDR3amZwUm1OZ\
i1iZFlJYllMblY5ZDVyTUFSR3dLWUUxMHdVd3pDMGpJIiwiYXVkIjoiaHR0cHM6Ly93b\
3JrbG9hZC5leGFtcGxlLmNvbS9wYXRoIiwiZXhwIjoxNzQ1NTEwMDE2LCJqdGkiOiJfX\
2J3YzRFU0MzYWNjMkxUQzEtX3giLCJ3dGgiOiJBYVlVZkMzNEQxZGkyRnhRTHBpSUpKN\
1NnOFZaNm84T0Nkd1NmOUlUb0xnIn0.PI7d9AcYhLoEgPgbJvcM132lkBKnM1NXU-5hZ\
UzVTIyj2dRJaTLFs6e5NYv5gg6AqcV7NvkYCwfgMgWasWQzCA
]]></sourcecode>
      </figure>
      <t>The decoded JOSE header of the WPT from the example above is shown here:</t>
      <figure>
        <name>Example WPT JOSE Header</name>
        <sourcecode type="json"><![CDATA[
{
  "alg": "EdDSA",
  "typ": "wpt+jwt"
}
]]></sourcecode>
      </figure>
      <t>The decoded JWT claims of the WPT from the example above are shown here:</t>
      <figure>
        <name>Example WPT Claims</name>
        <sourcecode type="json"><![CDATA[
{
  "ath": "CL4wjfpRmNf-bdYIbYLnV9d5rMARGwKYE10wUwzC0jI",
  "aud": "https://workload.example.com/path",
  "exp": 1740755048,
  "jti": "0c740386ca1dcad37de1b5f9de1b0705",
  "wth": "aA0W_oFJK7qV7zYhcmzR1KOXVCHjd2x6c4sOQLvE90Y"
}
]]></sourcecode>
      </figure>
      <t>An example of an HTTP request with both the WIT and WPT from prior examples is shown below:</t>
      <figure>
        <name>Example HTTP Request with WIT and WPT</name>
        <sourcecode type="http"><![CDATA[
=============== NOTE: '\' line wrapping per RFC 8792 ================

POST /path HTTP/1.1
Host: workload.example.com
Content-Type: application/json
Authorization: Bearer 16_mAd0GiwaZokU26_0902100
Workload-Identity-Token: eyJhbGciOiJFUzI1NiIsImtpZCI6Ikp1bmUgNSIsInR\
5cCI6IndpdCtqd3QifQ.eyJjbmYiOnsiandrIjp7ImFsZyI6IkVkRFNBIiwiY3J2Ijoi\
RWQyNTUxOSIsImt0eSI6Ik9LUCIsIngiOiIxQ1hYdmZsTl9MVlZzSXNZWHNVdkIwM0pt\
bEdXZUNIcVFWdW91Q0Y5MmJnIn19LCJleHAiOjE3NDU1MTI1MTAsImlhdCI6MTc0NTUw\
ODkxMCwianRpIjoieC1fMUNUTDJjY2EzQ1NFNGN3Yl9sIiwic3ViIjoid2ltc2U6Ly9l\
eGFtcGxlLmNvbS9zcGVjaWZpYy13b3JrbG9hZCJ9.6KraSQUxWdl9dxFQ3Fj6dPY0Vi8\
8OkwFwZpAIOhLeq6AbXAnLLQgOp8U9UDGcBuYF3KiNv6oKQD1ZWAzrMZOJw
Workload-Proof-Token: eyJhbGciOiJFZERTQSIsInR5cCI6IndwdCtqd3QifQ.eyJ\
hdGgiOiJDTDR3amZwUm1OZi1iZFlJYllMblY5ZDVyTUFSR3dLWUUxMHdVd3pDMGpJIiw\
iYXVkIjoiaHR0cHM6Ly93b3JrbG9hZC5leGFtcGxlLmNvbS9wYXRoIiwiZXhwIjoxNzQ\
1NTEwMDE2LCJqdGkiOiJfX2J3YzRFU0MzYWNjMkxUQzEtX3giLCJ3dGgiOiJBYVlVZkM\
zNEQxZGkyRnhRTHBpSUpKN1NnOFZaNm84T0Nkd1NmOUlUb0xnIn0.PI7d9AcYhLoEgPg\
bJvcM132lkBKnM1NXU-5hZUzVTIyj2dRJaTLFs6e5NYv5gg6AqcV7NvkYCwfgMgWasWQ\
zCA

{"do stuff":"please"}
]]></sourcecode>
      </figure>
      <t>To validate the WPT in the request, the recipient MUST ensure the following:</t>
      <ul spacing="normal">
        <li>
          <t>There is exactly one <tt>Workload-Proof-Token</tt> header field in the request.</t>
        </li>
        <li>
          <t>The <tt>Workload-Proof-Token</tt> header field value is a single and well-formed JWT.</t>
        </li>
        <li>
          <t>The signature algorithm in the <tt>alg</tt> JOSE header string-equal matches the <tt>alg</tt> attribute of the <tt>jwk</tt> in the <tt>cnf</tt> claim of the WIT.</t>
        </li>
        <li>
          <t>The WPT signature is valid using the public key from the confirmation claim of the WIT.</t>
        </li>
        <li>
          <t>The <tt>typ</tt> JOSE header parameter of the WPT conveys a media type of <tt>wpt+jwt</tt>.</t>
        </li>
        <li>
          <t>The <tt>aud</tt> claim of the WPT matches the target URI, or an acceptable alias or normalization thereof, of the HTTP request
 in which the WPT was received, ignoring any query and fragment parts.</t>
        </li>
        <li>
          <t>The <tt>exp</tt> claim is present and conveys a time that has not passed. WPTs with an expiration time unreasonably
 far in the future SHOULD be rejected.</t>
        </li>
        <li>
          <t>The <tt>wth</tt> claim is present and matches the hash of the token value conveyed in the <tt>Workload-Identity-Token</tt> header.</t>
        </li>
        <li>
          <t>It is RECOMMENDED to check that the value of the <tt>jti</tt> claim has not been used before in the time window in which the
 respective WPT would be considered valid.</t>
        </li>
        <li>
          <t>If presented in conjunction with an OAuth access token, the value of the <tt>ath</tt> claim matches the hash of that token's value.</t>
        </li>
        <li>
          <t>If presented in conjunction with a Txn-Token, the value of the <tt>tth</tt> claim matches the hash of that token's value.</t>
        </li>
        <li>
          <t>If presented in conjunction with a token conveying end-user identity or authorization context, the value of
 the <tt>oth</tt> claim matches the hash of that token's value.</t>
        </li>
        <li>
          <t>If the <tt>oth</tt> claim is present, verify the hashes of all tokens listed in the <tt>oth</tt> claim per the default behavior
 defined in <xref target="wpt"/> or as specified by an application specific profile. If the <tt>oth</tt> claim contains entries
 that are not understood by the recipient, the WPT MUST be rejected. Conversely, additional tokens not covered by
 the <tt>oth</tt> claim MUST NOT be used by the recipient to make authorization decisions.</t>
        </li>
      </ul>
      <section anchor="error-conditions">
        <name>Error Conditions</name>
        <t>Errors may occur during the processing of the WPT. If the signature verification fails for any reason,
such as an invalid signature, an expired validity time window, or a malformed data structure, an error is returned. Typically,
this will be in response to an API call, so an HTTP status code such as 400 (Bad Request) is appropriate. This response could
include more details as per <xref target="RFC9457"/>, such as an indicator that the wrong key material or algorithm was used. The use of HTTP
status code 401 is NOT RECOMMENDED for this purpose because it requires a WWW-Authenticate with acceptable http auth mechanisms in
the error response and an associated Authorization header in the subsequent request. The use of these headers for the WIT or WPT is not compatible with this specification.</t>
      </section>
      <section anchor="coexist">
        <name>Coexistence with JWT Bearer Tokens</name>
        <t>The WIT and WPT define new HTTP headers. They can therefore be presented along with existing headers used for JWT bearer tokens. This
property allows for transition from mechanisms using identity tokens based on bearer JWTs to proof of possession based WITs.
A workload may implement a policy that accepts both bearer tokens and WITs during a transition period. This policy may be configurable
per-caller to allow the workload to reject bearer tokens from callers that support WITs. Once a deployment fully supports WITs, then the use of
bearer tokens for identity can be disabled through policy.  Implementations should be careful when implementing such a transition strategy,
since the decision which token to prefer is made when the caller's identity has still not been authenticated, and needs to be revalidated following the authentication step.</t>
        <t>The WIT can also coexist with tokens used to establish security context, such as transaction tokens <xref target="I-D.ietf-oauth-transaction-tokens"/>. In this case a workload's
authorization policy may take into account both the sending workload's identity and the information in the context token. For example, the
identity in the WIT may be used to establish which API calls can be made and information in the context token may be used to determine
which specific resources can be accessed.</t>
      </section>
      <section anchor="add-claims">
        <name>Including Additional Claims</name>
        <t>The WPT contains JSON structures and therefore can be trivially extended by adding more claims beyond those defined in the current specification.
This, however, could result in interoperability issues, which the following rules are addressing.</t>
        <ul spacing="normal">
          <li>
            <t>To ensure interoperability in WIMSE environments, the use of Private claim names (Sec. 4.3 of <xref target="RFC7519"/>) is NOT RECOMMENDED.</t>
          </li>
          <li>
            <t>In closed environments, deployers MAY freely add claims to the WPT. Such claims SHOULD be collision-resistant, such as <tt>example.com/myclaim</tt>.</t>
          </li>
          <li>
            <t>A recipient that does not understand such claims MUST ignore them, as per Sec. 4 of <xref target="RFC7519"/>.</t>
          </li>
          <li>
            <t>Outside of closed environments, new claims MUST be registered with IANA <xref target="IANA.JWT.CLAIMS"/> before they can be used.</t>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <section anchor="workload-identity-token-and-proof-of-possession">
        <name>Workload Identity Token and Proof of Possession</name>
        <t>The Workload Identity Token (WIT) is bound to a secret cryptographic key and is always presented with a proof of possession as described in <xref target="I-D.ietf-wimse-workload-creds"/>. The WIT is a general purpose token that can be presented in multiple contexts. The WIT and WPT are only used in the application-level options, and both are not used in MTLS. The WIT MUST NOT be used as a bearer token. While this helps reduce the sensitivity of the token it is still possible that a token and its proof of possession may be captured and replayed within the PoP's lifetime. The following are some mitigations for the capture and reuse of the proof of possession (PoP):</t>
        <ul spacing="normal">
          <li>
            <t>Preventing Eavesdropping and Interception with TLS</t>
          </li>
        </ul>
        <t>An attacker observing or intercepting the communication channel can view the token and its proof of possession and attempt to replay it to gain an advantage. In order to prevent this the
token and proof of possession MUST be sent over a secure, server authenticated TLS connection unless a secure channel is provided by some other mechanisms. Host name validation MUST be performed by the client.</t>
        <ul spacing="normal">
          <li>
            <t>Limiting Proof of Possession Lifespan</t>
          </li>
        </ul>
        <t>The proof of possession MUST be time limited. A PoP should only be valid over the time necessary for it to be successfully used for the purpose it is needed. This will typically be on the order of minutes.  PoPs received outside their validity time MUST be rejected.</t>
        <ul spacing="normal">
          <li>
            <t>Limiting Proof of Possession Scope</t>
          </li>
        </ul>
        <t>In order to reduce the risk of theft and replay the PoP should have a limited scope. For example, a PoP may be targeted for use with a specific workload and even a specific transaction to reduce the impact of a stolen PoP. In some cases a workload may wish to reuse a PoP for a period of time or have it accepted by multiple target workloads. A careful analysis is warranted to understand the impacts to the system if a PoP is disclosed allowing it to be presented by an attacker along with a captured WIT.</t>
        <ul spacing="normal">
          <li>
            <t>Replay Protection</t>
          </li>
        </ul>
        <t>A proof of possession includes the <tt>jti</tt> claim that MUST uniquely identify it, within the scope of a particular sender.
This claim SHOULD be used by the receiver to perform basic replay protection against tokens it has already seen.
Depending upon the design of the system it may be difficult to synchronize the replay cache across all token validators.
If an attacker can somehow influence the identity of the validator (e.g. which cluster member receives the message) then
replay protection would not be effective.</t>
        <ul spacing="normal">
          <li>
            <t>Binding to TLS Endpoint</t>
          </li>
        </ul>
        <t>The POP MAY be bound to a transport layer sender such as the client identity of a TLS session or TLS channel binding parameters. The mechanisms for binding are outside the scope of this specification.</t>
      </section>
      <section anchor="workload-identity-key-management">
        <name>Workload Identity Key Management</name>
        <t>The Workload Identity Token is signed by a private key in possession of the workload. This private key:</t>
        <ul spacing="normal">
          <li>
            <t>MUST be kept private</t>
          </li>
          <li>
            <t>MUST be individual for each Workload Identifier (see <xref target="I-D.ietf-wimse-arch"/>)</t>
          </li>
          <li>
            <t>MUST NOT be used once the Workload Identity Token is expired</t>
          </li>
          <li>
            <t>SHOULD be individual for each Workload Identity Token issued</t>
          </li>
          <li>
            <t>SHOULD not be reused for other purposes</t>
          </li>
        </ul>
      </section>
      <section anchor="middleboxes">
        <name>Middle Boxes</name>
        <t>In some deployments the Workload Identity Token and Workload Proof Token may pass through multiple systems. The communication between the systems is over TLS, but the WIT and WPT are available in the clear at each intermediary.  While the intermediary cannot modify the token or the information within the PoP they can attempt to capture and replay the token or modify the data not protected by the PoP.</t>
        <t>It is important to note that the WPT does not protect major portions of the request and response and therefore does not provide protection from an actively malicious middle box.
Deployments should perform analysis on their situation to determine if it is appropriate to trust and allow traffic to pass through a middle box.</t>
      </section>
      <section anchor="privacy-considerations">
        <name>Privacy Considerations</name>
        <t>The Workload Proof Token may contain private information such as user names or other identities. Care should be taken to prevent the disclosure of this information. The use of TLS helps protect the privacy of WITs and proofs of possession.</t>
        <t>The workload identifier present in the WPT is typically associated with a workload and not a specific user, however in some deployments the workload or the HTTP Target URI may be associated directly to a user. While these are exceptional cases a deployment should evaluate if the disclosure of a WPT can be used to track a user.</t>
      </section>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <section anchor="json-web-token-claims">
        <name>JSON Web Token Claims</name>
        <t>IANA is requested to add the following entries to the "JSON Web Token Claims" registry <xref target="IANA.JWT.CLAIMS"/>:</t>
        <table>
          <thead>
            <tr>
              <th align="left">Claim Name</th>
              <th align="left">Claim Description</th>
              <th align="left">Change Controller</th>
              <th align="left">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">tth</td>
              <td align="left">Transaction Token hash</td>
              <td align="left">IETF</td>
              <td align="left">RFC XXX, <xref target="wpt"/></td>
            </tr>
            <tr>
              <td align="left">wth</td>
              <td align="left">Workload Identity Token hash</td>
              <td align="left">IETF</td>
              <td align="left">RFC XXX, <xref target="wpt"/></td>
            </tr>
            <tr>
              <td align="left">oth</td>
              <td align="left">Other Tokens hashes</td>
              <td align="left">IETF</td>
              <td align="left">RFC XXX, <xref target="wpt"/></td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="media-type-registration">
        <name>Media Type Registration</name>
        <t>IANA is requested to register the following entries to the "Media Types" registry <xref target="IANA.MEDIA.TYPES"/>:</t>
        <ul spacing="normal">
          <li>
            <t>application/wpt+jwt, per <xref target="iana-wpt"/>.</t>
          </li>
        </ul>
        <section anchor="iana-wpt">
          <name>application/wpt+jwt</name>
          <t>Type name: application</t>
          <t>Subtype name: wpt+jwt</t>
          <t>Required parameters: N/A</t>
          <t>Optional parameters: N/A</t>
          <t>Encoding considerations: Encoding considerations are identical to those specified for the "application/jwt" media type. See <xref target="RFC7519"/>.</t>
          <t>Security considerations: See the Security Considerations section of RFC XXX.</t>
          <t>Interoperability considerations: N/A</t>
          <t>Published specification: RFC XXX, <xref target="wpt"/>.</t>
          <t>Applications that use this media type: Workloads that use these tokens to integrity-protect messages in the WIMSE workload-to-workload protocol.</t>
          <t>Fragment identifier considerations: N/A</t>
          <t>Additional information:</t>
          <t>Deprecated alias names for this type: N/A</t>
          <t>Magic number(s): N/A</t>
          <t>File extension(s): None</t>
          <t>Macintosh file type code(s): N/A</t>
          <t>Person &amp; email address to contact for further information:</t>
          <t>See the Authors' Addresses section of RFC XXX.</t>
          <t>Intended usage: COMMON</t>
          <t>Restrictions on usage: N/A</t>
          <t>Author: See the Authors' Addresses section of RFC XXX.</t>
          <t>Change controller: Internet Engineering Task Force (iesg@ietf.org).</t>
        </section>
      </section>
      <section anchor="hypertext-transfer-protocol-http-field-name-registration">
        <name>Hypertext Transfer Protocol (HTTP) Field Name Registration</name>
        <t>IANA is requested to register the following entries to the "Hypertext Transfer Protocol (HTTP) Field Name Registry" <xref target="IANA.HTTP.FIELDS"/>:</t>
        <ul spacing="normal">
          <li>
            <t><tt>Workload-Proof-Token</tt>, per <xref target="iana-wpt-field"/>.</t>
          </li>
        </ul>
        <section anchor="iana-wpt-field">
          <name>Workload-Proof-Token</name>
          <ul spacing="normal">
            <li>
              <t>Field Name: Workload-Proof-Token</t>
            </li>
            <li>
              <t>Status: permanent</t>
            </li>
            <li>
              <t>Structured Type: N/A</t>
            </li>
            <li>
              <t>Specification Document: RFC XXX, <xref target="wpt"/></t>
            </li>
            <li>
              <t>Comments: see reference above for an ABNF syntax of this field</t>
            </li>
          </ul>
        </section>
      </section>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC5234">
          <front>
            <title>Augmented BNF for Syntax Specifications: ABNF</title>
            <author fullname="D. Crocker" initials="D." role="editor" surname="Crocker"/>
            <author fullname="P. Overell" initials="P." surname="Overell"/>
            <date month="January" year="2008"/>
            <abstract>
              <t>Internet technical specifications often need to define a formal syntax. Over the years, a modified version of Backus-Naur Form (BNF), called Augmented BNF (ABNF), has been popular among many Internet specifications. The current specification documents ABNF. It balances compactness and simplicity with reasonable representational power. The differences between standard BNF and ABNF involve naming rules, repetition, alternatives, order-independence, and value ranges. This specification also supplies additional rule definitions and encoding for a core lexical analyzer of the type common to several Internet specifications. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="68"/>
          <seriesInfo name="RFC" value="5234"/>
          <seriesInfo name="DOI" value="10.17487/RFC5234"/>
        </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="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="RFC7518">
          <front>
            <title>JSON Web Algorithms (JWA)</title>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <date month="May" year="2015"/>
            <abstract>
              <t>This specification registers cryptographic algorithms and identifiers to be used with the JSON Web Signature (JWS), JSON Web Encryption (JWE), and JSON Web Key (JWK) specifications. It defines several IANA registries for these identifiers.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7518"/>
          <seriesInfo name="DOI" value="10.17487/RFC7518"/>
        </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="RFC8725">
          <front>
            <title>JSON Web Token Best Current Practices</title>
            <author fullname="Y. Sheffer" initials="Y." surname="Sheffer"/>
            <author fullname="D. Hardt" initials="D." surname="Hardt"/>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <date month="February" year="2020"/>
            <abstract>
              <t>JSON Web Tokens, also known as JWTs, are URL-safe JSON-based security tokens that contain a set of claims that can be signed and/or encrypted. JWTs are being widely used and deployed as a simple security token format in numerous protocols and applications, both in the area of digital identity and in other application areas. This Best Current Practices document updates RFC 7519 to provide actionable guidance leading to secure implementation and deployment of JWTs.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="225"/>
          <seriesInfo name="RFC" value="8725"/>
          <seriesInfo name="DOI" value="10.17487/RFC8725"/>
        </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="RFC9449">
          <front>
            <title>OAuth 2.0 Demonstrating Proof of Possession (DPoP)</title>
            <author fullname="D. Fett" initials="D." surname="Fett"/>
            <author fullname="B. Campbell" initials="B." surname="Campbell"/>
            <author fullname="J. Bradley" initials="J." surname="Bradley"/>
            <author fullname="T. Lodderstedt" initials="T." surname="Lodderstedt"/>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <author fullname="D. Waite" initials="D." surname="Waite"/>
            <date month="September" year="2023"/>
            <abstract>
              <t>This document describes a mechanism for sender-constraining OAuth 2.0 tokens via a proof-of-possession mechanism on the application level. This mechanism allows for the detection of replay attacks with access and refresh tokens.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9449"/>
          <seriesInfo name="DOI" value="10.17487/RFC9449"/>
        </reference>
        <reference anchor="I-D.ietf-wimse-workload-creds">
          <front>
            <title>*** BROKEN REFERENCE ***</title>
            <author>
              <organization/>
            </author>
            <date/>
          </front>
        </reference>
        <reference anchor="I-D.ietf-wimse-arch">
          <front>
            <title>Workload Identity in a Multi System Environment (WIMSE) Architecture</title>
            <author fullname="Joseph A. Salowey" initials="J. A." surname="Salowey">
              <organization>CyberArk</organization>
            </author>
            <author fullname="Yaroslav Rosomakho" initials="Y." surname="Rosomakho">
              <organization>Zscaler</organization>
            </author>
            <author fullname="Hannes Tschofenig" initials="H." surname="Tschofenig">
              <organization>University of Applied Sciences Bonn-Rhein-Sieg</organization>
            </author>
            <date day="30" month="September" year="2025"/>
            <abstract>
              <t>   The increasing prevalence of cloud computing and micro service
   architectures has led to the rise of complex software functions being
   built and deployed as workloads, where a workload is defined as a
   running instance of software executing for a specific purpose.  This
   document discusses an architecture for designing and standardizing
   protocols and payloads for conveying workload identity and security
   context information.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-wimse-arch-06"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="IANA.HTTP.FIELDS" target="https://www.iana.org/assignments/http-fields">
          <front>
            <title>Hypertext Transfer Protocol (HTTP) Field Name Registry</title>
            <author>
              <organization>IANA</organization>
            </author>
          </front>
        </reference>
        <reference anchor="IANA.JOSE.ALGS" target="https://www.iana.org/assignments/jose">
          <front>
            <title>JSON Web Signature and Encryption Algorithms</title>
            <author>
              <organization>IANA</organization>
            </author>
          </front>
        </reference>
        <reference anchor="IANA.JWT.CLAIMS" target="https://www.iana.org/assignments/jwt">
          <front>
            <title>JSON Web Token Claims</title>
            <author>
              <organization>IANA</organization>
            </author>
          </front>
        </reference>
        <reference anchor="IANA.MEDIA.TYPES" target="https://www.iana.org/assignments/media-types">
          <front>
            <title>Media Types</title>
            <author>
              <organization>IANA</organization>
            </author>
          </front>
        </reference>
        <reference anchor="IANA.URI.SCHEMES" target="https://www.iana.org/assignments/uri-schemes">
          <front>
            <title>Uniform Resource Identifier (URI) Schemes</title>
            <author>
              <organization>IANA</organization>
            </author>
          </front>
        </reference>
        <reference anchor="RFC9457">
          <front>
            <title>Problem Details for HTTP APIs</title>
            <author fullname="M. Nottingham" initials="M." surname="Nottingham"/>
            <author fullname="E. Wilde" initials="E." surname="Wilde"/>
            <author fullname="S. Dalal" initials="S." surname="Dalal"/>
            <date month="July" year="2023"/>
            <abstract>
              <t>This document defines a "problem detail" to carry machine-readable details of errors in HTTP response content to avoid the need to define new error response formats for HTTP APIs.</t>
              <t>This document obsoletes RFC 7807.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9457"/>
          <seriesInfo name="DOI" value="10.17487/RFC9457"/>
        </reference>
        <reference anchor="I-D.ietf-oauth-transaction-tokens">
          <front>
            <title>Transaction Tokens</title>
            <author fullname="Atul Tulshibagwale" initials="A." surname="Tulshibagwale">
              <organization>SGNL</organization>
            </author>
            <author fullname="George Fletcher" initials="G." surname="Fletcher">
              <organization>Practical Identity LLC</organization>
            </author>
            <author fullname="Pieter Kasselman" initials="P." surname="Kasselman">
              <organization>SPIRL</organization>
            </author>
            <date day="28" month="July" year="2025"/>
            <abstract>
              <t>   Transaction Tokens (Txn-Tokens) are designed to maintain and
   propagate user identity and authorization context across workloads
   within a trusted domain during the processing of external
   programmatic requests, such as API calls.  They ensure that this
   context is preserved throughout the call chain, even when new
   transactions are initiated internally, thereby enhancing security and
   consistency in complex, multi-service architectures.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-oauth-transaction-tokens-06"/>
        </reference>
      </references>
    </references>
    <?line 377?>

<section anchor="document-history">
      <name>Document History</name>
      <t><cref>RFC Editor: please remove before publication.</cref></t>
      <section anchor="draft-ietf-wimse-wpt-00">
        <name>draft-ietf-wimse-wpt-00</name>
        <ul spacing="normal">
          <li>
            <t>Focus on Workload Proof Token (WPT) only.
            </t>
            <ul spacing="normal">
              <li>
                <t>Remove credential formats (WIT and WIC)</t>
              </li>
              <li>
                <t>Remove HTTP-Message-Signature profile</t>
              </li>
            </ul>
          </li>
        </ul>
      </section>
      <section anchor="draft-ietf-wimse-s2s-protocol-07">
        <name>draft-ietf-wimse-s2s-protocol-07</name>
        <ul spacing="normal">
          <li>
            <t>Rework the WPT's <tt>oth</tt> claim.</t>
          </li>
          <li>
            <t>update the media types.</t>
          </li>
          <li>
            <t>Discuss extensibility of WIT and WPT.</t>
          </li>
          <li>
            <t>Clarify error handling, specifically why not HTTP 401.</t>
          </li>
          <li>
            <t>Correct the code examples.</t>
          </li>
          <li>
            <t>Add registration request content for a <tt>wimse</tt> URI scheme.</t>
          </li>
          <li>
            <t>New section on key management.</t>
          </li>
          <li>
            <t>Use of the <tt>Accept-Signature</tt> header.</t>
          </li>
        </ul>
      </section>
      <section anchor="draft-ietf-wimse-s2s-protocol-06">
        <name>draft-ietf-wimse-s2s-protocol-06</name>
        <ul spacing="normal">
          <li>
            <t>Explicit definition of the Workload Identity Certificate.</t>
          </li>
          <li>
            <t>Definition of the validation of workload identifiers as part of workload authentication. Still work in progress.</t>
          </li>
        </ul>
      </section>
      <section anchor="draft-ietf-wimse-s2s-protocol-05">
        <name>draft-ietf-wimse-s2s-protocol-05</name>
        <ul spacing="normal">
          <li>
            <t>Removed the entire Workload Identity section which is now covered in the Architecture document.</t>
          </li>
          <li>
            <t>Content-Digest is mandatory with HTTP-Sig.</t>
          </li>
          <li>
            <t>Some wording on extending the protocol beyond HTTP.</t>
          </li>
          <li>
            <t>IANA considerations.</t>
          </li>
        </ul>
      </section>
      <section anchor="draft-ietf-wimse-s2s-protocol-04">
        <name>draft-ietf-wimse-s2s-protocol-04</name>
        <ul spacing="normal">
          <li>
            <t>Require <tt>cnf.jwk.alg</tt> in WIT which restricts signature algorithm of WPT or HTTP-Sig.</t>
          </li>
          <li>
            <t>Replay protection as a SHOULD for both WPT and HTTP-Sig.</t>
          </li>
          <li>
            <t>Consolidate terminology with the Architecture draft.</t>
          </li>
        </ul>
      </section>
      <section anchor="draft-ietf-wimse-s2s-protocol-03">
        <name>draft-ietf-wimse-s2s-protocol-03</name>
        <ul spacing="normal">
          <li>
            <t>Consistently use "workload".</t>
          </li>
          <li>
            <t>Implement comments from the SPIFFE community.</t>
          </li>
          <li>
            <t>Make <tt>iss</tt> claim in WIT optional and add wording about its relation to key distribution.</t>
          </li>
          <li>
            <t>Remove <tt>iss</tt> claim from WPT.</t>
          </li>
          <li>
            <t>Make <tt>jti</tt> claim in WIT optional.</t>
          </li>
          <li>
            <t>Error handling for the application level methods.</t>
          </li>
        </ul>
      </section>
      <section anchor="draft-ietf-wimse-s2s-protocol-02">
        <name>draft-ietf-wimse-s2s-protocol-02</name>
        <ul spacing="normal">
          <li>
            <t>Coexistence with bearer tokens.</t>
          </li>
          <li>
            <t>Improve the architecture diagram.</t>
          </li>
          <li>
            <t>Some more ABNF.</t>
          </li>
          <li>
            <t>Clarified identifiers and URIs.</t>
          </li>
          <li>
            <t>Moved an author to acknowledgments.</t>
          </li>
        </ul>
      </section>
      <section anchor="draft-ietf-wimse-s2s-protocol-01">
        <name>draft-ietf-wimse-s2s-protocol-01</name>
        <ul spacing="normal">
          <li>
            <t>Addressed multiple comments from Pieter.</t>
          </li>
          <li>
            <t>Clarified WIMSE identity concepts, specifically "trust domain"
and "workload identifier".</t>
          </li>
          <li>
            <t>Much more detail around mTLS, including some normative language.</t>
          </li>
          <li>
            <t>WIT (the identity token) is now included in the WPT proof of possession.</t>
          </li>
          <li>
            <t>Added a section comparing the DPoP-inspired app-level security option to
the Message Signature-based alternative.</t>
          </li>
        </ul>
      </section>
      <section anchor="draft-ietf-wimse-s2s-protocol-00">
        <name>draft-ietf-wimse-s2s-protocol-00</name>
        <ul spacing="normal">
          <li>
            <t>Initial WG draft, an exact copy of draft-sheffer-wimse-s2s-protocol-00</t>
          </li>
          <li>
            <t>Added this document history section</t>
          </li>
        </ul>
      </section>
    </section>
    <section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>The authors would like to thank Pieter Kasselman for his detailed comments.</t>
      <t>We thank Daniel Feldman for his contributions to earlier versions of this document.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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
D1v96ellfDncfEy6yWbzrPs63GsHN5OTtDM+Gw+PH4Jea3srvn/7Iem1+p8u
G7sToMvl16tBd3G3FZ4f+4OTI/VK7vZvHnbH41ftP4Or1/2H+5uD+WjcG1/7
6vrj14O2Z0JOLRJYH2DCzY6RkifzBGs6kxACkkTxdWJBF9nSGW1O6JdH9Id4
FopR+CSdJwKRupE0lSbeN1DiNdDVtX2x1gkPL9praG/XIETBb3TgsuZ9N4tf
Xi+mq3AlbKxWFmlDm2esEfXpR4vMJ7ikg5Od+d1odj7tjxrD8KY7vDlJrvbC
3azXPn83/3DTaW3OL+dfDzbvurwVCCXWnNoOA2KbenKsX3g5w8GpNQQN0Lr1
emfz9e7u5s4b+hLQOg6xGcDX229eBX4rDPxw+3UoW8Pd0R7+Z/P15i6PMOd1
+u3N6z/So+MPr/+8ev31ZhJMv563Ppx+ujp4fxduPb4KdtTpx5OHzt7mzY/J
e0D0Q8o61oQcceUMmf3WEEyjTe5RVt3Qe5ahEdf9VSkQQwnmRxMbafTvMj5n
p+D+iLC0zJetZst7n2KZTR0H+JABoroBlQu5wTNJQNuFQPviLR+WtV79MW2H
m++iuX+b3l9uvfpjc29zq7W56dn0jQlwGPPuC9cmXn7ttvoR2MRpPrtFm3g/
aw2nl+M+28nPnrGUs6qlvBtOb6LTREVA4Kx7N3vdnR6p2wUOcHV/ftR/S3Zw
+3gL7eBn7/z646I/uHw8vaCpNuUFttw7uTzAadBidR8/tiY34fRWDeK93lV8
+/XiU//2+n3/Krzvznubs/yzN+yEn24v+93g6ug6vN5rfdy82e1Nj8FitfbA
9sXyfTs6vets9w8vW71BF/7XhtniSQhb6A2CTVjB/LN3enj/2DuYw8rPZ7g6
edAa9S77l4PD47ubrQ5a3qP+u/72TbyncBfB9lWE7cKtOA+2LtGax5+9JQv+
NXh3dedf385uFq3tobX0x3vNVx8y/+Lj5eN1GO+Fj0cft4/uXoVnN5tX0ZvP
3pvT+/nR/HbW7p5OTuSfr9rDT+3k5OTj+HT25nLv8vBd8La4Odr+EPUfXqUf
Ph62bq/bX7Pe7enx3KtLz1WZ+/cO77NX7/J+zuGBg6x1eT/n8NAp1bm8n3N4
n716l/dzDg9krdbl/ZzDg7WAy/O+rYWpUHkxGq3tr80wbSHXnrJ2ZM7OXXPm
WDFyLak5/5DOkWg1xuc/gmhGJzQEwrGsMltFW78hcM8kZ/8g6o0XIk2emVZe
wo401LN6OsEZAsyYjz/mMo4beADDPtMMWJedNZlSyqS6IACznMm4AUvyY065
6lwaN/Vz+H1Y5D+VeNXrMBUPvJZI6SRrme10iiqsc68ki58amRKxlW3M/Ayi
p7yKajhCVlT1ZTKo+PsXk1m142HmdGm2s0GFHGXClIpxMU8eBHKW+0NkRhz5
lLCrJDA5wYn1H3pM1/F6SMNqGnXOuWOJZ8MQQ49hMIqRkoVOptJZaDWbajaA
+Uu9Aar44MQLVVRZIlA6k1IHEGpRtDfz8diryYGJjmBXEqBFkoH+pQnsFKLb
kZ8Z7uujMp1iHqJgY8oABjSrmtuIa3lVLmndYJuDOxZ3XnkZc315wj0bXcFp
u3TUfd45OO31Ov3DziHVGU5kcM87L3MBVp7zyKzRkGUoYQ1UtjSUIy654MUh
OfjQvcI9zw0aiZNpEYdcx8YnqjJk4acl2sQYbw3a3BUJ55sMD+oylKtL90vy
1tMTN1xNOD1n+jLZVzdp/j80KXOeeY5iv5rXeiqnVV2lx8tM/8VlLncu5XZD
PEhML9hxOB+ESRidKIgjlTvi6oyCqDenCIcyKjY94q2c9H3/Tvu0tRecifGr
uRd7iKGTMM26leusGLipBGw41gfTpk2mp8Bkv8rTlCao+L+yYM1ko6xmiwPK
RCkZLzbckiVNARzYlAAMF6usoPEgNLB1gctTo7pO/Xu5xGmIDCPFR3HeL7+I
TpYBkQ7wrJEO6DyPvlGUjKKUlwiLzLoZPi9yjwnOBpZkpYci9hoSjzAPqY9E
sVQPLeCGZwuRMAHF7sz237DG02g7Cq1jM9hxwBpj7bMBkfhlxRj3p51F6Ajg
u4TyhKZIaMOjMr15BBI3JKPEqVEluaRHtM+6VAi7IVRqAz2Vw+qwriuUtiph
Z3NTrL/1QwObuJygPPfVFcB2+ADtmadzYGKaUu04ZWrLowtde46p/wqVQqQo
nVFp8zvPUuAEOn1QTInXXIguFqqgGyyUyZDCJ+QabsVzt7Kz2cJFoyy51p5P
w1Bpi2yWQt+hDHwcI3KOCn1xfX3daJd11iZ9W3p0jGlJBt2ijijxKP9APLLE
ocqQxE3yV8JOg1DMiVsxVEj0JK+m3/U+oYkyaWFlz/YQ0MJHfdbKSjaFIDnC
pdLSVws4WVMOUvmIVgnT8NQQcys6Dh6wzn77JeBGpujEyQGwdRKJnLu1m1z1
uKB6OsI45CSH0rHxVBrOM9LYqHxmV6T4uDVci1vAqgv7vRmVN+JJRllDSYdM
EasmYkWHLQworZvQpojrMdPEzACTmSr/lQoZbgsbB/vSLkug0ZpQ1TfXJZli
JTajJCuKUyeVTZiyRGVskO8uHjYWpaFWMD2gPgIn6DsuMhRAD9o1UJdpWCYE
a49ZHJVh0xFNdXaiDvfUR+Q6p8/7E6dUPOUcidNln4VppagZeQAWWBZMb2mS
1PHLuhQ3jBSuHM9buHiTd9cUomtoqO+iqYnFRzAoTI/1cElJajotIRviUo4r
VMdgBoHfgdT+lP2CwWKEIYjJciTJjk5B5nh4ii6ILuDy7eIR84F4gkm1yM+5
gEEVHcDOREo+gCJfaKLJsAwMdflB7t7cALWbNUudstWnWt204jJBSSdgfLAH
QMQIQIpblccox5jV1cLUZx7Kgs9L2FLgeZFT7P+r8qr+1hHMHL1xlKAQBuAH
8GzHZAuxYAD37lxeqdwawDb2zlVqz2xska9zbMixPImdFzmXBI310yqySiZm
vPF8yggjsZ1uLvzN/MsjhxhETsHoeTyyhVpg2tIiwxM8U3pO6ByjHbK0XVtu
3i5hEWdhwcQ6Jzyerc23CI0OXC0QUIZ42rDq+QDEPURULEzV46FGhiHNST5Z
58yHcpHSAOj/HHxJey+yzLkyZVwFWqMNMTGVOeTvzcl5lKyUnFMVJlbHlwFs
qQl8GIYwUxdWwpdNypukJqeyOl6iy4mrV8dK+yPOdPUi40g8KlVi/UIGTbHT
3MYGhEB08U0NMiB4jxmFFBldnYZtIdrLXvsGDKiUMRHWEFQfPBNqvEAl1N+X
kW8AuydD1IANR3j05+jrF/fMYLqgzpR6aLu4l66opFK54Jyqc50JCT5TYoDM
39RWjjAhlsiAU5wWOV3QwqsldVtHz+4OTvZtjIghM7WheM8Qhl26yAhxig6O
cwMFtBZRbau5BIog3akpJk15qo4Ud1tzQWGpFLauPhX5zQX9fFtOBgCfl67i
UNkrX2Xy47m/UA5a0SFoHTT4l6tYu/rO31gmkkrVNSDVPsq5w1KJjO0xvb0y
IJZBGapWmoCIFqpU7NWC9pRuo+oab7LZNvTT/XqDk4ty+JXYrObOlnNbaCLj
mdJ3mIw3QE/9EPFlUOeonnIy7GSRsoRaGUSZi0vIl7y+etmAI3+GtjF0LkRp
xmkCnKVnvypbcMfbKo0SnRJiiSFepBhrHGLgtR5bD10i8dr1rMNELygPfJbR
xSEcvuM/SBWCSZtxxi7ES4cyQ4hoUxxAbDqM48sbmKkc0pVXLhOJbHsNJqqX
AxDsJsBUFJmHSM4d8v6IeBSb5LmcznIGjHR9hKtHxlgQipgkfABz5Y8lwQMu
Q2QI9cCGiatmvHK2uplsfSPdcAAvwnpIcS1uU2ZVXIXkQBlPdKVVkcSY6zKd
7Ib5/hoWt5O7Ix5ycZR7CQuPCLl+xrnpYJYEBlIH3DrbEMRocsknnZibNTWG
B34cSbyMwRboR7umKJ9u6WDc2kZhNCiXNHWoF8aUsblE2DxeDcgWDKhzU7da
ELRgXG6jJc6YsxFhlUJUKk0sQWmB3F4oGsqnCksBkMPyylSzSLWPgMZRtpS5
WEkA/S3RLrCk1PNcUXKMhLnnmC9fbtQqbKg28fFo35CU61SXoKJP7bV54PS8
phRqsDbpFr7ZuAnnlHTRb+kGlEXU7nohJoHvKc8HFiyNoR/MSppCoohAWrnX
ZnE9cwSmNE5BMBvXyXVQHP0RAai2OOONRiaeZBktS7X40MHeUkfRMiGTD/hy
AVgDBWHuZ7ADfQ/SwQ7lDiyI4UuPWOzE68LLBpHS2MA35tKKYumbdBbSGC8n
wPdL40xnNCAh58xUvJcm9b3rdq0C2Ytiy7l48g8kfVy/DCKti57Rfm3UFjH7
zoUtW81MysFjlnhtKfeIesBGj02Ffq5Ai+bM7kL4aDRVbu8X8lGKH2fSD8E4
QfTY9A7pBh5SsZhpFdS3lU2dtWZBboQXa+Bw1UR0c1c1+mrqV2kRAZbXm2uG
NudszF2aqabXHVU4hK4CZXRCpxWjuJAmai4z6iOTOudB+D6kRvXAGISBYGfx
wRlDJuaUvlH5gtIE3iqd+ABEXwCXoxGfjZBo6PuguFV0AZ0knKXg/NjGnp2e
EQa3FzQJz5UXFNHrG9aW8bA16ZWd+TS+vQSVscfRbkVfDSvPDTXOctJKqLGm
GUGu0ky6dfP1ebdVuIp3dHv2ltqPQS3daKf7zqh1lZtbUVJztcvWxui0Utme
gIox4vdgYcyPzte4R3CwBd/m47LIpZXRTYN1Rfdpaq9YvjDjuQAyNQL3g33q
hDl0L7XzGQtyhoBI1OmuZY5ML3sDfWmEPSdHID16G0K8TR8lBuf8VMQQ//pO
notMe+Wxkh9sgmB5XQEeajeesNqEmLXrzjsmy0BvKPO51Nkq3QzJRLgBBHhD
DIvcZkXciMB/wCePEFqbUD8G6I63Poh+hC/pGDzDlJwB8rLyA9oMJOA0Dc1B
F5sZDT/cZEoVepdRoAM3q7jaunk7pDMNHYXQkTQbkdI8o7sFphDgAV8GVsDn
YyJoLctTBcpWm/BZDwIcuMPr99CH8H71woC55lVm8cuUizsS3fZ2bBslWOn8
H21ajFkyvANGbwuwXIEkkRuw4qNBjfEu1nWzewDQBYFTYZ97sSko9NL6NQvn
Th468qzQ69eJ4cwfEY5JqwLnV1aEkk9plGA1LK9Yo2UhNrfHjF1xxcAYYTqq
5bSM1TltjSPEnAe6TlMnfjGrmFTDDGmACIqMMa3OVJVzErTlHIEaXnO8xruD
BpSAt8GKWn5RhDa89NYJGbmlOyv6yKXE1as3ZyvIEmXGAZZIFZtXwzFrLYsd
QasZHbUMyht6GiY4U4dgM6n0iPwjzlLG5niAROXtjzr8xBclNEx1sv6aF5jM
Loipoxoe+JynLJM7LH34+ICelh7YwQxRTaKH0prXcqhFiZOhoMvYnI4XSQ/1
iwRhuJRH1MfWBriu1Y62ptNVYLtqUlTg/f7ihqKPwaH545AyOhybw3fg8ccS
N4AvX+CJy18AYOlWAvivv7y/Gs4/lT+e+R0MIXKQlb/EwAk0eBtUkPAXPwj4
F1XGfvr0acPWAmDXOXV9yv08Y4CUBuCXMfShn65f+FE/cpRUN4XVtUARorPP
aL6WhyZz+DeMLAetYZ/zDhrx7zdRcyV2Q585R2BJG7Resm6/1LUF/26bgdrj
VvhlO6et510Uw7z8SXf1vHM+Mg4dnLgv+i/bnndqVGvll465U1R9TmFfPPED
3y8JOTMSM5Uwxi8LQEz0v1YpcJ7na+7NYLrt/H918vf/AT0u6p912KeGONwT
OVrMwOQaXGqxQAe8nLJfHpX2flbQqQxG7C4m3l+RL7zl4j5PSX4cbTtZ/XJb
+1buK22kSaSSVCGEGeNOGtbxc3yiyiMkPFyoffrMefPkyNTWOf6gdpvOCY/j
oEBawemDYfb5BBxrAtkj2qoE3hKN0fPH4CD4Nc919UJ/e4Q23L4OxN+nicTm
AR7Cga7TrSsSViyEKLuegQgC1/6D31w0hy/8zh74b6AKLmNUZOybK+s2IsGV
C+pXPMOiNzF+IA10AkXvi+wLPGY57aO+lLfmEd3on5lo/Jil+Nm5tHkOrHne
5+RqAt6xk4wBJ0k6Zh/46h4zRPg8EJibsX0e9AVDn/cLLCrAgz+ywng+bN/N
WUeX+0I/0UCu4t9n7v6leRdrxiA6D1Rqg1hfMLxsE/kJS2sZa1+mKE2jbo3D
l4vZr+2FsRYV4uzjjFM/wXAWv9PHl6EYWCmHrytPCB3qi2+rBgGaHtCrCTmM
i4FmZj0w3/PRr1OsvOiBb4XhivnVvyFAE4QkZiLxHqiZZgvvvwIY8H/jrB16
XRcWT2Xl+j6mOczikmTGm//1kvqQ8Dz1sC/SC6YiYf/Bay2YBDa3fc95wpqX
kdZtTNc9eFFtTc+t6XdkGvYdGVP/V79E95nZxuZrzsvRw40a2f6q3OI8PC4s
ZrZKvrTBVGV8CLiwUMrYJu0EGGibOBTbHfAdTF0kBaob4uXXjdIfIIieTxaE
lAno7my2qCPe9NU4niq8zKUjOikNQ4MUyleMMIYL+AKQTq9+oY1/IdDMr6Ji
576cl5Yl0ZVnJhGDDS7LE58vbcrDliQui4ufQeNXSOOOfhOEj94jY9DqUwgH
eKuX1IOWerjSxTnPgG9qIhYuwdPvcpWxSKUUBcABnb4R8ymQS8docp+1qV0W
HLq1TEvCcbO6zRgi6zfAMIKeC+dFKLL6lQdotZYy//kq12E0RsZS6Y65mkuR
FqkA8AUbX2AYhY9Q0+lZoisinIJPNq+6EoJMKJ7/oxVfeuTqORTYYQrwm5d4
56F5N79v0v0IKlwY6B2bN2NU7RUM1JUzquNzd3K+mmPGQE1nsygHifCdsjx6
K6YrwrbU3GuhjEEap+OFKQhcpjXu8Vnb3fb04FQ4mPMZlFgzsrVGpLRlcYG2
2uUVjouz7tFRx+S18IHC30QPq4i+RErZumomXGpgNCUzQMsNU8HoF/SsGFA1
tqkR1N0QrQDeSaFA3lpId3BaijZIPLNzsrA0M7bpVIyVxdtuyTWfqQPQn6Th
86Rmi8m4VH9ZrXdkStK7wzRhhWGRP4bQwoo7lfig+yvNLAYHFUsARATbR+P2
SF/9RFdSU4wd3INGxjIklPu8XbQ8Nr/6hTSnPMFl+1mEEVB1YYy5yypBzAbP
sOak4grWOJcVpvjO5ZqHO1irsXIkdD3MNTnVx0AvOiSYUmK0fO+zfEuIbmTE
gB8LPN+GIZDz65UzEOLEC2Otlu/560cDl8+ttE9CAlurx8+yGht0eJaeNaJE
cTk4SJJ5F9AEXSx/+FAWNl95Ik6/J+o8OfcsdhEi6aILAZ26fsfNdWU6hgBB
OiOvzcNApIavLzwxktliXnl2cMKAymwbwVa7Klfet30Oa2T4+9rIj+nuHiXc
WBSVPh7ixwwQJfvJvRYh8QGvJMVg+kkLaWbznJ8ROSDEtdS9Dv0EwJ84AgDo
9qFgQdsIQuKgdTGGc3h3ocwFO/tqev8NiQh5oCFiAAA=

-->

</rfc>
