<?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-schwenkschuster-s2s-jwt-pop-00" category="std" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.30.2 -->
  <front>
    <title abbrev="WIMSE Workload-to-Workload-JWT-POP">WIMSE Workload-to-Workload with Workload Proof Tokens</title>
    <seriesInfo name="Internet-Draft" value="draft-schwenkschuster-s2s-jwt-pop-00"/>
    <author fullname="Arndt Schwenkschuster">
      <organization>SPIRL</organization>
      <address>
        <email>arndts.ietf@gmail.com</email>
      </address>
    </author>
    <date year="2025" month="September" day="23"/>
    <area>Applications and Real-Time</area>
    <workgroup>Workload Identity in Multi System Environments</workgroup>
    <keyword>workload</keyword>
    <keyword>identity</keyword>
    <abstract>
      <?line 49?>

<t>This document defines a DPoP-inspired JWT-based profile for workload-to-workload authentication
within the WIMSE (Workload Identity in Multi System Environments) architecture. This profile uses
the Workload Identity Token (WIT) combined with a Workload Proof Token (WPT) to provide cryptographic
proof of possession. The WPT is a signed JWT that demonstrates the sender's possession of the private
key bound to the WIT, while also binding the authentication to the specific request context.</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-s2s-protocol.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-schwenkschuster-s2s-jwt-pop/"/>.
      </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 57?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>This document specifies a JWT-based proof of possession authentication profile for workload-to-workload
communication as part of the WIMSE architecture defined in <xref target="I-D.ietf-wimse-arch"/>. This profile is
inspired by the OAuth 2.0 Demonstration of Proof of Possession (DPoP) specification <xref target="RFC9449"/> and
provides a JWT-centric approach to workload authentication.</t>
      <t>In modern distributed systems, workloads often need to authenticate to each other in environments where
end-to-end TLS is not available due to the presence of load balancers, API gateways, service meshes,
and other middleboxes that terminate TLS connections. In such environments, traditional bearer tokens
are insufficient due to security concerns around token theft and replay attacks, while the complexity
of HTTP Message Signatures may not be warranted for all deployment scenarios. This profile addresses
these needs by providing a proof of possession mechanism that builds upon familiar JWT technologies
while ensuring that workload identities cannot be replayed or misused, even when passing through
untrusted intermediaries.</t>
      <t>This profile builds upon the base WIMSE workload-to-workload protocol and specifies the use of
Workload Proof Tokens (WPTs) as the proof of possession mechanism. The approach combines:</t>
      <ol spacing="normal" type="1"><li>
          <t>The Workload Identity Token (WIT) - a JWT that establishes the workload's identity and binds it to a cryptographic key</t>
        </li>
        <li>
          <t>The Workload Proof Token (WPT) - a short-lived JWT signed by the workload's private key that proves possession of that key</t>
        </li>
        <li>
          <t>Request binding - the WPT includes claims that bind it to the specific request and associated tokens</t>
        </li>
      </ol>
      <t>The WPT includes hashes of the WIT and any other relevant tokens present in the request (such as OAuth
access tokens or transaction tokens), ensuring that the proof of possession is bound to the complete
request context. This prevents token substitution attacks and provides assurance that all tokens in
the request are being used by their legitimate holder.</t>
      <t>While this profile provides protection against token replay and ensures workload authentication in
the presence of middleboxes, it does not provide the same level of message integrity protection as
HTTP Message Signatures. Middleboxes can still modify unprotected portions of HTTP requests and
responses. Deployments should carefully evaluate whether this level of protection is sufficient
for their threat model, or whether the stronger integrity guarantees of HTTP Message Signatures
are required.</t>
      <t>This profile is particularly suitable for environments that already use JWT-based technologies and
prefer to maintain consistency with OAuth 2.0 patterns. It provides a simpler alternative to HTTP
Message Signatures while still offering strong authentication guarantees and protection against
token replay attacks.</t>
      <t>The profile defines the structure and validation requirements for WPTs, including mandatory claims,
signature parameters, and the specific binding mechanisms that tie the proof to the request context.
Like other WIMSE profiles, it is designed to be interoperable, allowing different authentication
methods to be used by different workload pairs within the same distributed system as appropriate
for their specific requirements and constraints.</t>
    </section>
    <section anchor="conventions-and-definitions">
      <name>Conventions and Definitions</name>
      <t>All terminology in this document follows <xref target="I-D.ietf-wimse-arch"/>.</t>
      <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="dpop-esque-auth">
      <name>DPoP-Inspired Authentication</name>
      <t>This option, inspired by the OAuth DPoP specification <xref target="RFC9449"/>, uses a DPoP-like mechanism to authenticate
the calling workload in the context of the request. The Workload Identity Token (WIT) as defined in Section 3.1 "The Workload Identity Token" of <xref target="I-D.ietf-wimse-s2s-protocol"/> is sent in the request as
described in Section 3.1.1 "The WIT HTTP Header" of <xref target="I-D.ietf-wimse-s2s-protocol"/>. An additional JWT, the Workload Proof Token (WPT), is signed by the private key
corresponding to the public key in the WIT. 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 Section 3.1.1 "The WIT HTTP Header" of <xref target="I-D.ietf-wimse-s2s-protocol"/>.</t>
      <t>A WPT <bcp14>MUST</bcp14> 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 <bcp14>MUST</bcp14> match the <tt>alg</tt> value of the <tt>jwk</tt> in the <tt>cnf</tt> claim of the WIT. See Section 3.1 "The Workload Identity Token" of <xref target="I-D.ietf-wimse-s2s-protocol"/> 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 <bcp14>SHOULD</bcp14> 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.
  See also Section 2.3 "Workload Identifiers and Authentication Granularity" of <xref target="I-D.ietf-wimse-s2s-protocol"/> for more details.</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 <bcp14>MUST</bcp14> 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 <bcp14>MUST</bcp14> 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 Section 3.1 "The Workload Identity Token" of <xref target="I-D.ietf-wimse-s2s-protocol"/>. 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 <bcp14>MUST</bcp14> 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 <bcp14>MUST</bcp14> 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 similar to the rules for WITs, as described in Section 3.1.2 "Including Additional Claims" of <xref target="I-D.ietf-wimse-s2s-protocol"/>.</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 <bcp14>MUST</bcp14> 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. See also Section 2.3 "Workload Identifiers and Authentication Granularity" of <xref target="I-D.ietf-wimse-s2s-protocol"/> for implementation advice
 on this verification check.</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 <bcp14>SHOULD</bcp14> 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 <bcp14>RECOMMENDED</bcp14> 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="dpop-esque-auth"/> 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 <bcp14>MUST</bcp14> be rejected. Conversely, additional tokens not covered by
 the <tt>oth</tt> claim <bcp14>MUST NOT</bcp14> 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 <bcp14>NOT RECOMMENDED</bcp14> 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="client-name">
        <name>Client Authorization Using the Workload Identity</name>
        <t>The server application retrieves the workload identifier from the client certificate subjectAltName, which in turn is obtained from the TLS layer. The identifier is used in authorization, accounting and auditing.
For example, the full workload identifier may be matched against ACLs to authorize actions requested by the peer and the identifier may be included in log messages to associate actions to the client workload for audit purposes.
A deployment may specify other authorization policies based on the specific details of how the workload identifier is constructed. The path portion of the workload identifier <bcp14>MUST</bcp14> always be considered in the scope of the trust domain.
See Section 2.3 "Workload Identifiers and Authentication Granularity" of <xref target="I-D.ietf-wimse-s2s-protocol"/> on additional security implications of workload identifiers.</t>
      </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 Section 3.1 "The Workload Identity Token" of <xref target="I-D.ietf-wimse-s2s-protocol"/>. The WIT is a general purpose token that can be presented in multiple contexts. The WIT and its PoP are only used in the application-level options, and both are not used in MTLS. The WIT <bcp14>MUST NOT</bcp14> 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 <bcp14>MUST</bcp14> be sent over a secure, server authenticated TLS connection unless a secure channel is provided by some other mechanisms. Host name validation according
to Section 3.3.1 "Server Name Validation" of <xref target="I-D.ietf-wimse-s2s-protocol"/> <bcp14>MUST</bcp14> be performed by the client.</t>
        <ul spacing="normal">
          <li>
            <t>Limiting Proof of Possession Lifespan</t>
          </li>
        </ul>
        <t>The proof of possession <bcp14>MUST</bcp14> 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 <bcp14>MUST</bcp14> 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 <bcp14>MUST</bcp14> uniquely identify it, within the scope of a particular sender.
This claim <bcp14>SHOULD</bcp14> 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 <bcp14>MAY</bcp14> 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="middleboxes">
        <name>Middle Boxes</name>
        <t>In some deployments the Workload Identity Token and proof of possession may pass through multiple systems. The communication between the systems is over TLS, but the token and PoP 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>Mitigations listed in Section 3 "Application Level Workload-to-Workload Authentication" of <xref target="I-D.ietf-wimse-s2s-protocol"/> can be used to provide some protection from middle boxes.
However we note that the DPoP-inspired solution (<xref target="dpop-esque-auth"/>) 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>
        <t>This profile provides authentication and limited integrity protection but does not protect the entire HTTP message. Deployments requiring stronger integrity guarantees should consider the HTTP Message Signatures profile defined in <xref target="I-D.ietf-schwenkschuster-s2s-http-sig"/>.</t>
      </section>
      <section anchor="privacy-considerations">
        <name>Privacy Considerations</name>
        <t>Privacy considerations for this specification are the same as those described in Section 4.4 "Privacy Considerations" of <xref target="I-D.ietf-wimse-s2s-protocol"/>.</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="dpop-esque-auth"/></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="dpop-esque-auth"/></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="dpop-esque-auth"/></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="dpop-esque-auth"/>.</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="dpop-esque-auth"/></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="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>
      <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-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="7" month="July" 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-05"/>
        </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-s2s-protocol">
          <front>
            <title>WIMSE Workload to Workload Authentication</title>
            <author fullname="Brian Campbell" initials="B." surname="Campbell">
              <organization>Ping Identity</organization>
            </author>
            <author fullname="Joseph A. Salowey" initials="J. A." surname="Salowey">
              <organization>CyberArk</organization>
            </author>
            <author fullname="Arndt Schwenkschuster" initials="A." surname="Schwenkschuster">
              <organization>SPIRL</organization>
            </author>
            <author fullname="Yaron Sheffer" initials="Y." surname="Sheffer">
              <organization>Intuit</organization>
            </author>
            <date day="4" month="July" year="2025"/>
            <abstract>
              <t>   The WIMSE architecture defines authentication and authorization for
   software workloads in a variety of runtime environments, from the
   most basic ones up to complex multi-service, multi-cloud, multi-
   tenant deployments.  This document defines the simplest, atomic unit
   of this architecture: the protocol between two workloads that need to
   verify each other's identity in order to communicate securely.  The
   scope of this protocol is a single HTTP request-and-response pair.
   To address the needs of different setups, we propose two protocols,
   one at the application level and one that makes use of trusted TLS
   transport.  These two protocols are compatible, in the sense that a
   single call chain can have some calls use one protocol and some use
   the other.  Workload A can call Workload B with mutual TLS
   authentication, while the next call from Workload B to Workload C
   would be authenticated at the application level.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-wimse-s2s-protocol-06"/>
        </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>
        <reference anchor="I-D.ietf-schwenkschuster-s2s-http-sig">
          <front>
            <title>*** BROKEN REFERENCE ***</title>
            <author>
              <organization/>
            </author>
            <date/>
          </front>
        </reference>
      </references>
    </references>
    <?line 425?>

<section anchor="document-history">
      <name>Document History</name>
      <t><cref>RFC Editor: please remove before publication.</cref></t>
      <section anchor="draft-schwenkschuster-s2s-jwt-pop-00">
        <name>draft-schwenkschuster-s2s-jwt-pop-00</name>
        <t>Initial clone from original draft-ietf-wimse-s2s-06 which contained both, Workload Proof Token and HTTP Message Signature proof of possession mechanisms.</t>
      </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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
MNlXNhYzFhR7pTMXVA6YPo3vpc9MX52LFl1tujnCoLVO0GwrIGBDDOE4eLLQ
gQczYmnSzjeXLIjY8/KEcmdT3G6fYYKYTNdybJVIytum+QzTpyq/I0cutFId
d6LK1UN/Q62glRAayol7H8TKX8alrAuVrrd9NNdqQjwvXGU06tLlLG4Y46D2
8i7RD86+M4jRf0uAjm3l+4FW1RnMSA5IzfSGBk6YJLhI2QUaT3A6Kj9JOXne
hqTNC391YFzHJA8lZwR5XhFAYZphz4mvR4SGmC6k3tJgiqVBJqFnmoMB48zK
o5Humqh1Tb6xU4StOzTKs0OjCHwiFzOy5NIwDIdxfCcom7AcJmFoCK6z80v5
H8y57G2Lnz7/JCgpMk9AQpAutGYAm+Ld2601sdToF8eRi6PJ8MALToKj/Zu9
s8HH827ajc42vZ3um27kz/2d7Dd//WMw+tjEV/2DMb66O9g9W3enN/OLafvk
5rMTtIOb/fDoOgx7w/B682b3cjG42D8/W/ePry4uHnqH/qW/PtvtHcyOusE8
uP50ede9jQP38KzlHfbeHC+21oefnfWjZHiwNbnZ2QzlwX7mHTyEx9P+/fB8
a3796SzGljefJnNo+dD/+rHdH+zNe7t7a8c7R7/5B3dI1+jTZ2ftaP3669n+
Rav39fqqf9u7e7j4+HUv+7Q+DuDNdTWD99eX4eXNXe9rf+/jw83B3eIsmpwN
Dt/Pzi9mH/qfnXY/Otm/cfvTdxuDVv/Ob/enJxfhxbD1EHWjVvO0+9bf6njX
k+N4b3w6Hh7de732+lp49/5D1Gv3P100NifAl4uvl4Pu4nbNPztyB8f76Ru5
2b++3xyP33R+8y7f9u/vrnfmo3FvfOWmVx+/7nQcHeQrkWhApKQD/D0tJY8m
Q2rfWQd88GtRQaxI2vazR0k8pS9a7twh4CDlPUwSUUtaGkfON8CJGsBBbVvU
9vzd804NIb0GURs+UbFczfmuiV+mF4YkSlTKYJlIE+09g0bS2CeIzCZI0s7x
xvx2NDub9keNoX/dHV4fR5db/mbS65wdzD9c77Vb84v5153WbZenAtFVzarc
07m5phocK+Fez7BzehtCGHi7/Xaj9XZzs7Xxjh5C7IBdtDx4vP7ujee2fc/1
19/6sj3cHG3hn9bb1ib3MGc63U7r6td4/+jD298u3369nnjTr2ftDyefLncO
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
bv1qOv8HnnajsXtgAAA=

-->

</rfc>
