idnits 2.17.1 draft-hyun-i2nsf-registration-interface-im-04.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 (March 5, 2018) is 2244 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 269, 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 J. Jeong 4 Intended status: Standards Track T. Roh 5 Expires: September 6, 2018 S. Wi 6 Sungkyunkwan University 7 J. Park 8 ETRI 9 March 5, 2018 11 I2NSF Registration Interface Information Model 12 draft-hyun-i2nsf-registration-interface-im-04 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 creation, registration, and 20 deletion 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 September 6, 2018. 42 Copyright Notice 44 Copyright (c) 2018 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 . . . . . . . . . . . . . . . 6 66 5.3. NSF Access Information . . . . . . . . . . . . . . . . . 6 67 5.4. NSF Capability Information . . . . . . . . . . . . . . . 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. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 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-03 . . . . . . . . . . . . . . . . . . 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 [RFC8329]. Since these NSF instances may have different security 84 capabilities, it is important to register the security capabilities 85 of each NSF instance into the security controller after they have 86 been created. In addition, it is required to instantiate NSFs of 87 some required security capabilities on demand. As an example, if 88 additional security capabilities are required to meet the new 89 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][RFC8329] [nsf-triggered-steering]. 112 o Network Security Function (NSF): A function that is responsible 113 for specific treatment of received packets. A Network Security 114 Function can act at various layers of a protocol stack (e.g., at 115 the network layer or other OSI layers). Sample Network Security 116 Service Functions are as follows: Firewall, Intrusion Prevention/ 117 Detection System (IPS/IDS), Deep Packet Inspection (DPI), 118 Application Visibility and Control (AVC), network virus and 119 malware scanning, sandbox, Data Loss Prevention (DLP), Distributed 120 Denial of Service (DDoS) mitigation and TLS proxy 121 [nsf-triggered-steering]. 123 o Advanced Inspection/Action: As like the I2NSF information model 124 for NSF-facing interface [capability-im], Advanced Inspection/ 125 Action means that a security function calls another security 126 function for further inspection based on its own inspection result 127 [nsf-triggered-steering]. 129 o Network Security Function Profile (NSF Profile): NSF Profile 130 specifies the security and performance capability of an NSF 131 instance. Each NSF instance has its own NSF Profile which 132 describes the type of security service it can provide and its 133 performance capability. [nsf-triggered-steering]. 135 4. Objectives 137 o Registering NSF instances from Developer's Management System: 138 Depending on system's security requirements, it may require some 139 NSFs by default. In this case, DMS creates these default NSF 140 instances without the need of receiving requests from Security 141 Controller. After creating them, DMS notifies Security Controller 142 of those NSF instances via registration interface. 144 o Creating an NSF instance to serve advanced inspection/action 145 triggered by another NSF: In I2NSF framework, an NSF can trigger 146 another type of NSF(s) for more advanced security inspection of 147 the traffic. In this case, the next NSF is determined by the 148 current NSF's inspection result and I2NSF user's policy. However, 149 if there is no available NSF instance to serve the advanced 150 inspection triggered by the former NSF, we should create an NSF 151 instance by requesting Developer's Management System (DMS) through 152 registration interface. 154 o Creating NSF instances required to enforce security policy rules 155 from I2NSF user: In I2NSF framework, I2NSF users decide which 156 security service is necessary in the system. If there is no NSF 157 instances to enforce the security policy requested by I2NSF users, 158 then we should also create the required NSF instances by 159 requesting DMS via registration interface. 161 o Deleting an NSF instance that is no longer required: Various types 162 of NSF instances are running in I2NSF framework, and according to 163 dynamic changes on the security policy to be enfored in the 164 system, some types of NSF instances may be no longer required. In 165 this case, Security Controller may request DMS to destroy those 166 NSF instances via registration interface. 168 5. Information Model 170 The I2NSF registration interface was only used for registering new 171 NSF instances to Security Controller. In this document, however, we 172 extend its utilization to support on demand NSF instantiation/de- 173 instantiation and describe the information that should be exchanged 174 via the registration interface for the functionality. Moreover, we 175 also define the information model of NSF Profile because, for 176 registration interface, NSF Profile (i.e., capabilities of an NSF) 177 needs to be clarified so that the components of I2NSF framework can 178 exchange the set of capabilities in a standardized manner. This is 179 typically done through the following process: 181 1) Security Controller first recognizes the set of capabilities 182 (i.e., NSF Profile) or the signature of a specific NSF required 183 or wasted in the current system. 185 2) Developer's Management System (DMS) matches the recognized 186 information to an NSF based on the information model definition. 188 3) Developer's Management System creates or eliminates NSFs matching 189 with the above information. 191 4) Security Controller can then add/remove the corresponding NSF 192 instance to/from its list of available NSF instances in the 193 system. 195 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 196 | Registration Interface Information Model | 197 | | 198 | +-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+ | 199 | | Instance Management | | Registration | | 200 | | Sub-Model | | Sub-Model | | 201 | +-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+ | 202 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 204 Figure 1: Registration Interface Information Model 206 As illustrated in Figure 1, the information model for Registration 207 Interface consists of two sub-models: instance management, 208 registration sub-models. The instance management functionality and 209 the registration functionality use NSF Profile to achieve their 210 goals. In this context, NSF Profile is the capability objects that 211 describe and/or prescribe inspection capability an NSF instance can 212 provide. 214 5.1. NSF Instance Managment Mechanism 216 For the instance management of NSFs, Security Controller in I2NSF 217 framework requires two types of requests: Instantiation Request and 218 Deinstantiation Request. Security Controller sends the request 219 messages to DMS when required. Once receiving the request, DMS 220 conducts creating/eliminating the corresponding NSF instance and 221 responds Security Controller with the results. 223 +-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+ 224 | Instantiation | | De-instantiation | 225 | Request | | Request | 226 +-+-+-+-^-+-+-+-+-+ +-+-+-+-+-^-+-+-+-+-+ 227 | | 228 | | 229 | | 230 | | 231 +-+-+-+-+-+-+-+-++ +-+-+-+-+-+-+-+-+ 232 | NSF Capability | | NSF Access | 233 | Information | | Information | 234 +-+-+-+-+-+-+-+-++ +-+-+-+-+-+-+-+-+ 236 Figure 2: Instance Management Sub-Model 238 5.2. NSF Registration Mechanism 240 In order to register a new NSF instance, DMS should generate a 241 Registration Message to Security Controller. A Registration Message 242 consists of an NSF Profile and an NSF Access Information. The former 243 describes the inspection capability of the new NSF instance and the 244 latter is for enabling network access to the new instance from other 245 components. After this registration process, as explained in 246 [capability-im], the I2NSF capability interface can conduct 247 controlling and monitoring the new registered NSF instance. 249 +-+-+-+-+-+-+-+-+ 250 | NSF | 251 | Registration | 252 +-+-+-+-^-+-+-+-+ 253 | 254 +----------------------------+ 255 | | 256 | | 257 +-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+ 258 | NSF Capability | | NSF Access | 259 | Information | | Information | 260 +-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+ 262 Figure 3: Registration Sub-Model 264 5.3. NSF Access Information 266 NSF Access Information contains the followings that are required to 267 communicate with an NSF: IPv4 address, IPv6 address, port number, and 268 supported transport protocol(s) (e.g., Virtual Extensible LAN (VXLAN) 269 [RFC 7348], Generic Protocol Extension for VXLAN (VXLAN-GPE) 270 [nvo3-vxlan-gpe], Generic Route Encapsulation (GRE), Ethernet etc.). 271 In this document, NSF Access Information is used to identify a 272 specific NSF instance (i.e. NSF Access Information is the 273 signature(unique identifier) of an NSF instance in the overall 274 system). 276 5.4. NSF Capability Information 278 NSF Capability Information describes the security capabilities of an 279 NSF instance. In Figure 4, we show capability objects of an NSF 280 instance. Following the information model of NSF capabilities 281 defiend in [capability-im], we share the same security capabilities: 282 Network-Security Capabilities, Content-Security Capabilities, and 283 Attack Mitigation Capabilities. Also, NSF Capability Information 284 additionally contains the performance capabilities and role-Based 285 access control list (ACL) as shown in Figure 4. 287 +-+-+-+-+-+-+-+-+ 288 | Capability | 289 | Objects | 290 +-+-+-+-^-+-+-+-+ 291 | 292 +-----------------------+----------------------+----------+ 293 | | | | 294 | | | | 295 +-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+ | 296 |Network-Security | |Content-Security | |Attack Mitigation| | 297 | Capabilities | | Capabilities | | Capabilities | | 298 +-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+ | 299 | 300 +-----------------------+---------------------+ 301 | | 302 | | 303 +-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+ 304 | Performance | | Role-Based | 305 | Capabilities | | ACL | 306 +-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+ 308 Figure 4: NSF Profile Overview 310 5.4.1. Performance Capabilities 312 This information represents the processing capability of an NSF. 313 This information can be used to determine whether the NSF is in 314 congestion by comparing this with the workload that the NSF currently 315 undergoes. Moreover, this information can specify an available 316 amount of each type of resources such as processing power which are 317 available on the NSF. (The registration interface can control the 318 usages and limitations of the created instance and make the 319 appropriate request according to the status.) As illustrated in 320 Figure 5, this information consists of two items: Processing and 321 Bandwidth. Processing information describes the NSF's available 322 processing power. Bandwidth describes the information about 323 available network amount in two cases, outbound, inbound. This two 324 information can be used for the NSF's instance request. 326 +-+-+-+-+-+-+-+-+-+ 327 | Performance | 328 | Capabilities | 329 +-+-+-+-^-+-+-+-+-+ 330 | 331 +----------------------------+ 332 | | 333 | | 334 +-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+ 335 | Processing | | Bandwidth | 336 +-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+ 338 Figure 5: Performance Capability Overview 340 5.4.2. Role-based Access Control List 342 This information specifies access policies of an NSF to determine 343 whether to permit or deny the access of an entity to the NSF based on 344 the role given to the entity. Each NSF is associated with a role- 345 based access control list (ACL) so that it can determine whether to 346 permit or deny the access request from an entity. Figure 6 and 347 Figure 7 show the structure of the role-based ACL, which is composed 348 of role-id, access-type, and permit/deny. The role-id identifies 349 roles of entities (e.g., administrator, developer etc.). The access- 350 type identifies the specific type of access requests such as NSF rule 351 configuration/update and NSF monitoring. Consequently, the role- 352 based ACL in Figure 6 and Figure 7 specifies a set of access-types to 353 be permitted and to be denied by each role-id. 355 +-+-+-+-+-+-+-+-+ 356 | Role-based | 357 | ACL | 358 +-+-+-+-+-+-+-+-+ 359 | 360 +-----------------------------------+ 361 | | 362 +-+-+-+-+-+-+ +-+-+-+-+-+-+ 363 | Role-id 1 | ... | Role-id N | 364 +-+-+-+-+-+-+ +-+-+-+-+-+-+ 366 Figure 6: Role-based Access Control List 367 +-+-+-+-+-+-+-+-+ 368 | Role-id i | 369 +-+-+-+-+-+-+-+-+ 370 | 371 +---------------------------------+ 372 | | 373 +-+-+-+-+-+-+ +-+-+-+-+-+-+ 374 | Permit | | Deny | 375 +-+-+-+-+-+-+ +-+-+-+-+-+-+ 376 | | 377 +------------------+ +------------------+ 378 | | | | 379 +-+-+-+-+-+-+ +-+-+-+-+-+-+ +-+-+-+-+-+-+ +-+-+-+-+-+-+ 380 |access-type| ... |access-type| |access-type| ... |access-type| 381 | p1 | | pn | | d1 | | dn | 382 +-+-+-+-+-+-+ +-+-+-+-+-+-+ +-+-+-+-+-+-+ +-+-+-+-+-+-+ 384 Figure 7: Role-id Subtree 386 6. Security Considerations 388 The information model of the registration interface is based on the 389 I2NSF framework without any architectural changes. Thus, this 390 document shares the security considerations of the I2NSF framwork 391 that are specified in [RFC8329] for the purpose of achieving secure 392 communication between components in the proposed architecture. 394 7. Acknowledgments 396 This work was supported by Institute for Information & communications 397 Technology Promotion(IITP) grant funded by the Korea government(MSIP) 398 (No.R-20160222-002755, Cloud based Security Intelligence Technology 399 Development for the Customized Security Service Provisioning). 401 This document has greatly benefited from inputs by SangUk Woo and 402 YunSuk Yeo. 404 8. References 406 8.1. Normative References 408 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 409 Requirement Levels", BCP 14, RFC 2119, March 1997. 411 8.2. Informative References 413 [capability-im] 414 Xia, L., Strassner, J., Basile, C., and D. Lopez, 415 "Information Model of NSFs Capabilities", draft-ietf- 416 i2nsf-capability-00 (work in progress), September 2017. 418 [i2nsf-terminology] 419 Hares, S., Strassner, J., Lopez, D., Xia, L., and H. 420 Birkholz, "Interface to Network Security Functions (I2NSF) 421 Terminology", draft-ietf-i2nsf-terminology-05 (work in 422 progress), January 2018. 424 [nsf-triggered-steering] 425 Hyun, S., Jeong, J., Park, J., and S. Hares, "Service 426 Function Chaining-Enabled I2NSF Architecture", draft-hyun- 427 i2nsf-nsf-triggered-steering-05 (work in progress), March 428 2018. 430 [nvo3-vxlan-gpe] 431 Maino, Ed., F., Kreeger, Ed., L., and U. Elzur, Ed., 432 "Generic Protocol Extension for VXLAN", draft-ietf-nvo3- 433 vxlan-gpe-05 (work in progress), October 2017. 435 [RFC8329] Lopez, D., Lopez, E., Dunbar, L., Strassner, J., and R. 436 Kumar, "Framework for Interface to Network Security 437 Functions", RFC 8329, February 2018. 439 Appendix A. Changes from draft-hyun-i2nsf-registration-interface-im-03 441 The following changes have been made from draft-hyun-i2nsf- 442 registration-interface-im-03: 444 o Section 4 has been revised to discuss about destructing an NSF 445 instance no longer required via registration interface. 447 o We changed "NSF profile" into "NSF capability information." 449 o Figures 1, 2 and 3 have been updated. 451 Authors' Addresses 453 Sangwon Hyun 454 Department of Software 455 Sungkyunkwan University 456 2066 Seobu-Ro, Jangan-Gu 457 Suwon, Gyeonggi-Do 16419 458 Republic of Korea 460 Phone: +82 31 290 7222 461 Fax: +82 31 299 6673 462 EMail: swhyun77@skku.edu 463 URI: http://imtl.skku.ac.kr/ 465 Jaehoon Paul Jeong 466 Department of Software 467 Sungkyunkwan University 468 2066 Seobu-Ro, Jangan-Gu 469 Suwon, Gyeonggi-Do 16419 470 Republic of Korea 472 Phone: +82 31 299 4957 473 Fax: +82 31 290 7996 474 EMail: pauljeong@skku.edu 475 URI: http://iotlab.skku.edu/people-jaehoon-jeong.php 476 TaeKyun Roh 477 Department of Software 478 Sungkyunkwan University 479 2066 Seobu-Ro, Jangan-Gu 480 Suwon, Gyeonggi-Do 16419 481 Republic of Korea 483 Phone: +82 31 290 7222 484 Fax: +82 31 299 6673 485 EMail: tkroh0198@skku.edu 486 URI: http://imtl.skku.ac.kr/index.php?mid=member_student 488 SaRang Wi 489 Department of Software 490 Sungkyunkwan University 491 2066 Seobu-Ro, Jangan-Gu 492 Suwon, Gyeonggi-Do 16419 493 Republic of Korea 495 Phone: +82 31 290 7222 496 Fax: +82 31 299 6673 497 EMail: dnl9795@skku.edu 498 URI: http://imtl.skku.ac.kr/index.php?mid=member_student 500 Jung-Soo Park 501 Electronics and Telecommunications Research Institute 502 218 Gajeong-Ro, Yuseong-Gu 503 Daejeon 305-700 504 Republic of Korea 506 Phone: +82 42 860 6514 507 EMail: pjs@etri.re.kr