<?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.43 (Ruby 3.4.9) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-wimse-mutual-tls-03" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.34.1 -->
  <front>
    <title abbrev="Workload MTLS">Workload Authentication Using Mutual TLS</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-wimse-mutual-tls-03"/>
    <author initials="J." surname="Salowey" fullname="Joe Salowey">
      <organization>Palo Alto Networks</organization>
      <address>
        <email>joe@salowey.net</email>
      </address>
    </author>
    <author initials="Y." surname="Rosomakho" fullname="Yaroslav Rosomakho">
      <organization>Zscaler</organization>
      <address>
        <email>yaroslavros@gmail.com</email>
      </address>
    </author>
    <date year="2026" month="October" day="24"/>
    <area>Applications and Real-Time</area>
    <workgroup>Workload Identity in Multi System Environments</workgroup>
    <keyword>workload</keyword>
    <keyword>identity</keyword>
    <abstract>
      <?line 40?>

<t>The WIMSE architecture defines authentication and authorization for software workloads in a variety of runtime environments, from the most basic ones to complex multi-service, multi-cloud, multi-tenant deployments. This document profiles workload authentication based on X.509 Workload Identity Certificates using mutual TLS (mTLS).</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-wimsemutual-tls.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-ietf-wimse-mutual-tls/"/>.
      </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 44?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>This document defines authentication and authorization in the context of interaction between two workloads.
This is the core component of the WIMSE architecture <xref target="WIMSE-ARCH"/>.
This document focuses on using X.509 Workload Identity Certificates as defined in <xref section="6.1" sectionFormat="of" target="WIMSE-CREDS"/> to authenticate the communication between workloads using TLS.</t>
      <t>The use of TLS for authentication is widely deployed, however it may not be applicable to all environments.  For example, some deployments may lack the Public Key Infrastructure (PKI) necessary to manage certificates or inter-service communication consists of multiple separate TLS hops. For these cases, other options based on Workload Identity Tokens (WIT) as defined in <xref section="5" sectionFormat="of" target="WIMSE-CREDS"/> may be more appropriate since they are not based on X.509 certificates and are communicated at the application layer rather than the transport layer.</t>
      <section anchor="deployment-architecture-and-message-flow">
        <name>Deployment Architecture and Message Flow</name>
        <t>Refer to <xref section="1.2" sectionFormat="of" target="WIMSE-CREDS"/> for the deployment architecture which is common to all authentication mechanisms.</t>
      </section>
    </section>
    <section anchor="conventions-and-definitions">
      <name>Conventions and Definitions</name>
      <t>This document uses the terminology defined in <xref target="WIMSE-ARCH"/>. The terms "Workload Identifier" and "trust domain" are defined in <xref section="3" sectionFormat="of" target="WIMSE-ID"/>, and "Workload Identity Certificate" is defined in <xref section="6.1" sectionFormat="of" target="WIMSE-CREDS"/>.</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="mutual-tls">
      <name>Using Mutual TLS for Workload-to-Workload Authentication</name>
      <t>As noted in the introduction, for many deployments, transport-level protection of application traffic using TLS is ideal. This document describes using WIMSE certificates to authenticate a TLS connection. In the case of mutual TLS either the client or the server or both client and server may present WIMSE certificates.</t>
      <section anchor="to-wic">
        <name>The Workload Identity Certificate</name>
        <t>Workload Identity Certificates are X.509 certificates that carry Workload Identifiers as described in <xref section="6.1" sectionFormat="of" target="WIMSE-CREDS"/>.</t>
      </section>
      <section anchor="wic-validation">
        <name>Workload Identity Certificate Validation</name>
        <t>Workload Identity Certificates may be used to authenticate both the server and client side of the connection.  When validating a Workload Identity Certificate, the relying party <bcp14>MUST</bcp14> use a locally configured mapping from trust domains to trust anchors, provisioned as described in <xref section="3" sectionFormat="of" target="WIMSE-CREDS"/>. The peer's certificate <bcp14>MUST</bcp14> be rejected unless its certification path validates to a trust anchor configured for the trust domain in its Workload Identifier. The Workload Identifier <bcp14>MUST NOT</bcp14> be treated as authenticated until this validation succeeds. The relying party <bcp14>MUST</bcp14> perform certification path validation in accordance with <xref section="6" sectionFormat="of" target="INET-X509-PROFILE"/>. Workloads acting as TLS clients or servers <bcp14>MUST</bcp14> validate that the trust domain portion of the Workload Identifier in the Workload Identity Certificate matches the expected trust domain for the other side of the connection.</t>
        <t>Certificate revocation status <bcp14>MUST</bcp14> be determined as specified in <xref section="6.1.3" sectionFormat="of" target="INET-X509-PROFILE"/>. The mechanism used to determine that status is deployment-specific and may use CRLs, OCSP, or out-of-band information.</t>
        <t>Servers wishing to use the Workload Identity Certificate for authorizing the client <bcp14>MUST</bcp14> require client certificate authentication in the TLS handshake. Other methods of post handshake authentication are not specified by this document.</t>
        <t>Workload Identity Certificates used by TLS servers <bcp14>SHOULD</bcp14> have the <tt>id-kp-serverAuth</tt> extended key usage (<xref section="4.2.1.12" sectionFormat="of" target="INET-X509-PROFILE"/>) field set and Workload Identity Certificates used by TLS clients <bcp14>SHOULD</bcp14> have the <tt>id-kp-clientAuth</tt> extended key usage field set. A certificate that is used for both client and server connections may have both fields set. This specification does not make any other requirements beyond <xref target="INET-X509-PROFILE"/> and <xref target="WIMSE-CREDS"/> on the contents of Workload Identity Certificates or on the certification authorities that issue workload certificates.</t>
        <section anchor="server-name">
          <name>Server Name Validation</name>
          <t>A WIMSE server intended to be accessed using a DNS hostname <bcp14>SHOULD</bcp14> present a certificate containing a matching DNS Subject Alternative Name (DNS-ID). A WIMSE client connecting to a server using a DNS hostname <bcp14>MUST</bcp14> perform standard TLS server identity validation as specified in <xref section="6.3" sectionFormat="of" target="TLS-IDENTITY"/>.</t>
          <t>When connecting to a server based on its DNS hostname, the client <bcp14>MUST</bcp14> reject the connection if the server's certificate does not contain a matching DNS-ID, even if Workload Identifier validation succeeds.</t>
          <t>A WIMSE client that expects to connect to a server with a WIMSE certificate <bcp14>MUST</bcp14> validate that the WIMSE identifier of the server is appropriate for the server it is attempting to connect. Since the structure of a WIMSE identifier is deployment specific the validation is deployment specific, but the client <bcp14>MUST</bcp14> at least verify that the trust domain of the WIMSE identifier matches the trust domain of the server it intends to connect to. Some deployments may require the identification of servers by their WIMSE identifier. In such cases, the client <bcp14>MUST</bcp14> be configured with sufficient information to determine the expected Workload Identifier of the server and the client <bcp14>MUST</bcp14> validate the Workload Identifier in the server's certificate against that expectation before accepting the connection. The Workload Identifier can be used for additional workload-specific authorization and policy decisions.</t>
          <t>Connecting directly to an IP address does not require an IP address subjectAltName when the client authenticates the server using its expected Workload Identifier. If the client additionally requires authentication of the server's IP address, it <bcp14>MUST</bcp14> validate a matching iPAddress subjectAltName (IP-ID) as specified in <xref section="6.4" sectionFormat="of" target="TLS-IDENTITY"/>. If no matching IP-ID is present, the client <bcp14>MUST</bcp14> reject the connection, even if Workload Identifier validation succeeds.</t>
          <t>The authority part of a URI that is a Workload Identifier is NOT treated as a hostname as otherwise specified in <xref section="6.3" sectionFormat="of" target="TLS-IDENTITY"/>, but rather as a trust domain as specified in <xref section="4.3" sectionFormat="of" target="WIMSE-ID"/>. The server identity is encoded in the path portion of the Workload Identifier in a deployment-specific way.</t>
          <t>Validation of the workload identity may consist of an exact match of the trust domain and path, or may follow deployment-specific rules. The path portion of the Workload Identifier <bcp14>MUST</bcp14> always be interpreted within the context of the trust domain. In most cases it is preferable to validate the entire Workload Identifier; see <xref section="1.3" sectionFormat="of" target="WIMSE-CREDS"/> for additional implementation guidance.</t>
        </section>
      </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's URI subjectAltName (see <xref target="WIMSE-CREDS"/>), which in turn is obtained from the TLS layer. The certificate <bcp14>MUST</bcp14> contain exactly one URI subjectAltName carrying a Workload Identifier, as specified in <xref section="6.1" sectionFormat="of" target="WIMSE-CREDS"/>. Certificates containing zero or multiple such entries <bcp14>MUST</bcp14> be rejected. 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 with 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 of the Workload Identifier.</t>
        <t>See <xref section="1.3" sectionFormat="of" target="WIMSE-CREDS"/> for additional security implications of Workload Identifiers.</t>
      </section>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document does not include any IANA considerations.</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <section anchor="certificate-and-identity-validation">
        <name>Certificate and Identity Validation</name>
        <t>This document relies on the security properties of TLS <xref target="TLS"/>, PKIX path validation (<xref section="6" sectionFormat="of" target="INET-X509-PROFILE"/>), and Workload Identity Certificate validation as described in <xref section="6.1" sectionFormat="of" target="WIMSE-CREDS"/>. Implementations <bcp14>MUST</bcp14> validate the peer certificate chain, the applicable extended key usage (if present), and the Workload Identifier according to the rules in this document before using the authenticated identity for authorization decisions.</t>
        <t>Workload Identifiers are meaningful only within the scope of their trust domain. Authorization policies <bcp14>MUST NOT</bcp14> evaluate only the path or other sub-components of a Workload Identifier without also considering the trust domain and the trust anchor used to validate the certificate. Failure to bind the Workload Identifier to the proper trust domain and its configured trust anchor can allow one trust domain to impersonate workloads from another domain.</t>
        <t>When a client identifies a server by a DNS hostname, clients <bcp14>MUST</bcp14> authenticate the server using standard TLS DNS hostname validation as specified in <xref target="TLS-IDENTITY"/>. When a client expects to connect to a server identified by a WIMSE identity then it <bcp14>MUST</bcp14> validate that the WIMSE identifier of the server according to domain specific policy as defined in <xref target="server-name"/>. Only deployments that do not rely on DNS-based server identification should authenticate the server solely using its workload identity. Accepting any certificate issued by a trusted workload CA without validating that it represents the intended server workload would allow mis-issued or otherwise valid certificates for other workloads to be used for impersonation.</t>
        <t>Client authentication is based on the Workload Identity Certificate presented by the TLS client. A server performing mTLS authentication <bcp14>MUST</bcp14> validate the client certificate chain, the associated trust domain, and the Workload Identifier before using that identity for authorization, accounting, or auditing. Accepting any valid client certificate from a trusted CA without checking whether the authenticated workload is authorized for the requested action can allow unintended workloads to gain access.</t>
      </section>
      <section anchor="certificate-and-private-key-management">
        <name>Certificate and Private Key Management</name>
        <t>Workload Identity Certificates are often issued to dynamic or short-lived workloads. Deployments <bcp14>SHOULD</bcp14> use certificate lifetimes that are appropriate for the workload environment and <bcp14>SHOULD</bcp14> provide timely revocation or replacement mechanisms when workload identity, authorization, or runtime state changes. Long-lived certificates increase the impact of private key compromise and stale authorization decisions.</t>
        <t>Compromise of the private key corresponding to a trust anchor can enable impersonation for as long as that anchor remains trusted, regardless of leaf certificate lifetimes. Trust-anchor provisioning and lifecycle considerations, including lifetime and rotation, are discussed in <xref section="3" sectionFormat="of" target="WIMSE-CREDS"/> and <xref section="9.3.1" sectionFormat="of" target="WIMSE-CREDS"/>.</t>
        <t>Private keys associated with Workload Identity Certificates <bcp14>MUST</bcp14> be protected against disclosure and unauthorized use. In particular, deployments <bcp14>MUST NOT</bcp14> share private keys across unrelated workload instances. Where possible, private keys <bcp14>SHOULD</bcp14> be generated and held in the workload runtime environment or a dedicated key protection mechanism, rather than distributed over the network.</t>
      </section>
      <section anchor="tls-termination-at-intermediaries">
        <name>TLS Termination at Intermediaries</name>
        <t>This document specifies authentication at the TLS layer. If application traffic traverses intermediaries, gateways, service meshes, or other middleboxes that terminate and re-establish TLS, the application endpoint might not be directly authenticated to the peer workload. In such deployments, authorization decisions need to account for where TLS is terminated and whether the authenticated certificate represents the peer workload, an intermediary, or another delegated entity. Where end-to-end workload authentication context is required across such boundaries, deployments <bcp14>SHOULD</bcp14> use an application-layer WIMSE authentication mechanism, such as <xref target="WIMSE-HTTPSIG"/> or <xref target="WIMSE-WPT"/>, in addition to TLS-layer server authentication.</t>
      </section>
      <section anchor="application-layer-identity-assertions">
        <name>Application-Layer Identity Assertions</name>
        <t>Authorization decisions based on workload identity <bcp14>MUST</bcp14> be made using the authenticated identity obtained from the validated certificate, not from unauthenticated application-layer metadata such as HTTP headers. Application-layer identity assertions can be useful for logging or context, but they <bcp14>MUST NOT</bcp14> override the identity established by mutual TLS unless protected and authorized by another mechanism.</t>
      </section>
    </section>
    <section anchor="privacy-considerations">
      <name>Privacy Considerations</name>
      <t>Client certificate authentication exposes the client workload identity to the TLS server during the handshake. Deployments should consider whether disclosure of Workload Identifiers to servers, intermediaries, or logs is acceptable for their threat model. Workload Identifiers included in certificates and audit records should avoid embedding unnecessary sensitive information.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="WIMSE-CREDS">
          <front>
            <title>WIMSE Workload Credentials</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>Defakto Security</organization>
            </author>
            <author fullname="Yaron Sheffer" initials="Y." surname="Sheffer">
              <organization>Intuit</organization>
            </author>
            <author fullname="Yaroslav Rosomakho" initials="Y." surname="Rosomakho">
              <organization>Zscaler</organization>
            </author>
            <date day="2" month="July" year="2026"/>
            <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 credentials that workloads use to represent
   their identity.  They can be used in various protocols to
   authenticate workloads to each other.  To use these credentials,
   workloads must provide proof of possession of the associated private
   key material, which is covered in other documents.  This document
   focuses on the credentials alone, independent of the proof-of-
   possession mechanism.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-wimse-workload-creds-02"/>
        </reference>
        <reference anchor="WIMSE-ID">
          <front>
            <title>Workload Identifier</title>
            <author fullname="Yaroslav Rosomakho" initials="Y." surname="Rosomakho">
              <organization>Zscaler</organization>
            </author>
            <author fullname="Joseph A. Salowey" initials="J. A." surname="Salowey">
              <organization>Palo Alto Networks</organization>
            </author>
            <date day="23" month="October" year="2026"/>
            <abstract>
              <t>   This document defines a canonical identifier for workloads, referred
   to as the Workload Identifier.  A Workload Identifier is a URI that
   uniquely identifies a workload within the context of a specific trust
   domain.  This identifier can be embedded in Workload Identity
   Credentials, including X.509 certificates and JWT-based tokens, to
   support authentication, authorization, and policy enforcement across
   diverse systems.  The Workload Identifier format ensures
   interoperability, facilitates secure identity federation, and enables
   consistent identity semantics.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-wimse-identifier-04"/>
        </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>
        <reference anchor="INET-X509-PROFILE">
          <front>
            <title>Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile</title>
            <author fullname="D. Cooper" initials="D." surname="Cooper"/>
            <author fullname="S. Santesson" initials="S." surname="Santesson"/>
            <author fullname="S. Farrell" initials="S." surname="Farrell"/>
            <author fullname="S. Boeyen" initials="S." surname="Boeyen"/>
            <author fullname="R. Housley" initials="R." surname="Housley"/>
            <author fullname="W. Polk" initials="W." surname="Polk"/>
            <date month="May" year="2008"/>
            <abstract>
              <t>This memo profiles the X.509 v3 certificate and X.509 v2 certificate revocation list (CRL) for use in the Internet. An overview of this approach and model is provided as an introduction. The X.509 v3 certificate format is described in detail, with additional information regarding the format and semantics of Internet name forms. Standard certificate extensions are described and two Internet-specific extensions are defined. A set of required certificate extensions is specified. The X.509 v2 CRL format is described in detail along with standard and Internet-specific extensions. An algorithm for X.509 certification path validation is described. An ASN.1 module and examples are provided in the appendices. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5280"/>
          <seriesInfo name="DOI" value="10.17487/RFC5280"/>
        </reference>
        <reference anchor="TLS-IDENTITY">
          <front>
            <title>Service Identity in TLS</title>
            <author fullname="P. Saint-Andre" initials="P." surname="Saint-Andre"/>
            <author fullname="R. Salz" initials="R." surname="Salz"/>
            <date month="November" year="2023"/>
            <abstract>
              <t>Many application technologies enable secure communication between two entities by means of Transport Layer Security (TLS) with Internet Public Key Infrastructure using X.509 (PKIX) certificates. This document specifies procedures for representing and verifying the identity of application services in such interactions.</t>
              <t>This document obsoletes RFC 6125.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9525"/>
          <seriesInfo name="DOI" value="10.17487/RFC9525"/>
        </reference>
        <reference anchor="TLS">
          <front>
            <title>The Transport Layer Security (TLS) Protocol Version 1.3</title>
            <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>
            <date month="July" year="2026"/>
            <abstract>
              <t>This document specifies version 1.3 of the Transport Layer Security (TLS) protocol. TLS allows client/server applications to communicate over the Internet in a way that is designed to prevent eavesdropping, tampering, and message forgery.</t>
              <t>This document obsoletes RFC 8446, which specified TLS 1.3. This document obsoletes RFC 5246 (specifying TLS 1.2) and RFCs 5077, 6961, 7627, and 8422, all of which pertain to TLS 1.2 or earlier, and updates RFCs 5705 and 6066. This document also specifies new requirements for TLS 1.2 implementations.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9846"/>
          <seriesInfo name="DOI" value="10.17487/RFC9846"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="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>Palo Alto Networks</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 the Bundeswehr Munich</organization>
            </author>
            <date day="6" month="July" year="2026"/>
            <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
   software executing for a specific purpose, potentially comprising one
   or more running instances.  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-08"/>
        </reference>
        <reference anchor="WIMSE-HTTPSIG">
          <front>
            <title>WIMSE Workload-to-Workload Authentication with HTTP Signatures</title>
            <author fullname="Joseph A. Salowey" initials="J. A." surname="Salowey">
              <organization>Palo Alto Networks</organization>
            </author>
            <author fullname="Yaron Sheffer" initials="Y." surname="Sheffer">
              <organization>Independent</organization>
            </author>
            <date day="20" month="October" year="2026"/>
            <abstract>
              <t>   The WIMSE architecture defines authentication and authorization for
   software workloads in a variety of runtime environments, from the
   most basic ones to complex multi-service, multi-cloud, multi-tenant
   deployments.  This document defines one of the mechanisms to provide
   workload authentication, using HTTP Signatures.  While only
   applicable to HTTP traffic, the protocol provides end-to-end
   protection of requests (and optionally, responses), even when service
   traffic is not end-to-end encrypted, that is, when TLS proxies and
   load balancers are used.  Authentication is based on the Workload
   Identity Token (WIT).

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-wimse-http-signature-08"/>
        </reference>
        <reference anchor="WIMSE-WPT">
          <front>
            <title>WIMSE Workload Proof Token</title>
            <author fullname="Brian Campbell" initials="B." surname="Campbell">
              <organization>Ping Identity</organization>
            </author>
            <author fullname="Arndt Schwenkschuster" initials="A." surname="Schwenkschuster">
              <organization>Defakto Security</organization>
            </author>
            <date day="27" month="August" year="2026"/>
            <abstract>
              <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-layer 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>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-wimse-wpt-02"/>
        </reference>
      </references>
    </references>
    <?line 158?>

<section anchor="document-history">
      <name>Document History</name>
      <t><cref>RFC Editor: please remove before publication.</cref></t>
      <section anchor="draft-ietf-wimse-mutual-tls-03">
        <name>draft-ietf-wimse-mutual-tls-03</name>
        <ul spacing="normal">
          <li>
            <t>Editorial: consistent capitalization of the defined terms "Workload Identifier" and "Workload Identity Certificate".</t>
          </li>
        </ul>
      </section>
      <section anchor="draft-ietf-wimse-mutual-tls-02">
        <name>draft-ietf-wimse-mutual-tls-02</name>
        <ul spacing="normal">
          <li>
            <t>Improved Server Name Validation section</t>
          </li>
        </ul>
      </section>
      <section anchor="draft-ietf-wimse-mutual-tls-01">
        <name>draft-ietf-wimse-mutual-tls-01</name>
        <ul spacing="normal">
          <li>
            <t>Added security considerations</t>
          </li>
        </ul>
      </section>
      <section anchor="draft-ietf-wimse-mutual-tls-00">
        <name>draft-ietf-wimse-mutual-tls-00</name>
        <ul spacing="normal">
          <li>
            <t>Initial version, extracted from the draft-ietf-wimse-s2s-protocol-07 S2s draft with minimal edits.</t>
          </li>
          <li>
            <t>added security consideration for Server Name Validation</t>
          </li>
        </ul>
      </section>
    </section>
    <section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>We thank Yaron Sheffer, Arndt Schwenkschuster, Brian Campbell,  and Daniel Feldman for their contributions to earlier versions of this document.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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

-->

</rfc>
