draft-ietf-i2rs-protocol-security-requirements-02.txt   draft-ietf-i2rs-protocol-security-requirements-03.txt 
I2RS working group S. Hares I2RS working group S. Hares
Internet-Draft Huawei Internet-Draft Huawei
Intended status: Standards Track D. Migault Intended status: Standards Track D. Migault
Expires: July 3, 2016 J. Halpern Expires: September 10, 2016 J. Halpern
Ericsson Ericsson
December 31, 2015 March 9, 2016
I2RS Security Related Requirements I2RS Security Related Requirements
draft-ietf-i2rs-protocol-security-requirements-02 draft-ietf-i2rs-protocol-security-requirements-03
Abstract Abstract
This presents security-related requirements for the I2RS protocol for This presents security-related requirements for the I2RS protocol for
mutual authentication, transport protocols, data transfer and mutual authentication, transport protocols, data transfer and
transactions. transactions.
Status of This Memo Status of This Memo
This Internet-Draft is submitted in full conformance with the This Internet-Draft is submitted in full conformance with the
skipping to change at page 1, line 34 skipping to change at page 1, line 34
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/. Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on July 3, 2016. This Internet-Draft will expire on September 10, 2016.
Copyright Notice Copyright Notice
Copyright (c) 2015 IETF Trust and the persons identified as the Copyright (c) 2016 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of (http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License. described in the Simplified BSD License.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
1.1. Requirements Language . . . . . . . . . . . . . . . . . . 2 1.1. Requirements Language . . . . . . . . . . . . . . . . . . 3
1.2. Definitions . . . . . . . . . . . . . . . . . . . . . . . 3 2. Definitions . . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Security-Related Requirements . . . . . . . . . . . . . . . . 5 2.1. Security Definitions . . . . . . . . . . . . . . . . . . 3
2.1. Mutual authentication of I2RS client and I2RS Agent . . . 5 2.2. I2RS Specific Definitions . . . . . . . . . . . . . . . . 6
2.2. Transport Requirements Based on Mutual Authentication . . 6 3. Security-Related Requirements . . . . . . . . . . . . . . . . 7
2.3. Data Confidentiality Requirements . . . . . . . . . . . . 7 3.1. Mutual authentication of an I2RS client and an I2RS Agent 8
2.4. Data Integrity Requirements . . . . . . . . . . . . . . . 7 3.2. Transport Requirements Based on Mutual Authentication . . 8
2.5. Role-Based Data Model Security . . . . . . . . . . . . . 8 3.3. Data Confidentiality Requirements . . . . . . . . . . . . 10
3. Acknowledgement . . . . . . . . . . . . . . . . . . . . . . . 8 3.4. Data Integrity Requirements . . . . . . . . . . . . . . . 10
4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 9 3.5. Role-Based Data Model Security . . . . . . . . . . . . . 11
5. Security Considerations . . . . . . . . . . . . . . . . . . . 9 4. Acknowledgement . . . . . . . . . . . . . . . . . . . . . . . 11
6. References . . . . . . . . . . . . . . . . . . . . . . . . . 9 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 11
6.1. Normative References . . . . . . . . . . . . . . . . . . 9 6. Security Considerations . . . . . . . . . . . . . . . . . . . 11
6.2. Informative References . . . . . . . . . . . . . . . . . 9 7. References . . . . . . . . . . . . . . . . . . . . . . . . . 12
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 10 7.1. Normative References . . . . . . . . . . . . . . . . . . 12
7.2. Informative References . . . . . . . . . . . . . . . . . 12
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 13
1. Introduction 1. Introduction
The Interface to the Routing System (I2RS) provides read and write The Interface to the Routing System (I2RS) provides read and write
access to information and state within the routing process. The I2RS access to information and state within the routing process. The I2RS
client interacts with one or more I2RS agents to collect information client interacts with one or more I2RS agents to collect information
from network routing systems. from network routing systems.
This document describes the requirements for the I2RS protocol in the This document describes the requirements for the I2RS protocol in the
security-related areas of mutual authentication of the I2RS client security-related areas of mutual authentication of the I2RS client
and agent, the transport protocol carrying the I2RS protocol and agent, the transport protocol carrying the I2RS protocol
messages, and the atomicity of the transactions. These requirements messages, and the atomicity of the transactions. These requirements
align with the description of the I2RS architecture found in align with the description of the I2RS architecture found in
[I-D.ietf-i2rs-architecture] document which solves the problem [I-D.ietf-i2rs-architecture] document which solves the problem
described in [I-D.ietf-i2rs-problem-statement]. described in [I-D.ietf-i2rs-problem-statement].
[I-D.haas-i2rs-ephemeral-state-reqs] discusses I2RS roles-based write [I-D.ietf-i2rs-ephemeral-state] discusses I2RS roles-based write
conflict resolution in the ephemeral data store using the I2RS Client conflict resolution in the ephemeral data store using the I2RS Client
Identity, I2RS Secondary Identity and priority. The draft Identity, I2RS Secondary Identity and priority. The draft
[I-D.ietf-i2rs-traceability] describes the traceability framework and [I-D.ietf-i2rs-traceability] describes the traceability framework and
its requirements for I2RS. The draft its requirements for I2RS. The draft
[I-D.ietf-i2rs-pub-sub-requirements] describes the requirements for [I-D.ietf-i2rs-pub-sub-requirements] describes the requirements for
I2RS to be able to publish information or have a remote client I2RS to be able to publish information or have a remote client
subscribe to an information data stream. subscribe to an information data stream.
1.1. Requirements Language 1.1. Requirements Language
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in RFC 2119 [RFC2119]. document are to be interpreted as described in RFC 2119 [RFC2119].
1.2. Definitions 2. Definitions
This document utilizes the definitions found in the following drafts: 2.1. Security Definitions
[RFC4949], and [I-D.ietf-i2rs-architecture]
This document utilizes the definitions found in the following
documents: [RFC4949] and [I-D.ietf-i2rs-architecture]
Specifically, this document utilizes the following definitions: Specifically, this document utilizes the following definitions:
access control access control
[RFC4949] defines access control as the following: [RFC4949] defines access control as the following:
1)(I))protection of system resources against unauthorized use; 1. (I) Protection of system resources against unauthorized
access.
2)(I)process by which use of system resources is regulated 2. (I) A process by which use of system resources is regulated
according to a security policy and is permitted only by according to a security policy and is permitted only by
authorized entities (users, programs, processes, or other authorized entities (users, programs, processes, or other
systems) according to that policy; systems) according to that policy. (See: access, access
control service, computer security, discretionary access
control, mandatory access control, role-based access control.)
3)(I) (formal model) Limitations on interactions between 3. (I) /formal model/ Limitations on interactions between
subjects and objects in an information system; subjects and objects in an information system.
4)(O) "The prevention of unauthorized use of a resource, 4. (O) "The prevention of unauthorized use of a resource,
including the prevention of use of a resource in an including the prevention of use of a resource in an
unauthorized manner."; unauthorized manner." [I7498-2]
5.(O) /U.S. Government/ A system using physical, electronic, 5. (O) /U.S. Government/ A system using physical, electronic,
or human controls to identify or admit personnel with properly or human controls to identify or admit personnel with properly
authorized access to a SCIF. authorized access to a SCIF.
Authentication Authentication
[RFC4949] describes authentication as the process of verifying [RFC4949] describes authentication as the process of verifying
(i.e., establishing the truth of) an attribute value claimed by or (i.e., establishing the truth of) an attribute value claimed by or
for a system entity or system resource. Authentication has two for a system entity or system resource. Authentication has two
steps: identify and verify. steps: identify and verify.
Data Confidentiality Data Confidentiality
[RFC4949] describes data confidentiality as having two properties: [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 a) Data is not disclosed to system entities unless they have
individuals, entities or processes. The key point is that been authorized to know the data, and
confidentiality implies that the originator has the ability to
authorize where the information goes. Confidentiality is b) Data is not disclosed to unauthorized individuals, entities
important for both read and write scope of the data. 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 Integrity Data Integrity
[RFC4949] states data integrity includes [RFC4949] states data integrity includes:
1. (I)The property that data has not been changed, destroyed, 1. (I) The property that data has not been changed, destroyed,
or or lost in an unauthorized or accidental manner. [...]
2. (O) "The property that information has not been modified or 2. (O) "The property that information has not been modified or
destroyed in an unauthorized manner." destroyed in an unauthorized manner." [I7498-2]
Data Privacy Data Privacy
[RFC4949] describes data privacy as a synonym for data [RFC4949] describes data privacy as a synonym for data
confidentiality. This I2RS document will utilize data privacy as confidentiality. This I2RS document will utilize data privacy as
a synonym for data confidentiality. a synonym for data confidentiality.
Identity
[RFC4949] (I) The collective aspect of a set of attribute values
(i.e., a set of characteristics) by which a system user or other
system entity is recognizable or known. (See: authenticate,
registration. Compare: identifier.)
Identifier
[RFC4949] (I) A data object -- often, a printable, non-blank
character string -- that definitively represents a specific
identity of a system entity, distinguishing that identity from all
others. (Compare: identity.)
Mutual Authentication Mutual Authentication
[RFC4949] implies that mutual authentication exists between two [RFC4949] implies that mutual authentication exists between two
interacting system entities. Mutual authentication in I2RS interacting system entities.
implies that both sides move from a state of mutual suspicion to
mutually authenticated communication after each system has been Mutual authentication in I2RS implies that both sides move from a
identified and validated by its peer system. state of mutual suspicion to to mutual authentication to trusted
mutual communication after each system has been identified and
validated by its peer system.
role role
[RFC4949] describes role as: [RFC4949] describes role as:
1) (I) A job function or employment position to which people or 1. (I) A job function or employment position to which people
other system entities may be assigned in a system. (See: role- or other system entities may be assigned in a system. [...]
based access control. Compare: duty, billet, principal, user.)
2) (O) /Common Criteria/ A pre-defined set of rules 2. (O) /Common Criteria/ A pre-defined set of rules
establishing the allowed interactions between a user and the establishing the allowed interactions between a user and the
TOE. TOE.
The I2RS uses the common criteria definition. The I2RS uses the common criteria definition.
role role-based access control
[RFC4949] describes role-based access control as: (I) A form of [RFC4949] describes role-based access control as: "A form of
identity-based access control wherein the system entities that are identity-based access control wherein the system entities that are
identified and controlled are functional positions in an identified and controlled are functional positions in an
organization or process. organization or process."
Security audit trail security audit trail
[RFC4949] describes a security audit trail as "A chronological
record of system activities that is sufficient to enable the
reconstruction and examination of the sequence environments and
activities surrounding or leading to an operation, procedure, or
event in a security-relevant transaction from inception to final
results."
Requirements to support a security audit is not covered in this
document.
[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
environments and activities surrounding or leading to an
operation, procedure, or event in a security-relevant transaction
from inception to final results. Requirements to support a
security audit is not covered in this document. The draft
[I-D.ietf-i2rs-traceability] describes traceability for I2RS [I-D.ietf-i2rs-traceability] describes traceability for I2RS
interface and protocol. Traceability is not equivalent to a interface and the I2RS protocol. Traceability is not equivalent
security audit trail. to a security audit trail.
I2RS the following phrase that incorporates an [RFC4949] definition: Trust
[RFC4949]
1. (I) /information system/ A feeling of certainty (sometimes
based on inconclusive evidence) either (a) that the system
will not fail or (b) that the system meets its specifications
(i.e., the system does what it claims to do and does not
perform unwanted functions). (See: trust level, trusted
system, trustworthy system. Compare: assurance.)
2. . (I) /PKI/ A relationship between a certificate user and a CA
in which the user acts according to the assumption that the CA
creates only valid digital certificates. (Also referred as
"trusted" in [RFC4949].)
2.2. I2RS Specific Definitions
I2RS protocol data integrity I2RS protocol data integrity
The transfer of data via the I2RS protocol has the property of The transfer of data via the I2RS protocol has the property of
data integrity described in [RFC4949]. data integrity described in [RFC4949].
2. Security-Related Requirements I2RS component protocols
Protocols which are combined to create the I2RS protocol.
I2RS Higher-level protocol
The I2RS protocol exists as a higher-level protocol which combines
combination of other protocols (NETCONF, RESTCONF, IPFIX, and
others) within a specific I2RS client-agent relationship with a
specific trust for ephemeral configurations, event, tracing,
actions, and data flow interactions. The protocols included in
the I2RS protocol protocol are defined as I2RS component
protocols.
I2RS message
is a complete data message of one of the I2RS component protocols.
The I2RS component protocols may require multiple IP-packets to
send one protocol message.
I2RS multi-message atomicity
An I2RS operation (read, write, event, action) must be contained
within one I2RS message. Each I2RS operation must be atomic.
While it is possible to have an I2RS operation which is contained
in multiple I2RS (E.g. write in multiple messages), this is not
supported in order to simply the first version of I2RS. Multiple-
message atomicity of I2RS operations would be used in a roll-back
of a grouping of commands (e.g. multiple writes).
I2RS transaction
is a unit of I2RS functionality. Some examples of I2RS
transactions are:
* The I2RS client issuing a read request to a I2RS agent, and the
I2RS Agent responding to the read request
* The I2RS client issue a write of ephemeral configuration values
into a data model, followed by the I2RS agent response to the
write.
* An I2RS client may issue an action request, the I2RS agent
responds to the action-request, and then responds when action
is complete. Actions can be single step processes or multiple
step process.
* An I2RS client requests to receive an event notification, and
the I2RS Agent sets up to send the events.
* An I2RS agent sends events to an I2RS Client on an existing
connection.
An I2RS action may require multiple I2RS messages in order to
complete a transation.
I2RS secondary identifier
the I2RS architecture document [I-D.ietf-i2rs-architecture]
defines a secondary identity as the entity of some non-I2RS entity
(e.g. application) which has requested a particular I2RS client
perform an operation. The I2RS secondary identifier represents
this identity so it may be distinguished from all others.
3. Security-Related Requirements
The security for the I2RS protocol requires mutually authenticated The security for the I2RS protocol requires mutually authenticated
I2RS clients and I2RS agents. The I2RS client and I2RS agent using I2RS clients and I2RS agents. The I2RS client and I2RS agent using
the I2RS protocol MUST be able to exchange data over a secure the I2RS protocol MUST be able to exchange data over a secure
transport, but some functions may operate on non-secure transport. transport, but some functions may operate on a non-secure transport.
The I2RS protocol MUST BE able to provide atomicity of a transaction, The I2RS protocol MUST be able to provide atomicity of an I2RS
but it is not required to have multi-message atomicity and roll-back transaction, but it is not required to have multi-message atomicity
mechanism transactions. Multiple messages transactions may be and roll-back mechanism transactions. Multiple messages transactions
impacted by the interdependency of data. This section discusses may be impacted by the interdependency of data. This section
these details of these security requirements. discusses the details of these security requirements.
2.1. Mutual authentication of I2RS client and I2RS Agent 3.1. Mutual authentication of an I2RS client and an I2RS Agent
The I2RS architecture [I-D.ietf-i2rs-architecture] sets the following The I2RS architecture [I-D.ietf-i2rs-architecture] sets the following
requirements: requirements:
o SEC-REQ-01: All I2RS clients and I2RS agents MUST have at least o SEC-REQ-01: All I2RS clients and I2RS agents MUST have an
one unique identifier that uniquely identifies each party. identity, and at least one unique identifier that uniquely
identifies each party in the I2RS protocol context.
o SEC-REQ-02: The I2RS protocol MUST utilize these identifiers for o SEC-REQ-02: The I2RS protocol MUST utilize these identifiers for
mutual identification of the I2RS client and I2RS agent. mutual identification of the I2RS client and I2RS agent.
o SEC-REQ-03:An I2RS agent, upon receiving an I2RS message from a o SEC-REQ-03: An I2RS agent, upon receiving an I2RS message from a
I2RS client, MUST confirm that the I2RS client has a valid I2RS client, MUST confirm that the I2RS client has a valid
identifier. identifier.
o SEC-REQ-04: The I2RS client, upon receiving an I2RS message from o SEC-REQ-04: The I2RS client, upon receiving an I2RS message from
an I2RS agent, MUST confirm the I2RS agent has a valid identifier an I2RS agent, MUST confirm the I2RS agent has a valid identifier.
.
o SEC-REQ-05: Identifier distribution and the loading of these o SEC-REQ-05: Identifier distribution and the loading of these
identifiers into I2RS agent and I2RS Client SHOULD occur outside identifiers into I2RS agent and I2RS Client SHOULD occur outside
the I2RS protocol. the I2RS protocol.
o SEC-REQ-06: The I2RS protocol SHOULD assume some mechanism (IETF o SEC-REQ-06: The I2RS protocol SHOULD assume some mechanism (IETF
or private) will distribute or load identifiers so that the I2RS or private) will distribute or load identifiers so that the I2RS
client/agent has these identifiers prior to the I2RS protocol client/agent has these identifiers prior to the I2RS protocol
establishing a connection between I2RS client and I2RS agent. establishing a connection between I2RS client and I2RS agent.
o SEC-REQ-07: Each Identifier MUST be linked to one priority o SEC-REQ-07: Each Identifier MUST have just one priority.
o SEC-REQ-08: Each Identifier is associated with one secondary o SEC-REQ-08: Each Identifier is associated with one secondary
identifier during a particular read/write sequence, but the identifier during a particular I2RS transaction (e.g. read/write
secondary identifier may vary during the time a connection between sequence), but the secondary identifier may vary during the time a
the I2RS client and I2RS agent is active. The variance of the connection between the I2RS client and I2RS agent is active.
secondary identifier allows the I2RS client to be associated with Since a single I2RS client may be use by multiple applications,
multiple applications and pass along an identifier for these the secondary identifier may vary as the I2RS client is utilize by
applications in the secondary identifier. different application each of whom have a unique secondary
identity and identifier.
2.2. Transport Requirements Based on Mutual Authentication 3.2. Transport Requirements Based on Mutual Authentication
SEC-REQ-09: The I2RS protocol MUST be able to transfer data over a SEC-REQ-09: The I2RS protocol MUST be able to transfer data over a
secure transport and optionally MAY be able to transfer data over a secure transport and optionally MAY be able to transfer data over a
non-secure transport. A secure transport MUST provide data non-secure transport. A secure transport MUST provide data
confidentiality, data integrity, and replay prevention. confidentiality, data integrity, and replay prevention.
Note:The non-secure transport can be used for publishing telemetry The default I2RS transport is a secure transport.
data that was specifically indicated to non-confidential in the data
model. The configuration of ephemeral data in the I2RS Agent by the A non-secure transport can be can be used for publishing telemetry
I2RS client SHOULD be done over a secure transport. It is data or other operational state that was specifically indicated to
anticipated that the passing of most I2RS ephemeral state operational non-confidential in the data model in the Yang syntax.
status SHOULD be done over a secure transport. Data models SHOULD
clearly annotate what data nodes can be passed over an insecure The configuration of ephemeral data in the I2RS Agent by the I2RS
connection. The default transport is a secure transport. client SHOULD be done over a secure transport. It is anticipated
that the passing of most I2RS ephemeral state operational status
SHOULD be done over a secure transport. As
[I-D.ietf-i2rs-ephemeral-state] notes data model MUST indicate
whether the transport exchanging the data between I2RS client and
I2RS agent is secure or insecure. The default mode of transport is
secure so data models SHOULD clearly annotate what data nodes can be
passed over an insecure connection.
SEC-REQ-10: A secure transport MUST be associated with a key SEC-REQ-10: A secure transport MUST be associated with a key
management solution that can guarantee that only the entities having management solution that can guarantee that only the entities having
sufficient privileges can get the keys to encrypt/decrypt the sufficient privileges can get the keys to encrypt/decrypt the
sensitive data. Per BCP107 [RFC4107] this key management system sensitive data. Per BCP107 [RFC4107] this key management system
SHOULD be automatic, but MAY BE manual if the following constraints SHOULD be automatic, but MAY be manual in the following scenarios:
from BCP107:
a)environment has limited bandwidth or high round-trip times, a) The environment has limited bandwidth or high round-trip times.
b)the information being protected has a low value and b) The information being protected has low value.
c)the total volume over the entire lifetime of the long-term c) The total volume of traffic over the entire lifetime of the
session key will be very low, long-term session key will be very low.
d)the scale of the deployment is limited.
Most I2RS environments (I2RS Client - I2S Agents) will not have the d) The scale of the deployment is limited.
Most I2RS environments (Clients and Agents) will not have the
environment described by BCP107 [RFC4107] but a few I2RS use cases environment described by BCP107 [RFC4107] but a few I2RS use cases
required limited non-secure light-weight telemetry messages that have required limited non-secure light-weight telemetry messages that have
these requirements. An I2RS data model must indicate which portions these requirements. An I2RS data model must indicate which portions
can be served by manual key management. can be served by manual key management.
SEC-REQ-11: The I2RS protocol MUST be able to support multiple secure SEC-REQ-11: The I2RS protocol MUST be able to support multiple secure
transport sessions providing protocol and data communication between transport sessions providing protocol and data communication between
an I2RS Agent and an I2RS client. However, a single I2RS Agent to an I2RS Agent and an I2RS client. However, a single I2RS Agent to
I2RS client connection MAY elect to use a single secure transport I2RS client connection MAY elect to use a single secure transport
session or a single non-secure transport session. session or a single non-secure transport session.
SEC-REQ-12: The I2RS Client and I2RS Agent protocol SHOULD implement SEC-REQ-12: The I2RS Client and I2RS Agent protocol SHOULD implement
mechanisms that mitigate DoS attacks mechanisms that mitigate DoS attacks
2.3. Data Confidentiality Requirements 3.3. Data Confidentiality Requirements
SEC-REQ-13: In a critical infrastructure, certain data within routing SEC-REQ-13: In a critical infrastructure, certain data within routing
elements is sensitive and read/write operations on such data MUST be elements is sensitive and read/write operations on such data MUST be
controlled in order to protect its confidentiality. For example, controlled in order to protect its confidentiality. For example,
most carriers do not want a router's configuration and data flow most carriers do not want a router's configuration and data flow
statistics known by hackers or their competitors. While carriers may statistics known by hackers or their competitors. While carriers may
share peering information, most carriers do not share configuration share peering information, most carriers do not share configuration
and traffic statistics. To achieve this, access control to sensitive and traffic statistics. To achieve this, access control to sensitive
data needs to be provided, and the confidentiality protection on such data needs to be provided, and the confidentiality protection on such
data during transportation needs to be enforced. data during transportation needs to be enforced.
2.4. Data Integrity Requirements 3.4. Data Integrity Requirements
SEC-REQ-14: An integrity protection mechanism for I2RS SHOULD be able SEC-REQ-14: An integrity protection mechanism for I2RS SHOULD be able
to ensure the following: 1) the data being protected is not modified to ensure the following:
without detection during its transportation and 2) the data is
actually from where it is expected to come from 3) the data is not 1) The data being protected is not modified without detection
repeated from some earlier interaction of the protocol. That is, during its transportation and
when both confidentiality and integrity of data is properly
protected, it is possible to ensure that encrypted data is not 2) The data is actually from where it is expected to come from
modified or replayed without detection.
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 is not modified or replayed without detection.
SEC-REQ-15: The integrity that the message data is not repeated means SEC-REQ-15: The integrity that the message data is not repeated means
that I2RS client to I2RS agent transport SHOULD protect against that I2RS client to I2RS agent transport SHOULD protect against
replay attack replay attack
Requirements SEC-REQ-13 and SEC-REQ-14 are SHOULD requirements only Requirements SEC-REQ-13 and SEC-REQ-14 are SHOULD requirements only
because it is recognized that some I2RS Client to I2RS agent because it is recognized that some I2RS Client to I2RS agent
communication occurs over a non-secure channel. The I2RS client to communication occurs over a non-secure channel. The I2RS client to
I2RS agent over a secure channel would implement these features. In I2RS agent over a secure channel would implement these features. In
order to provide some traceability or notification for the non-secure order to provide some traceability or notification for the non-secure
protocol, SEC-REQ-16 suggests traceability and notification are protocol, SEC-REQ-16 suggests traceability and notification are
important to include for any non-secure protocol. important to include for any non-secure protocol.
SEC-REQ-16: The I2RS message traceability and notification SEC-REQ-16: The I2RS message traceability and notification
requirements requirements found in [I-D.ietf-i2rs-traceability] and requirements requirements found in [I-D.ietf-i2rs-traceability] and
[I-D.ietf-i2rs-pub-sub-requirements] SHOULD be supported in [I-D.ietf-i2rs-pub-sub-requirements] SHOULD be supported in
communication channel that is non-secure to trace or notify about communication channel that is non-secure to trace or notify about
potential security issues potential security issues.
2.5. Role-Based Data Model Security 3.5. Role-Based Data Model Security
The [I-D.ietf-i2rs-architecture] defines a role or security role as The I2RS Architecture [I-D.ietf-i2rs-architecture] defines a role or
specifying read, write, or notification access by a I2RS client to security role as specifying read, write, or notification access by a
data within an agent's data model. I2RS client to data within an agent's data model.
SEC-REQ-17: The rules around what role is permitted to access and SEC-REQ-17: The rules around what role is permitted to access and
manipulate what information plus a secure transport (which protects manipulate what information plus a secure transport (which protects
the data in transit) SHOULD ensure that data of any level of the data in transit) SHOULD ensure that data of any level of
sensitivity is reasonably protected from being observed by those sensitivity is reasonably protected from being observed by those
without permission to view it, so that privacy requirements are met. without permission to view it, so that privacy requirements are met.
SEC-REQ-18: Role security MUST work when multiple transport SEC-REQ-18: Role security MUST work when multiple transport
connections are being used between the I2RS client and I2RS agent as connections are being used between the I2RS client and I2RS agent as
the I2RS architecture [I-D.ietf-i2rs-architecture] states. These the I2RS architecture [I-D.ietf-i2rs-architecture] states. These
transport message streams may start/stop without affecting the transport message streams may start/stop without affecting the
existence of the client/agent data exchange. TCP supports a single existence of the client/agent data exchange. TCP supports a single
stream of data. SCTP [RFC4960] provides security for multiple stream of data. SCTP [RFC4960] provides security for multiple
streams plus end-to-end transport of data. streams plus end-to-end transport of data.
SEC-REQ-19: I2RS clients MAY be used by multiple applications to SEC-REQ-19: I2RS clients MAY be used by multiple applications to
configure routing via I2RS agents, receive status reports, turn on configure routing via I2RS agents, receive status reports, turn on
the I2RS audit stream, or turn on I2RS traceability. Application the I2RS audit stream, or turn on I2RS traceability. Application
software using I2RS client functions may host several multiple secure software using I2RS client functions may host multiple secure
identities, but each connection will use only one identifier with one identities, but each connection will use only one identifier with one
priority. Therefore, the security of each I2RS Client to I2RS Agent priority. Therefore, the security of each I2RS Client to I2RS Agent
connection is unique. connection is unique.
Please note the security of the application to I2RS client connection Please note the security of the application to I2RS client connection
is outside of the I2RS protocol or I2RS interface. is outside of the I2RS protocol or I2RS interface.
3. Acknowledgement 4. Acknowledgement
The author would like to thank Wes George, Ahmed Abro, Qin Wu, Eric The authors would like to thank Wes George, Ahmed Abro, Qin Wu, Eric
Yu, Joel Halpern, Scott Brim, Nancy Cam-Winget, DaCheng Zhang, Alia Yu, Joel Halpern, Scott Brim, Nancy Cam-Winget, DaCheng Zhang, Alia
Atlas, and Jeff Haas for their contributions to the I2RS security Atlas, and Jeff Haas for their contributions to the I2RS security
requirements discussion and this document. requirements discussion and this document. The authors would like to
thank Bob Moskowitz for his review of the requirements.
4. IANA Considerations 5. IANA Considerations
This draft includes no request to IANA. This draft includes no request to IANA.
5. Security Considerations 6. Security Considerations
This is a document about security requirements for the I2RS protocol This is a document about security requirements for the I2RS protocol
and data modules. The whole document is security considerations. and data modules. The whole document is security considerations.
6. References 7. References
6.1. Normative References 7.1. Normative References
[I-D.ietf-i2rs-architecture] [I-D.ietf-i2rs-architecture]
Atlas, A., Halpern, J., Hares, S., Ward, D., and T. Atlas, A., Halpern, J., Hares, S., Ward, D., and T.
Nadeau, "An Architecture for the Interface to the Routing Nadeau, "An Architecture for the Interface to the Routing
System", draft-ietf-i2rs-architecture-12 (work in System", draft-ietf-i2rs-architecture-13 (work in
progress), December 2015. progress), February 2016.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997, DOI 10.17487/RFC2119, March 1997,
<http://www.rfc-editor.org/info/rfc2119>. <http://www.rfc-editor.org/info/rfc2119>.
[RFC4107] Bellovin, S. and R. Housley, "Guidelines for Cryptographic [RFC4107] Bellovin, S. and R. Housley, "Guidelines for Cryptographic
Key Management", BCP 107, RFC 4107, DOI 10.17487/RFC4107, Key Management", BCP 107, RFC 4107, DOI 10.17487/RFC4107,
June 2005, <http://www.rfc-editor.org/info/rfc4107>. June 2005, <http://www.rfc-editor.org/info/rfc4107>.
6.2. Informative References 7.2. Informative References
[I-D.haas-i2rs-ephemeral-state-reqs] [I-D.ietf-i2rs-ephemeral-state]
Haas, J., "I2RS Ephemeral State Requirements", draft-haas- Haas, J. and S. Hares, "I2RS Ephemeral State
i2rs-ephemeral-state-reqs-00 (work in progress), May 2015. Requirements", draft-ietf-i2rs-ephemeral-state-03 (work in
progress), March 2016.
[I-D.ietf-i2rs-problem-statement] [I-D.ietf-i2rs-problem-statement]
Atlas, A., Nadeau, T., and D. Ward, "Interface to the Atlas, A., Nadeau, T., and D. Ward, "Interface to the
Routing System Problem Statement", draft-ietf-i2rs- Routing System Problem Statement", draft-ietf-i2rs-
problem-statement-08 (work in progress), December 2015. problem-statement-10 (work in progress), February 2016.
[I-D.ietf-i2rs-pub-sub-requirements] [I-D.ietf-i2rs-pub-sub-requirements]
Voit, E., Clemm, A., and A. Prieto, "Requirements for Voit, E., Clemm, A., and A. Prieto, "Requirements for
Subscription to YANG Datastores", draft-ietf-i2rs-pub-sub- Subscription to YANG Datastores", draft-ietf-i2rs-pub-sub-
requirements-03 (work in progress), October 2015. requirements-05 (work in progress), February 2016.
[I-D.ietf-i2rs-traceability] [I-D.ietf-i2rs-traceability]
Clarke, J., Salgueiro, G., and C. Pignataro, "Interface to Clarke, J., Salgueiro, G., and C. Pignataro, "Interface to
the Routing System (I2RS) Traceability: Framework and the Routing System (I2RS) Traceability: Framework and
Information Model", draft-ietf-i2rs-traceability-05 (work Information Model", draft-ietf-i2rs-traceability-07 (work
in progress), December 2015. in progress), February 2016.
[RFC4949] Shirey, R., "Internet Security Glossary, Version 2", [RFC4949] Shirey, R., "Internet Security Glossary, Version 2",
FYI 36, RFC 4949, DOI 10.17487/RFC4949, August 2007, FYI 36, RFC 4949, DOI 10.17487/RFC4949, August 2007,
<http://www.rfc-editor.org/info/rfc4949>. <http://www.rfc-editor.org/info/rfc4949>.
[RFC4960] Stewart, R., Ed., "Stream Control Transmission Protocol", [RFC4960] Stewart, R., Ed., "Stream Control Transmission Protocol",
RFC 4960, DOI 10.17487/RFC4960, September 2007, RFC 4960, DOI 10.17487/RFC4960, September 2007,
<http://www.rfc-editor.org/info/rfc4960>. <http://www.rfc-editor.org/info/rfc4960>.
Authors' Addresses Authors' Addresses
 End of changes. 66 change blocks. 
133 lines changed or deleted 256 lines changed or added

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