<?xml version="1.0" encoding="UTF-8"?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude"
     version="3"
     ipr="trust200902"
     category="info"
     submissionType="IETF"
     consensus="false"
     docName="draft-jiang-intent-security-00"
     tocInclude="true"
     symRefs="true"
     sortRefs="true">


  <front>
    <title abbrev="Intent Security">Security Considerations for Intent-Based Requests in Agentic Systems</title>

    <author initials="Y." surname="Jiang" fullname="Yuning Jiang">
        <organization>Huawei</organization>
        <address>
          <email>jiangyuning2@h-partners.com</email>
        </address>
      </author>

    <author initials="L." surname="Li" fullname="Lun Li">
        <organization>Huawei</organization>
        <address>
          <email>lilun20@huawei.com</email>
        </address>
      </author>

    <author initials="Y." surname="Song" fullname="Yurong Song">
        <organization>Huawei</organization>
        <address>
          <email>songyurong1@huawei.com</email>
        </address>
      </author>  

     <author initials="F." surname="Liu" fullname="Faye Liu">
        <organization>Huawei</organization>
        <address>
          <email>liufei19@huawei.com</email>
        </address>
      </author>

    <date year="2026" month="April" day="01"/>

    <area>Security</area>
    <keyword>intent</keyword>
    <keyword>AI Agents</keyword>
    <keyword>agentic systems</keyword>
    <keyword>delegation</keyword>
    <keyword>transaction context</keyword>
    <keyword>drift</keyword>

   <abstract>
      <t>
        Intent-based requests enable users, applications, and agents to express goals and constraints without
        specifying step-by-step procedures. Such intents are commonly translated into executable directives
        and propagated across multiple entities (clients, agents, authorization components, orchestration
        functions, and execution endpoints). This multi-hop processing expands the attack surface for
        tampering, privilege escalation, constraint bypass, and intent drift.
      </t>
      <t>
        This document provides a solution-agnostic security analysis for intent-based requests across
        agentic systems. It introduces a reference model and scenarios to guide
        protocol and system design, and also presents threats and requirements. The document emphasizes constraint validation, invocation validation,
        multi-hop chain-of-custody, and policy-driven responses to drift, while remaining independent
        of any specific deployment domain.
      </t>
    </abstract>
  </front>

  <middle>

    <section anchor="intro" numbered="true" toc="default">
      <name>Introduction</name>
      <t>
        Intent-based interaction is increasingly adopted in automation, orchestration, and agentic systems,
        where a request expresses desired outcomes and constraints rather than explicit procedures.
        A receiving system (or a chain of systems) translates the intent into executable directives and
        invokes tools or services to achieve the intended outcome.
      </t>
      <t>
        Multi-hop processing (client-to-agent, agent-to-agent, agent-to-tool/service) introduces security
        risks beyond traditional single-hop APIs, including: (1) integrity and substitution attacks against
        derived directives, (2) privilege escalation during tool/service invocation, (3) constraint bypass,
        and (4) multi-hop intent drift where constraints degrade or diverge over transformations.
      </t>
      <t>
        This document does not define a new protocol. Instead, it provides a security-oriented reference
        model, threat analysis, requirements, and scenarios to support future standardization and 
        interoperable designs.
      </t>

      <section anchor="scope" numbered="true" toc="default">
        <name>Scope</name>
        <t>
          This document focuses on security considerations for intent-based requests in multi-hop agentic
          systems. While examples may reference telecom or networking contexts, the analysis applies
          broadly to any domain where intent processing spans multiple trust boundaries.
        </t>
      </section>
    </section>

    <section anchor="terminology" numbered="true" toc="default">
      <name>Terminology and Conventions</name>

      <section anchor="conventions" numbered="true" toc="default">
        <name>Conventions</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>

      <section anchor="definitions" numbered="true" toc="default">
        <name>Definitions</name>
        <t>
          This document uses the following terms:
        </t>

        <dl newline="false" spacing="normal">
          <dt>Intent:</dt>
          <dd>A declarative expression of desired operational goals and outcomes, without
              specifying how to achieve or implement them. This definition is aligned with
              intent-based networking (IBN) guidance <xref target="RFC9315"/> <xref target="RFC9316"/>.</dd>

          <dt>Intent Translation:</dt>
          <dd>The process of transforming an intent into more concrete representations,
              such as constraints, objectives, candidate procedures, or executable directives.</dd>

          <dt>Constraint:</dt>
          <dd>A condition that limits acceptable outcomes or actions. Constraints may include
              invariants, policy rules, safety boundaries, and compliance requirements.</dd>

          <dt>Constraint Validation:</dt>
          <dd>Verifying whether an intent and/or its derived artifacts comply with
              applicable constraints, invariants, policy rules, and safety boundary requirements.</dd>

          <dt>Invocation:</dt>
          <dd>A request to a tool or service intended to fulfill an intent (e.g., API call,
              workflow step, actuation command).</dd>

          <dt>Invocation Validation:</dt>
          <dd>Determining whether an invoker holds the required privileges to invoke
              a tool or service and whether invocation parameters satisfy the requirements 
              and constraints specified by the intent.</dd>

          <dt>Observation:</dt>
          <dd>Telemetry, events, measurements, or other signals used for monitoring and assurance.</dd>

          <dt>Drift:</dt>
          <dd>A divergence between the intent (including its constraints) and the realized 
              plan or actions over time or across multi-hop transformations.</dd>

          <dt>Derived Directive:</dt>
          <dd>An executable or enforceable artifact generated from an intent through translation,
              such as an allowed rule set, capability token, or authorization grant.</dd>
        </dl>
      </section>

      <section anchor="acronyms" numbered="true" toc="default">
        <name>Acronyms</name>
        <dl newline="false" spacing="normal">
          <dt>IBN:</dt>
          <dd>Intent-Based Networking</dd>
          <dt>IBS:</dt>
          <dd>Intent-Based System</dd>
        </dl>
      </section>
    </section>

    <section anchor="problem" numbered="true" toc="default">
      <name>Problem Statement and Threat Model</name>
      <t>
        In many agentic systems, an intent is translated into executable directives (e.g., an 
        allowed rule set) that must be propagated across multiple entities and enforced at 
        execution endpoints. However, existing designs often lack end-to-end mechanisms that 
        jointly ensure: (1) directives remain within authorized boundaries across transformations 
        and propagation, (2) constraints are validated before execution, (3) invocations are 
        privilege-checked and constraint-checked at each call boundary, and (4) drift is detected 
        and handled under policy.
      </t>

      <section anchor="threats" numbered="true" toc="default">
        <name>Threats</name>
        <t>
          This document considers the following representative threats in multi-hop intent processing:
        </t>

        <dl newline="false" spacing="normal">
          <dt>T1 (Directive Tampering/Substitution):</dt> <dd>A malicious or compromised intermediary modifies or replaces derived directives 
              (e.g., allowed rule sets) to expand privileges or bypass constraints.</dd>

          <dt>T2 (Unauthorized Invocation / Privilege Escalation):</dt> <dd>An agent or client invokes tools/services without the required privileges, or 
              smuggles parameters that violate intent constraints.</dd>

          <dt>T3 (Constraint Bypass):</dt> <dd>Constraints, invariants, or safety boundaries are dropped, weakened, or misapplied 
              during translation, planning, or execution.</dd>

          <dt>T4 (Multi-Hop Drift):</dt> <dd>Across repeated transformations, delegations, and tool invocations, the realized 
              actions diverge from the original intent boundary (accidentally or adversarially).</dd>

          <dt>T5 (Monitoring Evasion / False Observations):</dt> <dd>Attackers evade detection by suppressing, forging, or selectively presenting 
              observations used for assurance and drift detection.</dd>
        </dl>
      </section>

      <section anchor="requirements" numbered="true" toc="default">
        <name>Requirements</name>
        <t>
          Based on the threats above, this document identifies the following security requirements:
        </t>

        <dl newline="false" spacing="normal">
          <dt>R1 (Provenance and Authorization Boundary Binding):</dt> <dd>The system provides a verifiable binding between the intent, derived directives, 
              and the applicable authorization boundary, such that unauthorized expansion can be 
              detected or prevented.</dd>

          <dt>R2 (Chain-of-Custody for Derived Directives):</dt> <dd>The system protects derived directives against tampering and substitution 
              across multi-hop propagation.</dd>

          <dt>R3 (Constraint Validation):</dt> <dd>The system validates the intent and/or derived artifacts against applicable 
              constraints, invariants, policy rules, and safety boundaries before accepting or 
              executing actions.</dd>

          <dt>R4 (Invocation Validation):</dt> <dd>The system validates that an invoker holds the required privileges to invoke 
              a tool/service and that invocation parameters satisfy intent constraints prior to 
              and/or at invocation time.</dd>

          <dt>R5 (Non-Bypass Enforcement):</dt> <dd>The execution endpoint enforces constraints and authorization boundaries such 
              that direct/side-path invocation cannot bypass required checks.</dd>

          <dt>R6 (Observability and Auditability):</dt> <dd>The system provides sufficient observations and audit evidence to support 
              compliance assessment, drift detection, and incident investigation.</dd>

          <dt>R7 (Policy-Driven Drift Response):</dt> <dd>Upon drift detection or constraint violation, the system supports policy-driven 
              responses (e.g., deny, degrade, re-confirm, re-negotiate, fallback).</dd>
        </dl>
      </section>
    </section>

    <section anchor="refmodel" numbered="true" toc="default">
      <name>Reference Model</name>
      <t>
        This section introduces a technology-neutral reference model for intent-based requests. 
        The model is aligned with intent-based system decomposition commonly used in IBN guidance
        <xref target="RFC9315"/>, while remaining applicable to non-networking domains.
      </t>

      <figure anchor="fig-refmodel">
        <name>Reference Model for Multi-Hop Intent Processing</name>
        <artwork type="ascii-art" align="left"><![CDATA[
+--------------+           +---------------------------+
|  User Space  |           |       IBS Space           |
|              |  Intent   |                           |
|   Intent     |---------->|  Intent Processing Func   |
|  Originator  | Artifact  |                           |
|              |---------->|  +---------+  +---------+ |
|   Intent     |           |  | Intent  |  |Constrain| |
|   Client     |           |  |Transform|  |Validate |-+-> Policy/
+--------------+           |  +---------+  +---------+ |   Constrain
                           |                           |   Authority
                           |  +---------+              |
                           |  |Invocate |              |
                           |  | Gate    |--------------+-> Tool/
                           |  +---------+              |   Service
                           +---------------------------+   Provider
                                    ^          |
                                    |   Observe|
                                    |          v
                           +---------------------------+
                           |  Observer (Monitoring)    |
                           +---------------------------+
]]></artwork>
      </figure>

      <t>
        The figure separates User Space from IBS Space for clarity. Deployments may collapse 
        functions into fewer components or distribute them across multiple agents and services.
      </t>

      <section anchor="entities" numbered="true" toc="default">
        <name>Reference Model Entities</name>
        <t>
          The following entities are defined in the reference model:
        </t>
        <dl newline="false" spacing="normal">
          <dt>Intent Originator:</dt> <dd>The party whose goals and constraints are to be satisfied (e.g., human user,
              application owner, operator, or delegated principal).</dd>

          <dt>Intent Client:</dt> <dd>The component that submits intents to an IBS and may carry contextual signals.</dd>

          <dt>Intent Processing Function:</dt> <dd>A logical function that performs translation, validation, and orchestration
              for intent fulfillment. This function encompasses the Intent Transformer, 
              Constraint Validator, and Invocation Gate.</dd>

          <dt>Intent Transformer:</dt> <dd>A function that transforms intent representations (e.g., natural language to 
              structured intent, structured intent to constraints/objectives, objectives to 
              derived directives).</dd>

          <dt>Constraint Validator:</dt> <dd>A function that enforces R3 by validating intents and derived artifacts against 
              constraints, invariants, policy rules, and safety boundaries.</dd>

          <dt>Invocation Gate:</dt> <dd>A function that enforces R4 and R5 by privilege-checking and constraint-checking 
              each tool/service invocation and preventing bypass of required checks.</dd>

          <dt>Policy/Constraint Authority:</dt> <dd>A logical source of constraints and policy boundaries (e.g., organizational policy,
              compliance rules, safety invariants, subscription/contract limits).</dd>

          <dt>Tool/Service Provider:</dt> <dd>A system that executes actions (APIs, workflows, actuators, management functions, 
              data services).</dd>

          <dt>Observer (Monitoring Function):</dt> <dd>A function that collects observations (telemetry, events, measurements) 
              used for assurance, compliance assessment, and drift detection (R6 and R7).</dd>
        </dl>
      </section>
    

    <section anchor="overview" numbered="true" toc="default">
      <name>Operational Overview</name>
      <t>
        This section provides an informative lifecycle overview to contextualize constraint 
        validation, invocation validation, observation, and drift handling.
      </t>

      <ol spacing="normal" type="1">
        <li>The Intent Originator expresses an intent via the Intent Client.</li>
        <li>The Intent Client submits an intent artifact to the IBS.</li>
        <li>The IBS performs intent translation (Intent Transformer) to derive constraints,
            objectives, and candidate directives.</li>
        <li>The IBS performs constraint validation (R3) in consultation with the 
            Policy/Constraint Authority.</li>
        <li>The IBS determines one or more tool/service invocations needed for fulfillment.</li>
        <li>Prior to each invocation, the IBS performs invocation validation (R4), including 
            privilege checks and parameter/constraint checks.</li>
        <li>The Tool/Service Provider executes the invocation and returns results; side effects 
            may be irreversible.</li>
        <li>The Observer produces observations used by the IBS for assurance and drift detection (R6).</li>
        <li>If drift or violations are detected, the IBS applies a policy-driven response (R7), 
            such as deny, degrade, re-confirm, re-negotiate, or fallback.</li>
      </ol>
      </section>
    </section>

    <section anchor="scenarios" numbered="true" toc="default">
      <name>Security Scenarios</name>
      <t>
        This section describes representative security scenarios using a consistent template: 
        Setting, Actors, Assets, Attack Sketch, Impact, and Relevant Requirements. These scenarios 
        are not exhaustive but illustrate key threat patterns in multi-hop intent processing.
      </t>

      <section anchor="scn-51" numbered="true" toc="default">
        <name>Scenario 1: Directive Tampering and Authorization Boundary Expansion</name>
        
        <t><strong>Setting:</strong></t><t>An IBS translates an intent into derived directives (e.g., allowed rules) that traverse 
          multiple intermediaries before reaching an execution endpoint.
        </t>

        <t><strong>Actors:</strong></t>
        <t>
          Intent Originator, Intent Client, IBS, one or more intermediaries (agents/clients), 
          Tool/Service Provider.
        </t>

        <t><strong>Assets:</strong></t>
        <t>
          Authorization boundary, constraints/invariants, protected resources, audit evidence.
        </t>

        <t><strong>Attack Sketch:</strong></t>
        <ol spacing="normal" type="1">
          <li>An intermediary modifies derived directives to add operations or widen resource scope.</li>
          <li>The modified directives are forwarded to the execution endpoint without effective detection.</li>
          <li>The endpoint performs out-of-bound operations (e.g., modifying account state, 
              accessing other parties' data, disabling safety rules).</li>
        </ol>

        <t><strong>Impact:</strong></t>
        <t>
          Privilege escalation, policy bypass, unauthorized side effects, compliance violations.
        </t>

        <t><strong>Relevant Requirements:</strong></t>
        <t>
          R1 (Provenance and Authorization Boundary Binding), R2 (Chain-of-Custody for Derived 
          Directives), R3 (Constraint Validation), R5 (Non-Bypass Enforcement), R6 (Observability 
          and Auditability).
        </t>
      </section>
    </section>

    <section anchor="seccons" numbered="true" toc="default">
      <name>Security Considerations</name>
      <t>
        This section provides solution-agnostic security considerations mapped to the scenarios 
        and requirements. Implementations may realize these considerations using different security 
        mechanisms (tokens, signatures, attestation, policy engines, or protocol-level bindings).
      </t>

      <section anchor="mapping" numbered="true" toc="default">
        <name>Scenario-to-Requirement Mapping</name>
        <t>
          <xref target="tab-map"/> summarizes the primary mappings between the elaborated scenarios 
          and security requirements. Note that these mappings are non-exhaustive; additional 
          requirements may apply depending on deployment context.
        </t>

        <table anchor="tab-map" align="center">
          <name>Scenario to Requirement Mapping</name>
          <thead>
            <tr>
              <th align="left">Scenario</th>
              <th align="left">Primary Threats</th>
              <th align="left">Key Requirements</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">1 (Directive Tampering)</td>
              <td align="left">T1, T3</td>
              <td align="left">R1, R2, R3, R5, R6</td>
            </tr>
          </tbody>
        </table>
      </section>

      <section anchor="sec-51" numbered="true" toc="default">
        <name>Considerations for Scenario 1 (Directive Tampering)</name>
        <t>
          Scenario 1 highlights that derived directives are often more operationally powerful 
          than the original intent text. Therefore, systems should treat derived directives as 
          security-relevant artifacts whose integrity and authorization boundary binding should be 
          protected across hops.
        </t>

        <section anchor="sec-51-overview" numbered="true" toc="default">
          <name>Overview</name>
          <t>
            The core challenge is ensuring that derived directives cannot be tampered with or 
            substituted in transit, and that execution endpoints can verify the authenticity and 
            authorization boundary of received directives.
          </t>

          <dl newline="false" spacing="normal">
            <dt>Binding and Custody (R1, R2):</dt>
            <dd>Derived directives should be bound to the intent context and authorization boundary 
                such that unauthorized expansion or substitution is detectable or preventable across hops.</dd>

            <dt>Pre-Execution Constraint Validation (R3):</dt>
            <dd>Even if directives appear intact, the receiver should validate that the intended 
                actions remain within constraints and invariants before execution.</dd>

            <dt>Non-Bypass Enforcement (R5):</dt>
            <dd>Execution endpoints should enforce checks such that direct calls cannot bypass 
                required validation gates.</dd>

            <dt>Audit Evidence (R6):</dt>
            <dd>Systems should produce evidence linking execution decisions to validated directives 
                and constraints.</dd>
          </dl>
        </section>

        <section anchor="sec-51-procedure" numbered="true" toc="default">
          <name>Illustrative Procedure</name>
          <t>
            The following procedure is informative and solution-agnostic. Implementations may use 
            various mechanisms (e.g., signed tokens, cryptographic binding, attestation) to achieve 
            these objectives.
          </t>

          <ol spacing="normal" type="1">
            <li>Directive Derivation and Binding: The IBS derives directives from an intent and 
                associates them with the applicable authorization boundary. The IBS generates a 
                cryptographically-protected artifact (e.g., signed token, sealed directive) that 
                binds the directives to the intent context and authorization scope.</li>

            <li>Integrity Protection for Multi-Hop Propagation: Before forwarding directives across 
                trust boundaries, the system attaches integrity and binding evidence (e.g., digital 
                signature, MAC, or attestation token) sufficient for downstream verification. This 
                evidence includes the authorization boundary, constraint set, and issuer identity.</li>

            <li>Reception and Verification: Upon receipt, the execution-side gate verifies the 
                integrity and binding evidence of the received directives. This verification 
                confirms: (a) the directives have not been tampered with or substituted, (b) the 
                directives originate from an authorized IBS, and (c) the authorization boundary 
                matches expected scope.</li>

            <li>Constraint Re-Validation: The execution endpoint re-validates the directives against 
                local constraints, invariants, and policy rules. This step provides defense-in-depth 
                even if upstream validation was bypassed or compromised.</li>

            <li>Enforcement and Audit: If verification or validation fails, the system denies or 
                degrades execution under policy and records audit evidence. If successful, the system 
                proceeds with execution and logs the binding evidence, execution decision, and outcomes 
                for compliance assessment.</li>
          </ol>

          <t>
            This procedure addresses T1 (Directive Tampering/Substitution) and T3 (Constraint Bypass) 
            by establishing end-to-end integrity and validation across multi-hop processing.
          </t>
        </section>
      </section>


      <section anchor="sec-general" numbered="true" toc="default">
        <name>General Security Considerations</name>
        <t>
          Beyond the scenario-specific considerations, the following general principles apply to 
          intent-based systems:
        </t>

        <ul spacing="normal">
          <li>Trust Boundary Awareness: systems explicitly identify trust boundaries and 
              apply appropriate security controls at each boundary crossing.</li>

          <li>Defense in Depth: validation occur at multiple layers (translation, propagation, 
              invocation, execution) to provide resilience against bypass or compromise of individual 
              layers.</li>

          <li>Least Privilege: derived directives and invocations are scoped to the minimum 
              privileges necessary for intent fulfillment.</li>

          <li>Fail-Safe Defaults: when validation fails or drift is detected, systems default 
              to denying actions rather than permitting potentially unsafe operations.</li>

          <li>Auditability: all security-relevant decisions and events are logged with 
              sufficient context to support post-incident investigation and compliance assessment.</li>
        </ul>
      </section>
    </section>

    <section anchor="iana" numbered="true" toc="default">
      <name>IANA Considerations</name>
      <t>This document has no IANA actions.</t>
    </section>

  </middle>

  <back>


  <references anchor="refs-normative">
    <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"/>
    <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7991.xml"/>
  </references>

  <references anchor="refs-informative">
    <name>Informative References</name>
    <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9315.xml"/>
    <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9316.xml"/>
    <xi:include href="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.irtf-nmrg-ibn-usecases.xml"/>
    <xi:include href="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-oauth-transaction-tokens.xml"/>
    <xi:include href="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.oauth-transaction-tokens-for-agents.xml"/>
    <xi:include href="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.liu-oauth-a2a-profile.xml"/>
    <xi:include href="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.goswami-agentic-jwt.xml"/>
    <xi:include href="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.ni-a2a-ai-agent-security-requirements.xml"/>
  </references>

  <section anchor="acknowledgments" numbered="false">
    <name>Acknowledgments</name>
    <t>TODO</t>
  </section>

</back>

</rfc>
