draft-ietf-i2nsf-registration-interface-dm-00.txt   draft-ietf-i2nsf-registration-interface-dm-01.txt 
Network Working Group S. Hyun I2NSF Working Group S. Hyun
Internet-Draft Chosun University Internet-Draft Chosun University
Intended status: Standards Track J. Jeong Intended status: Standards Track J. Jeong
Expires: April 23, 2019 T. Roh Expires: May 8, 2019 T. Roh
S. Wi S. Wi
Sungkyunkwan University Sungkyunkwan University
J. Park J. Park
ETRI ETRI
October 20, 2018 November 4, 2018
I2NSF Registration Interface Data Model I2NSF Registration Interface YANG Data Model
draft-ietf-i2nsf-registration-interface-dm-00 draft-ietf-i2nsf-registration-interface-dm-01
Abstract Abstract
This document defines an information model and a YANG data model for This document defines an information model and a YANG data model for
Interface to Network Security Functions (I2NSF) Registration Interface to Network Security Functions (I2NSF) Registration
Interface between Security Controller and Developer's Management Interface between Security Controller and Developer's Management
System (DMS). The objective of these information and data models is System (DMS). The objective of these information and data models is
to support NSF search, instantiation and registration according to to support NSF search, instantiation and registration according to
required security capabilities via I2NSF Registration Interface. required security capabilities via I2NSF Registration Interface.
skipping to change at page 1, line 40 skipping to change at page 1, line 40
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at https://datatracker.ietf.org/drafts/current/. Drafts is at https://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on April 23, 2019. This Internet-Draft will expire on May 8, 2019.
Copyright Notice Copyright Notice
Copyright (c) 2018 IETF Trust and the persons identified as the Copyright (c) 2018 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(https://trustee.ietf.org/license-info) in effect on the date of (https://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
skipping to change at page 2, line 18 skipping to change at page 2, line 18
the Trust Legal Provisions and are provided without warranty as the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License. described in the Simplified BSD License.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Requirements Language . . . . . . . . . . . . . . . . . . . . 3 2. Requirements Language . . . . . . . . . . . . . . . . . . . . 3
3. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 3. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3
4. Objectives . . . . . . . . . . . . . . . . . . . . . . . . . 4 4. Objectives . . . . . . . . . . . . . . . . . . . . . . . . . 4
5. Information Model . . . . . . . . . . . . . . . . . . . . . . 5 5. Information Model . . . . . . . . . . . . . . . . . . . . . . 5
5.1. NSF Instance Managment Mechanism . . . . . . . . . . . . 6 5.1. NSF Registration Mechanism . . . . . . . . . . . . . . . 5
5.2. NSF Registration Mechanism . . . . . . . . . . . . . . . 6 5.2. NSF Access Information . . . . . . . . . . . . . . . . . 6
5.3. NSF Access Information . . . . . . . . . . . . . . . . . 7 5.3. NSF Capability Information (Capabilities of an NSF
5.4. NSF Capability Information (Capabilities of an NSF Instance) . . . . . . . . . . . . . . . . . . . . . . . . 6
instance) . . . . . . . . . . . . . . . . . . . . . . . . 7 5.3.1. Performance Capabilities . . . . . . . . . . . . . . 7
5.4.1. Performance Capabilities . . . . . . . . . . . . . . 8 5.4. Role-based Access Control List . . . . . . . . . . . . . 8
5.5. Role-based Access Control List . . . . . . . . . . . . . 9 6. Data Model . . . . . . . . . . . . . . . . . . . . . . . . . 9
6. Data Model . . . . . . . . . . . . . . . . . . . . . . . . . 10 6.1. High-Level YANG . . . . . . . . . . . . . . . . . . . . . 9
6.1. High-Level YANG . . . . . . . . . . . . . . . . . . . . . 10 6.1.1. Definition of Symbols in Tree Diagrams . . . . . . . 9
6.1.1. Definition of Symbols in Tree Diagrams . . . . . . . 10 6.1.2. Registration Interface . . . . . . . . . . . . . . . 10
6.1.2. Registration Interface . . . . . . . . . . . . . . . 11 6.1.3. Registration Request . . . . . . . . . . . . . . . . 10
6.1.3. Registration Request . . . . . . . . . . . . . . . . 11 6.1.4. Instance Management Request . . . . . . . . . . . . . 10
6.1.4. Instance Management Request . . . . . . . . . . . . . 11 6.1.5. NSF Capability Information . . . . . . . . . . . . . 11
6.1.5. NSF Capability Information . . . . . . . . . . . . . 12 6.1.6. NSF Access Information . . . . . . . . . . . . . . . 12
6.1.6. NSF Access Information . . . . . . . . . . . . . . . 13 6.1.7. NSF Performance Capability . . . . . . . . . . . . . 12
6.1.7. NSF Performance Capability . . . . . . . . . . . . . 13 6.1.8. Role-Based ACL(Access Control List) . . . . . . . . . 12
6.1.8. Role-Based ACL(Access Control List) . . . . . . . . . 13 6.2. YANG Modules . . . . . . . . . . . . . . . . . . . . . . 13
6.2. YANG Modules . . . . . . . . . . . . . . . . . . . . . . 14 6.2.1. XML Example of Registration Interface Data Model . . 17
6.2.1. XML Example of Registration Interface Data Model . . 18 7. Security Considerations . . . . . . . . . . . . . . . . . . . 19
7. Security Considerations . . . . . . . . . . . . . . . . . . . 20 8. References . . . . . . . . . . . . . . . . . . . . . . . . . 19
8. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 20 8.1. Normative References . . . . . . . . . . . . . . . . . . 19
9. References . . . . . . . . . . . . . . . . . . . . . . . . . 20 8.2. Informative References . . . . . . . . . . . . . . . . . 19
9.1. Normative References . . . . . . . . . . . . . . . . . . 20 Appendix A. NSF Lifecycle Managmenet in NFV Environments . . . . 21
9.2. Informative References . . . . . . . . . . . . . . . . . 20 Appendix B. Changes from draft-ietf-i2nsf-registration-
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 21 interface-dm-00 . . . . . . . . . . . . . . . . . . 21
Appendix C. Acknowledgments . . . . . . . . . . . . . . . . . . 21
Appendix D. Contributors . . . . . . . . . . . . . . . . . . . . 21
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 22
1. Introduction 1. Introduction
A number of virtual network security function instances typically A number of virtual network security function instances typically
exist in Interface to Network Security Functions (I2NSF) framework exist in Interface to Network Security Functions (I2NSF) framework
[RFC8329]. Since these NSF instances may have different security [RFC8329]. Since these NSF instances may have different security
capabilities, it is important to register the security capabilities capabilities, it is important to register the security capabilities
of each NSF instance into the security controller after they have of each NSF instance into the security controller after they have
been created. In addition, it is required to search or instantiate been created. In addition, it is required to search or instantiate
NSFs of some required security capabilities on demand. As an NSFs of some required security capabilities on demand. As an
skipping to change at page 4, line 20 skipping to change at page 4, line 24
implementation language, and protocol. [supa-policy-info-model] implementation language, and protocol. [supa-policy-info-model]
o Information Model: An information model is a representation of o Information Model: An information model is a representation of
concepts of interest to an environment in a form that is concepts of interest to an environment in a form that is
independent of data repository, data definition language, query independent of data repository, data definition language, query
language, implementation language, and protocol. language, implementation language, and protocol.
[supa-policy-info-model] [supa-policy-info-model]
4. Objectives 4. Objectives
o Registering NSF instances from Developer's Management System: o Registering NSFs to I2NSF framework: Developer's Management System
Depending on system's security requirements, it may require some (DMS) in I2NSF framework is typically run by an NSF vendor, and
NSFs by default. In this case, DMS creates these default NSF uses Registration Interface to provide NSFs developed by the NSF
instances and notifies Security Controller of those NSF instances vendor to Security Controller. DMS registers NSFs and their
via Registration Interface. capabilities to I2NSF framework through Registration Interface, so
that Security Controller can use those capabilities by
instantiating the NSFs once they are required. Once NSFs are
registered to I2NSF framework, a catalog of the NSFs and their
capabilities is created and provided to Security Controller. When
we consider the implementation of I2NSF framework based on NFV
technology, the catalog of the NSFs may be prepared and managed by
NFV MANO.
o Requesting NSF instances with required security capabilities: o Updating the capabilities of registered NSFs: After an NSF is
I2NSF users request security policies to Security Controller, and registered into I2NSF framework, some modifications on the
enforcing the security policies requires a set of security capability of the NSF may be required later. In this case, DMS
capabilities. In addition, when an NSF triggers another type of uses Registration Interface to update the capability of the NSF,
NSF(s) for more advanced security inspection of a given traffic, and this update should be reflected on the catalog of NSFs.
some security capabilities are also required to perform the
advanced security inspection. If Security Controller has no NSF
instance registered with the requried capabilities, Security
Controller requests DMS for new NSF instances that can provide the
required capabilities. Once receiving this request, DMS could
first search its inventory for NSF instances with the required
capabilities. If DMS fails to find any NSF instance, it creates
new NSF instances with the required security capabilities and
registers the NSF instances to Security Controller.
o Deleting unnecessary NSF instances: In I2NSF framework, users o Retrieving the catalog of NSFs: Security Controller uses
decide which security service is unnecessary in the system. If Registration Interface to retrieve the catalog of available NSFs
there exist any unused NSF instances, then we should delete the and their capabilities. Enforcing security policy requires a set
existing instances by requesting DMS via registration interface. of security capabilities that is provided by a set of NSFs. Once
receiving a request of security policy from an I2NSF user,
Security Controller figures out what capabilities are required to
enforce the security policy. Security Controller then searches
the catalog of NSFs for the required capabilities, and finally
determines a set of NSFs that is necessary to enforce the
requested policy.
o Updating NSF instances: After an NSF instance is registered into o Requesting NSF instantiation: If some NSFs need to be instantiated
I2NSF framework, some changes may happen on the capability of the to enforce requested security policy, Security Controller makes a
NSF instance. These changes should be informed to Security request to instantiate them through Registration Interface. Or if
Controller. For this, after updating some NSF instances, DMS an NSF, running as a virtual NSF in the NFV environment, is not
notifies Security Controller of the update via registration used by any traffic flows for a time period, Security Controller
interface. may request deinstantiating it through Registration Interface for
the purpose of efficient resource utilization.
5. Information Model 5. Information Model
The I2NSF registration interface was only used for registering new The I2NSF registration interface is used by Security Controller and
NSF instances to Security Controller. In this document, however, we Developer's Management System (DMS) in I2NSF framework. The
extend its utilization to support on demand NSF instantiation/de- following summarizes the process typically done through the
instantiation and describe the information that should be exchanged registration interface:
via the registration interface for the functionality. Moreover, we
also define the information model of NSF Profile because, for
registration interface, NSF Profile (i.e., capabilities of an NSF)
needs to be clarified so that the components of I2NSF framework can
exchange the set of capabilities in a standardized manner. This is
typically done through the following process:
1) Security Controller first recognizes the set of capabilities
(i.e., NSF Profile) or the signature of a specific NSF required
or wasted in the current system.
2) Developer's Management System (DMS) matches the recognized
information to an NSF based on the information model definition.
3) Developer's Management System creates or eliminates NSFs matching
with the above information.
4) Security Controller can then add/remove the corresponding NSF
instance to/from its list of available NSF instances in the
system.
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Registration Interface Information Model |
| |
| +-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+ |
| | Instance Management | | Registration | |
| | Sub-Model | | Sub-Model | |
| +-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+ |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 1: Registration Interface Information Model
As illustrated in Figure 1, the information model for Registration 1) DMS registers NSFs to I2NSF framework through the registration
Interface consists of two sub-models: instance management, interface. DMS also uses the registration interface to update
registration sub-models. The instance management functionality and the capabilities of the NSFs registered in the framework.
the registration functionality use NSF Profile to achieve their
goals. In this context, NSF Profile is the capability objects that
describe and/or prescribe inspection capability an NSF instance can
provide.
5.1. NSF Instance Managment Mechanism 2) Once NSFs are registered to I2NSF framework, a catalog of the
NSFs and their capabilities is created and provided to Security
Controller via the registration interface.
For the instance management of NSFs, Security Controller in I2NSF 3) Security Controller searches the catalog of NSFs for the
framework requires two types of requests: Instantiation Request and capabilities required to enforce security policies requested by
Deinstantiation Request. Security Controller sends the request I2NSF users, and selects some of the NSFs that can provide the
messages to DMS when required. Once receiving the request, DMS required capabilities.
conducts creating/eliminating the corresponding NSF instance and
responds Security Controller with the results.
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+ 4) Security Controller requests the instantiation of the selected
| Instantiation/Re-instantiation | | De-instantiation | NSFs via the registration interface.
| Request | | Request |
+-+-+-+-+-+-+-+-+-^-+-+-+-+-+-+-+-+ +-+-+-+-+-^-+-+-+-+-+
| |
| |
| |
| |
+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+
| NSF Capability | | NSF Access |
| Information | | Information |
+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+
Figure 2: Overview of Instance Management Sub-Model This section clarifies the information model that is required to
support the process described above.
5.2. NSF Registration Mechanism 5.1. NSF Registration Mechanism
In order to register a new NSF instance, DMS should generate a In order to register a new NSF, DMS should generate a registration
Registration Message to Security Controller. A Registration Message message to Security Controller. A registration message consists of
consists of an NSF Profile and an NSF Access Information. The former an NSF capability information and an NSF Access Information. The
describes the inspection capability of the new NSF instance and the former describes the security capability that the new NSF can provide
latter is for enabling network access to the new instance from other and the latter is for enabling network access to the NSF from other
components. After this registration process, as explained in components. After this registration process, as explained in
[capability-im], the I2NSF capability interface can conduct [capability-im], the I2NSF capability interface can conduct
controlling and monitoring the new registered NSF instance. controlling and monitoring the new registered NSF.
+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+
| NSF | | NSF |
| Registration | | Registration |
+-+-+-+-^-+-+-+-+ +-+-+-+-^-+-+-+-+
| |
+-------------------------------------+ +-------------------------------------+
| | | | | |
| | | | | |
+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+
| NSF Capability | | NSF Access | | NSF Rold-based | | NSF Capability | | NSF Access | | NSF Rold-based |
| Information | | Information | | ACL | | Information | | Information | | ACL |
+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+
Figure 3: Registration Mechanism Sub-Model Overview Figure 1: Registration Mechanism Sub-Model Overview
5.3. NSF Access Information 5.2. NSF Access Information
NSF Access Information contains the followings that are required to NSF Access Information contains the followings that are required to
communicate with an NSF: IPv4 address, IPv6 address, port number, and communicate with an NSF: IPv4 address, IPv6 address, port number, and
supported transport protocol(s) (e.g., Virtual Extensible LAN (VXLAN) supported transport protocol(s) (e.g., Virtual Extensible LAN (VXLAN)
[RFC 7348], Generic Protocol Extension for VXLAN (VXLAN-GPE) [RFC 7348], Generic Protocol Extension for VXLAN (VXLAN-GPE)
[draft-ietf-nvo3-vxlan-gpe], Generic Route Encapsulation (GRE), [draft-ietf-nvo3-vxlan-gpe], Generic Route Encapsulation (GRE),
Ethernet etc.). In this document, NSF Access Information is used to Ethernet etc.). In this document, NSF Access Information is used to
identify a specific NSF instance (i.e. NSF Access Information is the identify a specific NSF instance (i.e. NSF Access Information is the
signature(unique identifier) of an NSF instance in the overall signature(unique identifier) of an NSF instance in the overall
system). system).
5.4. NSF Capability Information (Capabilities of an NSF instance) 5.3. NSF Capability Information (Capabilities of an NSF Instance)
NSF Profile basically describes the inspection capabilities of an NSF NSF Profile basically describes the inspection capabilities of an NSF
instance. In Figure 4, we show capability objects of an NSF instance. In Figure 2, we show capability objects of an NSF
instance. Following the information model of NSF capabilities instance. Following the information model of NSF capabilities
defiend in [capability-im], we share the same security capabilities: defiend in [capability-im], we share the same security capabilities:
Network-Security Capabilities, Content-Security Capabilities, and Network-Security Capabilities, Content-Security Capabilities, and
Attack Mitigation Capabilities. Also, NSF Profile additionally Attack Mitigation Capabilities. Also, NSF Profile additionally
contains the performance capabilities and role-Based access control contains the performance capabilities and role-Based access control
list (ACL) as shown in Figure 4. list (ACL) as shown in Figure 2.
+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+
| Capability | | Capability |
| Objects | | Objects |
+-+-+-+-^-+-+-+-+ +-+-+-+-^-+-+-+-+
| |
| |
+---------------+-------+--------------+ +---------------+-------+--------------+
| | | | | |
| | | | | |
skipping to change at page 8, line 27 skipping to change at page 7, line 27
+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+ |
| |
+-----------------------+--------------+ +-----------------------+--------------+
| | | |
| | | |
+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+
| Performance | |Attack Mitigation| | Performance | |Attack Mitigation|
| Capabilities | | Capabilities | | Capabilities | | Capabilities |
+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+
Figure 4: NSF Profile Overview Figure 2: NSF Profile Overview
5.4.1. Performance Capabilities 5.3.1. Performance Capabilities
This information represents the processing capability of an NSF. This information represents the processing capability of an NSF.
This information can be used to determine whether the NSF is in This information can be used to determine whether the NSF is in
congestion by comparing this with the workload that the NSF currently congestion by comparing this with the workload that the NSF currently
undergoes. Moreover, this information can specify an available undergoes. Moreover, this information can specify an available
amount of each type of resources such as processing power which are amount of each type of resources such as processing power which are
available on the NSF. (The registration interface can control the available on the NSF. (The registration interface can control the
usages and limitations of the created instance and make the usages and limitations of the created instance and make the
appropriate request according to the status.) As illustrated in appropriate request according to the status.) As illustrated in
Figure 5, this information consists of two items: Processing and Figure 3, this information consists of two items: Processing and
Bandwidth. Processing information describes the NSF's available Bandwidth. Processing information describes the NSF's available
processing power. Bandwidth describes the information about processing power. Bandwidth describes the information about
available network amount in two cases, outbound, inbound. This two available network amount in two cases, outbound, inbound. This two
information can be used for the NSF's instance request. information can be used for the NSF's instance request.
+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+
| Performance | | Performance |
| Capabilities | | Capabilities |
+-+-+-+-^-+-+-+-+-+ +-+-+-+-^-+-+-+-+-+
| |
+----------------------------+ +----------------------------+
| | | |
| | | |
+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+
| Processing | | Bandwidth | | Processing | | Bandwidth |
+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+
Figure 5: Performance Capability Overview Figure 3: Performance Capability Overview
5.5. Role-based Access Control List 5.4. Role-based Access Control List
This information specifies access policies of an NSF to determine This information specifies access policies of an NSF to determine
whether to permit or deny the access of an entity to the NSF based on whether to permit or deny the access of an entity to the NSF based on
the role given to the entity. Each NSF is associated with a role- the role given to the entity. Each NSF is associated with a role-
based access control list (ACL) so that it can determine whether to based access control list (ACL) so that it can determine whether to
permit or deny the access request from an entity. Figure 6 and permit or deny the access request from an entity. Figure 4 and
Figure 7 show the structure of the role-based ACL, which is composed Figure 5 show the structure of the role-based ACL, which is composed
of role-id, access-type, and permit/deny. The role-id identifies of role-id, access-type, and permit/deny. The role-id identifies
roles of entities (e.g., administrator, developer etc.). The access- roles of entities (e.g., administrator, developer etc.). The access-
type identifies the specific type of access requests such as NSF rule type identifies the specific type of access requests such as NSF rule
configuration/update and NSF monitoring. Consequently, the role- configuration/update and NSF monitoring. Consequently, the role-
based ACL in Figure 6 and Figure 7 specifies a set of access-types to based ACL in Figure 4 and Figure 5 specifies a set of access-types to
be permitted and to be denied by each role-id. be permitted and to be denied by each role-id.
+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+
| Role-based | | Role-based |
| ACL | | ACL |
+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+
| |
+-----------------------------------+ +-----------------------------------+
| | | |
+-+-+-+-+-+-+ +-+-+-+-+-+-+ +-+-+-+-+-+-+ +-+-+-+-+-+-+
| Role-id 1 | ... | Role-id N | | Role-id 1 | ... | Role-id N |
+-+-+-+-+-+-+ +-+-+-+-+-+-+ +-+-+-+-+-+-+ +-+-+-+-+-+-+
Figure 6: Role-based Access Control List Figure 4: Role-based Access Control List
+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+
| Role-id i | | Role-id i |
+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+
| |
+---------------------------------+ +---------------------------------+
| | | |
+-+-+-+-+-+-+ +-+-+-+-+-+-+ +-+-+-+-+-+-+ +-+-+-+-+-+-+
| Permit | | Deny | | Permit | | Deny |
+-+-+-+-+-+-+ +-+-+-+-+-+-+ +-+-+-+-+-+-+ +-+-+-+-+-+-+
| | | |
+------------------+ +------------------+ +------------------+ +------------------+
| | | | | | | |
+-+-+-+-+-+-+ +-+-+-+-+-+-+ +-+-+-+-+-+-+ +-+-+-+-+-+-+ +-+-+-+-+-+-+ +-+-+-+-+-+-+ +-+-+-+-+-+-+ +-+-+-+-+-+-+
|access-type| ... |access-type| |access-type| ... |access-type| |access-type| ... |access-type| |access-type| ... |access-type|
| p1 | | pn | | d1 | | dn | | p1 | | pn | | d1 | | dn |
+-+-+-+-+-+-+ +-+-+-+-+-+-+ +-+-+-+-+-+-+ +-+-+-+-+-+-+ +-+-+-+-+-+-+ +-+-+-+-+-+-+ +-+-+-+-+-+-+ +-+-+-+-+-+-+
Figure 7: Role-id Subtree Figure 5: Role-id Subtree
6. Data Model 6. Data Model
6.1. High-Level YANG 6.1. High-Level YANG
This section provides an overview of the high level YANG. This section provides an overview of the high level YANG.
6.1.1. Definition of Symbols in Tree Diagrams 6.1.1. Definition of Symbols in Tree Diagrams
A simplified graphical representation of the data model is used in A simplified graphical representation of the data model is used in
skipping to change at page 11, line 13 skipping to change at page 10, line 13
shown. shown.
6.1.2. Registration Interface 6.1.2. Registration Interface
module : ietf-i2nsf-regs-interface-model module : ietf-i2nsf-regs-interface-model
+--rw regs-req +--rw regs-req
| uses i2nsf-regs-req | uses i2nsf-regs-req
+--rw instance-mgnt-req +--rw instance-mgnt-req
| uses i2nsf-instance-mgnt-req | uses i2nsf-instance-mgnt-req
Figure 8: High-Level YANG of I2NSF Registration Interface Figure 6: High-Level YANG of I2NSF Registration Interface
Each of these sections mirror sections of Section 5. Each of these sections mirror sections of Section 5.
6.1.3. Registration Request 6.1.3. Registration Request
This section expands the i2nsf-regs-req in Figure 8. This section expands the i2nsf-regs-req in Figure 6.
Registration Request Registration Request
+--rw i2nsf-regs-req +--rw i2nsf-regs-req
+--rw nsf-capability-information +--rw nsf-capability-information
| uses i2nsf-nsf-capability-information | uses i2nsf-nsf-capability-information
+--rw nsf-access-info +--rw nsf-access-info
| uses i2nsf-nsf-access-info | uses i2nsf-nsf-access-info
Figure 9: High-Level YANG of I2NSF Registration Request Figure 7: High-Level YANG of I2NSF Registration Request
Registration Request contains the capability information of newly Registration Request contains the capability information of newly
created NSF to notify its capability to Security Controller. The created NSF to notify its capability to Security Controller. The
request also contains Network Access Information so that the Security request also contains Network Access Information so that the Security
Controller can access the NSF. Controller can access the NSF.
6.1.4. Instance Management Request 6.1.4. Instance Management Request
This section expands the i2nsf-instance-mgnt-req in Figure 8. This section expands the i2nsf-instance-mgnt-req in Figure 6.
Instance Management Request Instance Management Request
+--rw i2nsf-instance-mgnt-req +--rw i2nsf-instance-mgnt-req
+--rw req-level uint16 +--rw req-level uint16
+--rw req-id uint64 +--rw req-id uint64
+--rw (req-type)? +--rw (req-type)?
+--rw (instanciation-request) +--rw (instanciation-request)
+--rw in-nsf-capability-information +--rw in-nsf-capability-information
| uses i2nsf-nsf-capability-information | uses i2nsf-nsf-capability-information
+--rw (deinstanciation-request) +--rw (deinstanciation-request)
+--rw de-nsf-access-info +--rw de-nsf-access-info
| uses i2nsf-nsf-access-info | uses i2nsf-nsf-access-info
+--rw (updating-request) +--rw (updating-request)
+--rw update-nsf-capability-information +--rw update-nsf-capability-information
| uses i2nsf-nsf-capability-information | uses i2nsf-nsf-capability-information
Figure 10: High-Level YANG of I2NSF Instance Mgnt Request Figure 8: High-Level YANG of I2NSF Instance Mgnt Request
Instance management request consists of two types: instanciation- Instance management request consists of two types: instanciation-
request, deinstanciation-request, and updating-request. The request, deinstanciation-request, and updating-request. The
instanciation-request is used to request generation of a new NSF instanciation-request is used to request generation of a new NSF
instance with NSF Capability Information which specifies required NSF instance with NSF Capability Information which specifies required NSF
capability information. The deinstanciation-request is used to capability information. The deinstanciation-request is used to
remove an existing NSF with NSF Access Information. The updating nsf remove an existing NSF with NSF Access Information. The updating nsf
request is used to updating a existing NSf information with NSF request is used to updating a existing NSf information with NSF
capabilities. capabilities.
6.1.5. NSF Capability Information 6.1.5. NSF Capability Information
This section expands the i2nsf-nsf-capability-information in Figure 9 This section expands the i2nsf-nsf-capability-information in Figure 7
and Figure 10. and Figure 8.
NSF Capability Information NSF Capability Information
+--rw i2nsf-nsf-capability-information +--rw i2nsf-nsf-capability-information
+--rw i2nsf-capability +--rw i2nsf-capability
| uses ietf-i2nsf-capability | uses ietf-i2nsf-capability
+--rw performance-capability +--rw performance-capability
| uses i2nsf-nsf-performance-caps | uses i2nsf-nsf-performance-caps
Figure 11: High-Level YANG of I2NSF NSF Capability Information Figure 9: High-Level YANG of I2NSF NSF Capability Information
In Figure 11, ietf-i2nsf-capability refers module ietf-i2nsf- In Figure 9, ietf-i2nsf-capability refers module ietf-i2nsf-
capability in [i2nsf-capability-dm]. We add the performance capability in [i2nsf-capability-dm]. We add the performance
capability because it is absent in [i2nsf-capability-dm] and capability because it is absent in [i2nsf-capability-dm] and
[netmod-acl-model] [netmod-acl-model]
6.1.6. NSF Access Information 6.1.6. NSF Access Information
This section expands the i2nsf-nsf-access-info in Figure 9 and This section expands the i2nsf-nsf-access-info in Figure 7 and
Figure 10. Figure 8.
NSF Access Information NSF Access Information
+--rw i2nsf-nsf-access-info +--rw i2nsf-nsf-access-info
+--rw nsf-address inet:ipv4-address +--rw nsf-address inet:ipv4-address
+--rw nsf-port-address inet:port-number +--rw nsf-port-address inet:port-number
Figure 12: High-Level YANG of I2NSF NSF Access Informantion Figure 10: High-Level YANG of I2NSF NSF Access Informantion
This information is used by other components to access an NSF. This information is used by other components to access an NSF.
6.1.7. NSF Performance Capability 6.1.7. NSF Performance Capability
This section expands the i2nsf-nsf-performance-caps in Figure 11. This section expands the i2nsf-nsf-performance-caps in Figure 9.
NSF Performance Capability NSF Performance Capability
+--rw i2nsf-nsf-performance-caps +--rw i2nsf-nsf-performance-caps
+--rw processing +--rw processing
| +--rw processing-average uint16 | +--rw processing-average uint16
| +--rw processing-peak uint16 | +--rw processing-peak uint16
+--rw bandwidth +--rw bandwidth
| +--rw outbound | +--rw outbound
| | +--rw outbound-average uint16 | | +--rw outbound-average uint16
| | +--rw outbound-peak uint16 | | +--rw outbound-peak uint16
| +--rw inbound | +--rw inbound
| | +--rw inbound-average uint16 | | +--rw inbound-average uint16
| | +--rw inbound-peak uint16 | | +--rw inbound-peak uint16
Figure 13: High-Level YANG of I2NSF NSF Performance Capability Figure 11: High-Level YANG of I2NSF NSF Performance Capability
When the Security Controller requests the Developer Management System When the Security Controller requests the Developer Management System
to create a new NSF instance, the performance capability is used to to create a new NSF instance, the performance capability is used to
specify the performance requirements of the new instance. specify the performance requirements of the new instance.
6.1.8. Role-Based ACL(Access Control List) 6.1.8. Role-Based ACL(Access Control List)
This section expands the ietf-netmod-acl-model in [netmod-acl-model]. This section expands the ietf-netmod-acl-model in [netmod-acl-model].
Role-Based ACL Role-Based ACL
+--rw role-based-acl +--rw role-based-acl
uses ietf-netmod-acl-model uses ietf-netmod-acl-model
Figure 14: Role-Based ACL Figure 12: Role-Based ACL
In [netmod-acl-model], ietf-netmod-acl-model refers module ietf- In [netmod-acl-model], ietf-netmod-acl-model refers module ietf-
netmod-acl-model in [netmod-acl-model]. We add the role-based ACL netmod-acl-model in [netmod-acl-model]. We add the role-based ACL
because it is absent in [i2nsf-capability-dm]. because it is absent in [i2nsf-capability-dm].
6.2. YANG Modules 6.2. YANG Modules
This section introduces a YANG module for the information model of This section introduces a YANG module for the information model of
the required data for the registration interface between Security the required data for the registration interface between Security
Controller and Developer's Management System, as defined in Controller and Developer's Management System, as defined in
Section 5. Section 5.
<CODE BEGINS> file "ietf-i2nsf-regs-interface@2018-07-26.yang" <CODE BEGINS> file "ietf-i2nsf-regs-interface@2018-11-04.yang"
module ietf-i2nsf-regs-interface { module ietf-i2nsf-regs-interface {
namespace namespace
"urn:ietf:params:xml:ns:yang:ietf-i2nsf-regs-interface"; "urn:ietf:params:xml:ns:yang:ietf-i2nsf-regs-interface";
prefix prefix
regs-interface; regs-interface;
import ietf-inet-types{ import ietf-inet-types{
prefix inet; prefix inet;
} }
organization organization
skipping to change at page 15, line 8 skipping to change at page 14, line 8
<mailto:tkroh0198@skku.edu> <mailto:tkroh0198@skku.edu>
Editor: Sarang Wi Editor: Sarang Wi
<mailto:dnl9795@skku.edu> <mailto:dnl9795@skku.edu>
Editor: Jung-Soo Park Editor: Jung-Soo Park
<mailto:pjs@etri.re.kr>"; <mailto:pjs@etri.re.kr>";
description description
"It defines a YANG data module for Registration Interface."; "It defines a YANG data module for Registration Interface.";
revision "2018-07-26"{ revision "2018-11-04"{
description "The second revision"; description "The second revision";
reference reference
"draft-ietf-i2nsf-capability-data-model-01"; "draft-ietf-i2nsf-capability-data-model-01";
} }
list interface-container{ list interface-container{
key "interface-name"; key "interface-name";
description description
"i2nsf-reg-interface-container"; "i2nsf-reg-interface-container";
leaf interface-name{ leaf interface-name{
type string; type string;
skipping to change at page 18, line 40 skipping to change at page 17, line 40
leaf nsf-port-address { leaf nsf-port-address {
type inet:port-number; type inet:port-number;
description description
"nsf-port-address"; "nsf-port-address";
} }
} }
} }
<CODE ENDS> <CODE ENDS>
Figure 15: Data Model of I2NSF Registration Interface Figure 13: Data Model of I2NSF Registration Interface
6.2.1. XML Example of Registration Interface Data Model 6.2.1. XML Example of Registration Interface Data Model
Requirement: Registering the IDS NSF with VoIP/VoLTE security Requirement: Registering the IDS NSF with VoIP/VoLTE security
capability using Registration interface. capability using Registration interface.
Here is the configuration xml for this Registration Interface: Here is the configuration xml for this Registration Interface:
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<rpc xmlns="urn:ietf:params:netconf:base:1.0" message-id="1"> <rpc xmlns="urn:ietf:params:netconf:base:1.0" message-id="1">
skipping to change at page 20, line 11 skipping to change at page 19, line 11
<nsf-access-info> <nsf-access-info>
<nsf-address>10.0.0.1</nsf-address> <nsf-address>10.0.0.1</nsf-address>
<nsf-port-address>145</nsf-port-address> <nsf-port-address>145</nsf-port-address>
</nsf-access-info> </nsf-access-info>
</i2nsf-regs-req> </i2nsf-regs-req>
</config> </config>
</edit-config> </edit-config>
</rpc> </rpc>
Figure 16: Registration Interface example Figure 14: Registration Interface example
7. Security Considerations 7. Security Considerations
This document introduces no additional security threats and SHOULD This document introduces no additional security threats and SHOULD
follow the security requirements as stated in [RFC8329]. follow the security requirements as stated in [RFC8329].
8. Acknowledgments 8. References
This work was supported by Institute for Information & communications
Technology Promotion(IITP) grant funded by the Korea government(MSIP)
(No.R-20160222-002755, Cloud based Security Intelligence Technology
Development for the Customized Security Service Provisioning).
9. References
9.1. Normative References 8.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs toIndicate [RFC2119] Bradner, S., "Key words for use in RFCs toIndicate
Requirement Levels", RFC 2119, March 1997. Requirement Levels", RFC 2119, March 1997.
[RFC6020] Bjorklund, M., "YANG - A Data Modeling Language for the [RFC6020] Bjorklund, M., "YANG - A Data Modeling Language for the
Network Configuration Protocol (NETCONF)", RFC 6020, Network Configuration Protocol (NETCONF)", RFC 6020,
October 2010. October 2010.
9.2. Informative References 8.2. Informative References
[capability-im] [capability-im]
Xia, L., Strassner, J., Basile, C., and D. Lopez, Xia, L., Strassner, J., Basile, C., and D. Lopez,
"Information Model of NSFs Capabilities", draft-i2nsf- "Information Model of NSFs Capabilities", draft-i2nsf-
capability-02 (work in progress), July 2018. capability-02 (work in progress), July 2018.
[draft-ietf-nvo3-vxlan-gpe] [draft-ietf-nvo3-vxlan-gpe]
Maino, Ed., F., Kreeger, Ed., L., and U. Elzur, Ed., Maino, Ed., F., Kreeger, Ed., L., and U. Elzur, Ed.,
"Generic Protocol Extension for VXLAN", draft-ietf-nvo3- "Generic Protocol Extension for VXLAN", draft-ietf-nvo3-
vxlan-gpe-06 (work in progress), April 2018. vxlan-gpe-06 (work in progress), April 2018.
skipping to change at page 21, line 23 skipping to change at page 20, line 17
S., and N. Bahadur, "A YANG Data Model for Routing S., and N. Bahadur, "A YANG Data Model for Routing
Information Base (RIB)", draft-ietf-i2rs-rib-data-model-15 Information Base (RIB)", draft-ietf-i2rs-rib-data-model-15
(work in progress), May 2018. (work in progress), May 2018.
[netmod-acl-model] [netmod-acl-model]
Jethanandani, M., Huang, L., Agarwal, S., and D. Blair, Jethanandani, M., Huang, L., Agarwal, S., and D. Blair,
"Network Access Control List (ACL) YANG Data Model", "Network Access Control List (ACL) YANG Data Model",
draft-ietf-netmod-acl-model-19 (work in progress), April draft-ietf-netmod-acl-model-19 (work in progress), April
2018. 2018.
[nfv-framework]
"Network Functions Virtualisation (NFV); Architectureal
Framework", ETSI GS NFV 002 ETSI GS NFV 002 V1.1.1,
October 2013.
[nsf-triggered-steering] [nsf-triggered-steering]
Hyun, S., Jeong, J., Park, J., and S. Hares, "Service Hyun, S., Jeong, J., Park, J., and S. Hares, "Service
Function Chaining-Enabled I2NSF Architecture", draft-hyun- Function Chaining-Enabled I2NSF Architecture", draft-hyun-
i2nsf-nsf-triggered-steering-06 (work in progress), July i2nsf-nsf-triggered-steering-06 (work in progress), July
2018. 2018.
[RFC8329] Lopez, D., Lopez, E., Dunbar, L., Strassner, J., and R. [RFC8329] Lopez, D., Lopez, E., Dunbar, L., Strassner, J., and R.
Kumar, "Framework for Interface to Network Security Kumar, "Framework for Interface to Network Security
Functions", RFC 8329, February 2018. Functions", RFC 8329, February 2018.
skipping to change at page 21, line 45 skipping to change at page 21, line 5
Policy Data Model for Simplified Use of Policy Policy Data Model for Simplified Use of Policy
Abstractions (SUPA)", draft-ietf-supa-generic-policy-data- Abstractions (SUPA)", draft-ietf-supa-generic-policy-data-
model-04 (work in progress), June 2017. model-04 (work in progress), June 2017.
[supa-policy-info-model] [supa-policy-info-model]
Strassner, J., Halpern, J., and S. van der Meer, "Generic Strassner, J., Halpern, J., and S. van der Meer, "Generic
Policy Information Model for Simplified Use of Policy Policy Information Model for Simplified Use of Policy
Abstractions (SUPA)", draft-ietf-supa-generic-policy-info- Abstractions (SUPA)", draft-ietf-supa-generic-policy-info-
model-03 (work in progress), May 2017. model-03 (work in progress), May 2017.
Appendix A. NSF Lifecycle Managmenet in NFV Environments
Network Functions Virtualization (NFV) can be used to implement I2NSF
framework. In NFV environments, NSFs are deployed as virtual network
functions (VNFs). Security Controller can be implemented as an
Element Management (EM) of the NFV architecture, and is connected
with the VNF Manager (VNFM) via the Ve-Vnfm interface
[nfv-framework]. Security Controller can use this interface for the
purpose of the lifecycle management of NSFs. If some NSFs need to be
instantiated to enforce security policies in the I2NSF framework,
Security Controller could request the VNFM to instantiate them
through the Ve-Vnfm interface. Or if an NSF, running as a VNF, is
not used by any traffic flows for a time period, Security Controller
may request deinstantiating it through the interface for efficient
resource utilization.
Appendix B. Changes from draft-ietf-i2nsf-registration-interface-dm-00
The following changes have been made from draft-ietf-i2nsf-
registration-interface-dm-00:
o Section 4 has been revised to clarify the major objectives of the
I2NSF registration interface, considering the register-select-
instantiate operation sequence that is typically performed through
the registration interface in I2NSF framework based on NFV.
o Section 5 has been revised as well based on the register-select-
instantiate operation sequence.
o Appendix A has been added to clarify the lifecycle management of
NSFs in I2NSF framework based on NFV.
Appendix C. Acknowledgments
This work was supported by Institute for Information & communications
Technology Promotion(IITP) grant funded by the Korea government(MSIP)
(No.R-20160222-002755, Cloud based Security Intelligence Technology
Development for the Customized Security Service Provisioning).
Appendix D. Contributors
This document is made by the group effort of I2NSF working group.
Many people actively contributed to this document. The following are
considered co-authors:
o Jinyong Tim Kim (Sungkyunkwan University)
o Susan Hares (Huawei)
o Diego R. Lopez (Telefonica)
Authors' Addresses Authors' Addresses
Sangwon Hyun Sangwon Hyun
Department of Computer Engineering Department of Computer Engineering
Chosun University Chosun University
309, Pilmun-daero, Dong-gu 309, Pilmun-daero, Dong-gu
Gwangju, Jeollanam-do 61452 Gwangju, Jeollanam-do 61452
Republic of Korea Republic of Korea
EMail: shyun@chosun.ac.kr EMail: shyun@chosun.ac.kr
Jaehoon Paul Jeong Jaehoon Paul Jeong
 End of changes. 56 change blocks. 
173 lines changed or deleted 186 lines changed or added

This html diff was produced by rfcdiff 1.47. The latest version is available from http://tools.ietf.org/tools/rfcdiff/