Skip to main content

Security Policy Translation in Interface to Network Security Functions
draft-yang-i2nsf-security-policy-translation-01

The information below is for an old version of the document.
Document Type
This is an older version of an Internet-Draft whose latest revision state is "Active".
Authors Jinhyuk Yang , Jaehoon Paul Jeong , Jinyong Tim Kim
Last updated 2018-07-17
RFC stream (None)
Formats
Additional resources
Stream Stream state (No stream defined)
Consensus boilerplate Unknown
RFC Editor Note (None)
IESG IESG state I-D Exists
Telechat date (None)
Responsible AD (None)
Send notices to (None)
draft-yang-i2nsf-security-policy-translation-01
I2NSF Working Group                                              J. Yang
Internet-Draft                                                  J. Jeong
Intended status: Informational                                    J. Kim
Expires: January 18, 2019                        Sungkyunkwan University
                                                           July 17, 2018

 Security Policy Translation in Interface to Network Security Functions
            draft-yang-i2nsf-security-policy-translation-01

Abstract

   This document proposes a scheme of security policy translation (i.e.,
   Security Policy Translator) in Interface to Network Security
   Functions (I2NSF) Framework.  When I2NSF User delivers a high-level
   security policy for a security service, Security Policy Translator in
   Security Controller translates it into a low-level security policy
   for Network Security Functions (NSFs).

Status of This Memo

   This Internet-Draft is submitted in full conformance with the
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF).  Note that other groups may also distribute
   working documents as Internet-Drafts.  The list of current Internet-
   Drafts is at https://datatracker.ietf.org/drafts/current/.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   This Internet-Draft will expire on January 18, 2019.

Copyright Notice

   Copyright (c) 2018 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (https://trustee.ietf.org/license-info) in effect on the date of
   publication of this document.  Please review these documents
   carefully, as they describe your rights and restrictions with respect
   to this document.  Code Components extracted from this document must
   include Simplified BSD License text as described in Section 4.e of

Yang, et al.            Expires January 18, 2019                [Page 1]
Internet-Draft      I2NSF Security Policy Translation          July 2018

   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   2
   2.  Terminology . . . . . . . . . . . . . . . . . . . . . . . . .   2
   3.  Necessity for Policy Translator . . . . . . . . . . . . . . .   2
   4.  Design of Policy Translator . . . . . . . . . . . . . . . . .   3
     4.1.  Overall Structure of Policy Translator  . . . . . . . . .   3
     4.2.  DFA-based Data Extractor  . . . . . . . . . . . . . . . .   6
     4.3.  Data Converter  . . . . . . . . . . . . . . . . . . . . .   6
     4.4.  Context-free Grammar-based Policy Generator . . . . . . .   7
   5.  Features of Policy Translator Design  . . . . . . . . . . . .   7
   6.  Acknowledgments . . . . . . . . . . . . . . . . . . . . . . .   8
   7.  Informative References  . . . . . . . . . . . . . . . . . . .   8
   Appendix A.  Changes from draft-yang-i2nsf-security-policy-
                translation-00 . . . . . . . . . . . . . . . . . . .  10
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .  10

1.  Introduction

   This document defines a scheme of a security policy translation in
   Interface to Network Security Functions (I2NSF) Framework [RFC8329].
   First of all, this document explains the necessity of a security
   policy translator (shortly called policy translator) in the I2NSF
   framework.

   The policy translator resides in Security Controller in the I2NSF
   framework and translates a high-level security policy to a low-level
   security policy for Network Security Functions (NSFs).  A high-level
   policy is specified by I2NSF User in the I2NSF framework and is
   delivered to Security Controller via Consumer-Facing Interface
   [consumer-facing-inf-dm].  A low-level policy is translated by Policy
   Translator in Security Controller and is delivered to NSFs to execute
   the rules corresponding to the low-level policy via NSF-Facing
   Interface [nsf-facing-inf-dm].

2.  Terminology

   This document uses the terminology specified in [i2nsf-terminology]
   [RFC8329].

3.  Necessity for Policy Translator

   Security Controller acts as a coordinator between I2NSF User and
   NSFs.  Also, Security Controller has capability information of NSFs

Yang, et al.            Expires January 18, 2019                [Page 2]
Internet-Draft      I2NSF Security Policy Translation          July 2018

   that are registered via Registration Interface [registration-inf-dm]
   by Developer's Management System [RFC8329].

   As a coordinator, Security Controller needs to generate a low-level
   policy in the form of security rules intended by the high-level
   policy, which can be understood by the corresponding NSFs.

   A high-level security policy is specified by RESTCONF/YANG
   [RFC8040][RFC6020], and a low-level security policy is specified by
   NETCONF/YANG [RFC6241][RFC6020].  The translation from a high-level
   security policy to the corresponding low-level security policy will
   be able to rapidly elevate I2NSF in real-world deployment.  A rule in
   a high-level policy can include a broad target object, such as
   employees in a company for a security service (e.g., firewall and web
   filter).  Such employees are from human resource (HR) department,
   software engineering department, and advertisement department.  A
   keyword of employee needs to be mapped to these employees from
   various departments.  This mapping needs to be handled by a policy
   translator in a flexible way while understanding the intention of a
   policy specification.

   This document proposes an approach using Automata theory for the
   policy tranlation, such as deterministic finite automaton (DFA) and
   context-free grammar.  Note that Automata theory is the foundation of
   programming languates and compilers.  Thus, with this approach, I2NSF
   User can easily specify a high-level security policy that will be
   enforced into the corresponding NSFs with a compatible low-level
   security policy with the help of Policy Translator.  Also, for easy
   managment of Policy Translator, a modularized translator structure is
   proposed.

4.  Design of Policy Translator

   Commonly used security policies are created as xml files.  A popular
   way to change the format of an xml file is to use an xslt document.
   However, the use of xslt makes it difficult to manage the policy
   translator and to handle the registration of new capabilities of
   NSFs.  With the nessity for policy translator, this document a policy
   translator based on Automata theory.

4.1.  Overall Structure of Policy Translator

   Figure 1 shows the overall design for Policy Translator in Security
   Controller.  There are three main parts for Policy Translator:
   Extractor, Capability Converter, and Policy Generator.

   Extractor is a DFA-based tool for extracting data from a high-level
   policy which I2NSF User delivered via Consumer-Facing Interface.

Yang, et al.            Expires January 18, 2019                [Page 3]
Internet-Draft      I2NSF Security Policy Translation          July 2018

   Data Converter converts the extracted data to the capabilities of
   target NSFs for a low-level policy.  It refers to NSF Database (DB)
   in order to convert an abstract subject or object into the
   corresponding concrete subject or object (e.g., IP address and
   website URL).  Policy Generator generates a low-level policy which
   will execute the NSF capabilities from Converter.

Yang, et al.            Expires January 18, 2019                [Page 4]
Internet-Draft      I2NSF Security Policy Translation          July 2018

                        +------------+
                        | I2NSF User |
                        +-----+------+
     Security                 |  Consumer-Facing Interface
     Controller               V
     +------------------------+-------------------------+
     |                   High-Level                     |
     |                     Policy                       |
     |                (from I2NSF User)                 |
     |  Policy                |                         |
     |  Translator            V                         |
     |  +---------------------+----------------------+  |
     |  |                     |                      |  |
     |  |             +-------+--------+             |  |
     |  |             |   DFA-based    |             |  |
     |  |             | Data Extractor |             |  |
     |  |             +-------+--------+             |  |
     |  |                     |  Extracted Data from |  |
     |  |                     V  High-Level Policy   |  |
     |  |              +-----+-----+                 |  |
     |  |              |    Data   | <-> Refer to    |  |
     |  |              | Converter |     NSF DB      |  |
     |  |              +-----+-----+                 |  |
     |  |                     |  Required Data for   |  |
     |  |                     V  Target NSFs         |  |
     |  |             +-------+-------+              |  |
     |  |             | Context-free  |              |  |
     |  |             | Grammar-based |              |  |
     |  |             |    Policy     |              |  |
     |  |             |   Generator   |              |  |
     |  |             +-------+-------+              |  |
     |  |                     |                      |  |
     |  +---------------------+----------------------+  |
     |                        |                         |
     |                 Low-Level Policy                 |
     |                    (for NSFs)                    |
     |                        |                         |
     +------------------------+-------------------------+
                              |
                              V NSF-Facing Interface

             Figure 1: The Overall Design of Policy Translator

Yang, et al.            Expires January 18, 2019                [Page 5]
Internet-Draft      I2NSF Security Policy Translation          July 2018

4.2.  DFA-based Data Extractor

   Figure 2 shows a design for Data Extractor in the policy translator.
   If the high-level policy contains data along the hierarchical
   structure of the standard YANG data model, data can be easily
   extracted using the state transition machine, DFA.

   The extracted data is processed and used by an NSF to understand it.
   Extractor can be constructed by designing a DFA with the same
   hierarchical structure as a YANG data model.

   Since the translator is modularized into a DFA structure, a visual
   understanding is feasible.  Also, the following structure of
   Extractor is easy to manage.  If I2NSF User wants to modify the data
   model of a high-level policy, it only needs to change the connection
   of the relevant DFA node.

                   <tag 1>                <tag 2>
     +----------+  ------>  +----------+  ------->      +-------------+
     | accepter |           |          |          . . . | extractor 1 |
     +----------+  <------  |          |  <-------      +-------------+
                   </tag 1> |          |  </tag 2>
                            |          |
                            |          |  <tag 3>
                            |          |  ------->      +-------------+
                            |          |          . . . | extractor 2 |
                            |          |  <-------      +-------------+
                            | middle 1 |  </tag 3>
                            |          |     .
                            |          |     .
                            |          |     .
                            |          |  <tag M>
                            |          |  ------->      +-------------+
                            |          |          . . . | extractor N |
                            |          |  <-------      +-------------+
                            |          |  </tag M>
                            +----------+

                  Figure 2: The Design of Data Extractor

4.3.  Data Converter

   Every NSF has its own unique capabilities.  The capabilities of an
   NSF are registered into Security Controller by a Developer's
   Management System, which manages the NSF, via Registration Interface.
   Therefore, Security Controller already has all information about the
   capabilities of NSFs.  This means that Security Controller can find
   target NSFs with only the data (e.g., subject and object for a

Yang, et al.            Expires January 18, 2019                [Page 6]
Internet-Draft      I2NSF Security Policy Translation          July 2018

   security policy) of the high-level policy by comparing all
   capabilities of each NSF.  This search process for appropriate NSFs
   is called by NSF provisioning, and it eliminates the need for I2NSF
   User to specify the target NSFs explicitly.  Data Converter selects
   target NSFs and converts the extracted data into the capabilities of
   selected NSFs.  If Security Controller uses this data convertor, it
   can provide the NSF provisioning function to the I2NSF User
   automatically.  Thus, the translator design provides big benefits to
   I2NSF Framework.

4.4.  Context-free Grammar-based Policy Generator

   The productions that makes up the low-level security policy are
   categorized into two types, Structure Production and Content
   Production.  Structure Production is for grouping other tags into a
   hierarchy.  A security manager constructs Structure Production in the
   form of an expression as the following equation:

   o  [structure_prod] ->
      <structure_tag>[policy:1][policy:2]...[policy:n]</structure_tag>

   Content Production is for injecting data into low-level policies to
   be generated.  The manager can construct Content Production in the
   form of an expression as following equation:

   o  [content_prod] -> <content_tag>[content_data]</content_tag>

   o  [content_data] -> data:1 | data:2 | ... | data:n

   o  [content_prod] -> [content_prod][content_prod] (Where duplication
      is allowed.)

5.  Features of Policy Translator Design

   First, by showing the visualized translator structure, the manager
   can handle various policy changes.  Translator can be shown by
   visualizing DFA and Context-free Grammar so that the manager can
   easily understand the structure of Policy Translator.

   Second, if I2NSF User only keeps the hierarchy of the data model,
   I2NSF User can freely create high-level policies.  In the case of
   DFA, data extraction can be performed in the same way even if the
   order of input is changed.  The design of the policy translator is
   more flexible than the existing method that works by keeping the tag
   's position and order exactly.

   Third, the structure of Policy Translator can be updated even while
   Policy Translator is operating.  Because Policy Translator is

Yang, et al.            Expires January 18, 2019                [Page 7]
Internet-Draft      I2NSF Security Policy Translation          July 2018

   modularized, the translator can adapt to changes in the NSF
   capability while the I2NSF framework is running.  The function of
   changing the translator's structure can be provided through
   Registration Interface.

6.  Acknowledgments

   This work was supported by Institute for Information & communications
   Technology Promotion (IITP) grant funded by the Korea MSIT (Ministry
   of Science and ICT) (R-20160222-002755, Cloud based Security
   Intelligence Technology Development for the Customized Security
   Service Provisioning).

   This work was supported in part by the MSIT under the ITRC
   (Information Technology Research Center) support program (IITP-
   2018-2017-0-01633) supervised by the IITP.

7.  Informative References

   [consumer-facing-inf-dm]
              Jeong, J., Kim, E., Ahn, T., Kumar, R., and S. Hares,
              "I2NSF Consumer-Facing Interface YANG Data Model", draft-
              ietf-i2nsf-consumer-facing-interface-dm-01 (work in
              progress), July 2018.

   [i2nsf-terminology]
              Hares, S., Strassner, J., Lopez, D., Xia, L., and H.
              Birkholz, "Interface to Network Security Functions (I2NSF)
              Terminology", draft-ietf-i2nsf-terminology-06 (work in
              progress), July 2018.

   [nsf-facing-inf-dm]
              Kim, J., Jeong, J., Park, J., Hares, S., and Q. Lin,
              "I2NSF Network Security Function-Facing Interface YANG
              Data Model", draft-ietf-i2nsf-nsf-facing-interface-data-
              model-01 (work in progress), July 2018.

   [registration-inf-dm]
              Hyun, S., Jeong, J., Roh, T., Wi, S., and J. Park, "I2NSF
              Registration Interface YANG Data Model", draft-hyun-i2nsf-
              registration-dm-05 (work in progress), July 2018.

   [RFC6020]  Bjorklund, M., "YANG - A Data Modeling Language for the
              Network Configuration Protocol (NETCONF)", RFC 6020,
              October 2010.

Yang, et al.            Expires January 18, 2019                [Page 8]
Internet-Draft      I2NSF Security Policy Translation          July 2018

   [RFC6241]  Enns, R., Bjorklund, M., Schoenwaelder, J., and A.
              Bierman, "Network Configuration Protocol (NETCONF)",
              RFC 6241, June 2011.

   [RFC8040]  Bierman, A., Bjorklund, M., and K. Watsen, "RESTCONF
              Protocol", RFC 8040, January 2017.

   [RFC8329]  Lopez, D., Lopez, E., Dunbar, L., Strassner, J., and R.
              Kumar, "Framework for Interface to Network Security
              Functions", RFC 8329, February 2018.

Yang, et al.            Expires January 18, 2019                [Page 9]
Internet-Draft      I2NSF Security Policy Translation          July 2018

Appendix A.  Changes from draft-yang-i2nsf-security-policy-
             translation-00

   The following changes are made from draft-yang-i2nsf-security-policy-
   translation-00:

   o  In Section 3, the necessity for the proposed translation design is
      clarified.

   o  In Section 4.3, the description of Data Converter is clarified.

   o  In Section 4.4, "Structure Grammar" and "Content Grammar" are
      replaced with "Structure Production" and "Content Production",
      respectively.

   o  The references are updated to reflect the latest documents.

Authors' Addresses

   Jinhyuk Yang
   Department of Computer Engineering
   Sungkyunkwan University
   2066 Seobu-Ro, Jangan-Gu
   Suwon, Gyeonggi-Do  16419
   Republic of Korea

   Phone: +82 10 8520 8039
   EMail: jin.hyuk@skku.edu

   Jaehoon Paul Jeong
   Department of Software
   Sungkyunkwan University
   2066 Seobu-Ro, Jangan-Gu
   Suwon, Gyeonggi-Do  16419
   Republic of Korea

   Phone: +82 31 299 4957
   Fax:   +82 31 290 7996
   EMail: pauljeong@skku.edu
   URI:   http://iotlab.skku.edu/people-jaehoon-jeong.php

Yang, et al.            Expires January 18, 2019               [Page 10]
Internet-Draft      I2NSF Security Policy Translation          July 2018

   Jinyong Tim Kim
   Department of Computer Engineering
   Sungkyunkwan University
   2066 Seobu-Ro, Jangan-Gu
   Suwon, Gyeonggi-Do  16419
   Republic of Korea

   Phone: +82 10 8273 0930
   EMail: timkim@skku.edu

Yang, et al.            Expires January 18, 2019               [Page 11]