<?xml version="1.0" encoding="utf-8"?>
<!-- 
     draft-rfcxml-general-template-standard-00
  
     This template includes examples of the most commonly used features of RFCXML with comments 
     explaining how to customise them. This template can be quickly turned into an I-D by editing 
     the examples provided. Look for [REPLACE], [REPLACE/DELETE], [CHECK] and edit accordingly.
     Note - 'DELETE' means delete the element or attribute, not just the contents.
     
     Documentation is at https://authors.ietf.org/en/templates-and-schemas
-->
<?xml-model href="rfc7991bis.rnc"?>  <!-- Required for schema validation and schema-aware editing -->
<!-- <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?> -->
<!-- This third-party XSLT can be enabled for direct transformations in XML processors, including most browsers -->


<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<!-- If further character entities are required then they should be added to the DOCTYPE above.
     Use of an external entity file is not recommended. -->

<rfc
  xmlns:xi="http://www.w3.org/2001/XInclude"
  category="info"
  docName="draft-liu-saag-zt-problem-statement-00"
  ipr="trust200902"
  obsoletes=""
  updates=""
  submissionType="IETF"
  xml:lang="en"
  version="3">
<!-- [REPLACE] 
       * docName with name of your draft
     [CHECK] 
       * category should be one of std, bcp, info, exp, historic
       * ipr should be one of trust200902, noModificationTrust200902, noDerivativesTrust200902, pre5378Trust200902
       * updates can be an RFC number as NNNN
       * obsoletes can be an RFC number as NNNN 
-->

  <front>
    <title abbrev="Zero trust standards in IETF: use cases and problem statement">Zero trust standards in IETF: use cases and problem statement</title>
    <!--  [REPLACE/DELETE] abbrev. The abbreviated title is required if the full title is longer than 39 characters -->

    <seriesInfo name="Internet-Draft" value="draft-liu-saag-zt-problem-statement-00"/>

    <author fullname="Xiang Liu" initials="X."  surname="Liu">
      <!-- [CHECK]
             * initials should not include an initial for the surname
             * role="editor" is optional -->
    <!-- Can have more than one author -->
      
    <!-- all of the following elements are optional -->
      <organization>Pengcheng Laboratory</organization>
      <address>
        <postal>
          <!-- Reorder these if your country does things differently -->
          <street>No.2 Xingke 1 Street</street>
          <city>Shenzhen</city>
          <code>518055</code>
          <country>China</country>
          <!-- Uses two letter country code -->
        </postal>        
        <email>liux15@pcl.ac.cn</email>  
      </address>
    </author>
	

    <author fullname="Rongwei Yang" initials="R."  surname="Yang">
      <!-- [CHECK]
             * initials should not include an initial for the surname
             * role="editor" is optional -->
    <!-- Can have more than one author -->
      
    <!-- all of the following elements are optional -->
      <organization>Pengcheng Laboratory</organization>
      <address>
        <postal>
          <!-- Reorder these if your country does things differently -->
          <street>No.2 Xingke 1 Street</street>
          <city>Shenzhen</city>
          <code>518055</code>
          <country>China</country>
          <!-- Uses two letter country code -->
        </postal>        
        <email>yangrw@pcl.ac.cn</email>  
      </address>
    </author>
	
    <author fullname="Yu Zhang" initials="Y."  surname="Zhang">
      <!-- [CHECK]
             * initials should not include an initial for the surname
             * role="editor" is optional -->
    <!-- Can have more than one author -->
      
    <!-- all of the following elements are optional -->
      <organization>Pengcheng Laboratory</organization>
      <address>
        <postal>
          <!-- Reorder these if your country does things differently -->
          <street>No.2 Xingke 1 Street</street>
          <city>Shenzhen</city>
          <code>518055</code>
          <country>China</country>
          <!-- Uses two letter country code -->
        </postal>        
        <email>zhangy08@pcl.ac.cn</email>  
      </address>
    </author>

     
    
    <date year="2025"/>
    <!-- On draft subbmission:
         * If only the current year is specified, the current day and month will be used.
         * If the month and year are both specified and are the current ones, the current day will
           be used
         * If the year is not the current one, it is necessary to specify at least a month and day="1" will be used.
    -->

    <area>Security</area>
    <workgroup>SAAG</workgroup>
    
    <!-- "Internet Engineering Task Force" is fine for individual submissions.  If this element is 
          not present, the default is "Network Working Group", which is used by the RFC Editor as 
          a nod to the history of the RFC Series. -->

    <keyword>keyword</keyword>
    <!-- [REPLACE/DELETE]. Multiple allowed. Keywords are incorporated into HTML output files for 
         use by search engines. -->

    <abstract>
      <t>
        The traditional "castle-and-moat" security paradigm is no longer effective for some emerging scenarios, such as cloud services, 
        remote workforces and intelligent agents. Zero trust (ZT) has emerged as the new paradigm, holding on the "never trust, always verify"
        principle, treats every single access request as untrudted and requires veficication.  
	    </t>
      <t>
        While a high-level atchitectural guidance exists, notably from NIST in SP 800-207 where thtenants of zero trust are well interperated,
        the industry lacks the open, interoperable framework and protocol necessary for building multi-vendor zero trust practice enrironment. 
        This document presents the problem statement for zero trust interoperability, outlines the key use cases, and argue for the need for 
        standardization in the IETF. It discusses the possible scope for zero trust standardization work in the IETF, identifying which aspects
        are well suited for the IETF protocols and which are better addressed by other bodies. 
        The aim of this document is to initiate a discussion in the IETF community on the necessity and prospective of promoting zero trust
        related work here.
      </t>
    </abstract>
 
  </front>

  <middle>
    
    <section>
      <name>Introduction</name>
      <t>
        Traditional network security was built on the assumption of that every entity inside the perimeter were trusted by default. This approach
        is increasingly ineffective in face of new use cases and sophisticateed attackers. </t>
       <t> Zero Trust (ZT) offers a fundamentally different approach.  As
   d efined in [NIST-SP-800-207], Zero Trust assumes no implicit trust is
   granted to assets or user accounts based solely on their physical or
   network location.  Instead, authentication and authorization are
   discrete, dynamic functions that must be performed before a session
   is established to an enterprise resource.  This is a "never trust,
   always verify" model.</t>
       <t> While this conceptual framework is powerful, its practical
   implementation is hampered by a lack of open standards.  Today's ZT
   solutions are largely proprietary, single-vendor ecosystems.
   An organization cannot easily use a Policy Enforcement Point (PEP)
   from one vendor with a Policy Decision Point (PDP) from another.</t>

   <t>This document provides a gap analysis for zero trust standardization, as well as several typical use cases. In additon, it also discusses the scope of standardization of zero trust in the IETF. 
	    </t>
    </section>

    <section>
        <name>Requirements Language</name>
        <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL",
          "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT
          RECOMMENDED", "MAY", and "OPTIONAL" 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>
    </section>
      <!-- [CHECK] The 'Requirements Language' section is optional -->
      <section>
        <name>Terminology</name>
        
        <t>
         This document adopts the core terminology defined in <xref target="NIST-SP-800-207"></xref>. 
        </t>
         <dl spacing="normal">
        <dt>Subject:</dt>
        <dd>An entity (e.g., user, device, service, application, AI agent) that requests access to a resource.</dd>
        <dt>Resource:</dt>
        <dd>A data source, service, device, or network component that a subject wishes to access.</dd>
        <dt>Policy Engine (PE):</dt>
        <dd>The component responsible for the ultimate decision to grant or deny access to a resource for a given subject. </dd>
        <dt>Policy Administrator (PA):</dt>
        <dd>The component responsible for establishing and/or shutting down the communication path between a subject and a resource.</dd>
        <dt>Policy Enforcement Point (PEP):</dt>
        <dd>A system responsible for enabling, monitoring, and terminating connections between a subject and a resource. The PEP communicates with the PA to 
          forward requests and/or receive policy updates.</dd>
        <dt>Control Plane:</dt>
        <dd>The logical network of communication that is used to manage the ZTA. This includes communication between the PE, PA, and PEPs, 
          as well as the collection of context and signals.</dd>
        <dt>Data Plane:</dt>
        <dd>The logical network where subjects and resources communicate after access has been granted.</dd>
      </dl>
      
      </section>   
	        <section anchor="usecase">
      <name>Use cases</name>
      <t>In this section we consider several emerging use cases where standardized ZT protocols would provide significant value. </t>

      <section>
        <name>Use Case 1: Secure Remote Access for Enterprise Resources</name>
        <t>A remote employee needs to access an internal application hosted in a private data center of
          an organization.
        </t>
        <ol type="1" spacing="compact">
          <li>Subject: The employee's user identity and the device identity.</li>
          <li>Resource: The internal application.</li>
        </ol>
      </section>

      <section>
        <name>Use case 2: secure service-to-service communication</name>
        <t>A front-end web service running in a Kubernetes cluster in Cloud A needs to query a database
          service running in a VM in Cloud B.
        </t>
        <ol type="1" spacing="compact">
          <li>Subject: The front-end web service, identified by a workload identity.</li>
          <li>Resource: The database service.</li>
        </ol>
      </section>

      <section anchor="uc-saas" >
        <name>Use Case 3: Granular Access to Third-Party SaaS Applications</name>
        <t>
          An organization wants to enforce device posture checks before
          allowing employees to access a third-party SaaS application .
        </t>
        <ol type="1" spacing="compact">
          <li>Subject: The employee and their device.</li>
          <li>Resource: The SaaS CRM application.</li>
        </ol>
      </section>

      <section>
        <name>Use Case 4: Secure Access for Autonomous AI Agents</name>
        <t>An autonomous AI agent, acting on behalf of a user or system, needs
          to access a set of APIs to complete a task (e.g., booking travel).
        </t>
        <ol type="1" spacing="compact">
          <li>Subject: The AI agent, possessing a cryptographically verifiable
            workload identity.</li>
          <li>Resource: A set of airline, hotel, and payment gateway APIs.</li>
        </ol>
      </section>
    </section>
      <section anchor="problemstatement">
        <name>Problem statement</name>
        <t>The implementation of zero trust is hindered by several key problems that may be addressed by standardization.</t>
        <section>
          <name>Lack of interoperability</name>
          <t>
            The core components of ZTA, PE, PA and PEP currently communicate with each other using proprietary protocols. Different
            components from different vendors can barely communicate and interoperate with each other. This makes an 
            organization wishing to implenment ZTA system probably forced to source all components from one single vendor. 
            This creates silos where the ZT system for employee access is completely separate from the ZT system
            for cloud service-to-service communication, even though the underlying principles are the same.  A unified approach requires
            common standards.
          </t>
        </section>
        
        <section>
          <name> Market Confusion</name>
          <t>
            Without clear, protocol-level definitions and specifications, the term "zero trust" is often used as marketing buzzword rather 
          than technology or product langauge. Products with different capabilities and features can be all labeled as "zero trust enabled".
          Standardization can enhance clarity by clearly document the requirements for components to participate in ZTA system from the protocol 
          and funtionality level. 
          </t>
        </section>
      
        <section anchor="gap">
          <name>Gap Analysis</name>
          <t>
            While the IETF and other SDOs have produced fundamental building blocks, there still lacks a complete, interoperable ZT standard framework.
          A significant gap exists between the available components and a functioning ZTA control plane. Specifically, the main gaps can be concluded as 
          follows. 
          </t>
          <ol type="1">
          <li><strong>A Standardized Control Plane Protocol:</strong> This is the central
            gap. There is no standard protocol for a PEP to request an access
            decision from a PE, nor for the PE/PA to return a dynamic policy
            decision. Today, this critical interaction is implemented with
            proprietary REST APIs with vendor-specific data models.</li>
          <li><strong>A Standardized Signal Exchange Protocol:</strong> A PE's decisions rely
            on continuous streams of context (signals). While RATS defines
            attestation formats, there is no standard protocol for how diverse
            sources (EDR systems, threat feeds, IdPs) publish these signals
            and how a PE consumes them. This prevents the creation of a multi-
            vendor "nervous system" for the ZTA.</li>
          <li><strong>A Model for Dynamic, Fine-Grained Authorization:</strong> OAuth scopes
            are often broad and long-lived. ZT demands just-in-time, least-
            privilege access. A standard is needed to model a request for,
            and issuance of, highly specific and ephemeral access rights
            (e.g., "grant subject X write access to record Y in database Z for
            the next 30 seconds").</li>
          <li><strong>A framework for dynamic and continuous trust evaluation: </strong> The core principle of Zero Trust is continuous verification. This implies a mechanism for dynamically evaluating the trustworthiness
            of a subject over time. While individual signals (like device
            posture or user location) are important, there is no standardized
            framework for aggregating these signals into a dynamic trust score
            or confidence level. Furthermore, there is no standard protocol for
            how this trust score is updated in near-real-time and communicated
            to the Policy Engine to influence access decisions. Defining such
            a framework would enable interoperable trust assessment modules and
            allow the PE to make more nuanced, risk-based decisions beyond a
            simple grant/deny.</li>
        </ol>
        </section>   
      </section>  
    



    <section anchor="scope" title="Proposed Scope of Work for the IETF">
      <t>
        To be successful, an IETF effort must have a clearly defined scope. We
        propose focusing on the communication interfaces between ZTA
        components, directly addressing the gaps identified in <xref target="gap"/>.
      </t>
      
        <section anchor="scope-control" title="Control Plane Communication Protocol">
          <t>
            The highest priority is to define a standard protocol for a PEP to
            request an access decision from a PE/PA and for the PE/PA to return a
            decision and policy configuration. This could be a new protocol or a
            profile of an existing one (e.g., using HTTP APIs with a well-defined
            JSON data model). It must specify how to represent the subject,
            resource, and context in a request, and how to represent grant, deny,
            or step-up authentication decisions in a response.
          </t>
        </section>
        <section anchor="scope-signal" title="Dynamic Context and Signal Exchange Protocol">
          <t>
            A ZTA's decisions are only as good as the signals it receives. A
            standardized protocol is needed for various sensors (e.g., EDR
            agents, threat intelligence feeds, IdPs) to publish signals to a
            centralized bus or directly to the PE. This would allow a PE to
            consume signals from multiple vendors' security tools. This work
            should align with and leverage concepts from the IETF RATS and SCITT
            working groups.
          </t>
        </section>
        <section anchor="scope-session" title="Authenticated Session Establishment and Management">
          <t>
            While TLS provides a secure channel, ZTA introduces new challenges.
            Work could be done to standardize how a PA instructs a PEP to
            establish a session. This might involve profiling the use of existing
            protocols or defining mechanisms for securely delivering short-lived,
            session-specific credentials (e.g., tokens or certificates) to the
            subject and/or PEP as part of an access grant.
          </t>
        </section>
     
      
    </section>

   



    <section anchor="IANA">
    <!-- All drafts are required to have an IANA considerations section. See RFC 8126 for a guide.-->
      <name>IANA Considerations</name>
      <t>This memo includes no request to IANA. </t>
    </section>
   
    
    <!-- NOTE: The Acknowledgements and Contributors sections are at the end of this template -->
  </middle>

  <back>
    <references>
      <name>References</name>
      <references>
        <name>Normative References</name>
        
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml"/>
        <!-- The recommended and simplest way to include a well known reference -->
        <reference anchor="NIST-SP-800-207" target="https://csrc.nist.gov/publications/detail/sp/800-207/final">
        <front>
          <title>Zero Trust Architecture</title>
          <author initials="S." surname="Rose"/>
          <author initials="O." surname="Borchert"/>
          <author initials="S." surname="Mitchell"/>
          <author initials="S." surname="Connelly"/>
          <date year="2020" month="August"/>
        </front>
      </reference>
      </references>
 
      <references>
        <name>Informative References</name>

      </references>
    </references>
    
 </back>
</rfc>
