idnits 2.17.1 draft-ietf-i2rs-protocol-security-requirements-07.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 : ---------------------------------------------------------------------------- No issues found here. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year -- The document date (August 16, 2016) is 2810 days in the past. Is this intentional? Checking references for intended status: Informational ---------------------------------------------------------------------------- == Outdated reference: A later version (-23) exists of draft-ietf-i2rs-ephemeral-state-15 == Outdated reference: A later version (-06) exists of draft-ietf-i2rs-security-environment-reqs-01 -- Obsolete informational reference (is this intentional?): RFC 4960 (Obsoleted by RFC 9260) Summary: 0 errors (**), 0 flaws (~~), 3 warnings (==), 2 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 I2RS working group S. Hares 3 Internet-Draft Huawei 4 Intended status: Informational D. Migault 5 Expires: February 17, 2017 J. Halpern 6 Ericsson 7 August 16, 2016 9 I2RS Security Related Requirements 10 draft-ietf-i2rs-protocol-security-requirements-07 12 Abstract 14 This presents security-related requirements for the I2RS protocol for 15 mutual authentication, transport protocols, data transfer and 16 transactions. 18 Status of This Memo 20 This Internet-Draft is submitted in full conformance with the 21 provisions of BCP 78 and BCP 79. 23 Internet-Drafts are working documents of the Internet Engineering 24 Task Force (IETF). Note that other groups may also distribute 25 working documents as Internet-Drafts. The list of current Internet- 26 Drafts is at http://datatracker.ietf.org/drafts/current/. 28 Internet-Drafts are draft documents valid for a maximum of six months 29 and may be updated, replaced, or obsoleted by other documents at any 30 time. It is inappropriate to use Internet-Drafts as reference 31 material or to cite them other than as "work in progress." 33 This Internet-Draft will expire on February 17, 2017. 35 Copyright Notice 37 Copyright (c) 2016 IETF Trust and the persons identified as the 38 document authors. All rights reserved. 40 This document is subject to BCP 78 and the IETF Trust's Legal 41 Provisions Relating to IETF Documents 42 (http://trustee.ietf.org/license-info) in effect on the date of 43 publication of this document. Please review these documents 44 carefully, as they describe your rights and restrictions with respect 45 to this document. Code Components extracted from this document must 46 include Simplified BSD License text as described in Section 4.e of 47 the Trust Legal Provisions and are provided without warranty as 48 described in the Simplified BSD License. 50 Table of Contents 52 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 53 1.1. Requirements Language . . . . . . . . . . . . . . . . . . 3 54 2. Definitions . . . . . . . . . . . . . . . . . . . . . . . . . 3 55 2.1. Security Definitions . . . . . . . . . . . . . . . . . . 3 56 2.2. I2RS Specific Definitions . . . . . . . . . . . . . . . . 6 57 3. Security-Related Requirements . . . . . . . . . . . . . . . . 7 58 3.1. Mutual authentication of an I2RS client and an I2RS Agent 8 59 3.2. Transport Requirements Based on Mutual Authentication . . 9 60 3.3. Data Confidentiality Requirements . . . . . . . . . . . . 10 61 3.4. Data Integrity Requirements . . . . . . . . . . . . . . . 10 62 3.5. Role-Based Data Model Security . . . . . . . . . . . . . 11 63 3.6. Security of the environment . . . . . . . . . . . . . . . 12 64 4. Acknowledgement . . . . . . . . . . . . . . . . . . . . . . . 12 65 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 12 66 6. Security Considerations . . . . . . . . . . . . . . . . . . . 12 67 7. References . . . . . . . . . . . . . . . . . . . . . . . . . 12 68 7.1. Normative References . . . . . . . . . . . . . . . . . . 12 69 7.2. Informative References . . . . . . . . . . . . . . . . . 13 70 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 13 72 1. Introduction 74 The Interface to the Routing System (I2RS) provides read and write 75 access to information and state within the routing process. An I2RS 76 client interacts with one or more I2RS agents to collect information 77 from network routing systems. 79 This document describes the requirements for the I2RS protocol in the 80 security-related areas of mutual authentication of the I2RS client 81 and agent, the transport protocol carrying the I2RS protocol 82 messages, and the atomicity of the transactions. These requirements 83 align with the description of the I2RS architecture found in 84 [RFC7921] document which solves the problem described in [RFC7920]. 86 [I-D.ietf-i2rs-ephemeral-state] discusses I2RS role-based access 87 control that provides write conflict resolution in the ephemeral data 88 store using the I2RS Client Identity, I2RS Secondary Identity and 89 priority. The draft [RFC7922] describes the traceability framework 90 and its requirements for I2RS. The draft [RFC7923] describes the 91 requirements for I2RS to be able to publish information or have a 92 remote client subscribe to an information data stream. 94 1.1. Requirements Language 96 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 97 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 98 document are to be interpreted as described in RFC 2119 [RFC2119]. 100 2. Definitions 102 2.1. Security Definitions 104 This document utilizes the definitions found in the following 105 documents: [RFC4949] and [RFC7921] 107 Specifically, this document utilizes the following definitions: 109 access control 111 [RFC4949] defines access control as the following: 113 1. (I) Protection of system resources against unauthorized 114 access. 116 2. (I) A process by which use of system resources is regulated 117 according to a security policy and is permitted only by 118 authorized entities (users, programs, processes, or other 119 systems) according to that policy. (See: access, access 120 control service, computer security, discretionary access 121 control, mandatory access control, role-based access control.) 123 3. (I) /formal model/ Limitations on interactions between 124 subjects and objects in an information system. 126 4. (O) "The prevention of unauthorized use of a resource, 127 including the prevention of use of a resource in an 128 unauthorized manner." 130 5. (O) /U.S. Government/ A system using physical, electronic, 131 or human controls to identify or admit personnel with properly 132 authorized access to a SCIF. 134 Authentication 136 [RFC4949] describes authentication as the process of verifying 137 (i.e., establishing the truth of) an attribute value claimed by or 138 for a system entity or system resource. Authentication has two 139 steps: identify and verify. 141 Data Confidentiality 143 [RFC4949] describes data confidentiality as having two properties: 145 a) Data is not disclosed to system entities unless they have 146 been authorized to know the data, and 148 b) Data is not disclosed to unauthorized individuals, entities 149 or processes. 151 The key point is that confidentiality implies that the originator 152 has the ability to authorize where the information goes. 153 Confidentiality is important for both read and write scope of the 154 data. 156 Data Integrity 158 [RFC4949] states data integrity includes: 160 1. (I) The property that data has not been changed, destroyed, 161 or lost in an unauthorized or accidental manner. [...] 163 2. (O) "The property that information has not been modified or 164 destroyed in an unauthorized manner." 166 Data Privacy 168 [RFC4949] describes data privacy as a synonym for data 169 confidentiality. This I2RS document will utilize data privacy as 170 a synonym for data confidentiality. 172 Identity 174 [RFC4949] (I) The collective aspect of a set of attribute values 175 (i.e., a set of characteristics) by which a system user or other 176 system entity is recognizable or known. (See: authenticate, 177 registration. Compare: identifier.) 179 Identifier 181 [RFC4949] (I) A data object -- often, a printable, non-blank 182 character string -- that definitively represents a specific 183 identity of a system entity, distinguishing that identity from all 184 others. (Compare: identity.) 186 Mutual Authentication 188 [RFC4949] implies that mutual authentication exists between two 189 interacting system entities. 191 Mutual authentication in I2RS implies that both sides move from a 192 state of mutual suspicion to to mutual authentication to trusted 193 mutual communication after each system has been identified and 194 validated by its peer system. 196 role 198 [RFC4949] describes role as: 200 1. (I) A job function or employment position to which people 201 or other system entities may be assigned in a system. [...] 203 2. (O) /Common Criteria/ A pre-defined set of rules 204 establishing the allowed interactions between a user and the 205 TOE. 207 The I2RS uses the common criteria definition. 209 role-based access control 211 [RFC4949] describes role-based access control as: "A form of 212 identity-based access control wherein the system entities that are 213 identified and controlled are functional positions in an 214 organization or process." 216 security audit trail 218 [RFC4949] describes a security audit trail as "A chronological 219 record of system activities that is sufficient to enable the 220 reconstruction and examination of the sequence environments and 221 activities surrounding or leading to an operation, procedure, or 222 event in a security-relevant transaction from inception to final 223 results." 225 Requirements to support a security audit is not covered in this 226 document. 228 [RFC7922] describes traceability for I2RS interface and the I2RS 229 protocol. Traceability is not equivalent to a security audit 230 trail. 232 Trust 234 [RFC4949] 236 1. (I) /information system/ A feeling of certainty (sometimes 237 based on inconclusive evidence) either (a) that the system 238 will not fail or (b) that the system meets its specifications 239 (i.e., the system does what it claims to do and does not 240 perform unwanted functions). (See: trust level, trusted 241 system, trustworthy system. Compare: assurance.) 243 2. . (I) /PKI/ A relationship between a certificate user and a CA 244 in which the user acts according to the assumption that the CA 245 creates only valid digital certificates. (Also referred as 246 "trusted" in [RFC4949].) 248 2.2. I2RS Specific Definitions 250 I2RS protocol data integrity 252 The transfer of data via the I2RS protocol has the property of 253 data integrity described in [RFC4949]. 255 I2RS component protocols 257 Protocols which are combined to create the I2RS protocol. 259 I2RS Higher-level protocol 261 The I2RS protocol exists as a higher-level protocol which may 262 combine other protocols (NETCONF, RESTCONF, IPFIX and others) 263 within a specific I2RS client-agent relationship with a specific 264 trust for ephemeral configurations, event, tracing, actions, and 265 data flow interactions. The protocols included in the I2RS 266 protocol protocol are defined as I2RS component protocols. (Note: 267 Version 1 of the I2RS protocol will combine only NETCONF and 268 RESTCONF. Experiments with other protocols such as IPFIX have 269 shown these are useful to combine with NETCONF and RESTCONF 270 features.) 272 I2RS message 274 is a complete data message of one of the I2RS component protocols. 275 The I2RS component protocols may require multiple IP-packets to 276 send one protocol message. 278 I2RS multi-message atomicity 280 An I2RS operation (read, write, event, action) must be contained 281 within one I2RS message. Each I2RS operation must be atomic. 282 While it is possible to have an I2RS operation which is contained 283 in multiple I2RS (E.g. write in multiple messages), this is not 284 supported in order to simplify the first version of I2RS. 285 Multiple-message atomicity of I2RS operations would be used in a 286 roll-back of a grouping of commands (e.g. multiple writes). 288 I2RS transaction 290 is a unit of I2RS functionality. Some examples of I2RS 291 transactions are: 293 * The I2RS client issues a read request to a I2RS agent, and the 294 I2RS Agent responding to the read request 296 * The I2RS client issues a write of ephemeral configuration 297 values into an I2RS agent's data model, followed by the I2RS 298 agent response to the write. 300 * An I2RS client may issue an action request, the I2RS agent 301 responds to the action-request, and then responds when action 302 is complete. Actions can be single step processes or multiple 303 step process. 305 * An I2RS client requests to receive an event notification, and 306 the I2RS Agent sets up to send the events. 308 * An I2RS agent sends events to an I2RS Client on an existing 309 connection. 311 An I2RS action may require multiple I2RS messages in order to 312 complete a transation. 314 I2RS secondary identifier 316 The I2RS architecture document [RFC7921] defines a secondary 317 identity as the entity of some non-I2RS entity (e.g. application) 318 which has requested a particular I2RS client perform an operation. 319 The I2RS secondary identifier represents this identity so it may 320 be distinguished from all others. 322 3. Security-Related Requirements 324 The security for the I2RS protocol requires mutually authenticated 325 I2RS clients and I2RS agents. The I2RS client and I2RS agent using 326 the I2RS protocol MUST be able to exchange data over a secure 327 transport, but some functions may operate on a non-secure transport. 328 The I2RS protocol MUST be able to provide atomicity of an I2RS 329 transaction, but it is not required to have multi-message atomicity 330 and roll-back mechanism transactions. Multiple messages transactions 331 may be impacted by the interdependency of data. This section 332 discusses the details of these security requirements. 334 There are dependencies in some of the requirements below. For 335 confidentiality (section 3.3) and integrity (section 3.4) to be 336 achieved, the client-agent must have mutual authentication (section 337 3.1) and secure transport (section 3.2). I2RS allows the use of an 338 insecure transport for portions of data models that clearly indicate 339 insecure transport. If insecure transport is used, then 340 confidentiality and integrity cannot be achieved. 342 3.1. Mutual authentication of an I2RS client and an I2RS Agent 344 The I2RS architecture [RFC7921] sets the following requirements: 346 o SEC-REQ-01: All I2RS clients and I2RS agents MUST have an 347 identity, and at least one unique identifier that uniquely 348 identifies each party in the I2RS protocol context. 350 o SEC-REQ-02: The I2RS protocol MUST utilize these identifiers for 351 mutual identification of the I2RS client and I2RS agent. 353 o SEC-REQ-03: An I2RS agent, upon receiving an I2RS message from a 354 I2RS client, MUST confirm that the I2RS client has a valid 355 identifier. 357 o SEC-REQ-04: The I2RS client, upon receiving an I2RS message from 358 an I2RS agent, MUST confirm the I2RS agent has a valid identifier. 360 o SEC-REQ-05: Identifier distribution and the loading of these 361 identifiers into I2RS agent and I2RS Client SHOULD occur outside 362 the I2RS protocol. 364 o SEC-REQ-06: The I2RS protocol SHOULD assume some mechanism (IETF 365 or private) will distribute or load identifiers so that the I2RS 366 client/agent has these identifiers prior to the I2RS protocol 367 establishing a connection between I2RS client and I2RS agent. 369 o SEC-REQ-07: Each Identifier MUST have just one priority. 371 o SEC-REQ-08: Each Identifier is associated with one secondary 372 identifier during a particular I2RS transaction (e.g. read/write 373 sequence), but the secondary identifier may vary during the time a 374 connection between the I2RS client and I2RS agent is active. 375 Since a single I2RS client may be use by multiple applications, 376 the secondary identifier may vary as the I2RS client is utilize by 377 different application each of whom have a unique secondary 378 identity and identifier. 380 3.2. Transport Requirements Based on Mutual Authentication 382 SEC-REQ-09: The I2RS protocol MUST be able to transfer data over a 383 secure transport and optionally MAY be able to transfer data over a 384 non-secure transport. A secure transport MUST provide data 385 confidentiality, data integrity, and replay prevention. 387 The default I2RS transport is a secure transport. 389 A non-secure transport can be can be used for publishing telemetry 390 data or other operational state that was specifically indicated to 391 non-confidential in the data model in the Yang syntax. 393 The configuration of ephemeral data in the I2RS Agent by the I2RS 394 client SHOULD be done over a secure transport. It is anticipated 395 that the passing of most I2RS ephemeral state operational status 396 SHOULD be done over a secure transport. As 397 [I-D.ietf-i2rs-ephemeral-state] notes data model MUST indicate 398 whether the transport exchanging the data between I2RS client and 399 I2RS agent is secure or insecure. The default mode of transport is 400 secure so data models SHOULD clearly annotate what data nodes can be 401 passed over an insecure connection. 403 SEC-REQ-10: A secure transport MUST be associated with a key 404 management solution that can guarantee that only the entities having 405 sufficient privileges can get the keys to encrypt/decrypt the 406 sensitive data. Per BCP107 [RFC4107] this key management system 407 SHOULD be automatic, but MAY be manual in the following scenarios: 409 a) The environment has limited bandwidth or high round-trip times. 411 b) The information being protected has low value. 413 c) The total volume of traffic over the entire lifetime of the 414 long-term session key will be very low. 416 d) The scale of the deployment is limited. 418 Most I2RS environments (Clients and Agents) will not have the 419 environment described by BCP107 [RFC4107] but a few I2RS use cases 420 required limited non-secure light-weight telemetry messages that have 421 these requirements. An I2RS data model must indicate which portions 422 can be served by manual key management. 424 SEC-REQ-11: The I2RS protocol MUST be able to support multiple secure 425 transport sessions providing protocol and data communication between 426 an I2RS Agent and an I2RS client. However, a single I2RS Agent to 427 I2RS client connection MAY elect to use a single secure transport 428 session or a single non-secure transport session. 430 SEC-REQ-12: The I2RS Client and I2RS Agent protocol SHOULD implement 431 mechanisms that mitigate DoS attacks. 433 3.3. Data Confidentiality Requirements 435 SEC-REQ-13: In a critical infrastructure, certain data within routing 436 elements is sensitive and read/write operations on such data SHOULD 437 be controlled in order to protect its confidentiality. For example, 438 most carriers do not want a router's configuration and data flow 439 statistics known by hackers or their competitors. While carriers may 440 share peering information, most carriers do not share configuration 441 and traffic statistics. To achieve this, access control to sensitive 442 data needs to be provided, and the confidentiality protection on such 443 data during transportation needs to be enforced. 445 3.4. Data Integrity Requirements 447 SEC-REQ-14: An integrity protection mechanism for I2RS SHOULD be able 448 to ensure the following: 450 1) the data being protected is not modified without detection 451 during its transportation, 453 2) the data is actually from where it is expected to come from, 454 and 456 3) the data is not repeated from some earlier interaction of the 457 protocol. (That is, when both confidentiality and integrity of 458 data is properly protected, it is possible to ensure that 459 encrypted data is not modified or replayed without detection.) 461 SEC-REQ-15: The integrity that the message data is not repeated means 462 that I2RS client to I2RS agent transport SHOULD protect against 463 replay attack 465 Requirements SEC-REQ-14 and SEC-REQ-15 are SHOULD requirements only 466 because it is recognized that some I2RS Client to I2RS agent 467 communication occurs over a non-secure channel. The I2RS client to 468 I2RS agent over a secure channel would implement these features. In 469 order to provide some traceability or notification for the non-secure 470 protocol, SEC-REQ-16 suggests traceability and notification are 471 important to include for any non-secure protocol. 473 SEC-REQ-16: The I2RS message traceability and notification 474 requirements requirements found in [RFC7922] and [RFC7923] SHOULD be 475 supported in communication channel that is non-secure to trace or 476 notify about potential security issues. 478 3.5. Role-Based Data Model Security 480 The I2RS Architecture [RFC7921] defines a role or security role as 481 specifying read, write, or notification access by a I2RS client to 482 data within an agent's data model. 484 SEC-REQ-17: The rules around what role is permitted to access and 485 manipulate what information plus a secure transport (which protects 486 the data in transit) SHOULD ensure that data of any level of 487 sensitivity is reasonably protected from being observed by those 488 without permission to view it, so that privacy requirements are met. 490 SEC-REQ-18: Role security MUST work when multiple transport 491 connections are being used between the I2RS client and I2RS agent as 492 the I2RS architecture [RFC7921] states. These transport message 493 streams may start/stop without affecting the existence of the client/ 494 agent data exchange. TCP supports a single stream of data. SCTP 495 [RFC4960] provides security for multiple streams plus end-to-end 496 transport of data. 498 SEC-REQ-19: I2RS clients MAY be used by multiple applications to 499 configure routing via I2RS agents, receive status reports, turn on 500 the I2RS audit stream, or turn on I2RS traceability. Application 501 software using I2RS client functions may host multiple secure 502 identities, but each connection will use only one identifier with one 503 priority. Therefore, the security of each I2RS Client to I2RS Agent 504 connection is unique. 506 Please note the security of the application to I2RS client connection 507 is outside of the I2RS protocol or I2RS interface. 509 Sec-REQ-20: If an I2RS agents or an I2RS client is tightly correlated 510 with a person, then the I2RS protocol and data models should provide 511 additional security that protects the person's privacy. An example 512 of an I2RS agent correlated with a person is a I2RS agent running on 513 someone's phone to control tethering, and an example of a I2RS client 514 might be the client tracking such tethering. This protection MAY 515 require a variety of forms including: "operator-applied knobs", roles 516 that restrict personal access, data-models with specific "privacy 517 roles", and access filters. 519 3.6. Security of the environment 521 The security for the implementation of a protocol also considers the 522 protocol environment. The environmental security requirements are 523 found in: [I-D.ietf-i2rs-security-environment-reqs]. 525 4. Acknowledgement 527 The authors would like to thank Wes George, Ahmed Abro, Qin Wu, Eric 528 Yu, Joel Halpern, Scott Brim, Nancy Cam-Winget, DaCheng Zhang, Alia 529 Atlas, and Jeff Haas for their contributions to the I2RS security 530 requirements discussion and this document. The authors would like to 531 thank Bob Moskowitz for his review of the requirements. 533 5. IANA Considerations 535 This draft includes no request to IANA. 537 6. Security Considerations 539 This is a document about security requirements for the I2RS protocol 540 and data modules. The whole document is security considerations. 542 7. References 544 7.1. Normative References 546 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 547 Requirement Levels", BCP 14, RFC 2119, 548 DOI 10.17487/RFC2119, March 1997, 549 . 551 [RFC4107] Bellovin, S. and R. Housley, "Guidelines for Cryptographic 552 Key Management", BCP 107, RFC 4107, DOI 10.17487/RFC4107, 553 June 2005, . 555 [RFC7920] Atlas, A., Ed., Nadeau, T., Ed., and D. Ward, "Problem 556 Statement for the Interface to the Routing System", 557 RFC 7920, DOI 10.17487/RFC7920, June 2016, 558 . 560 [RFC7921] Atlas, A., Halpern, J., Hares, S., Ward, D., and T. 561 Nadeau, "An Architecture for the Interface to the Routing 562 System", RFC 7921, DOI 10.17487/RFC7921, June 2016, 563 . 565 7.2. Informative References 567 [I-D.ietf-i2rs-ephemeral-state] 568 Haas, J. and S. Hares, "I2RS Ephemeral State 569 Requirements", draft-ietf-i2rs-ephemeral-state-15 (work in 570 progress), July 2016. 572 [I-D.ietf-i2rs-security-environment-reqs] 573 Migault, D., Halpern, J., and S. Hares, "I2RS Environment 574 Security Requirements", draft-ietf-i2rs-security- 575 environment-reqs-01 (work in progress), April 2016. 577 [RFC4949] Shirey, R., "Internet Security Glossary, Version 2", 578 FYI 36, RFC 4949, DOI 10.17487/RFC4949, August 2007, 579 . 581 [RFC4960] Stewart, R., Ed., "Stream Control Transmission Protocol", 582 RFC 4960, DOI 10.17487/RFC4960, September 2007, 583 . 585 [RFC7922] Clarke, J., Salgueiro, G., and C. Pignataro, "Interface to 586 the Routing System (I2RS) Traceability: Framework and 587 Information Model", RFC 7922, DOI 10.17487/RFC7922, June 588 2016, . 590 [RFC7923] Voit, E., Clemm, A., and A. Gonzalez Prieto, "Requirements 591 for Subscription to YANG Datastores", RFC 7923, 592 DOI 10.17487/RFC7923, June 2016, 593 . 595 Authors' Addresses 597 Susan Hares 598 Huawei 599 7453 Hickory Hill 600 Saline, MI 48176 601 USA 603 Email: shares@ndzh.com 605 Daniel Migault 606 Ericsson 607 8400 boulevard Decarie 608 Montreal, QC HAP 2N2 609 Canada 611 Email: daniel.migault@ericsson.com 612 Joel Halpern 613 Ericsson 614 US 616 Email: joel.halpern@ericsson.com