<?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-cabanillas-nmop-policy-sharing-model-00" category="info" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.34.1 -->
  <front>
    <title abbrev="policy-sharing-model">Model for distributed policy sharing</title>
    <seriesInfo name="Internet-Draft" value="draft-cabanillas-nmop-policy-sharing-model-00"/>
    <author initials="L. C." surname="Rodríguez" fullname="Lucía Cabanillas Rodríguez">
      <organization>Telefónica</organization>
      <address>
        <email>lucia.cabanillasrodriguez@telefonica.com</email>
      </address>
    </author>
    <author initials="D." surname="López" fullname="Diego López">
      <organization>Telefónica</organization>
      <address>
        <email>diego.r.lopez@telefonica.com</email>
      </address>
    </author>
    <author initials="A." surname="Méndez" fullname="Ana Méndez">
      <organization>Telefónica</organization>
      <address>
        <email>ana.mendezperez@telefonica.com</email>
      </address>
    </author>
    <author initials="P." surname="Martínez-Julia" fullname="Pedro Martínez-Julia">
      <organization>NICT</organization>
      <address>
        <email>pedro@nict.go.jp</email>
      </address>
    </author>
    <date year="2026" month="October" day="27"/>
    <area>Operations and Management</area>
    <workgroup>Network Management Operations</workgroup>
    <keyword>policy</keyword>
    <keyword>distribution</keyword>
    <keyword>lifecycle</keyword>
    <abstract>
      <?line 63?>
<t>This document defines mechanisms and conventions for the representation, lifecycle management, and distribution of  policies in distributed and automated environments. It specifies a consistent, machine-readable, and interoperable framework that enables policies to be validated, exchanged, updated, and removed across heterogeneous systems and administrative domains.</t>
      <t>The framework defines how policies, expressed using Policy-as-Code (PaC) languages or other policy languages, are encapsulated and managed using YANG as a canonical representation format. By separating policy lifecycle management from policy semantics, enforcement architectures, and trust frameworks, the model enables a common policy artifact representation that can be reused across diverse implementations and deployment environments.</t>
      <t>The model represents policy languages using YANG identities and identity references, allowing new policy languages to be incorporated without modifying the core schema. This approach supports extensibility while preserving a consistent structure for policy metadata, provenance, lifecycle management, and distribution.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://LuciaCabanillasRodriguez.github.io/authz-policy-sharing-model/draft-cabanillas-nmop-authz-policy-sharing-model.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-cabanillas-nmop-policy-sharing-model/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        Network Management Operations Working Group mailing list (<eref target="mailto:nmop@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/nmop/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/nmop/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/LuciaCabanillasRodriguez/policy-sharing-model"/>.</t>
    </note>
  </front>
  <middle>
    <?line 69?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>The increasing complexity and automation of distributed systems, such as programmable networks, multi-cloud platforms, and intent-based infrastructures, require scalable and interoperable mechanisms for managing policies. In these environments, policies are no longer confined to static configuration files or manually managed. Instead, they are dynamic artifacts that must be created, validated, distributed, updated, and eliminated programmatically.</t>
      <t>Policies increasingly govern not only access control but also operational behavior, compliance requirements, and governance constraints across multiple areas. These policies may be authored in one area, distributed through another, and enforced in many. As a result, consistent handling of policies throughout their lifecycle becomes critical.</t>
      <t>Existing approaches often rely on system-specific policy formats and ad hoc distribution mechanisms, leading to several challenges:</t>
      <ul spacing="normal">
        <li>
          <t>Fragmentation: Incompatible representations and semantics hinder interoperability and auditability.</t>
        </li>
        <li>
          <t>Limited lifecycle control: Many systems lack standardized mechanisms for validation, versioning, and decommissioning.</t>
        </li>
        <li>
          <t>Trust ambiguity: In multi-domain environments, it is often unclear whether a policy source is authorized or trustworthy.</t>
        </li>
        <li>
          <t>Governance gaps: Systems frequently lack mechanisms to verify whether a policy author is permitted to define policies for a specific domain.</t>
        </li>
      </ul>
      <t>To address these challenges, this document defines a structured and interoperable framework for representing and managing policies as governed artifacts. YANG is used as the canonical representation format for policy artifacts. A YANG-defined policy encapsulates its metadata together with embedded policy content, which is treated as opaque executable logic. This structured representation enables schema-based validation, provenance verification, and interoperable lifecycle management while remaining agnostic to the underlying evaluation engine.</t>
    </section>
    <section anchor="conventions-and-definitions">
      <name>Conventions and Definitions</name>
      <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?>

<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="RFC8174">RFC2119</xref> when, and only when, they appear in all capitals, as shown here.</t>
      <ul spacing="normal">
        <li>
          <t>Policy: A rule or set of rules that define behavior, access, or operational constraints within a system.</t>
        </li>
        <li>
          <t>Authorization policy: A policy that governs access or permissions based on user/agent, resource, or environmental attributes.</t>
        </li>
        <li>
          <t>Policy lifecycle: The set of stages through which a policy passes, including creation, validation, distribution, update, rollback, and removal.</t>
        </li>
        <li>
          <t>Policy-as-Code (PaC): A paradigm in which policies are represented as declarative code artifacts, allowing automation, versioning, and testing.</t>
        </li>
      </ul>
    </section>
    <section anchor="requirements-for-policy-management">
      <name>Requirements for Policy Management</name>
      <t>Systems that manage or exchange policies across domains <bcp14>MUST</bcp14> satisfy the following requirements:</t>
      <ul spacing="normal">
        <li>
          <t>Policy expressiveness: The framework <bcp14>SHOULD</bcp14> support the representation and distribution of policies with varying levels of expressiveness and granularity, depending on the capabilities of the policy language and evaluation environment.</t>
        </li>
        <li>
          <t>Lifecycle control: Policies <bcp14>SHOULD</bcp14> support creation, validation, update, rollback, distribution, and removal.</t>
        </li>
        <li>
          <t>Interoperability: Policy representations <bcp14>SHOULD</bcp14> be portable and interpretable across different administrative areas.</t>
        </li>
        <li>
          <t>Verifiability: The framework <bcp14>SHOULD</bcp14> provide mechanisms to verify policy integrity and provenance.</t>
        </li>
      </ul>
    </section>
    <section anchor="policy-languages">
      <name>Policy Languages</name>
      <t>Policies can be expressed using a variety of declarative policy languages and policy frameworks, including Policy-as-Code (PaC) languages such as Rego, Cedar, and ALFA, as well as other policy languages such as XACML.</t>
      <t>Although these technologies differ in syntax, evaluation models, execution environments, and expressive capabilities, they share common lifecycle, governance, provenance, and distribution requirements when used in distributed and multi-domain environments.</t>
      <t>The objective of this framework is not to standardize or promote a particular policy language. Instead, it provides a common artifact format for representing, governing, and distributing policies independently of their internal semantics. As a result, the same lifecycle-management and distribution mechanisms can be applied to policies expressed in different languages.</t>
      <t>This framework treats policy content as opaque executable logic embedded within a YANG-defined policy artifact. The YANG representation does not interpret, validate, or constrain the internal semantics of the policy language. Instead, it provides a structured and interoperable container for lifecycle governance, version control, provenance binding, and distribution.</t>
      <t>Policy languages are expected to evolve over time. For this reason, policy languages are represented using YANG identities and identity references, allowing new policy languages to be introduced without modifying the base schema.</t>
      <t>Rego is used throughout this document for illustrative purposes only. The artifact model is intended to support any policy language represented through the policy-language identity hierarchy.</t>
      <t>Example in Rego syntax:</t>
      <artwork><![CDATA[
package example
# Allow read access if the user has the "read" role
default allow = false
allow if {
    input.user.role == "read"
}
]]></artwork>
      <t>The policy logic above is treated as opaque content by the YANG representation. Its evaluation behavior is determined exclusively by the target execution environment, while lifecycle and governance properties such as the ownership is managed independently.</t>
    </section>
    <section anchor="policy-representation-in-yang">
      <name>Policy representation in YANG</name>
      <t>The YANG structure defined in this document does not model a policy repository or datastore. Instead, it defines the representation of a single policy artifact exchanged between lifecycle-management components, such as a Policy Administration Point (PAP) and a Policy Decision Point (PDP), during policy creation, update, rollback, or removal operations.</t>
      <t>Consequently, the YANG container represents one policy artifact in transit rather than a collection of policies. The organization of multiple policies within a datastore or repository is implementation-specific and outside the scope of this document.</t>
      <t>YANG provides a structured and schema-driven mechanism for representing policies as managed and governed artifacts. In this framework, YANG serves as the canonical container format for policy definitions, encapsulating:</t>
      <ul spacing="normal">
        <li>
          <t>Policy metadata, including owner, author, origin, area, and description.</t>
        </li>
        <li>
          <t>The language used to express the policy logic.</t>
        </li>
        <li>
          <t>The embedded policy content, treated as opaque data.</t>
        </li>
        <li>
          <t>Optional leaf for validation and provenance.</t>
        </li>
      </ul>
      <t>In addition, each policy instance <bcp14>MUST</bcp14> include an explicit owner attribute that identifies the authority responsible for the policy definition, ensuring accountability within and across domains. By associating a policy with a clearly identified authority, the framework enables governance controls and allows systems to determine whether the policy source is authorized within a given scope. The owner attribute <bcp14>MUST</bcp14> be expressed as a URI that uniquely identifies the authoritative entity responsible for the policy.</t>
      <t>The author and origin fields complement the owner. The author field identifies the entity that created the policy. The author will be different from the owner of the policy when the owner of the policy outsources the authorship to other entity. The origin field identifies the object that precedes the policy. Such object can be other policy (more or less general) or extrinsic structure (e.g., the document gathering the administrative operational requirements or a network intent). The author field <bcp14>MUST</bcp14> be fulfilled whereas the origin field is only required when a policy derives from other object.</t>
      <t>The area field <bcp14>MUST</bcp14> be filled. It identifies the operational environment of the policy. The area will be used by both the PDP and PEP to restrict the respective decision and enforcement of the policy. An area will define, for example, the outbound walls (boundaries) to which the PEP will limit its reach and focus, as well as the inbound walls (opposite) that will be particularly observed by the PEP to ensure no extrinsic behavior is present within the operation boundaries of the policy. Similarly, the PDP will make use of the area to determine the object, within which it conducts its deliberations, particularly concerning the involved parameters and rules.</t>
      <t>The structure of the objects linked by the owner, author and origin fields will be subject to their own schemas. They will be specified separately in ulterior documents.</t>
      <t>The policy language is represented using YANG identities and identity references rather than fixed enumerations. This design follows common extensibility practices in YANG models, enabling future languages to be introduced dynamically without requiring modifications to the base schema.</t>
      <t>The specific URI structure is determined by the administrative environment. Ownership metadata <bcp14>MAY</bcp14> be cryptographically linked to the policy provenance, enabling verification against the provenance signature key. This mechanism ensures that the policy origin and integrity can be independently verified and trusted.</t>
      <t>The stable elements are the YANG-based artifact structure, provenance bindings, and policy metadata. These elements are independent of the policy evaluation logic and remain unchanged regardless of the policy language or deployment environment.</t>
      <t>Similarly, the artifact does not assume any specific enforcement architecture. Centralized, distributed, hierarchical, or domain-specific PDP/PEP deployments can consume the same policy artifact representation.</t>
      <t>The model also does not mandate a particular trust framework. While ownership, authorship, origin, and provenance information can be conveyed within the artifact, the interpretation of that information and the resulting trust decisions remain deployment specific.</t>
      <t>The YANG model below illustrates a simplified structure for representing authorization policies as managed artifacts:</t>
      <artwork><![CDATA[
module example-policy {
  namespace "urn:ietf:params:xml:ns:yang:example-policy";
  prefix policy;

  import ietf-inet-types {
    prefix inet;
  }

  import ietf-yang-provenance {
    prefix iyangprov;
  }

  organization
    "IETF NMOP Working Group";

  contact
    "WG Web:   <https://datatracker.ietf.org/wg/nmop/>

     WG List:  <mailto:nmop@ietf.org>

     Authors:
       Lucía Cabanillas
       <mailto:lucia.cabanillasrodriguez@telefonica.com>

       Diego López
       <mailto:diego.r.lopez@telefonica.com>

       Ana Méndez Pérez
       <mailto:ana.mendezperez@telefonica.com>;

       Pedro Martínez-Julia
       <mailto:pedro@nict.go.jp>";

  description
    "Illustrative YANG model for representing distributed policies as managed artifacts";

  revision 2026-07-30 {
    description
      "Fifth revision";
    reference
      "RFC XXXX: Model for distributed
       policy sharing";
  }

  /*
   * Identities
   */

  identity policy-language {
    description
      "Abstract base identity for policy languages";
  }

  identity rego {
    base policy-language;
    description
      "Rego policy language";
  }

  identity cedar {
    base policy-language;
    description
      "Cedar policy language";
  }

  identity alfa {
    base policy-language;
    description
      "ALFA policy language";
  }

  identity xacml {
    base policy-language;
    description
      "XACML policy language";
  }

  /*
   * Typedefs
   */

  typedef policy-language-ref {
    type identityref {
      base policy-language;
    }
    description
      "Reference to a policy language identity";
  }

  /*
   * Policy model
   */

  container policy {
    description
      "Container representing a policy artifact";

    leaf area {
      type inet:uri;
      mandatory true;
      description
        "Administrative or operational area to which the policy belongs";
    }

    leaf description {
      type string;
      description
        "Optional human-readable description of the policy";
    }

    leaf language {
      type policy-language-ref;
      mandatory true;
      description
        "Specifies the policy language used to express the policy";
    }

    leaf policy-content {
      type string;
      mandatory true;
      description
        "Opaque policy content expressed in the language identified by the language leaf";
    }

    leaf owner {
      type inet:uri;
      mandatory true;
      description
        "URI identifying the authoritative entity responsible for this policy";
    }

    leaf author {
      type inet:uri;
      mandatory true;
      description
        "URI of the entity that authored the policy";
    }

    leaf origin {
      type inet:uri;
      description
        "URI of the entity that originated this policy";
    }

    leaf policy-provenance {
      type iyangprov:provenance-signature;
      description
        "Cryptographic provenance signature associated with the policy";
    }
  }
}
]]></artwork>
      <t>This YANG snippet demonstrates how policy content can be represented as structured data while keeping the logic in a declarative format. By explicitly indicating the language, management systems can validate and process policies appropriately, enabling interoperability between tools and engines.</t>
      <section anchor="example-json-encoding">
        <name>Example JSON Encoding</name>
        <t>The following example illustrates how a policy instance can be represented using JSON encoding for the YANG model:</t>
        <sourcecode type="json"><![CDATA[
{
  "example-policy:policy": {
    "area": "urn:example:server-dmz-layer1",
    "description": "Policy example: Allow read access for 'reader' role and write access for 'admin'",
    "language": "policy:rego",
    "policy-content": "package policy\n\ndefault allow = false\n\nallow if{\n    input.user.role == \"reader\"\n}\n\nallow_write if{\n    input.user.role == \"admin\"\n}",
    "owner": "urn:example:user:lucia",
    "author": "urn:example:policy-creator",
    "origin": "urn:example:administrative-operational-requirements"
  }
}
]]></sourcecode>
        <t>In this example, the <tt>language</tt> leaf references the <tt>rego</tt> identity defined in the YANG module through an <tt>identityref</tt>. Additional Policy-as-Code languages may be introduced by defining new identities derived from the <tt>policy-language</tt> base identity.</t>
        <t>It also extends the rego policy with metadata that describes it, specifies that it is owned by "urn:example:user:lucia", created by "urn:example:policy-creator" (so it was outsourced by the author), originated from the requirement documents identified as "urn:example:administrative-operational-requirements", and scoped to the boundaries determined by "urn:example:server-dmz-layer1".</t>
      </section>
    </section>
    <section anchor="architecture-overview">
      <name>Architecture Overview</name>
      <t>Policy management in distributed environments relies on a set of functional components that cooperate to define, govern, distribute, evaluate, and enforce policies across administrative areas <xref target="RFC2904"/>. This framework adopts that functional separation while introducing structured policy representation and lifecycle governance based on YANG.</t>
      <section anchor="functional-roles">
        <name>Functional Roles</name>
        <t>Policy Author: The entity (human or automated system/agent) responsible for creating the policy definition. The author produces a YANG-encoded policy document that includes metadata (description, area, language, owner) and the actual declarative rule.</t>
        <t>Policy Administration Point (PAP): The Policy Administration Point manages the lifecycle and governance of policy artifacts. Upon receiving a YANG-encoded policy, it performs schema validation and, where applicable, verifies provenance using cryptographic mechanisms such as those described in <xref target="I-D.ietf-opsawg-yang-provenance"/>.</t>
        <t>The PAP <bcp14>MAY</bcp14> maintain historical policy revisions through external version-control systems in order to support rollback, auditing, and policy recovery operations.</t>
        <t>Before accepting or distributing a policy artifact, the Policy Administration Point (PAP) <bcp14>MAY</bcp14> perform an authorization verification step. In this step, the PAP queries a Policy Decision Point to determine whether the declared owner or submitting entity is authorized to define or modify policies within the relevant area.</t>
        <t>All lifecycle events, including creation, update, activation, rollback, and decommissioning, <bcp14>MAY</bcp14> be recorded in an append-only accounting ledger to ensure traceability and auditability.</t>
        <t>Once validated and authorized, the PAP distributes the executable policy artifact to the appropriate decision components.</t>
        <t>Policy Decision Point (PDP): The Policy Decision Point evaluates policy logic at runtime. It receives validated policy artifacts and processes requests based on contextual attributes, claims, or environmental information. The PDP produces decisions such as Permit or Deny, optionally including obligations or advice.</t>
        <t>Policy Enforcement Point (PEP): The PEP enforces the decisions issued by the PDP. Enforcement may include granting or denying access, applying configurations, or triggering operational actions.</t>
      </section>
      <section anchor="functional-interaction">
        <name>Functional Interaction</name>
        <t>The interaction among the architectural components reflects a strict separation between policy governance and runtime decision-making. Policy artifacts are first validated, governed, and recorded as managed entities before being distributed for evaluation.</t>
        <t>The following diagram illustrates the logical interaction flow:</t>
        <artwork><![CDATA[
                     Policy Author
                           |
                           |  YANG-encoded policy artifact
                           v
        +-----------------------------------+     +-------------------------+
        | Policy Administration Point (PAP) |---->|    Accounting Ledger    |
        |-----------------------------------|     |-------------------------|
        | - Schema validation               |     | - create / update       |
        | - Provenance verification         |     | - rollback / remove     |
        | - Version enforcement             |     +-------------------------+
        | - Lifecycle state management      |
        |-----------------------------------|
        |  Governance Authorization Check   |
        |  (PAP -> PDP query)               |
        +------------------+----------------+
                           |
                           |  Authorized policy
                           v
              +-----------------------------------+
              | Policy Decision Point (PDP)       |
              |-----------------------------------|
              | - Runtime policy evaluation       |
              +------------------+----------------+
                                 ^
                                 | Request
                                 |
                                 v Decision
              +-----------------------------------+
              | Policy Enforcement Point (PEP)    |
              |-----------------------------------|
              | - Enforcement of decisions        |
              +-----------------------------------+

]]></artwork>
      </section>
      <section anchor="policy-distribution">
        <name>Policy Distribution</name>
        <t>This document defines the structure of the policy artifact and its lifecycle semantics but does not mandate a specific transport mechanism for policy distribution.</t>
        <t>Policy artifacts <bcp14>MAY</bcp14> be distributed using different protocols and deployment architectures. The choice of distribution mechanism is deployment-specific.</t>
        <t>Policy lifecycle operations are represented through management actions performed on policy artifacts:</t>
        <ul spacing="normal">
          <li>
            <t>Create: introduction of a new policy artifact.</t>
          </li>
          <li>
            <t>Update: replacement of an existing policy artifact.</t>
          </li>
          <li>
            <t>Rollback: restoration of a previous policy revision.</t>
          </li>
          <li>
            <t>Remove: withdrawal of a policy artifact from the receiving domain.</t>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="relationship-to-other-models">
      <name>Relationship to Other Models</name>
      <section anchor="authzen-policy-store">
        <name>AuthZEN Policy Store</name>
        <t>The AuthZEN Policy Store specification defines a portable representation for organizing and storing authorization policy artifacts independently of a specific Policy Decision Point (PDP) implementation <xref target="authzen"/>.</t>
        <t>The scope of that work is complementary to the model defined in this document. While a policy store addresses the organization and persistence of policy artifacts, this document focuses on the representation, governance and distribution of individual policy artifacts across administrative domains.</t>
        <t>In particular, the YANG structure defined in this document represents a single policy artifact exchanged between policy-management components. It does not define the structure of a policy repository or datastore holding multiple policies. Such a repository may use a policy-store model, while the artifact defined in this document may be used as the unit of policy exchange and distribution.</t>
        <t>The separation between policy storage and policy distribution allows the two models to evolve independently while remaining complementary.</t>
      </section>
      <section anchor="openconfig-gnsi-authorization-model">
        <name>OpenConfig gNSI Authorization Model</name>
        <t>Existing data models demonstrate that YANG can be effectively used to carry authorization-related information in operational environments.</t>
        <t>The OpenConfig gNSI authorization model <xref target="OCgNSI"/> defines a YANG module that represents metadata associated with gRPC authorization policies installed on network devices. That model focuses on device-level state and observability, including policy metadata, operational status, and evaluation counters.</t>
        <t>This document is complementary to that approach. While the OpenConfig model concentrates on operational visibility for a specific enforcement technology, the framework defined here focuses on the representation, lifecycle management, provenance, and distribution of policy artifacts across systems and administrative areas.</t>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>Ensuring the integrity, authenticity, and provenance of policy data is critical to prevent unauthorized modification. Policies <bcp14>SHOULD</bcp14> include cryptographic protection mechanisms that allow their origin and validity to be verified.</t>
      <t>The mechanisms defined in <xref target="I-D.ietf-opsawg-yang-provenance"/> — Applying COSE Signatures for YANG Data Provenance — provide a suitable foundation for these protections. That document specifies how COSE signatures <xref target="RFC9052"/> are used to include digital signatures within the YANG data, enabling, in this case, verifiable provenance and ensuring the integrity of the YANG-based distributed policy sharing model proposed in this draft.</t>
      <t>When such provenance mechanisms are applied to policy definitions, each policy instance can include a verifiable signature providing proof of origin and integrity of the provided policy. By treating policies as signed and governed artifacts, this framework reduces the risk associated with automated and cross-domain policy exchange, including the additional risks in multi-domain deployments such as determining whether a policy has been modified in transit and whether the policy issuer is authorized to define policies applicable to the receiving area.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document has no IANA actions.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC2904">
          <front>
            <title>AAA Authorization Framework</title>
            <author fullname="J. Vollbrecht" initials="J." surname="Vollbrecht"/>
            <author fullname="P. Calhoun" initials="P." surname="Calhoun"/>
            <author fullname="S. Farrell" initials="S." surname="Farrell"/>
            <author fullname="L. Gommans" initials="L." surname="Gommans"/>
            <author fullname="G. Gross" initials="G." surname="Gross"/>
            <author fullname="B. de Bruijn" initials="B." surname="de Bruijn"/>
            <author fullname="C. de Laat" initials="C." surname="de Laat"/>
            <author fullname="M. Holdrege" initials="M." surname="Holdrege"/>
            <author fullname="D. Spence" initials="D." surname="Spence"/>
            <date month="August" year="2000"/>
            <abstract>
              <t>This memo serves as the base requirements for Authorization of Internet Resources and Services (AIRS). It presents an architectural framework for understanding the authorization of Internet resources and services and derives requirements for authorization protocols. This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="2904"/>
          <seriesInfo name="DOI" value="10.17487/RFC2904"/>
        </reference>
        <reference anchor="RFC9052">
          <front>
            <title>CBOR Object Signing and Encryption (COSE): Structures and Process</title>
            <author fullname="J. Schaad" initials="J." surname="Schaad"/>
            <date month="August" year="2022"/>
            <abstract>
              <t>Concise Binary Object Representation (CBOR) is a data format designed for small code size and small message size. There is a need to be able to define basic security services for this data format. This document defines the CBOR Object Signing and Encryption (COSE) protocol. This specification describes how to create and process signatures, message authentication codes, and encryption using CBOR for serialization. This specification additionally describes how to represent cryptographic keys using CBOR.</t>
              <t>This document, along with RFC 9053, obsoletes RFC 8152.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="96"/>
          <seriesInfo name="RFC" value="9052"/>
          <seriesInfo name="DOI" value="10.17487/RFC9052"/>
        </reference>
        <reference anchor="I-D.ietf-opsawg-yang-provenance">
          <front>
            <title>Applying COSE Signatures for YANG Data Provenance</title>
            <author fullname="Diego Lopez" initials="D." surname="Lopez">
              <organization>Telefonica</organization>
            </author>
            <author fullname="Antonio Pastor" initials="A." surname="Pastor">
              <organization>Telefonica</organization>
            </author>
            <author fullname="Alex Huang Feng" initials="A. H." surname="Feng">
              <organization>Deutsche Telekom</organization>
            </author>
            <author fullname="Ana Méndez Pérez" initials="A. M." surname="Pérez">
              <organization>Telefonica</organization>
            </author>
            <author fullname="Henk Birkholz" initials="H." surname="Birkholz">
              <organization>Fraunhofer SIT</organization>
            </author>
            <date day="6" month="July" year="2026"/>
            <abstract>
              <t>   This document defines a mechanism based on CBOR Object Signing and
   Encryption (COSE) signatures to provide and verify the provenance of
   YANG data, so it is possible to verify the origin and integrity of a
   dataset, even when those data are going to be processed and/or
   applied in workflows where a crypto-enabled data transport directly
   from the original data source is not available.  As the application
   of evidence-based OAM automation and the use of tools such as AI/ML
   grow, provenance validation becomes more relevant in all scenarios,
   in support of the assuring the origin and integrity of data.  The use
   of compact signatures facilitates the inclusion of provenance strings
   in any YANG schema requiring them.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-opsawg-yang-provenance-07"/>
        </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="Rego" target="https://www.openpolicyagent.org/docs/latest/policy-language/">
          <front>
            <title>A Policy Language for Open Policy Agent</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="Cedar" target="https://docs.cedarpolicy.com/">
          <front>
            <title>Cedar Policy Language</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="ALFA" target="https://alfa.guide/alfa-authorization-language/">
          <front>
            <title>ALFA (Abbreviated Language For Authorization)</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="authzen" target="https://datatracker.ietf.org/doc/draft-schwartz-authzen-policy-store/">
          <front>
            <title>AuthZEN Policy Store Format</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="OCgNSI" target="https://www.netconfcentral.org/modules/openconfig-gnsi-authz/2024-02-13/source/raw/">
          <front>
            <title>OpenConfig gNSI Authorization Model</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
      </references>
    </references>
    <?line 471?>

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>This document is based on work partially funded by the iTrust6G project (Grant agreement N 101097083) and the ROBUST-6G project (Grant agreement N 101139068).</t>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA7U9W5bbxpX/XEUN/RHJJtmS7Els2lZCt1pO50jqHrUUxxNn
xiBQZCMCAQ4K6Bb1yJlFzALmNx/5yg5GO5mVzH3VCwCptpzROUmaAKrq1q37
flSm0+moyZtCz9X4cZXpQq2qWmW5aep82TY6U9uqyNOdMpdJnZfr8ShZLmt9
BZ/zi6m8mG5w9HiUJo1eV/VurvJyVY1GWZWWyQamz+pk1UzTZJmUeVEkZlpu
qu10aJLpnTsj0y43uTF5VTa7LYw+PXn2UKmPVFKYCtbOy0xvNfxX2Ywnaqyz
vKnqPCnwx+niG/gf2MX49Omzh+NR2W6Wup6PMoBsPkqr0ujStGaumrrVI9gJ
LJfUOoFpz7a6ThpY1KikzNTjpEzWeoOLjK6r+sW6rtotfPZEN/gzeK/8yPHo
hd7B62w+UlPBHv7lcAof4e8iX+l0lxYAgi5bgEypG86vFONk/B18BFhT3+I4
fL5J8gKeI2Z/k+tmNavqNT5P6vQSnl82zdbMj47wM3yUX+mZ/ewIHxwt6+ra
6COc4AgHrvPmsl3C0EdtmifH7vCeVlmdr1v96miYCpQqANumCRbdN8OM15jl
1VHSNpevBkniaJh69g+YXTYbgGOEX1Q1HQWTIYDx7m+J8oAohOTd3xAUABvo
Zg0vXhGu5+qZLvTq3d/LPE3wpRYEF7iXmYemtpv5TYMDKvx+llabsV/3QQ5s
oR69+/v2J6yT4aBZPSuq7aG5F2WiHr/7K7DDzacG0pptkINeAWUdmvxcZ3UF
pFg37/5W6lfT37VFnvSXeXJ6/Cycf4vDfgPzNTPYwp+BPEdlVW/g6yuk9acP
j+99cecz/uuLO/98D/46nT4gcpxWW5Ncr6e7BE5zW1fAH0mZohA4/MFohCIn
WAOQh2wl8m2hzlmUPYJhLTAWiTpgrNK+WKyB1XBAUq810K4l3evr6xmcQMmE
luBXxDIg28wRE7rlg0LmPhqpY50ldbA+/e7CMLAazjpL8WOeE88Dpls8ergI
dwM/1a0FCeM8QUHttvUQtrUgupfTuT2wSlKsktm6zTNNf06TcEC4DeIxXYZL
w5N/PXlit3IBopcWBcQPbSdpkqZO0he69sIG9igsbdLLa6CtV1NZx3EzzgrL
nx2vn1ycBqvjgR1X5SpfK3wT71SRDttzhKVuQPqvUji+OikIDpAVbaHNEZ5u
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
7u6nX9z55ee3Z6P/A+9Iy/U6aAAA

-->

</rfc>
