<?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.39 (Ruby 3.4.9) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-cabanillas-nmop-authz-policy-sharing-model-03" category="info" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.33.0 -->
  <front>
    <title abbrev="authz-policy-sharing-model">Model for distributed authorization policy sharing</title>
    <seriesInfo name="Internet-Draft" value="draft-cabanillas-nmop-authz-policy-sharing-model-03"/>
    <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="Lopez" fullname="Diego Lopez">
      <organization>Telefónica</organization>
      <address>
        <email>diego.r.lopez@telefonica.com</email>
      </address>
    </author>
    <author initials="A." surname="Mendez" fullname="Ana Mendez">
      <organization>Telefónica</organization>
      <address>
        <email>ana.mendezperez@telefonica.com</email>
      </address>
    </author>
    <author initials="P." surname="Martinez-Julia" fullname="Pedro Martinez-Julia">
      <organization>NICT</organization>
      <address>
        <email>pedro@nict.go.jp</email>
      </address>
    </author>
    <date year="2026" month="June" day="12"/>
    <area>Operations and Management</area>
    <workgroup>Network Management Operations</workgroup>
    <keyword>policy</keyword>
    <keyword>authorization</keyword>
    <keyword>lifecycle</keyword>
    <abstract>
      <?line 60?>
<t>This document defines mechanisms and conventions for the representation, lifecycle management, and distribution of authorization policies in distributed and automated environments. It specifies a consistent, machine-readable, and interoperable framework that enables policies to be validated, exchanged, and removed across heterogeneous systems and areas.</t>
      <t>The framework defines how authorization policies, expressed in declarative Policy-as-Code (PaC) languages, are encapsulated, managed, and distributed using YANG as the canonical representation format. This separation allows independent evolution of policy languages, enforcement architectures, and trust models.</t>
      <t>The model also defines extensible Policy-as-Code language identities using YANG identity and identityref mechanisms, enabling future policy languages to be incorporated without modifying the core schema.</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-authz-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/authz-policy-sharing-model"/>.</t>
    </note>
  </front>
  <middle>
    <?line 67?>

<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 authorization 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>Authorization 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 authorization 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 declarative Policy-as-Code 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 authorization policies across domains <bcp14>MUST</bcp14> satisfy the following requirements:</t>
      <ul spacing="normal">
        <li>
          <t>Granularity: Policies <bcp14>SHOULD</bcp14> be able to express fine-grained authorization rules over users, resources, and contextual conditions.</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-as-code-and-declarative-policy-languages">
      <name>Policy-as-Code and Declarative Policy Languages</name>
      <t>Declarative Policy-as-Code (PaC) languages, such as Rego <xref target="Rego"/>, Cedar <xref target="Cedar"/>, or ALFA <xref target="ALFA"/>, are widely used to express authorization logic in distributed systems. Although these languages differ in syntax, evaluation models, and execution environments, they share common lifecycle and governance requirements when used in distributed and multi-domain environments.</t>
      <t>This framework treats PaC 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. The policy language itself is modeled using YANG identities and identity references. This approach follows extensibility patterns, allowing implementations to introduce additional Policy-as-Code languages without modifying the base model.</t>
      <t>By separating policy handling from policy semantics, including evaluation logic and decision outcomes, this framework enables interoperability without constraining innovation in policy languages or enforcement technologies.</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 version and ownership are managed independently.</t>
    </section>
    <section anchor="policy-representation-in-yang">
      <name>Policy representation in YANG</name>
      <t>YANG provides a structured and schema-driven mechanism for representing authorization 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 declarative language used to express the policy logic.</t>
        </li>
        <li>
          <t>The embedded Policy-as-Code (PaC) 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 Policy-as-Code 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 YANG model below illustrates a simplified structure for representing authorization policies as managed artifacts:</t>
      <artwork><![CDATA[
module authz-policy {
  namespace "urn:ietf:params:xml:ns:yang:authz-policy";
  prefix pac;

  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 Martinez-Julia
       <mailto:pedro@nict.go.jp>";

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

  revision 2026-05-27 {
    description
      "Third revision.";
    reference
      "RFC XXXX: Model for distributed
       authorization policy sharing";
  }

  /*
   * Identities
   */

  identity policy-language {
    description
      "Abstract base identity for Policy-as-Code 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 authorization language.";
  }

  /*
   * Typedefs
   */

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

  /*
   * Policy model
   */

  container policy {
    description
      "Container representing an authorization policy artifact.";

    leaf area {
      type 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-as-Code language used to express the policy.";
    }

    leaf pac {
      type string;
      mandatory true;
      description
        "Opaque Policy-as-Code content.

         Example:

           package example

           default allow = false

           allow if{
             input.user.role == \"read\"
           }";
    }

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

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

    leaf origin {
      type uri;
      mandatory false;
      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[
{
  "authz-policy:policy": {
    "area": "urn:example:server-dmz-layer1",
    "description": "Policy example: Allow read access for 'reader' role and write access for 'admin'",
    "language": "authz-policy:rego",
    "pac": "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 authorization 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 authorization requests based on contextual attributes, claims, or environmental information. The PDP produces authorization 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       |
              +------------------+----------------+
                                 ^
                                 | Authorization request
                                 |
                                 v Authorization decision
              +-----------------------------------+
              | Policy Enforcement Point (PEP)    |
              |-----------------------------------|
              | - Enforcement of decisions        |
              +-----------------------------------+

]]></artwork>
      </section>
    </section>
    <section anchor="other-models">
      <name>Other Models</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 authorization policy artifacts across systems and administrative areas.</t>
    </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 authorization 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>INSA-Lyon</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="29" month="May" 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-05"/>
        </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="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 430?>

<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:
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

-->

</rfc>
