<?xml version="1.0" encoding="UTF-8"?>
  <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
  <!-- generated by https://github.com/cabo/kramdown-rfc version 1.6.11 (Ruby 2.6.10) -->


<!DOCTYPE rfc  [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">

]>

<?rfc strict="yes"?>
<?rfc compact="yes"?>

<rfc ipr="trust200902" docName="draft-toutain-schc-access-control-01" category="std" consensus="true" tocInclude="true" sortRefs="true" symRefs="true">
  <front>
    <title abbrev="SCHC AC">SCHC Rule Access Control</title>

    <author initials="A." surname="Minaburo" fullname="Ana Minaburo">
      <organization>Consultant</organization>
      <address>
        <postal>
          <street>Rue de Rennes</street>
          <city>35510 Cesson-Sevigne Cedex</city>
          <country>France</country>
        </postal>
        <email>anaminaburo@gmail.com</email>
      </address>
    </author>
    <author initials="L." surname="Toutain" fullname="Laurent Toutain">
      <organization>Institut MINES TELECOM; IMT Atlantique</organization>
      <address>
        <postal>
          <street>2 rue de la Chataigneraie</street> <street>CS 17607</street>
          <city>35576 Cesson-Sevigne Cedex</city>
          <country>France</country>
        </postal>
        <email>Laurent.Toutain@imt-atlantique.fr</email>
      </address>
    </author>
    <author initials="I." surname="Martinez" fullname="Ivan Martinez">
      <organization>Nokia Bell Labs</organization>
      <address>
        <postal>
          <street>12 Rue Jean Bart</street>
          <city>91300 Massy</city>
          <country>France</country>
        </postal>
        <email>ivan.martinez_bolivar@nokia-bell-labs.com</email>
      </address>
    </author>

    <date year="2023" month="July" day="09"/>

    <area>Internet</area>
    <workgroup>SCHC Working Group</workgroup>
    <keyword>Internet-Draft</keyword>

    <abstract>


<t>The framework for SCHC defines an abstract view of the rules, formalized through a YANG Data Model. In its original description, rules are static and shared by two endpoints. The use of YANG authorizes rules to be uploaded or modified in a SCHC instance and leads to some possible attacks if the changes are not controlled. This document defines a threat model, summarizes some possible attacks, and defines augmentation to the existing Data Model in order to restrict the changes in the rule and, therefore, the impact of possible attacks.</t>



    </abstract>



  </front>

  <middle>


<section anchor="introduction"><name>Introduction</name>

<t>SCHC is a compression and fragmentation mechanism defined in <xref target="RFC8724"/> while <xref target="RFC9363"/> provides a YANG Data Model for formal representation of SCHC Rules used either for compression/decompression (C/D) or fragmentation/reassembly (F/R). <xref target="I-D.ietf-schc-architecture"/> illustrates the use of several protocols for rule management using the YANG Data Model, such as CORECONF <xref target="I-D.ietf-core-comi"/>, NETCONF<xref target="RFC6241"/>, RESTCONF <xref target="RFC8040"/>. The inappropriate use of any of these protocols leads to some possible attacks. The goal of this document is to define a threat model, summarize some possible attacks, and define augmentation to the existing Data Model in order to restrict the changes in the rules and, therefore, the impact of possible attacks.</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>

</section>
<section anchor="terminology"><name>Terminology</name>

<t>ToDo
* Access Control. 
* Management request processing: The NETCONF, RESTCONF or CORECONF request is processed and passed to the end-point Rule Manager.
* Rule Manager (RM). 
* Context. SCHC Rules</t>

</section>
<section anchor="schc-management-architecture"><name>SCHC Management Architecture</name>

<t>Figure <xref target="Fig-archi-overview"/> presents the management part of the SCHC architecture.</t>

<figure title="Overview of management architecture." anchor="Fig-archi-overview"><artwork><![CDATA[
  .....................................
  .  ........................         .
  v  ^    create             v         ^   
(-------)  read  +====+    +==+==+   +===+===+   +=========+
(Context)<------>| RM |<-->|Mgmt.|<==|Access |<==|Other end|<=== 
(-------) update +====+    |req. |   |Control|   |auth.    | Management
          delete           |proc.|   +=======+   +=========+ Request
                           +=====+                           NETCONF,
                                                             RESTCONF
                                                          or CORECONF
]]></artwork></figure>

<t>When a management request arrives on a SCHC endpoint, several processes should be passed before effectively creating or updating a Rule:</t>

<t><list style="numbers">
  <t>Other end authentication: the identity of the requester must be verified:
  <list style="symbols">
      <t>This can be implicit, for example, an LPWAN device that receives it from the SCHC core. Hence, authentication is done at Layer 2.</t>
      <t>This can be an L2 address. In a LoRaWAN network, for example, the DevEUI allows the SCHC core to identify the device.</t>
      <t>IP addresses may also be used, as well as cryptographic keys.</t>
    </list></t>
  <t>Access control: Once authenticated, the associated Set of Rules of the instance is retrieved.
  <list style="symbols">
      <t>These rules are enriched with access control information that will be defined in this document.</t>
      <t>If the Set of Rules does not contain any access control information, the end-point is not allowed to modify the Rules' content.</t>
    </list></t>
  <t>Management request processing: The NETCONF, RESTCONF or CORECONF request is processed and passed to the end-point Rule Manager.</t>
  <t>The Rule Manager (RM) applies the changes (create, read, update, or delete) to the Rule database.</t>
</list></t>

</section>
<section anchor="threat-model"><name>Threat Model</name>

<t>The RM is in charge of applying changes to the rules database when a management request arrives at a SCHC end-point. It is assumed that these changes can only be effectively applied when it is sure that all end-points of an instance have made the change. This means that in all cases, a peer of peers in an instance always shares the same Set of Rules.</t>

<t>The selection of a rule to be applied in an accurate endpoint when a packet arrives is made by selecting the rule offering the best-performance SCHC packet after compression.</t>

<t>The attack scenarios considered below are limited to the rule management layer and only involve that a single endpoint in a given instance has been compromised.
This means that the authentication is bypassed. Therefore, the compromised endpoint is able to effectively deliver management requests using NETCONF, RESTCONF, or CORECONF to the other endpoint.</t>

</section>
<section anchor="schc-tvmocda-possible-combinations"><name>SCHC TV/MO/CDA possible combinations</name>
<t>SCHC compression behavior uses the TV, MO, and CDA to generate the correct residue. But not all the combinations of this fields descriptors are possible, and then an attack can be detected or avoided. <xref target="Fig-combinations"/> shows all the combinations and those that are enabled. SCHC defines two TV values: set and not set. SCHC MO can be Equal, Ignore, MSB, or Match-mapping. And SCHC CDA can be not-sent, value-sent, mapping-sent, LSB, compute-*, DevIID, or AppIID.</t>

<figure title="SCHC TV, MO, CDA valid combinations" anchor="Fig-combinations"><artwork><![CDATA[
    +-----------------+------------------------------------------------------+
    |                 |                      CDA                             |
    |  TV   /  MO     +--------+---------------+-----+---------+------+------+
    |                 |not-sent| value |mapping| LSB |compute-*|DevIID|AppIID|
    |                 |        | -sent | -sent |     |         |      |      |  
    +-----------------+--------+-------+-------+-----+---------+------+------+
    |  set  /  Equal  |  ok    |absurd |   x   |  x  | absurd  |absurd|absurd|
    +-----------------+--------+-------+-------+-----+---------+------+------+
    | not set / Equal |   x    |   x   |   x   |  x  | absurd  |absurd|absurd|
    +-----------------+--------+-------+-------+-----+---------+------+------+
    |  set  / Ignore  | ok (D) | absurd|    x  |  x  |   ok    |  ok  |  ok  |
    +-----------------+--------+-------+-------+-----+---------+------+------+
    |not set / Ignore |   x    |  ok   |    x  |  x  |   ok    |  ok  |  ok  |
    +-----------------+--------+-------+-------+-----+---------+------+------+
    |  set   /   MSB  | absurd |absurd |    x  |  ok |  absurd |absurd|absurd|
    +-----------------+--------+-------+-------+-----+---------+------+------+
    | not set /  MSB  | absurd | absurd|    x  | ok  |  absurd |absurd|absurd|
    +-----------------+--------+-------+-------+-----+---------+------+------+
    |  set   /  Match |   x    | absurd|   ok  |  x  |  absurd |absurd|absurd|
    |         -mapping|        |       |       |     |         |      |      |
    +-----------------+--------+-------+-------+-----+---------+------+------+
    |not set /  Match |   x    |   x   | absurd|  x  |  absurd |absurd|absurd|
    |         -mapping|        |       |       |     |         |      |      |
    +-----------------+--------+-------+-------+-----+---------+------+------+


]]></artwork></figure>

</section>
<section anchor="attack-scenarios"><name>Attack Scenarios</name>
<t>## Scenario 1: Compromised Device</t>

<t>A Device RM, under the control of an attacker, sends some management messages to modify the SCHC rules in the core in order to direct the traffic to another application. The impact of this attack is different depending on the original rule:</t>

<t><list style="numbers">
  <t>Rules containing exclusively the pair MO -- CDA : (ignore -- not-sent) or rules such as no-compress or no-fragmentation:
  <list style="symbols">
      <t>There is no risk of information lost.</t>
      <t>There is a risk of a DoS-type attack as it can flood empty packets that pass at the core level.</t>
    </list></t>
</list></t>

<t>For example ... TBD</t>

<t>The attack is limited to a single end-point (the device) since it does not have the right to change core-level rules.</t>

<t><list style="numbers">
  <t>Management messages aiming at changing rules where the length of the residue changes:
  <list style="symbols">
      <t>There can be a risk of desynchronizing rules between the core and the compromised device.</t>
      <t>The attack is limited to a single end-point (the device) since it does not have the right to change core-level rules.</t>
    </list></t>
</list></t>

<t>As SCHC rules are defined for specific traffic. An example of this can be an attacker changing an element of the rule (the dev UDP port number, for instance), and therefore no rule matches the traffic. Therefore, the core may be saturated by no-compressed messages.</t>

<section anchor="scenario-2-compromised-core"><name>Scenario 2: Compromised Core</name>

<t>A Core RM, under the control of an attacker, sends some management messages to modify the SCHC rules in the device in order to delete the device's data. 
In such a scenario, the attacker will try to inject destructive rules.</t>

<t>The main characteristic of these rules is that the combination of MA -- CA reduces the size of the residue, which has, in turn, made it more attractive since it increases the rate of compression.</t>

<t>The impact of this attack could be:
  * Lost of devices' information if nothing is done to preempt a compromised core to change such a rule.</t>

<t>An example of this attack could be ... TBD</t>

</section>
</section>
<section anchor="yang-access-control"><name>YANG Access Control</name>

<t>YANG language allows to specify read-only or read write nodes. NACM <xref target="RFC8341"/> extends this by allowing users or groups of users to perform specific actions.</t>

<t>This granularity does not fit this rule model. For instance, the goal is not to allow all the field-id leaves to be modified. The objective is to allow a specific rule entry to be changed and, therefore, some of the leaves to be modified. For instance, an entry with FID containing Uri-path may have its target value modified, as in the same rule, the entry regarding the application prefix should not be changed.</t>

<t>The SCHC access control augments the YANG module defined in <xref target="RFC9363"/> to allow a remote entity to manipulate the rules. Several levels are defined.</t>

<t><list style="symbols">
  <t>in the set of rules, it authorizes or not a new rule to be added.</t>
  <t>in a compression rule, it allows adding or removing field descriptions.</t>
  <t>in a compression rule, it allows modifying some elements of the rule, such as the TV, MO, or/and CDA, and associated values.</t>
  <t>in a fragmentation rule, it allows modifying some parameters.</t>
</list></t>

</section>
<section anchor="yang-data-model"><name>YANG Data Model</name>

<t>The YANG DM proposed in <xref target="AnnexA"/> extends the SCHC YANG Data Model introduced in <xref target="RFC9363"/>. It adds read-only leaves containing access rights. If these leaves are not present, the information cannot be modified.</t>

<section anchor="leaf-ac-modify-set-of-rules"><name>leaf ac-modify-set-of-rules</name>

<t>This leaf controls modifications applied to a set of rules. They are specified with the rule-access-right enumeration:</t>

<t><list style="symbols">
  <t>no-change (0): rules cannot be modified in the Set of Rules. This is the equivalent of having no access control elements in the set of rules.</t>
  <t>modify-existing-element (1): an existing rule may be modified.</t>
  <t>add-remove-element (2): a rule can be added or deleted from the Set of Rules, or an existing rule can be modified.</t>
</list></t>

</section>
<section anchor="leaf-ac-modify-compression-rule"><name>leaf ac-modify-compression-rule</name>

<t>This leaf allows to modify a compression element. To be active, leaf ac-modify-set-of-rules <bcp14>MUST</bcp14> be set to modify-existing-element or add-remove-element. This leaf uses the same enumeration as add-remove-element:</t>

<t><list style="symbols">
  <t>no-change (0): The rule cannot be modified.</t>
  <t>modify-existing-element (1): an existing Field Description may be modified.</t>
  <t>add-remove-element (2): a Field Description can be added or deleted from the Rule or an existing rule can be modified.</t>
</list></t>

</section>
<section anchor="leaf-ac-modify-field"><name>leaf ac-modify-field</name>

<t>This leaf allows to modify a Field Description in a compression rule. To be active, leaves ac-modify-set-of-rules and ac-modify-compression-rule <bcp14>MUST</bcp14> be set to modify-existing-element  or add-remove-element and ac-modify-compression-rule and leaf</t>

</section>
</section>


  </middle>

  <back>


    <references title='Normative References'>



<reference anchor='RFC2119' target='https://www.rfc-editor.org/info/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='RFC6241' target='https://www.rfc-editor.org/info/rfc6241'>
  <front>
    <title>Network Configuration Protocol (NETCONF)</title>
    <author fullname='R. Enns' initials='R.' role='editor' surname='Enns'/>
    <author fullname='M. Bjorklund' initials='M.' role='editor' surname='Bjorklund'/>
    <author fullname='J. Schoenwaelder' initials='J.' role='editor' surname='Schoenwaelder'/>
    <author fullname='A. Bierman' initials='A.' role='editor' surname='Bierman'/>
    <date month='June' year='2011'/>
    <abstract>
      <t>The Network Configuration Protocol (NETCONF) defined in this document provides mechanisms to install, manipulate, and delete the configuration of network devices. It uses an Extensible Markup Language (XML)-based data encoding for the configuration data as well as the protocol messages. The NETCONF protocol operations are realized as remote procedure calls (RPCs). This document obsoletes RFC 4741. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name='RFC' value='6241'/>
  <seriesInfo name='DOI' value='10.17487/RFC6241'/>
</reference>

<reference anchor='RFC8040' target='https://www.rfc-editor.org/info/rfc8040'>
  <front>
    <title>RESTCONF Protocol</title>
    <author fullname='A. Bierman' initials='A.' surname='Bierman'/>
    <author fullname='M. Bjorklund' initials='M.' surname='Bjorklund'/>
    <author fullname='K. Watsen' initials='K.' surname='Watsen'/>
    <date month='January' year='2017'/>
    <abstract>
      <t>This document describes an HTTP-based protocol that provides a programmatic interface for accessing data defined in YANG, using the datastore concepts defined in the Network Configuration Protocol (NETCONF).</t>
    </abstract>
  </front>
  <seriesInfo name='RFC' value='8040'/>
  <seriesInfo name='DOI' value='10.17487/RFC8040'/>
</reference>

<reference anchor='RFC8174' target='https://www.rfc-editor.org/info/rfc8174'>
  <front>
    <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
    <author fullname='B. Leiba' initials='B.' surname='Leiba'/>
    <date month='May' year='2017'/>
    <abstract>
      <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
    </abstract>
  </front>
  <seriesInfo name='BCP' value='14'/>
  <seriesInfo name='RFC' value='8174'/>
  <seriesInfo name='DOI' value='10.17487/RFC8174'/>
</reference>

<reference anchor='RFC8724' target='https://www.rfc-editor.org/info/rfc8724'>
  <front>
    <title>SCHC: Generic Framework for Static Context Header Compression and Fragmentation</title>
    <author fullname='A. Minaburo' initials='A.' surname='Minaburo'/>
    <author fullname='L. Toutain' initials='L.' surname='Toutain'/>
    <author fullname='C. Gomez' initials='C.' surname='Gomez'/>
    <author fullname='D. Barthel' initials='D.' surname='Barthel'/>
    <author fullname='JC. Zuniga' initials='JC.' surname='Zuniga'/>
    <date month='April' year='2020'/>
    <abstract>
      <t>This document defines the Static Context Header Compression and fragmentation (SCHC) framework, which provides both a header compression mechanism and an optional fragmentation mechanism. SCHC has been designed with Low-Power Wide Area Networks (LPWANs) in mind.</t>
      <t>SCHC compression is based on a common static context stored both in the LPWAN device and in the network infrastructure side. This document defines a generic header compression mechanism and its application to compress IPv6/UDP headers.</t>
      <t>This document also specifies an optional fragmentation and reassembly mechanism. It can be used to support the IPv6 MTU requirement over the LPWAN technologies. Fragmentation is needed for IPv6 datagrams that, after SCHC compression or when such compression was not possible, still exceed the Layer 2 maximum payload size.</t>
      <t>The SCHC header compression and fragmentation mechanisms are independent of the specific LPWAN technology over which they are used. This document defines generic functionalities and offers flexibility with regard to parameter settings and mechanism choices. This document standardizes the exchange over the LPWAN between two SCHC entities. Settings and choices specific to a technology or a product are expected to be grouped into profiles, which are specified in other documents. Data models for the context and profiles are out of scope.</t>
    </abstract>
  </front>
  <seriesInfo name='RFC' value='8724'/>
  <seriesInfo name='DOI' value='10.17487/RFC8724'/>
</reference>

<reference anchor='RFC8824' target='https://www.rfc-editor.org/info/rfc8824'>
  <front>
    <title>Static Context Header Compression (SCHC) for the Constrained Application Protocol (CoAP)</title>
    <author fullname='A. Minaburo' initials='A.' surname='Minaburo'/>
    <author fullname='L. Toutain' initials='L.' surname='Toutain'/>
    <author fullname='R. Andreasen' initials='R.' surname='Andreasen'/>
    <date month='June' year='2021'/>
    <abstract>
      <t>This document defines how to compress Constrained Application Protocol (CoAP) headers using the Static Context Header Compression and fragmentation (SCHC) framework. SCHC defines a header compression mechanism adapted for Constrained Devices. SCHC uses a static description of the header to reduce the header's redundancy and size. While RFC 8724 describes the SCHC compression and fragmentation framework, and its application for IPv6/UDP headers, this document applies SCHC to CoAP headers. The CoAP header structure differs from IPv6 and UDP, since CoAP uses a flexible header with a variable number of options, themselves of variable length. The CoAP message format is asymmetric: the request messages have a header format different from the format in the response messages. This specification gives guidance on applying SCHC to flexible headers and how to leverage the asymmetry for more efficient compression Rules.</t>
    </abstract>
  </front>
  <seriesInfo name='RFC' value='8824'/>
  <seriesInfo name='DOI' value='10.17487/RFC8824'/>
</reference>

<reference anchor='RFC9363' target='https://www.rfc-editor.org/info/rfc9363'>
  <front>
    <title>A YANG Data Model for Static Context Header Compression (SCHC)</title>
    <author fullname='A. Minaburo' initials='A.' surname='Minaburo'/>
    <author fullname='L. Toutain' initials='L.' surname='Toutain'/>
    <date month='March' year='2023'/>
    <abstract>
      <t>This document describes a YANG data model for the Static Context Header Compression (SCHC) compression and fragmentation Rules.</t>
      <t>This document formalizes the description of the Rules for better interoperability between SCHC instances either to exchange a set of Rules or to modify the parameters of some Rules.</t>
    </abstract>
  </front>
  <seriesInfo name='RFC' value='9363'/>
  <seriesInfo name='DOI' value='10.17487/RFC9363'/>
</reference>

<reference anchor='RFC8341' target='https://www.rfc-editor.org/info/rfc8341'>
  <front>
    <title>Network Configuration Access Control Model</title>
    <author fullname='A. Bierman' initials='A.' surname='Bierman'/>
    <author fullname='M. Bjorklund' initials='M.' surname='Bjorklund'/>
    <date month='March' year='2018'/>
    <abstract>
      <t>The standardization of network configuration interfaces for use with the Network Configuration Protocol (NETCONF) or the RESTCONF protocol requires a structured and secure operating environment that promotes human usability and multi-vendor interoperability. There is a need for standard mechanisms to restrict NETCONF or RESTCONF protocol access for particular users to a preconfigured subset of all available NETCONF or RESTCONF protocol operations and content. This document defines such an access control model.</t>
      <t>This document obsoletes RFC 6536.</t>
    </abstract>
  </front>
  <seriesInfo name='STD' value='91'/>
  <seriesInfo name='RFC' value='8341'/>
  <seriesInfo name='DOI' value='10.17487/RFC8341'/>
</reference>


<reference anchor='I-D.ietf-core-comi' target='https://datatracker.ietf.org/doc/html/draft-ietf-core-comi-13'>
   <front>
      <title>CoAP Management Interface (CORECONF)</title>
      <author fullname='Michel Veillette' initials='M.' surname='Veillette'>
         <organization>Trilliant Networks Inc.</organization>
      </author>
      <author fullname='Peter Van der Stok' initials='P.' surname='Van der Stok'>
         <organization>consultant</organization>
      </author>
      <author fullname='Alexander Pelov' initials='A.' surname='Pelov'>
         <organization>Acklio</organization>
      </author>
      <author fullname='Andy Bierman' initials='A.' surname='Bierman'>
         <organization>YumaWorks</organization>
      </author>
      <author fullname='Carsten Bormann' initials='C.' surname='Bormann'>
         <organization>Universität Bremen TZI</organization>
      </author>
      <date day='21' month='June' year='2023'/>
      <abstract>
	 <t>   This document describes a network management interface for
   constrained devices and networks, called CoAP Management Interface
   (CORECONF).  The Constrained Application Protocol (CoAP) is used to
   access datastore and data node resources specified in YANG, or SMIv2
   converted to YANG.  CORECONF uses the YANG to CBOR mapping and
   converts YANG identifier strings to numeric identifiers for payload
   size reduction.  CORECONF extends the set of YANG based protocols,
   NETCONF and RESTCONF, with the capability to manage constrained
   devices and networks.

	 </t>
      </abstract>
   </front>
   <seriesInfo name='Internet-Draft' value='draft-ietf-core-comi-13'/>
   
</reference>


<reference anchor='I-D.ietf-schc-architecture' target='https://datatracker.ietf.org/doc/html/draft-ietf-schc-architecture-00'>
   <front>
      <title>LPWAN Static Context Header Compression (SCHC) Architecture</title>
      <author fullname='Alexander Pelov' initials='A.' surname='Pelov'>
         <organization>Acklio</organization>
      </author>
      <author fullname='Pascal Thubert' initials='P.' surname='Thubert'>
         <organization>Cisco Systems</organization>
      </author>
      <author fullname='Ana Minaburo' initials='A.' surname='Minaburo'>
         <organization>Acklio</organization>
      </author>
      <date day='29' month='March' year='2023'/>
      <abstract>
	 <t>   This document defines the LPWAN SCHC architecture.

	 </t>
      </abstract>
   </front>
   <seriesInfo name='Internet-Draft' value='draft-ietf-schc-architecture-00'/>
   
</reference>




    </references>



<section anchor="AnnexA"><name>YANG Data Model</name>

<figure><artwork><![CDATA[
<CODE BEGINS> file "ietf-schc-access-control@2023-02-14.yang"
module ietf-schc-access-control {
  yang-version 1.1;
  namespace "urn:ietf:params:xml:ns:yang:ietf-schc-access-control";
  prefix schc-ac;

  import ietf-schc {
      prefix schc;
  }

  organization
    "IETF IPv6 over Low Power Wide-Area Networks (lpwan) working group";
  contact
    "WG Web:   <https://datatracker.ietf.org/wg/lpwan/about/>
     WG List:  <mailto:lp-wan@ietf.org>
     Editor:   Juan-Carlos Zuniga
       <mailto:juancarlos.zuniga@sigfox.com>";
  description
     "
     Copyright (c) 2021 IETF Trust and the persons identified as
     authors of the code.  All rights reserved.

     Redistribution and use in source and binary forms, with or
     without modification, is permitted pursuant to, and subject to
     the license terms contained in, the Simplified BSD License set
     forth in Section 4.c of the IETF Trust's Legal Provisions
     Relating to IETF Documents
     (https://trustee.ietf.org/license-info).

     This version of this YANG module is part of RFC XXXX
     (https://www.rfc-editor.org/info/rfcXXXX); see the RFC itself
     for full legal notices.

     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 (RFC 2119) (RFC 8174) when, and only when,
     they appear in all capitals, as shown here.

     *************************************************************************

     This module extends the ietf-schc module to include the compound-ack 
     behavior for Ack On Error as defined in RFC YYYY. 
     It introduces a new leaf for Ack on Error defining the format of the
     SCHC Ack and add the possibility to send several bitmaps in a single 
     answer.";

  revision 2023-02-14 {
    description
      "Initial version for RFC YYYY ";
    reference
      "RFC YYYY: Compound Ack";
  }

  typedef rule-access-right {
    type enumeration {
      enum no-changes {
        value 0;
        description
          "No change are allowed.";
      }
      enum modify-existing-element {
        value 1;
        description
          "can modify content inside an element.";
      }
      enum add-remove-element {
        value 2;
        description
          "Allows to add or remove or modify an element.";
      }
    }
  }

  typedef field-access-right {
    type enumeration {
      enum no-change {
        value 0;
        description
          "Reserved slot number.";
      }
      enum change-tv {
        value 1;
        description
          "Reserved slot number.";
      }
      enum change-mo-cda-tv {
        value 2;
        description
          "Reserved slot number.";
      }
    }

  }

  augment "/schc:schc/schc:rule" {
    leaf ac-modify-set-of-rules {
          config false;
          type rule-access-right;
        }
  }

  augment "/schc:schc/schc:rule/schc:nature/schc:compression" {
    leaf ac-modify-compression-rule {
          config false;
          type rule-access-right;
        }
  }

  augment "/schc:schc/schc:rule/schc:nature/schc:compression/schc:entry" {
    leaf ac-modify-field {
          config false;
          type field-access-right;
        }
  }

  augment "/schc:schc/schc:rule/schc:nature/schc:fragmentation" {
    leaf ac-modify-timers {
          config false;
          type boolean;
        }
  }


}
<CODE ENDS>
]]></artwork></figure>

</section>
<section anchor="security-considerations"><name>Security Considerations</name>

<t>TBD</t>

</section>
<section anchor="iana-considerations"><name>IANA Considerations</name>

<t>TBD</t>

</section>


  </back>

<!-- ##markdown-source:
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
JcfV/2H/tH/nd/8DoLQlicNAAAA=

-->

</rfc>

