idnits 2.17.1 draft-hyun-i2nsf-registration-interface-im-03.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- ** The document seems to lack an IANA Considerations section. (See Section 2.2 of https://www.ietf.org/id-info/checklist for how to handle the case when there are no actions for IANA.) Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year == The document doesn't use any RFC 2119 keywords, yet seems to have RFC 2119 boilerplate text. -- The document date (October 30, 2017) is 2368 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) == Missing Reference: 'RFC 7348' is mentioned on line 262, but not defined Summary: 1 error (**), 0 flaws (~~), 3 warnings (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Network Working Group S. Hyun 3 Internet-Draft T. Roh 4 Intended status: Standards Track S. Wi 5 Expires: May 3, 2018 J. Jeong 6 Sungkyunkwan University 7 J. Park 8 ETRI 9 October 30, 2017 11 Registration Interface Information Model 12 draft-hyun-i2nsf-registration-interface-im-03 14 Abstract 16 This document describes an information model for Interface to Network 17 Security Functions (I2NSF) Registration Interface between Security 18 Controller and Developer's Management System (DMS). The information 19 model is required to support NSF instance registration and NSF 20 instantiation request via the registration interface. This document 21 explains the procedures over I2NSF registration interface for these 22 functionalities. It also describes the detailed information which 23 should be exchanged via I2NSF registration interface. 25 Status of This Memo 27 This Internet-Draft is submitted in full conformance with the 28 provisions of BCP 78 and BCP 79. 30 Internet-Drafts are working documents of the Internet Engineering 31 Task Force (IETF). Note that other groups may also distribute 32 working documents as Internet-Drafts. The list of current Internet- 33 Drafts is at https://datatracker.ietf.org/drafts/current/. 35 Internet-Drafts are draft documents valid for a maximum of six months 36 and may be updated, replaced, or obsoleted by other documents at any 37 time. It is inappropriate to use Internet-Drafts as reference 38 material or to cite them other than as "work in progress." 40 This Internet-Draft will expire on May 3, 2018. 42 Copyright Notice 44 Copyright (c) 2017 IETF Trust and the persons identified as the 45 document authors. All rights reserved. 47 This document is subject to BCP 78 and the IETF Trust's Legal 48 Provisions Relating to IETF Documents 49 (https://trustee.ietf.org/license-info) in effect on the date of 50 publication of this document. Please review these documents 51 carefully, as they describe your rights and restrictions with respect 52 to this document. Code Components extracted from this document must 53 include Simplified BSD License text as described in Section 4.e of 54 the Trust Legal Provisions and are provided without warranty as 55 described in the Simplified BSD License. 57 Table of Contents 59 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 60 2. Requirements Language . . . . . . . . . . . . . . . . . . . . 3 61 3. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 62 4. Objectives . . . . . . . . . . . . . . . . . . . . . . . . . 3 63 5. Information Model . . . . . . . . . . . . . . . . . . . . . . 4 64 5.1. NSF Instance Managment Mechanism . . . . . . . . . . . . 5 65 5.2. NSF Registration Mechanism . . . . . . . . . . . . . . . 5 66 5.3. NSF Access Information . . . . . . . . . . . . . . . . . 6 67 5.4. NSF Profile (Capabilities of an NSF instance) . . . . . . 6 68 5.4.1. Performance Capabilities . . . . . . . . . . . . . . 7 69 5.4.2. Role-based Access Control List . . . . . . . . . . . 8 70 6. Security Considerations . . . . . . . . . . . . . . . . . . . 9 71 7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 9 72 8. References . . . . . . . . . . . . . . . . . . . . . . . . . 9 73 8.1. Normative References . . . . . . . . . . . . . . . . . . 9 74 8.2. Informative References . . . . . . . . . . . . . . . . . 10 75 Appendix A. Changes from draft-hyun-i2nsf-registration- 76 interface-im-02 . . . . . . . . . . . . . . . . . . 11 77 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 11 79 1. Introduction 81 A number of virtual network security function instances typically 82 exist in Interface to Network Security Functions (I2NSF) framework 83 [i2nsf-framework]. Since these NSF instances may have different 84 security capabilities, it is important to register the security 85 capabilities of each NSF instance into the security controller after 86 they have been created. In addition, it is required to instantiate 87 NSFs of some required security capabilities on demand. As an 88 example, if additional security capabilities are required to meet the 89 new security requirements that an I2NSF user requests, the security 90 controller should be able to request the DMS to instantiate NSFs that 91 have the required security capabilities. 93 This document describes the information model which is required for 94 the registration interface between security controller and 95 developer's management system to support registration and 96 instantiation of NSFs. It further describes the procedure based on 97 the information model which should be performed by the security 98 controller and the developer's management system via the registration 99 interface. 101 2. Requirements Language 103 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 104 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 105 document are to be interpreted as described in [RFC2119]. 107 3. Terminology 109 This document uses the terminology described in 110 [i2nsf-terminology][capability-im][i2nsf-framework] 111 [nsf-triggered-steering]. 113 o Network Security Function (NSF): A function that is responsible 114 for specific treatment of received packets. A Network Security 115 Function can act at various layers of a protocol stack (e.g., at 116 the network layer or other OSI layers). Sample Network Security 117 Service Functions are as follows: Firewall, Intrusion Prevention/ 118 Detection System (IPS/IDS), Deep Packet Inspection (DPI), 119 Application Visibility and Control (AVC), network virus and 120 malware scanning, sandbox, Data Loss Prevention (DLP), Distributed 121 Denial of Service (DDoS) mitigation and TLS proxy 122 [nsf-triggered-steering]. 124 o Advanced Inspection/Action: As like the I2NSF information model 125 for NSF-facing interface [capability-im], Advanced Inspection/ 126 Action means that a security function calls another security 127 function for further inspection based on its own inspection result 128 [nsf-triggered-steering]. 130 o Network Security Function Profile (NSF Profile): NSF Profile 131 specifies the security and performance capability of an NSF 132 instance. Each NSF instance has its own NSF Profile which 133 describes the type of security service it can provide and its 134 performance capability. [nsf-triggered-steering]. 136 4. Objectives 138 o Registering NSF instances from Developer's Management System: 139 Depending on system's security requirements, it may require some 140 NSFs by default. In this case, DMS creates these default NSF 141 instances without the need of receiving requests from Security 142 Controller. After creating them, DMS notifies Security Controller 143 of those NSF instances via registration interface. 145 o Creating an NSF instance to serve another NSF's inspection 146 request: In I2NSF framework, an NSF can trigger another type of 147 NSF(s) for more advanced security inspection of the traffic. In 148 this case, the next NSF is determined by the current NSF's 149 inspection result and client's policy. However, if there is no 150 available NSF instance to serve the former NSF's request, we 151 should create an NSF instance by requesting Developer's Management 152 System (DMS) through registration interface. 154 o Creating NSF instances required to enforce security policy rules 155 from Client: In I2NSF framework, users decide which security 156 service is necessary in the system. If there is no NSF instances 157 to enforce the client's security policy, then we should also 158 create the required instances by requesting DMS via registration 159 interface. 161 5. Information Model 163 The I2NSF registration interface was only used for registering new 164 NSF instances to Security Controller. In this document, however, we 165 extend its utilization to support on demand NSF instantiation/de- 166 instantiation and describe the information that should be exchanged 167 via the registration interface for the functionality. Moreover, we 168 also define the information model of NSF Profile because, for 169 registration interface, NSF Profile (i.e., capabilities of an NSF) 170 needs to be clarified so that the components of I2NSF framework can 171 exchange the set of capabilities in a standardized manner. This is 172 typically done through the following process: 174 1) Security Controller first recognizes the set of capabilities 175 (i.e., NSF Profile) or the signature of a specific NSF required 176 or wasted in the current system. 178 2) Developer's Management System (DMS) matches the recognized 179 information to an NSF based on the information model definition. 181 3) Developer's Management System creates or eliminates NSFs matching 182 with the above information. 184 4) Security Controller can then add/remove the corresponding NSF 185 instance to/from its list of available NSF instances in the 186 system. 188 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 189 | Registration Interface Information Design | 190 | | 191 | +-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+ | 192 | | Instance Management | | Registration | | 193 | | Sub-Model | | Sub-Model | | 194 | +-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+ | 195 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 197 Figure 1: The Registration Interface Information Model Design 199 As illustrated in Figure 1, the information model for Registration 200 Interface consists of two sub-models: instance management, 201 registration sub-models. The instance management functionality and 202 the registration functionality use NSF Profile to achieve their 203 goals. In this context, NSF Profile is the capability objects that 204 describe and/or prescribe inspection capability an NSF instance can 205 provide. 207 5.1. NSF Instance Managment Mechanism 209 For the instance management of NSFs, Security Controller in I2NSF 210 framework requires two types of requests: Instantiation Request and 211 Deinstantiation Request. Security Controller sends the request 212 messages to DMS when required. Once receiving the request, DMS 213 conducts creating/eliminating the corresponding NSF instance and 214 responds Security Controller with the results. 216 +-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+ 217 | Instantiation | | De-instantiation | 218 | Request | | Request | 219 +-+-+-+-^-+-+-+-+-+ +-+-+-+-+-^-+-+-+-+-+ 220 | | 221 | | 222 | | 223 | | 224 +-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+ 225 | NSF Profile | | NSF Access | 226 | | | Information | 227 +-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+ 229 Figure 2: Instance Management Sub-Model Overview 231 5.2. NSF Registration Mechanism 233 In order to register a new NSF instance, DMS should generate a 234 Registration Message to Security Controller. A Registration Message 235 consists of an NSF Profile and an NSF Access Information. The former 236 describes the inspection capability of the new NSF instance and the 237 latter is for enabling network access to the new instance from other 238 components. After this registration process, as explained in 239 [capability-im], the I2NSF capability interface can conduct 240 controlling and monitoring the new registered NSF instance. 242 +-+-+-+-+-+-+-+-+ 243 | NSF | 244 | Registration | 245 +-+-+-+-^-+-+-+-+ 246 | 247 +----------------------------+ 248 | | 249 | | 250 +-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+ 251 | NSF Profile | | NSF Access | 252 | | | Information | 253 +-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+ 255 Figure 3: Registration Mechanism Sub-Model Overview 257 5.3. NSF Access Information 259 NSF Access Information contains the followings that are required to 260 communicate with an NSF: IPv4 address, IPv6 address, port number, and 261 supported transport protocol(s) (e.g., Virtual Extensible LAN (VXLAN) 262 [RFC 7348], Generic Protocol Extension for VXLAN (VXLAN-GPE) 263 [draft-ietf-nvo3-vxlan-gpe-04], Generic Route Encapsulation (GRE), 264 Ethernet etc.). In this document, NSF Access Information is used to 265 identify a specific NSF instance (i.e. NSF Access Information is the 266 signature(unique identifier) of an NSF instance in the overall 267 system). 269 5.4. NSF Profile (Capabilities of an NSF instance) 271 NSF Profile basically describes the inspection capabilities of an NSF 272 instance. In Figure 4, we show capability objects of an NSF 273 instance. Following the information model of NSF capabilities 274 defiend in [capability-im], we share the same security capabilities: 275 Network-Security Capabilities, Content-Security Capabilities, and 276 Attack Mitigation Capabilities. In addition, NSF Profile contains 277 the performance capabilities and role-Based access control list (ACL) 278 as shown in Figure 4. 280 +-+-+-+-+-+-+-+-+ 281 | Capability | 282 | Objects | 283 +-+-+-+-^-+-+-+-+ 284 | 285 +-----------------------+----------------------+----------+ 286 | | | | 287 | | | | 288 +-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+ | 289 |Network-Security | |Content-Security | |Attack Mitigation| | 290 | Capabilities | | Capabilities | | Capabilities | | 291 +-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+ | 292 | 293 +-----------------------+---------------------+ 294 | | 295 | | 296 +-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+ 297 | Performance | | Role-Based | 298 | Capabilities | | ACL | 299 +-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+ 301 Figure 4: NSF Profile Overview 303 5.4.1. Performance Capabilities 305 This information represents the processing capability of an NSF. 306 This information can be used to determine whether the NSF is in 307 congestion by comparing this with the workload that the NSF currently 308 undergoes. Moreover, this information can specify an available 309 amount of each type of resources such as processing power which are 310 available on the NSF. (The registration interface can control the 311 usages and limitations of the created instance and make the 312 appropriate request according to the status.) As illustrated in 313 Figure 5, this information consists of two items: Processing and 314 Bandwidth. Processing information describes the NSF's available 315 processing power. Bandwidth describes the information about 316 available network amount in two cases, outbound, inbound. This two 317 information can be used for the NSF's instance request. 319 +-+-+-+-+-+-+-+-+-+ 320 | Performance | 321 | Capabilities | 322 +-+-+-+-^-+-+-+-+-+ 323 | 324 +----------------------------+ 325 | | 326 | | 327 +-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+ 328 | Processing | | Bandwidth | 329 +-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+ 331 Figure 5: Performance Capability Overview 333 5.4.2. Role-based Access Control List 335 This information specifies access policies of an NSF to determine 336 whether to permit or deny the access of an entity to the NSF based on 337 the role given to the entity. Each NSF is associated with a role- 338 based access control list (ACL) so that it can determine whether to 339 permit or deny the access request from an entity. Figure 6 and 340 Figure 7 show the structure of the role-based ACL, which is composed 341 of role-id, access-type, and permit/deny. The role-id identifies 342 roles of entities (e.g., administrator, developer etc.). The access- 343 type identifies the specific type of access requests such as NSF rule 344 configuration/update and NSF monitoring. Consequently, the role- 345 based ACL in Figure 6 and Figure 7 specifies a set of access-types to 346 be permitted and to be denied by each role-id. 348 +-+-+-+-+-+-+-+-+ 349 | Role-based | 350 | ACL | 351 +-+-+-+-+-+-+-+-+ 352 | 353 +-----------------------------------+ 354 | | 355 +-+-+-+-+-+-+ +-+-+-+-+-+-+ 356 | Role-id 1 | ... | Role-id N | 357 +-+-+-+-+-+-+ +-+-+-+-+-+-+ 359 Figure 6: Role-based Access Control List 360 +-+-+-+-+-+-+-+-+ 361 | Role-id i | 362 +-+-+-+-+-+-+-+-+ 363 | 364 +---------------------------------+ 365 | | 366 +-+-+-+-+-+-+ +-+-+-+-+-+-+ 367 | Permit | | Deny | 368 +-+-+-+-+-+-+ +-+-+-+-+-+-+ 369 | | 370 +------------------+ +------------------+ 371 | | | | 372 +-+-+-+-+-+-+ +-+-+-+-+-+-+ +-+-+-+-+-+-+ +-+-+-+-+-+-+ 373 |access-type| ... |access-type| |access-type| ... |access-type| 374 | p1 | | pn | | d1 | | dn | 375 +-+-+-+-+-+-+ +-+-+-+-+-+-+ +-+-+-+-+-+-+ +-+-+-+-+-+-+ 377 Figure 7: Role-id Subtree 379 6. Security Considerations 381 The information model of the registration interface is based on the 382 I2NSF framework without any architectural changes. Thus, this 383 document shares the security considerations of the I2NSF framwork 384 that are specified in [i2nsf-framework] for the purpose of achieving 385 secure communication between components in the proposed architecture. 387 7. Acknowledgements 389 This work was supported by Institute for Information & communications 390 Technology Promotion(IITP) grant funded by the Korea government(MSIP) 391 (No.R-20160222-002755, Cloud based Security Intelligence Technology 392 Development for the Customized Security Service Provisioning). 394 This document has greatly benefited from inputs by SangUk Woo and 395 YunSuk Yeo. 397 8. References 399 8.1. Normative References 401 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 402 Requirement Levels", BCP 14, RFC 2119, March 1997. 404 8.2. Informative References 406 [capability-im] 407 Xia, L., Strassner, J., Basile, C., and D. Lopez, 408 "Information Model of NSFs Capabilities", draft-ietf- 409 i2nsf-capability-00 (work in progress), September 2017. 411 [draft-ietf-nvo3-vxlan-gpe-04] 412 Maino, Ed., F., Kreeger, Ed., L., and U. Elzur, Ed., 413 "Generic Protocol Extension for VXLAN", draft-ietf-nvo3- 414 vxlan-gpe-04 (work in progress), April 2017. 416 [i2nsf-framework] 417 Lopez, D., Lopez, E., Dunbar, L., Strassner, J., and R. 418 Kumar, "Framework for Interface to Network Security 419 Functions", draft-ietf-i2nsf-framework-08 (work in 420 progress), October 2017. 422 [i2nsf-terminology] 423 Hares, S., Strassner, J., Lopez, D., Xia, L., and H. 424 Birkholz, "Interface to Network Security Functions (I2NSF) 425 Terminology", draft-ietf-i2nsf-terminology-04 (work in 426 progress), July 2017. 428 [nsf-triggered-steering] 429 Hyun, S., Jeong, J., Park, J., and S. Hares, "NSF- 430 Triggered Traffic Steering", draft-hyun-i2nsf-nsf- 431 triggered-steering-03 (work in progress), July 2017. 433 Appendix A. Changes from draft-hyun-i2nsf-registration-interface-im-02 435 The following changes are made from draft-hyun-i2nsf-registration- 436 interface-im-02: 438 o We added the contents of role-based ACL to NSF profile. 440 o We simplified the performance capability by abstracting away the 441 details of each type of resources. 443 o We replaced the existing dynamic life cycle management with the 444 instance management. 446 o The references were updated to reflect the latest documents. 448 Authors' Addresses 450 Sangwon Hyun 451 Department of Software 452 Sungkyunkwan University 453 2066 Seobu-Ro, Jangan-Gu 454 Suwon, Gyeonggi-Do 16419 455 Republic of Korea 457 Phone: +82 31 290 7222 458 Fax: +82 31 299 6673 459 EMail: swhyun77@skku.edu 460 URI: http://imtl.skku.ac.kr/ 462 TaeKyun Roh 463 Department of Software 464 Sungkyunkwan University 465 2066 Seobu-Ro, Jangan-Gu 466 Suwon, Gyeonggi-Do 16419 467 Republic of Korea 469 Phone: +82 31 290 7222 470 Fax: +82 31 299 6673 471 EMail: tkroh0198@skku.edu 472 URI: http://imtl.skku.ac.kr/index.php?mid=member_student 473 SaRang Wi 474 Department of Software 475 Sungkyunkwan University 476 2066 Seobu-Ro, Jangan-Gu 477 Suwon, Gyeonggi-Do 16419 478 Republic of Korea 480 Phone: +82 31 290 7222 481 Fax: +82 31 299 6673 482 EMail: dnl9795@skku.edu 483 URI: http://imtl.skku.ac.kr/index.php?mid=member_student 485 Jaehoon Paul Jeong 486 Department of Software 487 Sungkyunkwan University 488 2066 Seobu-Ro, Jangan-Gu 489 Suwon, Gyeonggi-Do 16419 490 Republic of Korea 492 Phone: +82 31 299 4957 493 Fax: +82 31 290 7996 494 EMail: pauljeong@skku.edu 495 URI: http://iotlab.skku.edu/people-jaehoon-jeong.php 497 Jung-Soo Park 498 Electronics and Telecommunications Research Institute 499 218 Gajeong-Ro, Yuseong-Gu 500 Daejeon 305-700 501 Republic of Korea 503 Phone: +82 42 860 6514 504 EMail: pjs@etri.re.kr