Internet DRAFT - draft-strassner-i2nfs-info-model
draft-strassner-i2nfs-info-model
I2NSF John Strassner
Internet Draft Liang Xia
Intended status: Standard Track Huawei
Expires: August 2015 February 10, 2015
Interface to Network Security Functions Information Model
draft-strassner-i2nfs-info-model-00.txt
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), its areas, and its working groups. Note that
other groups may also distribute working documents as Internet-
Drafts.
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."
The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt
The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html
This Internet-Draft will expire on August 10, 2015.
Copyright Notice
Copyright (c) 2015 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
Strassner, et al. Expires August 10, 2015 [Page 1]
Internet-Draft I2NSF Information Model February 2015
Section 4.e of the Trust Legal Provisions and are provided without
warranty as described in the Simplified BSD License.
Abstract
This document describes an information model that defines the
salient managed entities and their relationships in an Interface to
Network Security Function (I2NSF) architecture. The information
model is independent of platform, language, and protocol, and serves
as a common consensual lexicon for the I2NFS architecture as well as
clients using this architecture. This enables multiple application-
specific data models (which are dependent on platform, language,
and/or protocol) to be built from this information model. The
advantage of doing so is to ensure that such data models will be
able to share and reuse consensually defined concepts, thereby
increasing interoperability.
Table of Contents
1. Introduction ................................................ 3
2. Conventions used in this document ........................... 3
2.1. Acronyms ............................................... 4
2.2. Definitions ............................................ 4
2.2.1. Information Model ................................. 4
2.2.2. Data Model......................................... 5
2.2.3. Inheritance ....................................... 5
2.2.4. Relationship ...................................... 5
2.2.4.1. Association .................................. 5
2.2.4.2. Aggregation .................................. 5
2.2.4.3. Composition .................................. 5
2.2.5. Multiplicity ...................................... 6
2.3. Symbology .............................................. 6
2.3.1. Basic Symbols ..................................... 6
2.3.2. Relationship Multiplicity ......................... 6
2.3.3. Relationship Naming ............................... 7
2.3.4. Relationship Navigability ......................... 7
2.3.5. Relationships Implemented as Classes .............. 7
3. Design of the I2NSF Information Model ....................... 8
3.1. Overview ............................................... 8
3.2. I2NSF Clients ......................................... 10
3.3. Security Policy Layer ................................. 10
3.4. Context-Aware Policy Engine ........................... 10
3.5. Security Capability Layer ............................. 11
4. I2NSF Information Model Hierarchy .......................... 11
5. Usage Examples of the I2NSF Information Model .............. 11
Strassner, et al. Expires August 10, 2015 [Page 2]
Internet-Draft I2NSF Information Model February 2015
6. Security Considerations .................................... 11
7. IANA Considerations ........................................ 12
8. References ................................................. 12
8.1. Normative References .................................. 12
8.2. Informative References ................................ 12
9. Acknowledgments ............................................ 12
1. Introduction
Networks and networked applications are becoming increasingly
diverse and complex. Concurrently, operators are struggling to
deploy new services quickly, and require more powerful and robust
network management services and applications. Both of these problems
are exacerbated by the proliferation of vendor-specific devices and
data models.
While Yang offers an easier way to build data models, it lacks
several software abstractions that facilitate representing high-
level entities and relationships between such entities. UML
Information Models are the de facto method for defining entities and
relationships in a technologically-neutral manner. The use of an
information model increases interoperability by defining a common
lexicon of concepts, terms, entities, and relationships that all
clients and applications can use. Data Models created in Yang, as
well as in other technologies, can use the terms and concepts
defined in the information model to ensure that concepts defined in
different technologies can be identified and translated to each
other.
The I2NFS Information Model will define managed objects and
mechanisms to address the operational, administrative, and
management aspects of the managed objects.
2. Conventions used in this document
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in RFC-2119 [RFC2119].
Strassner, et al. Expires August 10, 2015 [Page 3]
Internet-Draft I2NSF Information Model February 2015
2.1. Acronyms
AAA - Authentication, Authorization, Accounting
ABAC - Attribute Based Access Control
I2NSF - Interface to Network Security Functions
Netconf - Network Configuration protocol
NSF - Network Security Function
OAM - Operational, Administrative, and Management
PAP - Policy Administration Point
PBAC - Policy Based Access Control
PDP - Policy Decision Point
PEP - Policy Enforcement Point
PIP - Policy Information Point
PR - Policy Repository
PXP - Policy Execution Point
RBAC - Role Based Access Control
UML - Unified Modeling Language
Yang - A data definition language for use with Netconf
2.2. Definitions
This section defines important terms that are used in this document.
2.2.1. Information Model
An information model is a representation of concepts of interest to
an environment in a form that is independent of platform, language,
and protocol.
Strassner, et al. Expires August 10, 2015 [Page 4]
Internet-Draft I2NSF Information Model February 2015
2.2.2. Data Model
A data model is a representation of concepts of interest to an
environment in a form that is dependent on platform, language,
and/or protocol (typically, but not necessarily, all three).
2.2.3. Inheritance
Inheritance makes an entity at a lower level of abstraction (e.g.,
the subclass) a type of an entity at a higher level of abstraction
(e.g., the superclass). A subclass does NOT change the
characteristics or behavior of the superclass that it inherits from.
However, a subclass MAY add new attributes and relationships that
distinguish it from the attributes and relationships defined by its
superclass.
2.2.4. Relationship
A relationship is a generic term that represents how a first set of
entities interact with a second set of entities. A recursive
relationship sets the first and second entity to the same entity.
There are three basic types of relationships, as defined in the
subsections below.
2.2.4.1. Association
An association represents a generic dependency between a first and a
second set of entities.
2.2.4.2. Aggregation
An aggregation is a stronger type (i.e., more restricted
semantically) of association, and represents a whole-part dependency
between a first and a second set of entities. In other words, three
objects are implied by an aggregation: the first entity, the second
entity, and a new third entity that represents the combination of
the first and second entities. The entity owning the aggregation is
referred to as the "aggregate", and the entity that is aggregated is
referred to as the "part".
2.2.4.3. Composition
A composition is a stronger type (i.e., more restricted semantically)
of aggregation, and represents a whole-part dependency with two
important behaviors. First, an instance of the part is included in
at most one instance of the aggregate at a time. Second, any action
performed on the composite entity (i.e., the aggregate) is
Strassner, et al. Expires August 10, 2015 [Page 5]
Internet-Draft I2NSF Information Model February 2015
propagated to its constituent part objects. For example, if the
composite entity is deleted, then all of its constituent part
entities are also deleted. This is not true of aggregations or
associations - in both, only the entity being deleted is actually
removed, and the other entities are unaffected.
2.2.5. Multiplicity
A specification of the range of allowable cardinalities that a set
of entities may assume. This is always a pair of ranges, such as 1 -
1 or 0..n - 2..5.
2.3. Symbology
In order to unambiguously represent information in this document,
ASCII art will be used. This art will use the following special
symbols.
2.3.1. Basic Symbols
Indentation: this will be used to indicate hierarchy levels
Inheritance: represented by --|> (e.g., subclass -I> superclass)
Association: represented by --A- (e.g., ClassA --A- ClassB)
Aggregation: represented by --Ag- (e.g., ClassA --Ag- ClassB)
Composition: represented by --C- (e.g., ClassA --C- ClassB)
2.3.2. Relationship Multiplicity
Relationships MUST have a specified multiplicity, and can be
represented as follows:
--------- ---------
| | 0..1 1..n | |
| Class A |---------------A-| Class B |
| | BDependsOnA | |
--------- ---------
Figure 1. Illustrating a Non-Directed Association.
Strassner, et al. Expires August 10, 2015 [Page 6]
Internet-Draft I2NSF Information Model February 2015
2.3.3. Relationship Naming
Relationships MUST be named. This is to facilitate their
implementation as named managed objects. The name SHOULD be in
InitCaps. In Figure 1, Class B depends on Class A (e.g., an event
must happen to A before B can take action).
2.3.4. Relationship Navigability
Relationships MAY indicate a constraint on which set of entities can
communicate with the other set of entities in a relationship. If
there is no such constraint, then the symbology in Section 2.3.1,
illustrated by Figure 1 in Section 2.3.2, is sufficient. Otherwise,
an arrow, denoted by the right angle character (i.e., ">"), is used.
Relationships with constraint and a specified multiplicity can be
represented as follows:
--------- ---------
| | 0..1 1..n | |
| Class A |---------------A->| Class B |
| | BDependsOnA | |
--------- ---------
Figure 2. Illustrating a Directed Association.
In this case, Entities of Class A can communicate with Class B; the
reverse is not allowed.
2.3.5. Relationships Implemented as Classes
A relationship MAY be realized as a class. This is typically called
an "association class", regardless of whether the association is an
association, an aggregation, or a composition. This is illustrated as
follows:
Strassner, et al. Expires August 10, 2015 [Page 7]
Internet-Draft I2NSF Information Model February 2015
---------
| Class C |
---------
|
AC
--------- | ---------
| | 0..1 | 1..n | |
| Class A |----------------A->| Class B |
| | BDependsOnA | |
---------- ---------
Figure 3. Illustrating an Association Class.
In Figure 3, Class C is an association class, and represents the
realization of the association named BDependsOnA. Conceptually, this
means that the relationship between Classes A and B is complex, and
requires a class to represent it. For example, class attributes MAY
be used to define how Class B depends on Class A.
3. Design of the I2NSF Information Model
This section describes the I2NSF Information Model. It first
provides an architectural overview of the main entities involved.
Then, it defines an object-oriented information model for
representing the entities and their relationships.
3.1. Overview
The operation of I2NSF may be conceptualized as shown in Figure 4.
Strassner, et al. Expires August 10, 2015 [Page 8]
Internet-Draft I2NSF Information Model February 2015
----------------- ------------
| I2NSF Clients | | Info Model |<--------+
----------------- ------------ |
/ \ |
| |
| Intent-based Security Policy |
| |
\ / |
------------------------- ------------- |
| Security Policy Layer | <-------> | Data Models |<-----+
------------------------- ------------- |
/ \ / \ |
| | |
| Policy to Device Translation | |
| | |
\ / \ / |
----------------------------- --------------- |
| Context-Aware Policy Engine | <-----> | Data Models |<---+
----------------------------- --------------- |
/ \ / \ |
| | |
| Device Capabilities | |
| | |
\ / \ / |
----------------------------- --------------- |
| Security Capability Layer | <-----> | Data Models |<---+
----------------------------- ---------------
Figure 4. Conceptual Operation of the I2NSF.
An I2NSF client is a user, application, process, or similar entity
that wants to invoke a physical or virtual Network Security Function
for OAM purposes. This results from the I2NSF Security Policy Layer
exposing a set of security capabilities of one or more network
devices. The I2NSF client does not have to be aware of which set of
security devices is present or is being used; all the I2NSF client
needs to be cognizant of is which network security functions are
required for a given flow.
The Context-Aware Policy Engine uses information about the subject
and target of the policy, the current context, the type of operation
desired, and any other required information, and translates the
(high-level) intent of the I2NSF client to the capabilities of the
network security devices.
The Intent-based Security Policy is a declarative specification of
the security functions required by an I2NSF client. Since multiple
Strassner, et al. Expires August 10, 2015 [Page 9]
Internet-Draft I2NSF Information Model February 2015
devices can have non-interoperable data models that describe their
capabilities, I2NSF uses an information model to represent all
concepts that are used by I2NSF clients, applications, and the
system itself. This enables each of the three layers shown in Figure
4 to (in principle) have their own data model to represent their
functionality in an efficient manner. The information model serves
as a lexicon that enables different entities in the I2NSF
architecture to map the same or similar terms to different
expressions from different data models.
The following subsections define important architectural entities in
each layer in more detail.
3.2. I2NSF Clients
3.3. Security Policy Layer
3.4. Context-Aware Policy Engine
The purpose of I2NSF is to ensure that only properly authorized and
validated requests to perform operations on Resources and Services
are allowed.
Strassner, et al. Expires August 10, 2015 [Page 10]
Internet-Draft I2NSF Information Model February 2015
----------- 1 -------- 7 -----
| Requestor |---->| PEP |---->| PXP |
----------- -------- -----
| / \
2 | | 6
| |
\ / |
-------- 3 --------------
| |---->| |
| CADE |<----| PIP |
| | 5 | |
-------- --------------
/ \ / \ / \
4a| 4b| 4c|
| | |
| | |
--- --- ---
| S || E || R |
--- --- ---
Figure 5. High-Level Overview of the I2NSF Access Control Engine.
3.5. Security Capability Layer
4. I2NSF Information Model Hierarchy
TBD
5. Usage Examples of the I2NSF Information Model
TBD
6. Security Considerations
TBD
Strassner, et al. Expires August 10, 2015 [Page 11]
Internet-Draft I2NSF Information Model February 2015
7. IANA Considerations
TBD
8. References
8.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
8.2. Informative References
9. Acknowledgments
This document was prepared using 2-Word-v2.0.template.dot.
Authors' Addresses
John Strassner
Huawei Technologies
2330 Central Expressway
Santa Clara, CA 95138
USA
email: john.sc.strassner@huawei.com
Liang Xia
Huawei Technologies
email: Frank.xialiang@huawei.com
Strassner, et al. Expires August 10, 2015 [Page 12]