<?xml version="1.0" encoding="UTF-8"?>
<!--<?xml version="1.0" encoding="US-ASCII"?> -->
<!-- edited with XMLSPY v5 rel. 3 U (http://www.xmlspy.com)
     by Daniel M Kohn (private) -->
<!DOCTYPE rfc SYSTEM "rfc2629.dtd">

<?rfc toc="yes"?>
<?rfc rfcedstyle="yes"?>
<?rfc subcompact="no"?>
<?rfc symrefs="yes"?>

<rfc ipr="trust200902" category="std" docName="draft-kim-i2nsf-security-controller-interface-dm-00">

<front>
<!-- Security Controller-Facing YANG Data Model-->
  <title abbrev="Security Controller-Facing Interface">
  I2NSF Security Controller-Facing Interface YANG Data Model for Cross-Domain IPsec Flow Protection
  </title>

  <author initials="J." surname="Kim" fullname="Jeonghyeon Joshua Kim">
    <organization abbrev="Sungkyunkwan University">
    Department of Computer Science and Engineering 
    </organization>

    <address>
      <postal>
        <street>Sungkyunkwan University</street>
        <street>2066 Seobu-Ro, Jangan-Gu</street>
        <city>Suwon</city> <region>Gyeonggi-Do</region>
        <code>16419</code>
        <country>Republic of Korea</country>
      </postal>
      <phone>+82 31 299 4957</phone>
      <email>jeonghyeon12@skku.edu</email>
    </address>
  </author>  

  <author role="editor" initials="J." surname="Jeong" fullname="Jaehoon Paul Jeong">
    <organization abbrev="Sungkyunkwan University">
    Department of Computer Science and Engineering 
    </organization>

    <address>
      <postal>
        <street>Sungkyunkwan University</street>
        <street>2066 Seobu-Ro, Jangan-Gu</street>
        <city>Suwon</city> <region>Gyeonggi-Do</region>
        <code>16419</code>
        <country>Republic of Korea</country>
      </postal>
      <phone>+82 31 299 4957</phone>
      <facsimile>+82 31 290 7996</facsimile>
      <email>pauljeong@skku.edu</email>
      <uri>http://iotlab.skku.edu/people-jaehoon-jeong.php</uri>
    </address>
  </author>
        
  <author initials="P." surname="Lingga" fullname="Patrick Lingga">
    <organization abbrev="Sungkyunkwan University">
    Department of Electrical and Computer Engineering 
    </organization>

    <address>
      <postal>
        <street>Sungkyunkwan University</street>
        <street>2066 Seobu-Ro, Jangan-Gu</street>
        <city>Suwon</city> <region>Gyeonggi-Do</region>
        <code>16419</code>
        <country>Republic of Korea</country>
      </postal>
      <phone>+82 31 299 4957</phone>
      <email>patricklink@skku.edu</email>
    </address>
  </author>   

  <author initials="S." surname="Hares" fullname="Susan Hares">
    <organization abbrev="Huawei">
      Huawei 
    </organization>

    <address>
      <postal>
        <street>7453 Hickory Hill</street>
        <city>Saline</city> <region>MI</region>
        <code>48176</code>
        <country>USA</country>
      </postal>
      <phone>+1-734-604-0332</phone>
      <email>shares@ndzh.com</email>
    </address>
  </author>

  <author initials="R." surname="Marin-Lopez" fullname="Rafa Marin-Lopez">
    <organization showOnFrontPage="true">University of Murcia</organization>
    <address>
      <postal>
        <extaddr>Faculty of Computer Science</extaddr>
        <street>Campus de Espinardo S/N</street>
        <region>Murcia</region>
        <code>30100</code>
        <country>Spain</country>
      </postal>
      <phone>+34 868 88 85 01</phone>
      <email>rafa@um.es</email>
    </address>
  </author>

  <date month="October" day="24" year="2022" />

  <area>Security</area>

  <workgroup>I2NSF Working Group</workgroup>
    

<!-- [rfced] Please insert any keywords (beyond those that appear in
the title) for use on http://www.rfc-editor.org/rfcsearch.html. -->

  <keyword>Internet-Draft</keyword> 

  <abstract>
    <t>
      This document defines an information model and a YANG data model for
	  the Security Controller-Facing Interface between two security
	  controllers in an Interface to Network Security Functions (I2NSF)
	  framework.  This interface is used for the exchange of IPsec flow
	  protection information between two Network Security Functions (NSFs)
	  in cross-domain environments.  The YANG data model in this document
	  is built on the basis of the YANG data model for IPsec flow
	  protection based on Software-Defined Networking (SDN).
    </t>
  </abstract>
</front>

<middle>

  <section anchor="section:Introduction" title="Introduction">
    <t>
      Interface to Network Security Functions (I2NSF) defines a framework and
      its interfaces for the security management and monitoring of Network
      Security Functions (NSFs) for security services. The NSFs are manufactured
      by different vendors <xref target="RFC8329" />.
      I2NSF allows users to easily configure security policies on a target network.
      In an I2NSF framework, NSFs are network functions that are used to defend
      a target network against various security attacks such as Distributed Denial of
      Service (DDoS) attacks, viruses, and data breaches.
    </t>
    
<!--    
    the integrity and confidentiality of data traffic or availability of a network communication. The NSFs can provide
    security-related services such as detecting unwanted activity, blocking or
    mitigating the effect of unwanted activity. Multiple NSFs can be used to provide
    a Service Function Chaining (SFC) for additional security of the network.
    </t>
-->

    <t>  
      To support multiple security services for a traffic flow with multiple
      NSFs, a Service Function Chaining (SFC) <xref target="RFC7665" />  can be
      used. In SFC, the integrity and confidentiality of security services between the NSFs
      must be guaranteed. <xref target="RFC9061"/> protects the flow
      between NSFs with a centralized security controller by generating, managing,
      and distributing the keys of NSFs. Flow protection covered in this document
      describes the flow protection and key management process (i.e., IKE case and IKE-less case)
      between NSFs within the coverage of I2NSF managed by one security controller,
      i.e., within one I2NSF domain (e.g., an autonomous system (AS)).
    </t>

    <t>
      However, recently, the concept of Software-Defined Wide Area Network (SD-WAN)
      was introduced to manage multiple SDN infrastructures.
      The goal of SD-WANs is to provide flexible and automated deployment from
      a centralized point to enable on-demand network security services, such as
      IPsec Security Association (SA) management <xref target="RFC9061" />.
      To meet this goal of SD-WAN, a centralized point that can manage multiple I2NSF domains
      is needed. In addition, it was necessary to introduce a new interface for centralized
      management of NSFs existing on different I2NSF domains, i.e., a cross-domain
      environment (multiple ASs). Also, flow protection for collaboration and exchanging information
      between NSFs located in different I2NSF domains are needed in such cross-domain environments.
    </t>

    <t>
      In order to manage controllers in different I2NSF domains together,
      an interface that can exchange information (security policies,
      IPsec parameters) between security controllers in cross-domain environments for flow protection
      between NSFs located in different I2NSF domains and policy delivery is 
      essential.
    </t>
      
    <t>
      Therefore, this document proposes an information model and a YANG data
	  model for a Security Controller-Facing Iterface for exchanging
	  information between security controllers to manage the security policy
	  and flow protection among NSFs in cross-domain environments.
    </t>
    
    <figure anchor="figure:I2NSF-Cross-Framework" title="I2NSF Framework for Cross-Domain IPsec Flow Protection">
      <artwork>
        <![CDATA[
             I2NSF Domain A                            I2NSF Domain B
+--------------------------------+         +-------------------------------+
|         +-------------+        |         |         +-------------+       |
|         |   Security  | Security Controller Facing |   Security  |       |
|         | Controller A|<-------------------------->| Controller B|       |
|         |  (Primary)  |        |Interface|         | (Secondary) |       |
|         +------+------+        |         |         +------+------+       |
|                ^               |         |                ^              |
|                |               |         |                |              |
|      +---------+--------+      |         |       +--------+-------+      |
|      |                  |      |         |       |                |      |
|      v                  v      |         |       v                v      |
|  +---+---+        +---+---+    |  IPsec  |   +---+---+        +---+---+  |
|  | NSF-1 |        | NSF-2 |==================| NSF-3 |        | NSF-4 |  |
|  +---+---+        +---+---+    |         |   +---+---+        +---+---+  | 
+--------------------------------+         +-------------------------------+ 
]]>
      </artwork>
    </figure>
    
    <t>
      <xref target="figure:I2NSF-Cross-Framework" /> illustrates two 
      I2NSF systems located in different I2NSF domains. To let NSFs of 
      different I2NSF systems, which have their own security controller, 
      communicate with each other, a security controller can be used
      as the intermediary. Two security controllers
      in different domains MUST have a secure and trust connection, 
      this connection is out of the scope of this document. Through this secure
      connection, the security controller, which is a primary as a 
      coordinator for other security controllers, can receive the IPsec parameters
      of secondary security controllers and can establish IPsec SA with secondary security controllers.
      The primary security controller can act as a centralized controller and 
      can exchange information about managed NSFs safely through the Security Controller-Facing 
      Interface (SFI) with all connected security controllers as secondaries.
    </t>

  </section>


<!--
  <section anchor="section:Requirements-Language" title="Requirements Language">
    <t>
      The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", 
      "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be 
      interpreted as described in <xref target="RFC2119" /><xref target="RFC3444" />
      <xref target="RFC8174" />.
    </t>
  </section>
-->

  <section anchor="section:Terminology" title="Terminology">
    <t>
      The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
      "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
      "OPTIONAL" in this document are to be interpreted as described in BCP 14
      <xref target="RFC2119" /> <xref target="RFC8174" />  when, and only
      when, they appear in all capitals, as shown here.
    </t>
    <t>
      I2NSF Domain: An area that one I2NSF security controller can manage the security services of all the flows in its domain.
    </t>
    <t>
      Cross-Domain: An environment where multiple I2NSF domains (e.g., ASs) exist
      and are able to exchange information among the security 
      controllers.
    </t>             
  </section>

  <section anchor="section:Information-Model" title="Information Model for Security Controller-Facing Interface">
    <t>
        In <xref target="RFC9061" />, the I2NSF security controller enables the key management
        procedure to be performed for flow protection between NSFs in an I2NSF domain it manages.
        Therefore, this section introduces the information model for exchanging 
        information in different domains using Security Controller-Facing Interface (SFI) 
        between I2NSF Security Controllers to provide flow protection between NSFs existing 
        in different I2NSF domains.
    </t>

    <figure anchor="figure:diagram" title="Diagram for Security Controller-Facing Interface">
      <artwork>
        <![CDATA[
          +-----------------+
          |    Security     |
          |Controller-Facing|
          |    Interface    |
          +--------+--------+
                   ^
                   |     
           +-------+------+ 
           |    Flow      | 
           |   Protection | 
           +-------+------+    
                   |
          +--------+--------+
          |                 |             
   +------+------+    +-----+------+ 
   |  Security   |    |    Flow    |  
   |   Policy    |    | Protection | 
   | Information |    |  Parameter | 
   +-------------+    +------------+ 

        ]]>
      </artwork>
    </figure>
    
    <t>
       <xref target="figure:I2NSF-Cross-Framework" /> shows the high-level concept of SFI to
       deliver cross-domain flow protection for IPsec.
       Information that can be delivered through SFI is as follows:
      <list style="symbols">
        <t>
          Flow Protection Parameters: Parameters required to establish IPsec Security Associations (SAs) <xref target="RFC9061"/>. To establish
          IPsec SAs with NSFs located in a different domain, the security
          controller MUST be able to securely exchange the necessary parameters for those SAs.
        </t>

        <t>
          Security Policy Information: Security policy information to configure the security policy rules 
          <xref target="I-D.ietf-i2nsf-nsf-facing-interface-dm"/> of NSFs
          located in a cross-domain environment. The security controller can deliver the security 
          policy rules to the other I2NSF domains security controller through SFI. 
          After receiving the security policy, the security controller can deliver 
          the security policy to the target NSFs via the NSF-Facing Interface 
          <xref target="I-D.ietf-i2nsf-nsf-facing-interface-dm"/>.
        </t>
      </list>
    </t>

<section anchor="section:Use-Cases" title="Use Cases for the Security Controller-Facing Interface in Cross-Domain Environments">
 <section title="Use Case of Peer-to-Peer Security Controllers">
    <figure anchor="figure:diagram1" title="Use Case of the Peer-to-Peer Security Controllers">
        <artwork>
            <![CDATA[            
+------+         +------------+           +------------+        +------+   
| NSF1 |         |  Security  |           |  Security  |        | NSF2 | 
|      |         |Controller A|           |Controller B|        |      |      
+--+---+         +------+-----+           +------+-----+        +-----++
   |                    |1.NSF2's Security Policy|                    |              
   |                    |----------------------->| 2.Security Policy  |
   |                    |                        |------------------->|              
   |                    |                        |                    |
   |                    |                        |                    |
   | 3.Security Policy  |                        |                    |
   |<-------------------|                        |                    |
   |                    |                        |                    |
   |                    | 4.IPsec Parameters     |                    |                      
   |                    |----------------------->|                    |                      
   |                    |                        |                    |
   |                    |<-----------------------|                    |
   |                    | 5.IPsec Parameters     |                    |     
   | 6.IPsec Parameters |                        | 6.IPsec Parameters |
   |<-------------------|                        |------------------->|
   |             7.Service Function Chaining with IPsec SAs           |     
   |<================================================================>|
       ]]>
         </artwork>
    </figure>
  
      <t>
        <xref target="figure:diagram1"/> shows a message sequence between entities in multiple
        domains. In the case where an I2NSF user requests a security service that cannot be provided
        by the NSFs (e.g., BGP peers) in its own I2NSF domain, the security controller may 
        request a trusted security controller in a different I2NSF domain
        for the required security service.
        In this scenario, it is assumed that the secure connection between the two security controllers is already set. 
        The detailed sequence is as follows:
        <list style="numbers">
          <t>
            Security controller A delivers the security policy for NSF2 through SCFI via security controller B 
            in a cross-domain environment.
          </t>

          <t>
            If security controller B can handle the received security policy, it delivers the 
            security policy to the target NSF, i.e., NSF2, through the NFI.
          </t>

          <t>
            Security controller A also delivers the security policy for the NSF in its own 
            I2NSF domain that can handle the security policy, i.e., NSF1, through the NFI.
          </t>

          <t>
            Security controller A delivers IPsec parameters for NSF2 to establish IPsec SAs with NSF1
            located in a cross-domain environment to security controller B.
          </t>

          <t>
            Security controller B delivers IPsec parameters for NSF1 to establish IPsec SAs with NSF2
            located in a cross-domain environment to security controller A.
          </t>

          <t>
            Security controller A and security controller B deliver the IPsec
            parameters to the NSF1 and NSF2, respectively.
          </t>
          <t>
            NSF1 and NSF2 establish an IPsec SAs using the received IPsec parameters and provide the
            requested security service to the user through SFC.
          </t>
        </list>
      </t>
    </section>
    <section title="Use Case of Hierarchical Distribution Security Controllers">

    <figure anchor="figure:diagram2" title="Use Case of the Hierarchical Distribution Security Controllers">
        <artwork>
            <![CDATA[
+------+    +------------+   +------------+   +------------+    +------+   
|      |    |            |   |   Primary  |   |            |    |      |
| NSF1 |    |  Security  |   |  Security  |   |  Security  |    | NSF2 | 
|      |    |Controller A|   | Controller |   |Controller B|    |      |      
++-----+    +-----+------+   +-----+------+   +-----+------+    +-----++
 | 1.Security     |1. Security     |                |                 |              
 |<---------------|--------------->|                |                 |
 | Policy for NSF1|Policy for NSF2 |                |                 |              
 |                |                |2. Security     |                 |                                             
 |                |                |--------------->|                 |
 |                |                |Policy for NSF2 |                 |
 |                |                |                | 3. Security     |                   
 |                |                |                |---------------->|
 |                |                |                | Policy for NSF2 |
 |                |4.IPsec         |4.IPsec         |                 |                                                       
 |                |<---------------|--------------->|                 |  
 |                | Parameter      | Parameter      |                 |
 |5.IPsec         |                |                | 5. IPsec        |                                    
 |<---------------|                |                |---------------->|        
 |  Parameter     |                |                |  Parameter      |
 |                |                |                |                 |
 |<==================================================================>|                         
               6.Service Function Chaining with IPsec SAs           
            ]]>   
    </artwork>
    </figure>
      <t>
        <xref target="figure:diagram2"/> shows a message sequence between entities in multiple
        domains with a primary security controller. In the case where an I2NSF user requests a security
        service that the NSFs cannot be provided in its I2NSF domain, the security controller may request
        the primary security controller for the required security service.
        In this scenario, it is assumed that the secure connections between the security controllers and the primary
        security controller are already set. Also, it is assumed that the primary security controller has all the 
        necessary IPsec parameters in advance. The detailed sequence is as follows:
        <list style="numbers">
          <t>
            Security controller A delivers the security policy through SFI to the primary security controller
            and delivers the security policy to NSF1 via NFI.
          </t>

          <t>
            The primary security controller delivers the received security policy to the security controller 
            that can provide the requested security services, i.e., security controller B.
          </t>
          
          <t>
            Security controller B delivers the security policy it can handle to the target 
            NSF, i.e, NSF2, through the NFI.
          </t>

          <t>
            The primary security controller delivers the IPsec parameters to establish IPsec SAs between NSF1
            and NSF2 located in different I2NSF domains to the responsible security controllers.
          </t>
          
          <t>
            Security controller A and security controller B deliver the IPsec parameters 
            to the NSF1 and NSF2, respectively.
          </t>

          <t>
            NSF1 and NSF2 establish an IPsec SAs using the received IPsec parameters and provide the
            requested security service to the user through SFC.
          </t>
        </list>
      </t>
    </section>

</section><!-- End of scenario section-->
    
    
</section> <!-- End of Section Information Model-->


 
  <section anchor="section:IANA-considerations" title="IANA Considerations">
    <t>This document does not require any IANA actions.
    </t>
  </section>

  <section anchor="section:security-considerations" title="Security Considerations">
    <t>
        The same security considerations for the I2NSF framework <xref target="RFC8329"/>
        are applicable to this document.
    </t>
  </section>

</middle>

<back>

  <references title="Normative References">
    <?rfc include="reference.RFC.2119"?>    
    <?rfc include="reference.RFC.7665"?>
    <?rfc include="reference.RFC.8174"?>   
    <?rfc include="reference.RFC.8329"?>
	<?rfc include="reference.RFC.9061"?>
<!--	
	<?rfc include="reference.RFC.3688"?>
	<?rfc include="reference.RFC.6991"?>
	<?rfc include="reference.RFC.8192"?>   
	<?rfc include="reference.RFC.8340"?>
	<?rfc include="reference.RFC.8341"?>
	<?rfc include="reference.RFC.8407"?>
-->
  </references>

  <references title="Informative References">	
    <?rfc include="reference.I-D.ietf-i2nsf-nsf-facing-interface-dm""?>

<!--	  
    <?rfc include="reference.I-D.ietf-httpbis-semantics"?>
-->	

  </references>

  <section anchor="Acknowledgments" title="Acknowledgments">
    <t>
    This work was supported by Institute of Information &amp; Communications
    Technology Planning &amp; Evaluation (IITP) grant funded by the Korea
    Ministry of Science and ICT (MSIT)(No. 2022-0-01015, Development of
    Candidate Element Technology for Intelligent 6G Mobile Core Network).
    </t>

    <t>
    This work was supported in part by Institute of Information &amp;
    Communications Technology Planning &amp; Evaluation (IITP) grant
    funded by the Korea Ministry of Science and ICT (MSIT)(No. 2022-0-01199,
    Regional strategic industry convergence security core talent training
    business).
    </t>
  </section>

  <section anchor="section:Contributors" title="Contributors">
    <t>
    This document is made by the group effort of I2NSF WG.
    Many people actively contributed to this document, such as Linda Dunbar, 
	Yoav Nir, and Diego R. Lopez.
    The authors sincerely appreciate their contributions.
    </t>
  
    <t> The following are co-authors of this document: </t>

      <t>
      Jiyong Uhm - 
      Department of Computer Science and Engineering,
      Sungkyunkwan University,
      2066 Seobu-Ro Jangan-Gu,
      Suwon, Gyeonggi-do 16419,
      Republic of Korea.
      EMail: jiyong423@skku.edu
      </t>

      <t>
      Jung-Soo Park - 
      Electronics and Telecommunications Research Institute,
      218 Gajeong-Ro, Yuseong-Gu,
      Daejeon, 34129,
      Republic of Korea.
      EMail: pjs@etri.re.kr
      </t>

      <t>
      Yunchul Choi - 
      Electronics and Telecommunications Research Institute,
      218 Gajeong-Ro, Yuseong-Gu,
      Daejeon, 34129,
      Republic of Korea.
      EMail: cyc79@etri.re.kr
      </t>
	  
      <t>
      Gabriel Lopez-Millan -
      University of Murcia,
      Faculty of Computer Science,
      Campus de Espinardo S/N,
      30100  Murcia,
      Spain.
      Phone: +34 868 88 85 04,
      EMail: gabilm@um.es
      </t>
	  
      <t>
      Fernando Pereniguez-Garcia -
      University Defense Center,
      Spanish Air Force Academy,
      MDE-UPCT,
      30720 San Javier Murcia,
      Spain.
      Phone: +34 968 18 99 46,
      EMail: fernando.pereniguez@cud.upct.es	  
      </t>	  
</section>

<!--
<section title="Changes from draft-kim-i2nsf-security-controller-interface-dm-00">
    <t>
      The following changes are made from draft-kim-i2nsf-security-controller-interface-dm-00:
      <list style="symbols">
        <t>
        </t>
      </list>
    </t>
</section> 
-->

</back>

</rfc>
