I2RS working group S. Hares Internet-Draft Huawei Intended status: Standards Track S. Brim Expires: January 22, 2015 Consultant N. Cam-Winget Cisco J. Halpern Ericcson D. Zhang Q. Wu Huawei A. Abro S. Asadullah Cisco J. Halpern Ericcson E. Yu Cisco July 21, 2014 I2RS Security Considerations draft-hares-i2rs-security-02 Abstract This presents an expansion of the security architecture found in the i2rs architecture. Status of This Memo This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet- Drafts is at http://datatracker.ietf.org/drafts/current/. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." This Internet-Draft will expire on January 22, 2015. Hares, et al. Expires January 22, 2015 [Page 1] Internet-Draft I2RS Security July 2014 Copyright Notice Copyright (c) 2014 IETF Trust and the persons identified as the document authors. All rights reserved. This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 2. Definitions . . . . . . . . . . . . . . . . . . . . . . . . . 3 3. Security Issues . . . . . . . . . . . . . . . . . . . . . . . 5 4. Security roles and Identities for the I2RS client and I2RS Agent . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 5. I2RS Data Security . . . . . . . . . . . . . . . . . . . . . 7 5.1. Data Confidentiality Requirements . . . . . . . . . . . . 8 5.2. Message Integrity Requirements . . . . . . . . . . . . . 8 6. Open Issues . . . . . . . . . . . . . . . . . . . . . . . . . 9 7. Acknowledgement . . . . . . . . . . . . . . . . . . . . . . . 9 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 9 9. Security Considerations . . . . . . . . . . . . . . . . . . . 9 10. Informative References . . . . . . . . . . . . . . . . . . . 10 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 11 1. Introduction The Interface to the Routing System (I2RS) provides read and write access to the information and state within the routing process and configuration process (as illustrated in the diagram in the architecture document within routing elements. The I2RS client [I-D.ietf-i2rs-architecture] interacts with one or more I2RS agents to collect information from network routing systems. This security architecture expands on the security issues involved in the I2RS protocol's message exchange between the I2RS client and the I2RS agent which are described in [I-D.ietf-i2rs-architecture] Hares, et al. Expires January 22, 2015 [Page 2] Internet-Draft I2RS Security July 2014 2. Definitions This document utilizes the definitions found in the following drafts: [RFC4949], and [I-D.ietf-i2rs-architecture] Specifically, this document utilizes the following definitions: Authentication [RFC4949] describes authentication as the process of verifying (i.e., establishing the truth of) an attribute value claimed by or for a system entity or system resource. Authentication has two steps: identify and verify. Data Confidentiality [RFC4949] describes data confidentiality as having two properties: a) data is not disclosed to system entities unless they have been authorized to know, and b) data is not disclosed to unauthorized individuals, entities or processes. The key point is that confidentiality implies that the originator has the ability to authorize where the information goes. Confidentiality is important for both read and write scope of the data. Data confidentiality service [RFC4949] also describes data confidentiality service as a security service that protects data against unauthorized disclosure. Please note that an operator can designate all people are authorized to view a piece of data which would mean a data confidentiality service would be essentially a null function. Data Privacy [RFC4949] describes data privacy as a synonym for data confidentiality. This I2RS document will utilize data privacy as a synonym for data confidentiality. Mutual Authentication [RFC4949] implies that mutual authentication exists between two interacting system entities. Mutual authentication in I2RS implies that both sides move from a state of mutual suspicion to mutually authenticated communication afte each system has been identified and validated by its peer system Mutual Suspicion Hares, et al. Expires January 22, 2015 [Page 3] Internet-Draft I2RS Security July 2014 [RFC4949] defines mutual suspicion as a state that exists between two interacting system entities in which neither entity can trust the other to function correctly with regard to some security requirement. Role [RFC4949] describes role as a job function or employment position to which people or other system entities may be assigned in a system. In the I2RS interface, the I2RS agent roles relate to the roles that the I2RS client is utilizing. In the I2RS interface, the I2RS client negotiation is over the client's ability to access resources made available through the agent's particular role. Role-based Access control [RFC4949] describes role-based access control as an identity-based access control wherein the system entities that are identified and controlled are functional positions in an organization or process. Within [RFC4949] five relationships are discussed: 1) administrators to assign identities to roles, 2) administrators to assign permissions to roles, 3) administrators to assign roles to roles, 4) users to select identities in sessions, and 5) users to select roles in sessions. This document discusses I2RS use of Roles as Scope+Access where scope is the portion of the routing tree, and access is permissions to read or write (or both). Figure 1 replicates [RFC4949] diagram on RBAC roles and assignments (page 254). Role hierarchy or Permissions inheritance [RFC4949] describes the hierarchy of roles and identities in role- based access control shown in Figure 1 and described above. I2RS will used role-based access control as defined above, and shown in Figure 2. Role certificate [RFC4949] describes a role certificate as an organizational certificate that is issued to a system entity that is a member of the set of users that have identities that are assigned to the same role. Security audit trail [RFC4949] (page 254) describes a security audit trail as a chronological record of system activities that is sufficient to enable the reconstruction and examination of the sequence Hares, et al. Expires January 22, 2015 [Page 4] Internet-Draft I2RS Security July 2014 environments and activities surrounding or leading to an operation, procedure, or event in a security-relevant transaction from inception to final results. To apply this to the I2RS system, this implies that the processes on the I2RS client-I2RS Agent protocol and related actions on the I2RS-Agent can record a set of activity that will allow the reconstruction and examination of the sequence of environments and activities around actions caused by the I2RS protocol data streams. I2RS integrity The data transfer as it is transmitted between client and agent cannot be modified by unauthorized parties without detection. The following diagram is a variation of the [RFC4949] diagram on role-based security, and provides the context for the assumptions of security on the role-based work. (c) Permission Inheritance Assignments (i.e., Role Hierarchy) [Constraints] +=====+ | | (a) Identity v v (b) Permission +----------+ Assignments +-------+ Assignments +----------+ |Identities|<=============>| Roles |<=============>|Permissions| +----------+ [Constraints] +-------+ [Constraints] +----------+ | | ^ ^ | | +-----------+ | | +---------------------+ | | | +-------+ | | | | Legend | | +====>|Session|=====+ | | | | | +-------+ | | | One-to-One | | | ... | | | =================== | | | +-------+ | | | | +========>|Session|=========+ | One-to-Many | (d) Identity | +-------+ | (e) Role | ==================> | Selections | | Selections | | [Constraints]| Access |[Constraints] | Many-to-Many | | Sessions | | <================> | +-----------+ +---------------------+ Figure 1 - Security definition of Role inheritance 3. Security Issues The security for the I2RS protocol utilizes the role based access security for the I2RS client's access to the I2RS agent's data (read/ write). The I2RS [I-D.ietf-i2rs-architecture] treats the agent's Hares, et al. Expires January 22, 2015 [Page 5] Internet-Draft I2RS Security July 2014 notification stream or publication stream as a pre-authorized read. This security consideration document examines the major points: I2RS roles and identities This section looks at how I2RS roles and identities created by [I-D.ietf-i2rs-architecture], how I2RS model derived from the security model of role-based access control matches the [I-D.ietf-i2rs-architecture], and how Identities and roles get distributed. Data Security The data security section looks at incidents when the I2RS data stream will need confidentiality and message integrity, transport security, how role-based access control of I2RS data impacts the I2RS Information Model and Data Model design, and light weight clients who work without confidentiality. 4. Security roles and Identities for the I2RS client and I2RS Agent All I2RS clients and I2RS agents MUST have at least one unique identifier that uniquely identifies each party. The I2RS protocol MUST utilize these identifiers for mutual identification of the client and agent. An I2RS agent, upon receiving an I2RS message from a client, must confirm that the client has a valid identity. The client, upon receiving an I2RS message from an agent, must confirm the I2RS identity. Identity distribution and the loading of these identities into I2RS agent and I2RS Client occur outside the I2RS protocol. The I2RS protocol SHOULD assume some mechanism (IETF or private) in order to distribute or load identities and that the I2RS client/agent will load the identities prior to the I2RS protocol establishing a connection between I2RS client and I2RS agent. Each Identity will be linked (via internal policy) to one role. The context of the I2RS client-agent communication is based on a role which may/may not require message confidentiality, message integrity protection, or replay attack protection. The rigorous definition of a role in RBAC-based security is role is function associated with an activity (set of actions). The set of actions in I2RS performs is limited are read or write actions on a specific set of data in the data model. Therefore, we can express: Role = routing tree + Read/Write/Read-Write Hares, et al. Expires January 22, 2015 [Page 6] Internet-Draft I2RS Security July 2014 Role security for an agent involves pairing the identity to the role. The data store can read information either by write or an event stream. Role security exists even if multiple transport connections are being used between the I2RS client and I2RS agent as the I2RS architecture [I-D.ietf-i2rs-architecture] states. These transport message streams may start/stop without affecting the existence of the client/agent data exchange. TCP supports a single stream of data. SCTP [RFC4960] provides security for multiple streams plus end-to-end transport of data. I2RS clients may be used by multiple applications to configure routing via I2RS agents, receive status reports, turn on the I2RS audit stream, or turn on I2RS traceability. An I2RS client software could arrange to store multiple secure identities, and use a specific identity that only associates roles which only have Read access. This administrative design of identities and roles could insure a "status-only" application did gain write access. This administrative design is possible within I2RS architecture but not mandated. Multiple identities provide some secondary level support for the application-client, but may grow the number of identities. The multiple identities per client could also be used for multiple levels of security for the data passed between an I2RS client and agent as either: a) confidential, b) authorized with message integrity protection, c) authorized without message integrity protection, and or d) no protection. 5. I2RS Data Security I2RS data security involves determining of the I2RS client to I2RS agent data transfer needs to be confidential, or have message integrity, or support an end-to-end integrity (in the case of stacked clients). This section discuss the consideration of I2RS data security. It is assumed that all I2RS data security mechanisms used for protecting the I2RS packets needs to be associated with proper key management solutions. A key management solution needs to guarantee that only the entities having sufficient privileges can get the keys to encrypt/decrypt the sensitive data. In addition, the key management mechanisms need to be able to update the keys before they have lost sufficient security strengths, without breaking the connection between the agents and clients. The rules around what role is permitted to access and manipulate what information, combined with encryption to protect the data in transit Hares, et al. Expires January 22, 2015 [Page 7] Internet-Draft I2RS Security July 2014 is intended to help ensure that data of any level of sensitivity is reasonably protected from being observed by those without permission to view it. In that case 'those' can refer to either other roles, sub-agents, or to attackers and assorted MITM monkeys. 5.1. Data Confidentiality Requirements In a critical infrastructure, certain data within routing elements is sensitive and R/W operations on such data must be controlled in order to protect its confidentiality. For example, most carriers do not want a router's configuration and data flow statistics known by hackers or their competitors. While carriers may share peering information, most carriers do not share configuration and traffic statistics. To achieve this, access control to sensitive data needs to be provided, and the confidentiality protection on such data during transportation needs to be enforced. It is normal to protect the confidentiality of the sensitive data during transportation by encrypting them. Encryption obscures the data transported on the wire and protects them against eavesdropping attacks. Because the encryption itself cannot guarantee the integrity or fresh of data being transported, in practice, confidentiality protection is normally provided with integrity protection. 5.2. Message Integrity Requirements An integrity protection mechanism for I2RS should be able to ensure 1) the data being protected are not modified without detection during its transportation and 2) the data is actually from where it is expected t come from 3) the data is not repeated from some earlier interaction of the protocol. That is, when both confidentiality and integrity of data is properly protected, it is possible to ensure that encrypted data are not modified or replayed without detection. As a part of integrity protection, the replay protection approaches provided for I2RS must consider both online and offline attackers, and have sufficient capability to deal with intra connection and inter-connection attacks. For instance, when using symmetric keys, sequence numbers which increase monotonically could be useful to help in distinguishing the replayed messages, under the assistance of signatures or MACs (dependent on what types of keys are applied). In addition, in the cases where only offline attacker is considered, random nonce could be effective. Hares, et al. Expires January 22, 2015 [Page 8] Internet-Draft I2RS Security July 2014 6. Open Issues The following are open issues for the I2RS WG to discuss: Unencrypted Message Exchanges The I2RS Security discussion group believes that encrypting all the data messages is the best approach for security. Some I2RS WG discussion has indicated a desire for the the I2RS client-agent message exchanges to be unencrypted. The discussion group needs the I2RS WG members to provide more detail since a mixture of encrypted and unencrypted data will require more complexity in the Information Model (IM) and Data Model (DM). Transport requirements The architecture provides the ability to have multiple transport sessions providing protocol and data communication between the I2RS Agent and the I2RS client. The discussion group proposed on mandatory secure transport. Should there be one mandatory secure transport protocol or multiple allowable protocols? Auditable Data Streams Auditable data streams does not have a security consideration because I2RS is not inventing a new audit protocol as many protocols (syslog) are available to be used. Verifying audit stream data is outside the I2RS protocol, but those designing the IM and DMs with audit stream capability need to provide the appropriate hooks such as: on/off action, data selection, and protocol (for example syslog) that the I2RS Agent (or I2RS routing system) sends the audit data upon. 7. Acknowledgement The authors would like to thank Wes George, Ahmed Abro, Qin Wu, Eric Yu, Alia Atlas, and Jeff Haas for their wonderful contributions to our discussion discussion. 8. IANA Considerations This draft includes no request to IANA. 9. Security Considerations This is a document about security architecture beyond the consideration for I2RS. Additional security definitions will be added in this section. Hares, et al. Expires January 22, 2015 [Page 9] Internet-Draft I2RS Security July 2014 10. Informative References [I-D.clarke-i2rs-traceability] Clarke, J., Salgueiro, G., and C. Pignataro, "Interface to the Routing System (I2RS) Traceability: Framework and Information Model", draft-clarke-i2rs-traceability-02 (work in progress), June 2014. [I-D.hares-i2rs-info-model-policy] Hares, S. and W. Wu, "An Information Model for Basic Network Policy", draft-hares-i2rs-info-model-policy-03 (work in progress), July 2014. [I-D.ietf-i2rs-architecture] Atlas, A., Halpern, J., Hares, S., Ward, D., and T. Nadeau, "An Architecture for the Interface to the Routing System", draft-ietf-i2rs-architecture-04 (work in progress), June 2014. [I-D.ietf-i2rs-problem-statement] Atlas, A., Nadeau, T., and D. Ward, "Interface to the Routing System Problem Statement", draft-ietf-i2rs- problem-statement-04 (work in progress), June 2014. [I-D.ietf-i2rs-rib-info-model] Bahadur, N., Folkes, R., Kini, S., and J. Medved, "Routing Information Base Info Model", draft-ietf-i2rs-rib-info- model-03 (work in progress), May 2014. [I-D.ji-i2rs-usecases-ccne-service] Ji, X., Zhuang, S., Huang, T., and S. Hares, "I2RS Use Cases for Control of Forwarding Path by Central Control Network Element (CCNE)", draft-ji-i2rs-usecases-ccne- service-02 (work in progress), July 2014. [I-D.keyupate-i2rs-bgp-usecases] Patel, K., Fernando, R., Gredler, H., Amante, S., White, R., and S. Hares, "Use Cases for an Interface to BGP Protocol", draft-keyupate-i2rs-bgp-usecases-04 (work in progress), July 2014. [I-D.white-i2rs-use-case] White, R., Hares, S., and A. Retana, "Protocol Independent Use Cases for an Interface to the Routing System", draft- white-i2rs-use-case-06 (work in progress), July 2014. [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. Hares, et al. Expires January 22, 2015 [Page 10] Internet-Draft I2RS Security July 2014 [RFC4785] Blumenthal, U. and P. Goel, "Pre-Shared Key (PSK) Ciphersuites with NULL Encryption for Transport Layer Security (TLS)", RFC 4785, January 2007. [RFC4949] Shirey, R., "Internet Security Glossary, Version 2", RFC 4949, August 2007. [RFC4960] Stewart, R., "Stream Control Transmission Protocol", RFC 4960, September 2007. Authors' Addresses Susan Hares Huawei 7453 Hickory Hill Saline, MI 48176 USA Email: shares@ndzh.com Scott Brim Consultant Email: scott.brim@gmail.com Nancy Cam-Winget Cisco Email: ncamwing@cisco.com Joel Halpern Ericcson Email: joel.halpern@ericsson.com DaCheng Zhang Huawei Email: zhangdacheng@huawei.com Hares, et al. Expires January 22, 2015 [Page 11] Internet-Draft I2RS Security July 2014 Qin Wu Huawei Email: bill.wu@huawei.com Ahmed Abro Cisco Email: aabro@cisco.com Salman Asadullah Cisco Email: sasad@cisco.com Joel Halpern Ericcson Email: joel.halpern@ericsson.com Eric Yu Cisco Email: eyu@cisco.com Hares, et al. Expires January 22, 2015 [Page 12]