One document matched: draft-ietf-ipsp-config-policy-model-01.txt
Differences from draft-ietf-ipsp-config-policy-model-00.txt
Internet Engineering Task Force Jamie Jason
INTERNET DRAFT Intel Corporation
11-July-2000
IPsec Configuration Policy Model
draft-ietf-ipsp-config-policy-model-01.txt
Status of this Memo
This document is an Internet-Draft and is in full conformance with
all provisions of Section 10 of RFC2026. 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.
Abstract
This document presents an object-oriented model of IPsec policy
designed to:
o facilitate agreement about the content and semantics of IPsec
policy
o enable derivations of task-specific representations of IPsec
policy such as storage schema, distribution representations,
and policy specification languages used to configure IPsec-
enabled endpoints
The schema described in this document models the IKE phase one
parameters as described in [IKE] and the IKE phase two parameters
for the IPsec Domain of Interpretation as described in [COMP, ESP,
AH, DOI]. It is based upon the core policy classes as defined in
the Policy Core Information Model (PCIM) [PCIM].
Jason [Page 1]
Internet Draft IPsec Configuration Policy Model July 2000
Table of Contents
Status of this Memo................................................1
Abstract...........................................................1
Table of Contents..................................................2
1. Introduction....................................................5
2. UML Conventions.................................................5
3. IPsec Policy Model Inheritance Heirarchy........................6
4. Policy Classes..................................................9
4.1. The Class IPsecPolicyGroup....................................9
4.1.1. The Property IKERuleOverridePoint..........................10
4.1.2. The Property IPsecRuleOverridePoint........................10
4.2. The Class SARule.............................................11
4.3. The Class IKERule............................................11
4.4. The Class IPsecRule..........................................11
4.5. The Aggregation Class IPsecPolicyGroupInPolicyGroup..........12
4.5.1. The Reference ContainingGroup..............................12
4.5.2. The Reference ContainedGroup...............................12
4.5.3. The Property Precedence....................................12
4.6. The Composition Class RuleForIKENegotiation..................12
4.6.1. The Reference ContainingGroup..............................13
4.6.2. The Reference ContainedRule................................13
4.7. The Composition Class RuleForIPsecNegotiation................13
4.7.1. The Reference ContainingGroup..............................13
4.7.2. The Reference ContainedRule................................13
4.8. The Aggregation Class SAConditionInRule......................14
4.8.1. The Reference ContainingRule...............................14
4.8.2. The Reference ContainedCondition...........................14
4.8.3. The Property SequenceNumber................................14
4.9. The Aggregation Class SAActionInRule.........................14
4.9.1. The Reference ContainingRule...............................15
4.9.2. The Reference ContainedAction..............................15
4.10. The Aggregation Class FallbackSAActionInRule................15
4.10.1. The Reference ContainingRule..............................15
4.10.2. The Reference ContainedAction.............................15
4.10.3. The Property SequenceNumber...............................16
5. Condition and Filter Classes...................................17
5.1. The Class SACondition........................................18
5.1.1. The Property StartupCondition..............................18
5.2. The Class FilterList.........................................18
5.2.1. The Property Name..........................................19
5.2.2. The Property Direction.....................................19
5.3. The Abstract Class FilterEntryBase...........................19
5.3.1. The Property Name..........................................19
5.3.2. The Property IsNegated.....................................19
5.4. The Abstract Class IPFilterEntry.............................20
5.5. The Abstract Class EndpointFilterEntry.......................20
5.5.1. The Property ApplyToDestination............................20
5.6. The Class IPv4AddressFilterEntry.............................20
5.6.1. The Property Address.......................................21
5.7. The Class IPv4RangeFilterEntry...............................21
5.7.1. The Property StartAddress..................................21
5.7.2. The Property EndAddress....................................21
Jason Expires January 2001 [Page 2]
Internet Draft IPsec Configuration Policy Model July 2000
5.8. The Class IPv4SubnetFilterEntry..............................21
5.8.1. The Property Address.......................................22
5.8.2. The Property Mask..........................................22
5.9. The Class IPv6AddressFilterEntry.............................22
5.9.1. The Property Address.......................................22
5.10. The Class IPv6RangeFilterEntry..............................22
5.10.1. The Property StartAddress.................................23
5.10.2. The Property EndAddress...................................23
5.11. The Class IPv6SubnetFilterEntry.............................23
5.11.1. The Property Address......................................23
5.11.2. The Property Mask.........................................24
5.12. The Class FQDNFilterEntry...................................24
5.12.1. The Property Name.........................................24
5.13. The Class ProtocolFilterEntry...............................24
5.13.1. The Property Protocol.....................................24
5.14. The Class UDPFilterEntry....................................25
5.14.1. The Property StartPort....................................25
5.14.2. The Property EndPort......................................25
5.15. The Class TCPFilterEntry....................................25
5.15.1. The Property StartPort....................................26
5.15.2. The Property EndPort......................................26
5.16. The Abstract Class IPSOFilterEntry..........................26
5.17. The Class ClassificationLevelFilterEntry....................26
5.17.1. The Property Level........................................26
5.18. The Class ProtectionAuthorityFilterEntry....................27
5.18.1. The Property Authority....................................27
5.19. The Class CredentialFilterEntry.............................27
5.20. The Aggregation Class FilterOfSACondition...................27
5.20.1. The Reference Antecedent..................................28
5.20.2. The Reference Dependent...................................28
5.21. The Composition Class EntriesInFilterList...................28
5.21.1. The Reference Antecedent..................................28
5.21.2. The Reference Dependent...................................28
5.21.3. The Property EntrySequence................................29
6. Action Classes.................................................30
6.1. The Class SAAction...........................................30
6.2. The Class SAStaticAction.....................................30
6.2.1. The Property LifetimeSeconds...............................31
6.3. The Class IPsecBypassAction..................................31
6.4. The Class IPsecDiscardAction.................................31
6.4.1. The Property DoLogging.....................................32
6.5. The Class IKERejectAction....................................32
6.5.1. The Property DoLogging.....................................32
6.6. The Class SAPreconfiguredAction..............................32
6.7. The Class SANegotiationAction................................33
6.7.1. The Property MinLifetimeSeconds............................33
6.7.2. The Property MinLifetimeKilobytes..........................33
6.7.3. The Property RefreshThresholdSeconds.......................34
6.7.4. The Property RefreshThresholdKilobytes.....................34
6.7.5. The Property IdleDurationSeconds...........................34
6.8. The Class IPsecAction........................................35
6.8.1. The Property UsePFS........................................35
6.8.2. The Property UseIKEGroup...................................35
Jason Expires January 2001 [Page 3]
Internet Draft IPsec Configuration Policy Model July 2000
6.8.3. The Property GroupId.......................................35
6.8.4. The Property Granularity...................................36
6.9. The Class IPsecTransportAction...............................36
6.10. The Class IPsecTunnelAction.................................36
6.10.1. The Property PeerGateway..................................37
6.10.2. The Property DFHandling...................................37
6.11. The Class IKEAction.........................................37
6.11.1. The Property RefreshThresholdDerivedKeys..................37
6.11.2. The Property ExchangeMode.................................38
6.11.3. The Property UseIKEIdentityType...........................38
6.12. The Aggregation Class ContainedProposal.....................38
6.12.1. The Reference GroupComponent..............................39
6.12.2. The Reference PartComponent...............................39
6.12.3. The Property SequenceNumber...............................39
7. Proposal and Transform Classes.................................40
7.1. The Abstract Class SAProposal................................40
7.1.1. The Property Name..........................................40
7.1.2. The Property MaxLifetimeSeconds............................41
7.1.3. The Property MaxLifetimeKilobytes..........................41
7.2. The Class IKEProposal........................................41
7.2.1. The Property LifetimeDerivedKeys...........................41
7.2.2. The Property CipherAlgorithm...............................42
7.2.3. The Property HashAlgorithm.................................42
7.2.4. The Property PRFAlgorithm..................................42
7.2.5. The Property GroupId.......................................43
7.2.6. The Property AuthenticationMethod..........................43
7.3. The Class IPsecProposal......................................43
7.4. The Abstract Class SATransform...............................44
7.4.1. The Property Name..........................................44
7.4.1. The Property VendorID......................................44
7.5. The Class AHTransform........................................44
7.5.1. The Property AHTransformId.................................44
7.6. The Class ESPTransform.......................................45
7.6.1. The Property IntegrityTransformId..........................45
7.6.2. The Property CipherTransformId.............................45
7.6.3. The Property CipherKeyLength...............................46
7.6.4. The Property CipherKeyRounds...............................46
7.7. The Class IPCOMPTransform....................................46
7.7.1. The Property Algorithm.....................................46
7.7.2. The Property DictionarySize................................47
7.7.3. The Property PrivateAlgorithm..............................47
7.8. The Aggregation Class ContainedTransform.....................47
7.8.1. The Reference GroupComponent...............................48
7.8.2. The Reference PartComponent................................48
7.8.3. The Property SequenceNumber................................48
8. Security Considerations........................................48
9. Intellectual Property..........................................48
10. Acknowledgments...............................................49
11. References....................................................49
12. Disclaimer....................................................50
13. Author's Address..............................................50
14. Full Copyright Statement......................................50
Jason Expires January 2001 [Page 4]
Internet Draft IPsec Configuration Policy Model July 2000
1. Introduction
Internet Protocol security (IPsec) policy may assume a variety of
forms as it travels from storage to distribution point to decision
point. At each step, it needs to be represented in a way that is
convenient for the current task. For example, the policy could
exist as, but is not limited to:
o a Lightweight Directory Access Protocol (LDAP) [LDAP] schema in
a directory
o an on-the-wire representation over a transport protocol like the
Common Object Policy Service (COPS) [COPS, COPSPR]
o a text-based policy specification language [SPSL] suitable for
editing by an administrator
o an Extensible Markup Language (XML) document
Each of these task-specific representations should be derived from a
canonical representation that precisely specifies the content and
semantics of the IPsec policy. The purpose of this document is to
abstract IPsec policy into a task-independent representation that is
not constrained by any particular task-dependent representation.
This document is organized as follows:
o Section 2 provides a quick introduction to the Unified Modeling
Language (UML) graphical notation conventions used in this
document.
o Section 3 provides the inheritance hierarchy which describes
where the IPsec policy classes fit into the policy class
hierarchy already defined by PCIM.
o The remainder of the document describes the classes which make
up the IPsec policy model.
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 [KEYWORDS].
2. UML Conventions
For this document, a UML static class diagram was chosen as the
canonical representation for the IPsec policy model. The reason
behind this decision is that UML provides a graphical, task-
independent way to model systems. A treatise on the graphical
notation used in UML is beyond the scope of this paper. However,
given the use of ASCII drawing for UML static class diagrams, a
description of the notational conventions used in this document is
in order:
o Boxes represent classes, with class names in brackets ([])
representing a virtual class.
Jason Expires January 2001 [Page 5]
Internet Draft IPsec Configuration Policy Model July 2000
o A line that terminates with an arrow (<, >, ^, v) denotes
inheritance. The arrow always points to the parent class.
Inheritance can also be called generalization or specialization
(depending upon the reference point). A base class is a
generalization of a derived class, and a derived class is a
specialization of a base class.
o Associations are used model a relationship between two classes.
Classes that share an association are connected using a line.
There are two special kinds of associations - aggregations and
compositions. Both model a whole-part relationship between two
classes. Associations, and therefore aggregations and
compositions, can also be modeled as classes.
o A line that begins with a "o" denotes aggregation. Aggregation
denotes containment in which the contained class and the
containing class have independent lifetimes.
o A line that begins with an "x" denotes composition. Composition
denotes containment in which the contained class and the
contianing class have coincident lifetimes.
o Next to a line representing an association appears a
multiplicity. Multiplicities indicate the number of objects in
the relationship. The multiplicity may be:
- a range in the form "lower bound..upper bound" indicating the
minimum and maximum number of objects.
- a number that indicates the exact number of objects.
- an asterisk indicating any number of objects, including zero.
Using an asterisk is shorthand for 0..n.
- the letter n indicating from 1 to many. Using the letter n is
shorthand for 1..n.
It should be noted that the UML static class diagram presented is a
conceptual view of IPsec policy designed to aid in understanding.
It does not necessarily get translated class for class into another
representation. For example, an LDAP implementation may flatten out
the representation to fewer classes (because of the inefficiency of
following references).
3. IPsec Policy Model Inheritance Heirarchy
The following diagram represents the inheritance hierarchy and how
the IPsec policy model classes fit into PCIM.
[unrooted]
|
+--Policy (PCIM)
| |
| +--PolicyGroup (PCIM)
| | |
| | +--IPsecPolicyGroup (new class)
| |
| +--PolicyRule (PCIM)
| | |
| | +--SARule (new abstract class)
| | |
Jason Expires January 2001 [Page 6]
Internet Draft IPsec Configuration Policy Model July 2000
| | +--IKERule (new class)
| | |
| | +--IPsecRule (new class)
| |
| +--PolicyCondition (PCIM)
| | |
| | +--SACondition (new class)
| |
| +--PolicyAction (PCIM)
| |
| +--SAAction (new abstract class)
| |
| +--SAStaticAction (new abstract class)
| | |
| | +--IPsecBypassAction (new class)
| | |
| | +--IPsecDiscardAction (new class)
| | |
| | +--IKERejectAction (new class)
| | |
| | +--SAPreconfiguredAction (new class)
| |
| +--SANegotiationAction (new abstract class)
| |
| +--IPsecAction (new abstract class)
| | |
| | +--IPsecTransportAction (new class)
| | |
| | +--IPsecTunnelAction (new class)
| |
| +--IKEAction (new abstract class)
|
+--FilterList
|
+--FilterEntryBase
| |
| +--IPFilterEntry (new abstract class)
| | |
| | +--EndpointFilterEntry (new abstract class)
| | | |
| | | +--IPv4AddressFilterEntry (new class)
| | | |
| | | +--IPv4RangeFilterEntry (new class)
| | | |
| | | +--IPv4SubnetFilterEntry (new class)
| | | |
| | | +--IPv6AddressFilterEntry (new class)
| | | |
| | | +--IPv6RangeFilterEntry (new class)
| | | |
| | | +--IPv6SubnetFilterEntry (new class)
| | | |
| | | +--FQDNFilterEntry (new class)
Jason Expires January 2001 [Page 7]
Internet Draft IPsec Configuration Policy Model July 2000
| | |
| | +--PortFilterEntry (new class)
| | |
| | +--ProtocolFilterEntry (new class)
| |
| +--IPSOFilterEntry (new class)
| |
| +--CredentialFilterEntry (new class)
|
+--SAProposal (new abstract class)
| |
| +--IKEProposal (new class)
| |
| +--IPsecProposal (new class)
|
+--SATransform (new abstract class)
|
+--AHTransform (new class)
|
+--ESPTransform (new class)
|
+--IPCOMPTransform (new class)
The following diagram represents the inheritance hierarchy and how
the IPsec policy model association classes fit into PCIM.
[unrooted]
|
+--PolicyGroupInPolicyGroup (PCIM)
| |
| +--IPsecPolicyGroupInPolicyGroup (new class)
|
+--PolicyConditionInPolicyRule (PCIM)
| |
| +--SAConditionInRule (new class)
|
+--FallbackSAActionInRule (new class)
|
+--EntriesInFilterList (new class)
|
+--ContainedProposal (new class)
|
+--IPsecContainedTransform (new class)
Jason Expires January 2001 [Page 8]
Internet Draft IPsec Configuration Policy Model July 2000
4. Policy Classes
The IPsec policy classes represent the set of policies that are
contained on a system.
(a)
+------+
| |*
| *+------------------+
+---o| IPsecPolicyGroup |
+------------------+
1 x x 1
(b) | | (c)
+-----------------------+ +---------------------+
| |
| +---------------------------+ |
| | PolicyTimePeriodCondition | |
| | (defined in [PCIM]) | |
| +---------------------------+ |
| *| |
| | (d) |
| *o |
| +-------------+* *+--------+* 1+----------+ |
| | SACondition |------o| SARule |o-------| SAAction | |
| +-------------+ (e) +--------+ (f) +----------+ |
| ^ |* |
| | +------+ |
| +--------+--------+ | (g) |
| | | *o |
| *+---------+ +-----------+* |
+---------------| IKERule | | IPsecRule |------------+
+---------+ +-----------+
(a) IPsecPolicyGroupInPolicyGroup
(b) RuleForIKENegotiation
(c) RuleForIPsecNegotiation
(d) PolicyRuleValidityPeriod (defined in [PCIM])
(e) SAConditionInRule
(f) SAActionInRule
(g) FallbackSAActionInRule
4.1. The Class IPsecPolicyGroup
The class IPsecPolicyGroup serves as a container of either other
IPsecPolicyGroups or a set of IKERules and a set of IPsecRules.
Rules contained within an IPsecPolicyGroup MUST have a unique
Priority value. The class definition for IPsecPolicyGroup is as
follows:
NAME IPsecPolicyGroup
DESCRIPTION Either a set of IPsecPolicyGroups or a set of IKERules
and a set of IPsecRules.
Jason Expires January 2001 [Page 9]
Internet Draft IPsec Configuration Policy Model July 2000
DERIVED FROM PolicyGroup (see [PCIM])
ABSTRACT FALSE
PROPERTIES PolicyGroupName (from PolicyGroup)
IKERuleOverridePoint
IPsecRuleOverridePoint
NOTE: for derivations of the schema that are used for policy
distribution to an IPsec device (for example, COPS-PR), the server
may follow all of IPsecPolicyGroupInPolicyGroup associations and
create one policy group which is simply a set of all of the IKE
rules and a set of all of the IPsec rules. See the section on the
IPsecPolicyGroupInPolicyGroup aggregation for information on merging
multiple IPsecPolicyGroups.
4.1.1. The Property IKERuleOverridePoint
This property specifies the rule priority at which the policy author
is willing to allow IKERule insertions by a local administrator.
For example, the IT department may define the policy on a company-
wide basis, but allow groups or individuals to insert rules into the
policy to override defaults. Rules are ordered in decreasing order
of their priority (i.e., higher priorities come first). The
override point specifies that if rules are inserted, they are to be
inserted before all rules equal to or less than the override
priority value.
For example, assume that there is a group G1 with IKE rules as
follows:
G1 = { Rule A (priority 50),
Rule B (priority 25),
Rule C (priority 15) }
The IKE override value for G1 is 20. Now assume that a local
administrator wants to insert a set of IKE rules {Rule D, Rule E}
where Rule D has a higher priority than Rule E. The new rules will
be added before rules in G1 with priority equal to or less than 20.
So, when evaluating rules, the order of evaluation would be A, B, D,
E, C. Note that the priority of the rules in override set are
relative only to the set.
The property is defined as follows:
NAME IKERuleOverridePoint
DESCRIPTION Specifies the rule priority at which the policy author
is willing to allow IKERule insertions by a local
administrator.
SYNTAX unsigned 16-bit integer
4.1.2. The Property IPsecRuleOverridePoint
This property specifies the rule priority at which the policy author
is willing to allow IPsecRule insertions by a local administrator.
Jason Expires January 2001 [Page 10]
Internet Draft IPsec Configuration Policy Model July 2000
This property is the same as IKERuleOverridePoint except it is used
for the IPsec rules in the IPsecPolicyGroup. The property is
defined as follows:
NAME IPsecRuleOverridePoint
DESCRIPTION Specifies the rule priority at which the policy author
is willing to allow IPsecRule insertions by a local
administrator.
SYNTAX unsigned 16-bit integer
4.2. The Class SARule
The class SARule serves as a base class for IKERule and IPsecRule.
Even though the class is concrete, it MUST not be instantiated. It
defines a common connection point for associations to conditions and
actions for both types of rules. Each SARule within a given
IPsecPolicyGroup must contain a unique priority. Through its
derivation from PolicyRule, an SARule (and therefore IKERule and
IPsecRule) also has the PolicyRuleValidityPeriod association. The
class definition for SARule is as follows:
NAME SARule
DESCRIPTION A base class for IKERule and IPsecRule.
DERIVED FROM PolicyRule (see [PCIM])
ABSTRACT FALSE
PROPERTIES PolicyRuleName (from PolicyRule)
Enabled (from PolicyRule)
ConditionListType (from PolicyRule)
Priority (from PolicyRule)
PolicyRoles (from PolicyRule)
4.3. The Class IKERule
The class IKERule associates Conditions and Actions for IKE phase 1
negotiations. The class definition for IKERule is as follows:
NAME IKERule
DESCRIPTION Associates Conditions and Actions for IKE phase 1
negotiations.
DERIVED FROM SARule
ABSTRACT FALSE
PROPERTIES same as SARule
4.4. The Class IPsecRule
The class IPsecRule associates Conditions and Actions for IKE phase
2 negotiations for the IPsec DOI. The class definition for
IPsecRule is as follows:
NAME IKERule
DESCRIPTION Associates Conditions and Actions for IKE phase 2
negotiations for the IPsec DOI.
DERIVED FROM SARule
Jason Expires January 2001 [Page 11]
Internet Draft IPsec Configuration Policy Model July 2000
ABSTRACT FALSE
PROPERTIES same as SARule
4.5. The Aggregation Class IPsecPolicyGroupInPolicyGroup
The class IPsecPolicyGroupInPolicyGroup allows multiple IPsec
policies to be combined to into one effective policy. When merging
policies, rule priorities are used in conjunction with the rule
override point values to determine insertion points and for rule
priority renumbering (if necessary to maintain uniqueness). The
class definition for IPsecPolicyGroupInPolicyGroup is as follows:
NAME IPsecPolicyGroupInPolicyGroup
DESCRIPTION Associates a nested IPsecPolicyGroup with the
IPsecPolicyGroup that contains it.
DERIVED FROM PolicyGroupInPolicyGroup (see [PCIM])
ABSTRACT FALSE
PROPERTIES ContainingGroup[ref IPsecPolicyGroup[0..n]]
ContainedGroup[ref IPsecPolicyGroup[0..n]]
Precedence
4.5.1. The Reference ContainingGroup
The property ContainingGroup is inherited from
PolicyGroupInPolicyGroup and is overridden to contain object
reference to an IPsecPolicyGroup that contains one or more
IPsecPolicyGroups. The [0..n] cardinality indicates that there may
be zero or more IPsecPolicyGroups that contain any given
IPsecPolicyGroup.
4.5.2. The Reference ContainedGroup
The property ContainedGroup is inherited from
PolicyGroupInPolicyGroup and is overridden to contain an object
reference to an IPsecPolicyGroup contained by one or more
IPsecPolicyGroups. The [0..n] cardinality indicates that an
IPsecPolicyGroup may contain zero or more IPsecPolicyGroups.
4.5.3. The Property Precedence
The property Precedence specifies the merge ordering of the nested
IPsecPolicyGroups. The property is defined as follows:
NAME Precedence
DESCRIPTION Specifies the merge ordering of the nested
IPsecPolicyGroups.
SYNTAX unsigned 16-bit integer
VALUE Any value between 1 and 2^16-1 inclusive. Lower values
have higher precedence (i.e., 1 is the highest
precedence). The merging order of two ContainedGroups
with the same precedence is undefined.
4.6. The Composition Class RuleForIKENegotiation
Jason Expires January 2001 [Page 12]
Internet Draft IPsec Configuration Policy Model July 2000
The class RuleForIKENegotiation associates an IKERule with the
IPsecPolicyGroup that contains it. The class definition for
RuleForIKENegotiation is as follows:
NAME RuleForIKENegotiation
DESCRIPTION Associates an IKERule with the IPsecPolicyGroup that
contains it.
ABSTRACT FALSE
PROPERTIES ContainingGroup [ref IPsecPolicyGroup [1..1]]
ContainedRule [ref IKERule [0..n]]
4.6.1. The Reference ContainingGroup
The property ContainingGroup contains an object reference to an
IPsecPolicyGroup that contains one or more IKERules. The [1..1]
cardinality indicates that an IKERule may be contained in only one
IPsecPolicyGroup (i.e., IKERules are not shared across
IPsecPolicyGroups).
4.6.2. The Reference ContainedRule
The property ContainedRule contains an object reference to an
IKERule contained by an IPsecPolicyGroup. The [0..n] cardinality
indicates that an IPsecPolicyGroup may contain zero or more
IKERules.
4.7. The Composition Class RuleForIPsecNegotiation
The class RuleForIPsecNegotiation associates an IPsecRule with the
IPsecPolicyGroup that contains it. The class definition for
RuleForIPsecNegotiation is as follows:
NAME RuleForIPsecNegotiation
DESCRIPTION Associates an IPsecRule with the IPsecPolicyGroup that
contains it.
ABSTRACT FALSE
PROPERTIES ContainingGroup [ref IPsecPolicyGroup [1..1]]
ContainedRule [ref IPsecRule [0..n]]
4.7.1. The Reference ContainingGroup
The property ContainingGroup contains an object reference to an
IPsecPolicyGroup that contains one or more IPsecRules. The [1..1]
cardinality indicates that an IPsecRule may be contained in only one
IPsecPolicyGroup (i.e., IPsecRules are not shared across
IPsecPolicyGroups).
4.7.2. The Reference ContainedRule
The property ContainedRule contains an object reference to an
IPsecRule contained by an IPsecPolicyGroup. The [0..n] cardinality
Jason Expires January 2001 [Page 13]
Internet Draft IPsec Configuration Policy Model July 2000
indicates that an IPsecPolicyGroup may contain zero or more
IPsecRules.
4.8. The Aggregation Class SAConditionInRule
The class SAConditionInRule associates an SARule with the
SACondition instances that trigger it. See [PCIM] for the usage for
the properties GroupNumber and ConditionNegated. The class
definition for SAConditionInRule is as follows:
NAME SAConditionInRule
DESCRIPTION Associates an SARule with the SACondition instances
that trigger it.
DERIVED FROM PolicyConditionInPolicyRule (see [PCIM])
ABSTRACT FALSE
PROPERTIES ContainingRule [ref SARule [0..n]]
ContainedCondition [ref SACondition [0..n]]
GroupNumber (from PolicyConditionInPolicyRule)
ConditionNegated (from PolicyConditionInPolicyRule)
SequenceNumber
4.8.1. The Reference ContainingRule
The property ContainingRule is inherited from
PolicyConditionInPolicyRule and is overridden to contain an object
reference to an SARule that contains one or more SAConditions. The
[0..n] cardinality indicates that an SACondition may be contained in
zero or more SARules.
4.8.2. The Reference ContainedCondition
The property ContainedCondition is inherited from
PolicyConditionInPolicyRule and is overridden to contain an object
reference to an SACondition that is contained by an SARule. The
[0..n] cardinality indicates that an SARule may contain zero or more
SAConditions.
4.8.3. The Property SequenceNumber
The property SequenceNumber specifies, for a given rule, the order
in which the SACondition instances will be evaluated. The property
is defined as follows:
NAME SequenceNumber
DESCRIPTION Specifies the evaluation order of the SAConditions.
SYNTAX unsigned 16-bit integer
VALUE Lower valued SAConditions are evaluated first. The
order of evaluation of ContainedConditions with the
same SequenceNumber value is undefined.
4.9. The Aggregation Class SAActionInRule
Jason Expires January 2001 [Page 14]
Internet Draft IPsec Configuration Policy Model July 2000
The SAActionInRule class associates an SARule with its primary
SAAction. The class definition for SAActionInRule is as follows:
NAME SAActionInRule
DESCRIPTION Associates an SARule with its primary SAAction.
DERIVED FROM PolicyActionInPolicyRule (see [PCIM])
ABSTRACT FALSE
PROPERTIES ContainingRule [ref SARule [0..n]]
ContainedAction [ref SAAction [1..1]]
4.9.1. The Reference ContainingRule
The property ContainingRule is inherited from
PolicyActionInPolicyRule and is overridden to contain an object
reference to an SARule that contains an SAAction. The [0..n]
cardinality indicates that an SAAction may be contained in zero or
more SARules.
4.9.2. The Reference ContainedAction
The property ContainedAction is inherited from
PolicyActionInPolicyRule and is overridden to contain an object
reference to an SAAction that is contained by an SARule. The [1..1]
cardinality indicates that an SARule may contain only one SAAction.
4.10. The Aggregation Class FallbackSAActionInRule
The class FallbackSAActionInRule associates an SARule with its
ordered set of fallback actions. Fallback actions allow an
administrator to define what action is to be take if the SAAction
referenced by SAActionInRule fails for any reason. The class
definition for FallbackSAActionInRule is as follows:
NAME FallbackSAActionInRule
DESCRIPTION Associates an SARule with the ordered set of fallback
actions that should be attempted/applied in the case of
failure of the primary SAAction.
ABSTRACT FALSE
PROPERTIES ContainingRule [ref SARule [0..n]]
ContaintedAction [ref SAAction [0..n]]
SequenceNumber
4.10.1. The Reference ContainingRule
The property ContainingRule contains an object reference to an
SARule that contains one or more fallback SAActions. The [0..n]
cardinality indicates that an fallback SAAction may be contained in
zero or more SARules.
4.10.2. The Reference ContainedAction
The property ContainedAction contains an object reference to a
fallback SAAction that is contained by one or more SARules. The
Jason Expires January 2001 [Page 15]
Internet Draft IPsec Configuration Policy Model July 2000
[0..n] cardinality indicates that an SARule may contain zero or more
fallback SAActions.
4.10.3. The Property SequenceNumber
The property SequenceNumber specifies, for a given rule, the order
in which the fallback SAActions should be attempted. Once a
fallback SAAction is successfully applied, then subsequent fallback
SAActions should be ignored. The property is defined as follows:
NAME SequenceNumber
DESCRIPTION Specifies the order of attempted application for the
fallback SAAction.
SYNTAX unsigned 16-bit integer
VALUE Lower valued fallback SAActions are attempted first.
The order of attempt of ContainedActions with the same
SequenceNumber value is undefined.
Jason Expires January 2001 [Page 16]
Internet Draft IPsec Configuration Policy Model July 2000
5. Condition and Filter Classes
The IPsec condition and filter classes are used to build the "if"
part of the IKE and IPsec rules.
+-------------+* 0..1+------------+1 *+-------------------+
| SACondition |o--------| FilterList |x--------| [FilterEntryBase] |
+-------------+ (a) +------------+ (b) +-------------------+
^
|
+---------------------+------------------------+
| | |
+-----------------+ +-------------------+ +-----------------------+
| [IPFilterEntry] | | [IPSOFilterEntry] | | CredentialFilterEntry |
+-----------------+ +-------------------+ +-----------------------+
^ ^
| |
| +-------------------+
| |
| | +--------------------------------+
| +-| ClassificationLevelFilterEntry |
| | +--------------------------------+
| |
| | +--------------------------------+
| +-| ProtectionAuthorityFilterEntry |
| +--------------------------------+
|
+-----------------------------------------------+
| |
+-----------------------+ +--------------------+
| [EndpointFilterEntry] | |ProtocolFilterEntry |
+-----------------------+ +--------------------+
^ ^
| +----------------+ |
+----------------------+ | UDPFilterEntry |--+
| +----------------+ |
| |
+-----------------+ | +----------------+ |
| FQDNFilterEntry |----+ | TCPFilterEntry |--+
+-----------------+ | +----------------+
|
+------------------------+ | +------------------------+
| IPv4AddressFilterEntry |----+----| IPv6AddressFilterEntry |
+------------------------+ | +------------------------+
|
+----------------------+ | +----------------------+
| IPv4RangeFilterEntry |----+----| IPv6RangeFilterEntry |
+----------------------+ | +----------------------+
|
+-----------------------+ | +-----------------------+
| IPv4SubnetFilterEntry |----+----| IPv6SubnetFilterEntry |
+-----------------------+ +-----------------------+
Jason Expires January 2001 [Page 17]
Internet Draft IPsec Configuration Policy Model July 2000
(a) FilterOfSACondition
(b) EntriesInFilterList
5.1. The Class SACondition
The class SACondition defines the preconditions for IKE and IPsec
negotiations. The class definition for SACondition is as follows:
NAME SACondition
DESCRIPTION Defines the preconditions for IKE and IPsec
negotiations.
DERIVED FROM PolicyCondition (see [PCIM])
ABSTRACT FALSE
PROPERTIES PolicyConditionName (from PolicyCondition)
StartupCondition
5.1.1. The Property StartupCondition
This property specifies the triggering event that caused the rule
evaluation. The property is defined as follows:
NAME StartupCondition
DESCRIPTION Specifies the triggering event that cause the rule to
be evaluated.
SYNTAX unsigned 16-bit integer
VALUE 1 (OnBoot) - the rule is triggered after system boot.
The FilterList associated with the SACondition contains
the information that will be used to build the
selectors.
2 (OnManual) - the rule is triggered manually in
response to user input. The FilterList associated with
the SACondition contains the information that will be
used to build the selectors.
3 (OnDataTraffic) - the rule is triggered when packets
without associated security associations are sent or
received (traffic directionality is indicated by the
Direction field of the associated FilterList).
4 (OnIKEMessage) - the rule is triggered when an
incoming request for IKE negotiation is received.
5.2. The Class FilterList
The class FilterList aggregates an ANDed set of filters that are
used for determining when an SACondition evaluates to true and
therefore its associated SAAction should be performed. The class
definition for FilterList is as follows:
NAME FilterList
DESCRIPTION Aggregates a set of filters for condition matching.
ABSTRACT FALSE
PROPERTIES Name
Direction
Jason Expires January 2001 [Page 18]
Internet Draft IPsec Configuration Policy Model July 2000
5.2.1. The Property Name
This property specifies a user-friendly name for the FilterList.
The property is defined as follows:
NAME Name
DESCRIPTION Specifies the user-friendly name for the FilterList.
SYNTAX string
5.2.2. The Property Direction
This property specifies whether or the FilterList will be used on
incoming, outgoing, or bi-directional traffic. Direction is only
useful for filter types that inspect traffic parameters and when the
StartupCondition property in the SACondition is set to OnDataTraffic
(3). The property is defined as follows:
NAME Direction
DESCRIPTION Specifies what kind of traffic will be checked -
incoming, outgoing, or bi-directional.
SYNTAX unsigned 16-bit integer
VALUE 1 - Incoming
2 - Outgoing
3 - Bi-directional
5.3. The Abstract Class FilterEntryBase
The abstract class FilterEntryBase serves as the base class for the
specific filter class. The class definition for FilterEntryBase is
as follows:
NAME FilterEntryBase
DESCRIPTION Serves as the base class for specific filter classes.
ABSTRACT TRUE
PROPERTIES Name
IsNegated
5.3.1. The Property Name
This property specifies a user-friendly name for the filter. The
property is defined as follows:
NAME Name
DESCRIPTION Specifies the user-friendly name for the filter.
SYNTAX string
5.3.2. The Property IsNegated
This property specifies whether or not the result of the boolean
result of the filter evaluation should be negated. The property is
defined as follows:
NAME IsNegated
Jason Expires January 2001 [Page 19]
Internet Draft IPsec Configuration Policy Model July 2000
DESCRIPTION Specifies whether or not to negate the result of the
evaluation of the filter.
SYNTAX boolean
VALUE A value of true means that the boolean result of the
filter evaluation of the filter will be negated. A
value of false means that the boolean result of the
evaluation of the filter will not be altered.
5.4. The Abstract Class IPFilterEntry
The abstract class IPFilterEntry serves as a base class for filter
entries which are used to match against the 5-tuple (i.e., source
and destination address, protocol, and source and destination port)
information in the IP packet. The class definition for
IPFilterEntry is as follows:
NAME IPFilterEntry
DESCRIPTION Serves as the base class for IP 5-tuple filters.
DERIVED FROM FilterEntryBase
ABSTRACT TRUE
5.5. The Abstract Class EndpointFilterEntry
The abstract class EndpointFilterEntry serves as a base class for
filters which match against IP addresses (source or destination).
The class definition for EndpointFilterEntry is as follows:
NAME EndpointFilterEntry
DESCRIPTION Serves as the base class for filters which match
against IP addresses.
DERIVED FROM IPFilterEntry
ABSTRACT TRUE
PROPERTIES ApplyToDestination
5.5.1. The Property ApplyToDestination
This property specifies whether or not the address to test against
is the source or the destination IP address. The property is
defined as follows:
NAME ApplyToDestination
DESCRIPTION Specifies which IP address to test, source or
destination.
SYNTAX boolean
VALUE A value of true means that the destination IP address
should be tested against. A value of false means that
the source IP address should be tested against.
5.6. The Class IPv4AddressFilterEntry
The class IPv4AddressFilterEntry specifies a filter that will match
against a single IPv4 address. The class definition for
IPv4AddressFilterEntry is as follows:
Jason Expires January 2001 [Page 20]
Internet Draft IPsec Configuration Policy Model July 2000
NAME IPv4AddressFilterEntry
DESCRIPTION Defines the match filter for an IPv4 address.
DERIVED FROM EndpointFilterEntry
ABSTRACT FALSE
PROPERTIES Address
5.6.1. The Property Address
This property specifies the IPv4 address that will be used in the
equality test. The property is defined as follows:
NAME Address
DESCRIPTION Specifies the IPv4 address to match against.
SYNTAX unsigned 32-bit integer
5.7. The Class IPv4RangeFilterEntry
The class IPv4RangeFilterEntry specifies a filter for testing if an
IPv4 address is between the start address and end address
inclusively. The class definition for IPv4RangeFilterEntry is as
follows:
NAME IPv4RangeFilterEntry
DESCRIPTION Defines the match filter for an IPv4 address range.
DERIVED FROM EndpointFilterEntry
ABSTRACT FALSE
PROPERTIES StartAddress
EndAddress
5.7.1. The Property StartAddress
This property specifies the first IPv4 address in the address range.
The property is defined as follows:
NAME StartAddress
DESCRIPTION Specifies the start of the IPv4 address range.
SYNTAX unsigned 32-bit integer
5.7.2. The Property EndAddress
This property specifies the last IPv4 address in the address range.
The property is defined as follows:
NAME EndAddress
DESCRIPTION Specifies the end of the IPv4 address.
SYNTAX unsigned 32-bit integer
VALUE EndAddress must be greater than or equal to
StartAddress.
5.8. The Class IPv4SubnetFilterEntry
Jason Expires January 2001 [Page 21]
Internet Draft IPsec Configuration Policy Model July 2000
The class IPv4SubnetFilterEntry specifies a filter for testing if an
IPv4 address is in the specified subnet. The class definition for
IPv4SubnetFilterEntry is as follows:
NAME IPv4SubnetFilterEntry
DESCRIPTION Defines the match filter for an IPv4 subnet.
DERIVED FROM EndpointFilterEntry
ABSTRACT FALSE
PROPERTIES Address
Mask
5.8.1. The Property Address
This property specifies the IPv4 subnet. The property is defined as
follows:
NAME Address
DESCRIPTION Specifies the IPv4 subnet.
SYNTAX unsigned 32-bit integer
5.8.2. The Property Mask
This property specifies the IPv4 mask. The property is defined as
follows:
NAME Mask
DESCRIPTION Specifies the IPv4 mask.
SYNTAX unsigned 32-bit integer
VALUE A special value of 0.0.0.0, coupled with an Address
value of 0.0.0.0 can be used to specify all addresses.
5.9. The Class IPv6AddressFilterEntry
The class IPv6AddressFilterEntry specifies a filter that will match
against a single IPv6 address. The class definition for
IPv6AddressFilterEntry is as follows:
NAME IPv6AddressFilterEntry
DESCRIPTION Defines the match filter for an IPv4 address.
DERIVED FROM EndpointFilterEntry
ABSTRACT FALSE
PROPERTIES Address
5.9.1. The Property Address
This property specifies the IPv6 address that will be used in the
equality test. The property is defined as follows:
NAME Address
DESCRIPTION Specifies the IPv6 address to match against.
SYNTAX byte[16]
5.10. The Class IPv6RangeFilterEntry
Jason Expires January 2001 [Page 22]
Internet Draft IPsec Configuration Policy Model July 2000
The class IPv6RangeFilterEntry specifies a filter for testing if an
IPv6 address is between the start address and end address
inclusively. The class definition for IPv6RangeFilterEntry is as
follows:
NAME IPv6RangeFilterEntry
DESCRIPTION Defines the match filter for an IPv6 address range.
DERIVED FROM EndpointFilterEntry
ABSTRACT FALSE
PROPERTIES StartAddress
EndAddress
5.10.1. The Property StartAddress
This property specifies the first IPv6 address in the address range.
The property is defined as follows:
NAME StartAddress
DESCRIPTION Specifies the start of the IPv6 address range.
SYNTAX byte[16]
5.10.2. The Property EndAddress
This property specifies the last IPv6 address in the address range.
The property is defined as follows:
NAME EndAddress
DESCRIPTION Specifies the end of the IPv6 address.
SYNTAX byte[16]
VALUE EndAddress must be greater than or equal to
StartAddress.
5.11. The Class IPv6SubnetFilterEntry
The class IPv6SubnetFilterEntry specifies a filter for testing if an
IPv6 address is in the specified subnet. The class definition for
IPv4SubnetFilterEntry is as follows:
NAME IPv6SubnetFilterEntry
DESCRIPTION Defines the match filter for an IPv6 subnet.
DERIVED FROM EndpointFilterEntry
ABSTRACT FALSE
PROPERTIES Address
Mask
5.11.1. The Property Address
This property specifies the IPv6 subnet. The property is defined as
follows:
NAME Address
DESCRIPTION Specifies the IPv6 subnet.
Jason Expires January 2001 [Page 23]
Internet Draft IPsec Configuration Policy Model July 2000
SYNTAX byte[16]
5.11.2. The Property Mask
This property specifies the IPv6 mask. The property is defined as
follows:
NAME Mask
DESCRIPTION Specifies the IPv6 mask.
SYNTAX byte[16]
VALUE A special value of 0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0,
coupled with an Address value of
0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0 can be used to specify
all addresses.
5.12. The Class FQDNFilterEntry
The class FQDNFilterEntry specifies a filter for mathcing against a
single or wild-carded DNS name. The class definition for
FQDNFilterEntry is as follows:
NAME FQDNFilterEntry
DESCRIPTION Defines the match filter for a DNS name.
DERIVED FROM EndpointFilterEntry
ABSTRACT FALSE
PROPERTIES Name
5.12.1. The Property Name
This property specifies the DNS name to match against. The property
is defined as follows:
NAME Address
DESCRIPTION Specifies the DNS name.
SYNTAX string
VALUE The DNS name can be fully qualified (for example,
foo.intel.com) or partially qualified (*.intel.com).
5.13. The Class ProtocolFilterEntry
The class ProtocolFilterEntry specifies a filter for testing against
an IP protocol. The class definition for ProtocolFilterEntry is as
follows:
NAME ProtocolFilterEntry
DESCRIPTION Defines a match filter for IP protocol.
DERIVED FROM IPFilterEntry
ABSTRACT FALSE
PROPERTIES Protocol
5.13.1. The Property Protocol
Jason Expires January 2001 [Page 24]
Internet Draft IPsec Configuration Policy Model July 2000
This property specifies the IP protocol to match against. The
property is defined as follows:
NAME Protocol
DESCRIPTION Specifies the IP protocol.
SYNTAX unsigned 8-bit integer
VALUE A value of zero matches against any protocol. Any
other value is the IP protocol number.
5.14. The Class UDPFilterEntry
The class UDPFilterEntry specifies a filter for testing if a UDP
port is between the start port and end port inclusively. It is
assumed that the Protocol property from the ProtocolFilterEntry
class will contain the value 17 (i.e., UDP). The class definition
for UDPFilterEntry is as follows:
NAME UDPFilterEntry
DESCRIPTION Defines the match filter for a UDP port range.
DERIVED FROM ProtocolFilterEntry
ABSTRACT FALSE
PROPERTIES StartPort
EndPort
5.14.1. The Property StartPort
This property specifies the first port in the UDP port range. The
property is defined as follows:
NAME StartPort
DESCRIPTION Specifies the start of the UDP port range.
SYNTAX unsigned 16-bit integer
5.14.2. The Property EndPort
This property specifies the last port in the UDP port range. The
property is defined as follows:
NAME EndPort
DESCRIPTION Specifies the end of the UDP port range.
SYNTAX unsigned 16-bit integer
VALUE EndPort must be greater than or equal to StartPort.
5.15. The Class TCPFilterEntry
The class TCPFilterEntry specifies a filter for testing if a TCP
port is between the start port and end port inclusively. It is
assumed that the Protocol property from the ProtocolFilterEntry
class will contain the value 6 (i.e., TCP). The class definition
for TCPFilterEntry is as follows:
NAME TCPFilterEntry
DESCRIPTION Defines the match filter for a TCP port range.
Jason Expires January 2001 [Page 25]
Internet Draft IPsec Configuration Policy Model July 2000
DERIVED FROM ProtocolFilterEntry
ABSTRACT FALSE
PROPERTIES StartPort
EndPort
5.15.1. The Property StartPort
This property specifies the first port in the TCP port range. The
property is defined as follows:
NAME StartPort
DESCRIPTION Specifies the start of the TCP port range.
SYNTAX unsigned 16-bit integer
5.15.2. The Property EndPort
This property specifies the last port in the TCP port range. The
property is defined as follows:
NAME EndPort
DESCRIPTION Specifies the end of the TCP port range.
SYNTAX unsigned 16-bit integer
VALUE EndPort must be greater than or equal to StartPort.
5.16. The Abstract Class IPSOFilterEntry
The abstract class IPSOFilterEntry serves as a base class for the IP
Security Option (IPSO) filters. The class definition for
IPSOFilterEntry is as follows:
NAME IPSOFilterEntry
DESCRIPTION Serves as the base class for the IPSO filters.
DERIVED FROM FilterEntryBase
ABSTRACT TRUE
5.17. The Class ClassificationLevelFilterEntry
The class ClassificationLevelFilterEntry specifies a filter for
matching against the classification level IPSO field type. The
class definition for ClassificationLevelFilterEntry is as follows:
NAME ClassificationLevelFilterEntry
DESCRIPTION Defines the filter for the IPSO classification level.
DERIVED FROM IPSOFilterEntry
ABSTRACT FALSE
PROPERTIES Level
5.17.1. The Property Level
This property specifies the classification level to match against.
The property is defined as follows:
NAME Level
Jason Expires January 2001 [Page 26]
Internet Draft IPsec Configuration Policy Model July 2000
DESCRIPTION Specifies the classification level.
SYNTAX unsigned 16-bit integer
VALUE 61 - Top Secret
90 - Secret
150 - Confidential
171 - Unclassified
5.18. The Class ProtectionAuthorityFilterEntry
The class ProtectionAuthorityFilterEntry specifies a filter for
matching against the protection authority IPSO field type. The class
definition for ProtectionAuthorityFilterEntry is as follows:
NAME ProtectionAuthorityFilterEntry
DESCRIPTION Defines the filter for the IPSO protection authority.
DERIVED FROM IPSOFilterEntry
ABSTRACT FALSE
PROPERTIES Authority
5.18.1. The Property Authority
This property specifies the protection authority to match against.
The property is defined as follows:
NAME Authority
DESCRIPTION Specifies the protection authority.
SYNTAX unsigned 16-bit integer
VALUE 0 - GENSER
1 - SIOP-ESI
2 - SCI
3 - NSA
4 - DOE
5.19. The Class CredentialFilterEntry
The class CredentialFilterEntry defines a filter for matching
against credential information that was obtained during the IKE
phase 1 negotiation. This information can be identity information
(such as User FQDN) or information retrieved from credential
information (for example, fields from a certificate). This
information can be used as a form of access control. The class
definition for CredentialFilterEntry is as follows:
NAME CredentialFilterEntry
DESCRIPTION Defines the filter for matching against IKE phase 1
credential/identity information.
DERIVED FROM FilterBaseEntry
ABSTRACT FALSE
PROPERTIES To Be Determined...
5.20. The Aggregation Class FilterOfSACondition
Jason Expires January 2001 [Page 27]
Internet Draft IPsec Configuration Policy Model July 2000
The class FilterOfSACondition associates an SACondition with the
filter specifications (FilterList) that make up the condition. The
class definition for FilterOfSACondition is as follows:
NAME FilterOfSACondition
DESCRIPTION Associates a condition with the filter list that make
up the individual condition elements.
ABSTRACT FALSE
PROPERTIES Antecedent [ref FilterList[0..1]]
Dependent [ref SACondition [0..n]]
5.20.1. The Reference Antecedent
The property Antecedent contains an object reference to a FilterList
that is contained in one or more SAConditions. The [0..1]
cardinality indicates that an SACondition may have zero or one
FilterList.
5.20.2. The Reference Dependent
The property Dependent contains an object reference to an
SACondition that contains an FilterList. The [0..n] cardinality
indicates that a FilterList may be contained in zero or more
SAConditions.
5.21. The Composition Class EntriesInFilterList
The class EntriesInFilterList associates the individual
FilterEntryBases with a FilterList. Together these individual
FilterEntryBases can create complex conditions. The class
definition for EntriesInFilterList is as follows:
NAME EntriesInFilterList
DESCRIPTION Associates a FilterList with the set of individual
filters.
ABSTRACT FALSE
PROPERTIES Antecedent [ref FilterEntryBase[0..n]]
Dependent [ref FilterList [1..1]]
EntrySequence
5.21.1. The Reference Antecedent
The property Antecedent contains an object reference to a
FilterEntryBase that is contained in a FilterList. The [0..n]
cardinality indicates that a FilterList may have zero or more
FilterEntryBases.
5.21.2. The Reference Dependent
The property Dependent contains an object reference to a FilterList
that contains zero or more FilterEntryBases. The [1..1] cardinality
indicates that a FilterEntryBase may be contained in one and only
Jason Expires January 2001 [Page 28]
Internet Draft IPsec Configuration Policy Model July 2000
one FilterLists (i.e., FilterEntryBases cannot be shared between
FilterLists).
5.21.3. The Property EntrySequence
The property EntrySequence specifies, for a given FilterList, the
order in which the filters should be checked. The property is
defined as follows:
NAME EntrySequence
DESCRIPTION Specifies the order to check the filters in a
FilterList.
SYNTAX unsigned 16-bit integer
VALUE Lower valued filters are checked first. The order of
checking of FilterEntryBases with the same
EntrySequence value is undefined.
Jason Expires January 2001 [Page 29]
Internet Draft IPsec Configuration Policy Model July 2000
6. Action Classes
The action classes are used to model the different actions an IPsec
device may take when the evaluation of the associated condition
results in a match.
+----------+
| SAAction |
+----------+
^
|
+-----------+--------------+
| |
+----------------+ +---------------------+*
| SAStaticAction | | SANegotiationAction |o-----+
+----------------+ +---------------------+ |
^ ^ |
| | |
| +-----------+-------+ |
| | | |
+-------------------+ | +-------------+ +-----------+ |
| IPsecBypassAction |---+ | IPsecAction | | IKEAction | |
+-------------------+ | +-------------+ +-----------+ |
| ^ |
+--------------------+ | | +----------------------+ |
| IPsecDiscardAction |---+ +----| IPsecTransportAction | |
+--------------------+ | | +----------------------+ |
| | |
+-----------------+ | | +-------------------+ |
| IKERejectAction |---+ +----| IPsecTunnelAction | |
+-----------------+ | +-------------------+ |
| |
+-----------------------+ | +--------------+n |
| SAPreconfiguredAction |---+ | [SAProposal] |-------+
+-----------------------+ +--------------+ (a)
(a) ContainedProposal
6.1. The Class SAAction
The class SAAction serves as the base class for IKE and IPsec
actions. Although the class is concrete, it MUST not be
instantiated. The class definition for SAAction is as follows:
NAME SAAction
DESCRIPTION The base class for IKE and IPsec actions.
DERIVED FROM PolicyAction (see [PCIM])
ABSTRACT FALSE
PROPERTIES PolicyActionName (from PolicyAction)
6.2. The Class SAStaticAction
Jason Expires January 2001 [Page 30]
Internet Draft IPsec Configuration Policy Model July 2000
The class SAStaticAction serves as the base class for IKE and IPsec
actions that do not require any negotation. Although the class is
concrete, it MUST not be instantiated. The class definition for
SAStaticAction is as follows:
NAME SAStaticAction
DESCRIPTION The base class for IKE and IPsec actions that do not
require any negotiation.
DERIVED FROM SAAction
ABSTRACT FALSE
PROPERTIES LifetimeSeconds
6.2.1. The Property LifetimeSeconds
The property LifetimeSeconds specifies how long the security
association derived from this action should be used. The property
is defined as follows:
NAME LifetimeSeconds
DESCRIPTION Specifies the amount of time (in seconds) that a
security association derived from this action should be
used.
SYNTAX unsigned 32-bit integer
VALUE A value of zero indicates that there is not a lifetime
associated with this action (i.e., infinite lifetime).
A nono-zero value is typically used in conjunction with
fallback actions performed when there is a negotiation
failure of some sort.
6.3. The Class IPsecBypassAction
The class IPsecBypassAction is used when packets are allowed to be
processed without applying IPsec to them. This is the same as
stating that packets are allowed to flow in the clear. The class
definition for IPsecBypassAction is as follows:
NAME IPsecBypassAction
DESCRIPTION Specifies that packets are to be allowed to pass in the
clear.
DERIVED FROM SAStaticAction
ABSTRACT FALSE
6.4. The Class IPsecDiscardAction
The class IPsecDiscardAction is used when packets are to be
discarded. This is the same as stating that packets are to be
denied. The class definition for IPsecDiscardAction is as follows:
NAME IPsecDiscardAction
DESCRIPTION Specifies that packets are to be discarded.
DERIVED FROM SAStaticAction
ABSTRACT FALSE
PROPERTIES DoLogging
Jason Expires January 2001 [Page 31]
Internet Draft IPsec Configuration Policy Model July 2000
6.4.1. The Property DoLogging
The property DoLogging specifies whether or not an audit message
should be logged when a packet is discarded. The property is
defined as follows:
NAME DoLogging
DESCRIPTION Specifies if an audit message should be logged when a
packet is discarded.
SYNTAX boolean
VALUE A value of true indicates that logging should be done
for this action. A value of false indicates logging
should not be done for this action.
6.5. The Class IKERejectAction
The class IKERejectAction is used to prevent attempting an IKE
negotiation with the peer(s). The class definition for
IKERejectAction is as follows:
NAME IKERejectAction
DESCRIPTION Specifies that an IKE negotiation should not even be
attempted.
DERIVED FROM SAStaticAction
ABSTRACT FALSE
PROPERTIES DoLogging
6.5.1. The Property DoLogging
The property DoLogging specifies whether or not an audit message
should be logged when a determination is made to prevent an IKE
negotiation. The property is defined as follows:
NAME DoLogging
DESCRIPTION Specifies if an audit message should be logged when IKE
negotiation is prohibited.
SYNTAX boolean
VALUE A value of true indicates that logging should be done
for this action. A value of false indicates logging
should not be done for this action.
6.6. The Class SAPreconfiguredAction
The class SAPreconfiguredAction is used to create a security
association using preconfigured, hard-wired algorithms and keys.
The class definition for SAPreconfiguredAction is as follows:
NAME SAPreconfiguredAction
DESCRIPTION Specifies preconfigured algorithm and keying
information for creation of a security association.
DERIVED FROM SAStaticAction
ABSTRACT FALSE
Jason Expires January 2001 [Page 32]
Internet Draft IPsec Configuration Policy Model July 2000
PROPERTIES To Be Determined...
6.7. The Class SANegotiationAction
The class SANegotiationAction serves as the base class for IKE and
IPsec actions which result in a IKE negotiation. Although the class
is concrete, is MUST not be instantiated. The class definition for
SANegotiationAction is as follows:
NAME SANegotiationAction
DESCRIPTION A base class for IKE and IPsec actions that specifies
the parameters that are common for IKE phase 1 and IKE
phase 2 IPsec DOI negotiations.
DERIVED FROM SAAction
ABSTRACT FALSE
PROPERTIES MinLifetimeSeconds
MinLifetimeKilobytes
RefreshThresholdSeconds
RefreshThresholdKilobytes
IdleDurationSeconds
6.7.1. The Property MinLifetimeSeconds
The property MinLifetimeSeconds specifies the minimum seconds
lifetime that will be accepted from the peer. MinLifetimeSeconds is
used to prevent certain denial of service attacks where the peer
requests an arbitrarily low lifetime value, causing renegotiations
with correspondingly expensive Diffie-Hellman operations. The
property is defined as follows:
NAME MinLifetimeSeconds
DESCRIPTION Specifies the minimum acceptable seconds lifetime.
SYNTAX unsigned 32-bit integer
VALUE A value of zero indicates that there is no minimum
value. A non-zero value specifies the minimum seconds
lifetime.
6.7.2. The Property MinLifetimeKilobytes
The property MinLifetimeKilobytes specifies the minimum kilobyte
lifetime that will be accepted from the peer. MinLifetimeKilobytes
is used to prevent certain denial of service attacks where the peer
requests an arbitrarily low lifetime value, causing renegotiations
with correspondingly expensive Diffie-Hellman operations. The
property is defined as follows:
NAME MinLifetimeKilobytes
DESCRIPTION Specifies the minimum acceptable kilobyte lifetime.
SYNTAX unsigned 32-bit integer
VALUE A value of zero indicates that there is no minimum
value. A non-zero value specifies the minimum kilobyte
lifetime.
Jason Expires January 2001 [Page 33]
Internet Draft IPsec Configuration Policy Model July 2000
6.7.3. The Property RefreshThresholdSeconds
The property RefreshThresholdSeconds specifies what percentage of
the seconds lifetime can expire before IKE should attempt to
renegotiate the IPsec security association. A random value may be
added to the calculated threshold (percentage x seconds lifetime) to
reduce the chance of both peers attempting to renegotiate at the
same time. The property is defined as follows:
NAME RefreshThresholdSeconds
DESCRIPTION Specifies the percentage of seconds lifetime that has
expired before the IPsec security association is
renegotiated.
SYNTAX unsigned 8-bit integer
VALUE A value between 1 and 100 representing a percentage. A
value of 100 indicates that the IPsec security
association should not be renegotiated until the
seconds lifetime has been reached.
6.7.4. The Property RefreshThresholdKilobytes
The property RefreshThresholdKilobytes specifies what percentage of
the kilobyte lifetime can expire before IKE should attempt to
renegotiate the IPsec security association. A random value may be
added to the calculated threshold (percentage x kilobyte lifetime)
to reduce the chance of both peers attempting to renegotiate at the
same time. The property is defined as follows:
NAME RefreshThresholdKilobytes
DESCRIPTION Specifies the percentage of kilobyte lifetime that has
expired before the IPsec security association is
renegotiated.
SYNTAX unsigned 8-bit integer
VALUE A value between 1 and 100 representing a percentage. A
value of 100 indicates that the IPsec security
association should not be renegotiated until the
kilobyte lifetime has been reached.
6.7.5. The Property IdleDurationSeconds
The property IdleDurationSeconds specifies how many seconds a
security association may remain idle (i.e., no traffic protected
using the security association) before it is deleted. The property
is defined as follows:
NAME IdleDurationSeconds
DESCRIPTION Specifies how long, in seconds, a security association
may remain unused before it is deleted.
SYNTAX unsigned 32-bit integer
VALUE A value of zero indicates that idle detection should
not be used for the security association. Any non-zero
Jason Expires January 2001 [Page 34]
Internet Draft IPsec Configuration Policy Model July 2000
value indicates the number of seconds the security
association may remain unused.
6.8. The Class IPsecAction
The class IPsecAction serves as the base class for IPsec transport
and tunnel actions. It specifies the parameters used for an IKE
phase 2 IPsec DOI negotiation. Although the class is concrete, is
MUST not be instantiated. The class definition for IPsecAction is
as follows:
NAME IPsecAction
DESCRIPTION A base class for IPsec transport and tunnel actions
that specifies the parameters for IKE phase 2 IPsec DOI
negotiations.
DERIVED FROM SANegotiationAction
ABSTRACT FALSE
PROPERTIES UsePFS
UseIKEGroup
GroupId
Granularity
6.8.1. The Property UsePFS
The property UsePFS specifies whether or not perfect forward secrecy
should be used when refreshing keys. The property is defined as
follows:
NAME UsePFS
DESCRIPTION Specifies the whether or not to use PFS.
SYNTAX boolean
VALUE A value of true indicates that PFS should be used. A
value of false indicates that PFS should not be used.
6.8.2. The Property UseIKEGroup
The property UseIKEGroup specifies whether or not phase 2 should use
the same Diffie-Hellman as was used in phase 1. UseIKEGroup is
ignored if UsePFS is false. The property is defined as follows:
NAME UseIKEGroup
DESCRIPTION Specifies whether or not to use the same GroupId for
phase 2 as was used in phase 1. If UsePFS is false,
then UseIKEGroup is ignored.
SYNTAX boolean
VALUE A value of true indicates that the phase 2 GroupId
should be the same as phase 1. A value of false
indicates that the property GroupId will contain the
Diffie-Hellman group to use for phase 2.
6.8.3. The Property GroupId
Jason Expires January 2001 [Page 35]
Internet Draft IPsec Configuration Policy Model July 2000
The property GroupId specifies the Diffie-Hellman group to use for
phase 2. GroupId is ignored if (1) the property UsePFS is false, or
(2) the property UsePFS is true and the property UseIKEGroup is
true. The property is defined as follows:
NAME GroupId
DESCRIPTION Specifies the Diffie-Hellman group to use for phase 2
when the property UsePFS is true and the property
UseIKEGroup is false.
SYNTAX unsigned 16-bit integer
VALUE 1 - 768-bit MODP group
2 - 1024-bit MODP group
3 - EC2N group on GP[2^155]
4 - EC2N group on GP[2^185]
5 - 1536-bit MODP group
6.8.4. The Property Granularity
The property Granularity specifies whether the proposed selector for
the security association should be derived from the traffic that
triggered the negotiation (Narrow) or from the FilterList of the
Condition(s) that matched the rule (Wide). The property is defined
as follows:
NAME Granularity
DESCRIPTION Specifies the how the proposed selector for the
security association will be created.
SYNTAX unsigned 8-bit integer
VALUE 1 - The selector is created by using the FilterList
information from the condition that matched the traffic
parameters. This is called a Wide selector as it could
for instance contain a IP subnet or range.
2 - The selector is created by using the traffic
parameters (i.e., the 5-tuple of the traffic). This is
called a Narrow selector.
6.9. The Class IPsecTransportAction
The class IPsecTransportAction is a subclass of IPsecAction that is
used to specify use of an IPsec transport mode security association.
The class definition for IPsecTransportAction is as follows:
NAME IPsecTransportAction
DESCRIPTION Specifies that an IPsec transport mode security
association should be negotiated.
DERIVED FROM IPsecAction
ABSTRACT FALSE
6.10. The Class IPsecTunnelAction
The class IPsecTunnelAction is a subclass of IPsecAction that is
used to specify use of an IPsec tunnel mode security association.
The class definition for IPsecTunnelAction is as follows:
Jason Expires January 2001 [Page 36]
Internet Draft IPsec Configuration Policy Model July 2000
NAME IPsecTunnelAction
DESCRIPTION Specifies that an IPsec tunnel mode security
association should be negotiated.
DERIVED FROM IPsecAction
ABSTRACT FALSE
PROPERTIES PeerGateway
DFHandling
6.10.1. The Property PeerGateway
The property PeerGateway specifies the IP address or DNS name of the
peer gateway. The property is defined as follows:
NAME PeerGateway
DESCRIPTION Specifies peer gateway's IP address or DNS name.
SYNTAX string
VALUE Either (1) IPv4 address in dotted quad format, (2) IPv6
address in ... format, or (3) a DNS name.
6.10.2. The Property DFHandling
The property DFHandling specifies how the Don't Fragment (DF) bit
should be managed by the tunnel. The property is defined as
follows:
NAME DFHandling
DESCRIPTION Specifies the DF bit is managed by the tunnel.
SYNTAX unsigned 8-bit integer
VALUE 1 - DF bit is copied.
2 - DF bit is set.
3 - DF bit is cleared.
6.11. The Class IKEAction
The class IKEAction specifies the parameters that are to be used for
IKE phase 1 negotiation. The class definition for IKEAction is as
follows:
NAME IKEAction
DESCRIPTION Specifies the IKE phase 1 negotiation parameters.
DERIVED FROM SANegotiationAction
ABSTRACT FALSE
PROPERTIES RefreshThresholdDerivedKeys
ExchangeMode
UseIKEIdentityType
6.11.1. The Property RefreshThresholdDerivedKeys
The property RefreshThresholdDerivedKeys specifies what percentage
of the derived key limit (see the LifetimeDerivedKeys property of
IKEProposal) can expire before IKE should attempt to renegotiate the
IKE phase 1 security association. A random value may be added to
Jason Expires January 2001 [Page 37]
Internet Draft IPsec Configuration Policy Model July 2000
the calculated threshold (percentage x derived key limit) to reduce
the chance of both peers attempting to renegotiate at the same time.
The property is defined as follows:
NAME RefreshThresholdKilobytes
DESCRIPTION Specifies the percentage of derived key limit that has
expired before the IKE phase 1 security association is
renegotiated.
SYNTAX unsigned 8-bit integer
VALUE A value between 1 and 100 representing a percentage. A
value of 100 indicates that the IKE phase 1 security
association should not be renegotiated until the
derived key limit has been reached.
6.11.2. The Property ExchangeMode
The property ExchangeMode specifies which IKE mode should be used
for IKE phase 1 key negotiations. The property is defined as
follows:
NAME ExchangeMode
DESCRIPTION Specifies the IKE negotiation mode for phase 1.
SYNTAX unsigned 16-bit integer
VALUE 1 - base mode
2 - main mode
4 - aggressive mode
6.11.3. The Property UseIKEIdentityType
The property UseIKEIdentityType specifies what IKE identity type
should be used when negotiating with the peer. This information is
used in conjunction the IKE identities available on the system. The
property is defined as follows:
NAME UseIKEIdentityType
DESCRIPTION Specifies the IKE identity to use during negotiation.
SYNTAX unsigned 16-bit integer
VALUE 1 - IPv4 Address
2 - FQDN
3 - User FQDN
4 - IPv4 Subnet
5 - IPv6 Address
6 - IPv6 Subnet
7 - IPv4 Address Range
8 - IPv6 Address Range
9 - DER-Encoded ASN.1 X.500 Distinguished Name
10 - DER-Encoded ASN.1 X.500 GeneralName
11 - Key ID
6.12. The Aggregation Class ContainedProposal
The class ContainedProposal associates an ordered list of
SAProposals with the SANegotiationAction that contains it. If the
Jason Expires January 2001 [Page 38]
Internet Draft IPsec Configuration Policy Model July 2000
referenced SANegotiationAction object is an IKEAction, then the
referenced SAProposal object must be an IKEProposal. If the
referenced SANegotiationAction object is an IPsecTransportAction or
an IPsecTunnelAction, then the referenced SAProposal object must be
an IPsecProposal. The class definition for ContainedProposal is as
follows:
NAME ContainedProposal
DESCRIPTION Associates an ordered list of SAProposals with an
SANegotiationAction.
ABSTRACT FALSE
PROPERTIES GroupComponent[ref SANegotiationAction[0..n]]
PartComponent[ref SAProposal[1..n]]
SequenceNumber
6.12.1. The Reference GroupComponent
The property GroupComponent contains an object reference to an
SANegotiationAction that contains one or more SAProposals. The
[0..n] cardinality indicates that there may be zero or more
SANegotiationActions that contain any given SAProposal.
6.12.2. The Reference PartComponent
The property PartComponent contains an object reference to an
SAProposal contained by one or more SANegotiationActions. The
[1..n] cardinality indicates that an SANegotiationAction MUST
contain at least one SAProposal.
6.12.3. The Property SequenceNumber
The property SequenceNumber specifies the order of preference for
the SAProposals. The property is defined as follows:
NAME SequenceNumber
DESCRIPTION Specifies the preference order for the SAProposals.
SYNTAX unsigned 16-bit integer
VALUE Lower-valued proposals are preferred over proposals
with higher values. If two proposals have the same
SequenceNumber value, then the order of preference is
undefined.
Jason Expires January 2001 [Page 39]
Internet Draft IPsec Configuration Policy Model July 2000
7. Proposal and Transform Classes
The proposal and transform classes model the proposal settings an
IPsec device will use during IKE phase 1 and 2 negotiations.
+--------------+
| [SAProposal] |
+--------------+
^
|
+----------------------+
| |
+-------------+ +---------------+
| IKEProposal | | IPsecProposal |
+-------------+ +---------------+
*o
| (a)
n|
+---------------+
| [SATransform] |
+---------------+
^
|
+--------------------+-----------+---------+
| | |
+-------------+ +--------------+ +----------------+
| AHTransform | | ESPTransform | |IPCOMPTransform |
+-------------+ +--------------+ +----------------+
(a) ContainedTransform
7.1. The Abstract Class SAProposal
The abstract class SAProposal serves as the base class for the IKE
and IPsec proposal classes. It specifies the parameters that are
common to the two proposal types. The class definition for
SAProposal is as follows:
NAME SAProposal
DESCRIPTION Specifies the common proposal parameters for IKE and
IPsec security association negotiation.
ABSTRACT TRUE
PROPERTIES Name
MaxLifetimeSeconds
MaxLifetimeKilobytes
7.1.1. The Property Name
The property Name specifies a user-friendly name for the SAProposal.
The property is defined as follows:
NAME Name
DESCRIPTION Specifies a user-friendly name for this proposal.
Jason Expires January 2001 [Page 40]
Internet Draft IPsec Configuration Policy Model July 2000
SYNTAX string
7.1.2. The Property MaxLifetimeSeconds
The property MaxLifetimeSeconds specifies the maximum amount of
time, in seconds, to propose that a security association will remain
valid after its creation. The property is defined as follows:
NAME MaxLifetimeSeconds
DESCRIPTION Specifies the maximum amount of time to propose a
security association remain valid.
SYNTAX unsigned 32-bit integer
VALUE A value of zero indicates that the default of 8 hours
be used. A non-zero value indicates the maximum
seconds lifetime.
7.1.3. The Property MaxLifetimeKilobytes
The property MaxLifetimeKilobytes specifies the maximum kilobyte
lifetime to propose that a security association will remain valid
after its creation. The property is defined as follows:
NAME MaxLifetimeKilobytes
DESCRIPTION Specifies the maximum kilobyte lifetime to propose a
security association remain valid.
SYNTAX unsigned 32-bit integer
VALUE A value of zero indicates that there should be no
maximum kilobyte lifetime. A non-zero value specifies
the desired kilobyte lifetime.
7.2. The Class IKEProposal
The class IKEProposal specifies the proposal parameters necessary to
drive an IKE security association negotiation. The class definition
for IKEProposal is as follows:
NAME IKEProposal
DESCRIPTION Specifies the proposal parameters for IKE security
association negotiation.
DERIVED FROM SAProposal
ABSTRACT FALSE
PROPERTIES LifetimeDerivedKeys
CipherAlgorithm
HashAlgorithm
PRFAlgorithm
GroupId
AuthenticationMethod
7.2.1. The Property LifetimeDerivedKeys
The property LifetimeDerivedKeys specifies the number of times that
a phase 1 key will be used to derive a phase 2 key before the phase
1 security association needs renegotiated. Even though this is not
Jason Expires January 2001 [Page 41]
Internet Draft IPsec Configuration Policy Model July 2000
a parameter that is sent in an IKE proposal, it is included in the
proposal as the number of keys derived may be a result of the
strength of the algorithms in the IKE propsoal. The property is
defined as follows:
NAME LifetimeDerivedKeys
DESCRIPTION Specifies the number of phase 2 keys that can be
derived from the phase 1 key.
SYNTAX unsigned 32-bit integer
VALUE A value of zero indicates that there is no limit to the
number of phase 2 keys which may be derived from the
phase 1 key; instead the seconds and/or kilobytes
lifetime will dictate the phase 1 rekeying. A non-zero
value specifies the number of phase 2 keys that can be
derived from the phase 1 key.
7.2.2. The Property CipherAlgorithm
The property CipherAlgorithm specifies the proposed phase 1 security
association encryption algorithm. The property is defined as
follows:
NAME CipherAlgorithm
DESCRIPTION Specifies the proposed encryption algorithm for the
phase 1 security association.
SYNTAX unsigned 16-bit integer
VALUE 1 - DES-CBC
2 - IDEA-CBC
3 - Blowfish-CBC
4 - RC5-R16-B64-CBC
5 - 3DES-CBC
6 - CAST-CBC
7.2.3. The Property HashAlgorithm
The property HashAlgorithm specifies the proposed phase 1 security
assocation hash algorithm. The property is defined as follows:
NAME HashAlgorithm
DESCRIPTION Specifies the proposed hash algorithm for the phase 1
security association.
SYNTAX unsigned 16-bit integer
VALUE 1 - MD5
2 - SHA-1
3 - Tiger
7.2.4. The Property PRFAlgorithm
The property PRFAlgorithm specifies the proposed phase 1 security
association psuedo-random function. The property is defined as
follows:
NAME PRFAlgorithm
Jason Expires January 2001 [Page 42]
Internet Draft IPsec Configuration Policy Model July 2000
DESCRIPTION Specifies the proposed psuedo-random function for the
phase 1 security association.
SYNTAX unsigned 16-bit integer
VALUE Currently none defined.
7.2.5. The Property GroupId
The property GroupId specifies the proposed phase 1 security
assocation Diffie-Hellman group. The property is defined as
follows:
NAME GroupId
DESCRIPTION Specifies the proposed Diffie-Hellman group for the
phase 1 security association.
SYNTAX unsigned 16-bit integer
VALUE 1 - 768-bit MODP group
2 - 1024-bit MODP group
3 - EC2N group on GP[2^155]
4 - EC2N group on GP[2^185]
5 - 1536-bit MODP group
7.2.6. The Property AuthenticationMethod
The property AuthenticationMethod specifies the proposed phase 1
authentication method. The property is defined as follows:
NAME AuthenticationMethod
DESCRIPTION Specifies the proposed authentication method for the
phase 1 security association.
SYNTAX unsigned 16-bit integer
VALUE 0 - a special value which indicates that this
particular proposal should be repeated once for each
authentication method that corresponds to the
credentials installed on the machine. For example, if
the system has a pre-shared key and a certificate, a
proposal list could be constructed which includes a
proposal that specifies pre-shared key and proposals
for any of the public-key authentication methods.
1 - Pre-shared key
2 - DSS signatures
3 - RSA signatures
4 - Encryption with RSA
5 - Revised encryption with RSA
6 - Kerberos (has this number been assigned???)
7.3. The Class IPsecProposal
The class IPsecProposal adds no new properties, but inherits
proposal propoerties from SAProposal as well as aggregating the
security association transforms necessary for building an IPsec
proposal (see the aggregation class ContainedTransform). The class
definition for IPsecProposal is as follows:
Jason Expires January 2001 [Page 43]
Internet Draft IPsec Configuration Policy Model July 2000
NAME IPsecProposal
DESCRIPTION Specifies the proposal parameters for IPsec security
association negotiation.
DERIVED FROM SAProposal
ABSTRACT FALSE
7.4. The Abstract Class SATransform
The abstract class SATransform serves as the base class for the
IPsec transforms that can be used to compose an IPsec proposal. The
class definition for SATransform is as follows:
NAME SATransform
DESCRIPTION Base class for the different IPsec transforms.
ABSTRACT TRUE
PROPERTIES Name
VendorID
7.4.1. The Property Name
The property Name specifies a user-friendly name for the
SATransform. The property is defined as follows:
NAME Name
DESCRIPTION Specifies a user-friendly name for this transform.
SYNTAX string
7.4.1. The Property VendorID
The property VendorID specifies the vendor ID for vendor-defined
transforms. The property is defined as follows:
NAME VendorID
DESCRIPTION Specifies the vendor ID for vendor-defined transforms.
SYNTAX string
VALUE An empty VendorID string indicates that the transform
is one of the previously-defined ones.
7.5. The Class AHTransform
The class AHTransform specifies the AH algorithm to propose during
IPsec security association negotiation. The class definition for
AHTransform is as follows:
NAME AHTransform
DESCRIPTION Specifies the AH algorithm to propose.
ABSTRACT FALSE
PROPERTIES AHTransformId
7.5.1. The Property AHTransformId
The property AHTransformId specifies the transform ID of the AH
algorithm to propose. The property is defined as follows:
Jason Expires January 2001 [Page 44]
Internet Draft IPsec Configuration Policy Model July 2000
NAME AHTransformId
DESCRIPTION Specifies the transform ID of the AH algorithm.
SYNTAX unsigned 16-bit integer
VALUE 2 - MD5
3 - SHA-1
4 - DES
7.6. The Class ESPTransform
The class ESPTransform specifies the ESP algorithms to propose
during IPsec security association negotiation. The class definition
for ESPTransform is as follows:
NAME ESPTransform
DESCRIPTION Specifies the ESP algorithms to propose.
ABSTRACT FALSE
PROPERTIES IntegrityTransformId
CipherTransformId
CipherKeyLength
CipherKeyRounds
7.6.1. The Property IntegrityTransformId
The property IntegrityTransformId specifies the transform ID of the
ESP integrity algorithm to propose. The property is defined as
follows:
NAME IntegrityTransformId
DESCRIPTION Specifies the transform ID of the ESP integrity
algorithm.
SYNTAX unsigned 16-bit integer
VALUE 0 - None
1 - HMAC-MD5
2 - HMAC-SHA
3 - DES-MAC
4 - KPDK
7.6.2. The Property CipherTransformId
The property CipherTransformId specifies the transform ID of the ESP
encryption algorithm to propose. The property is defined as
follows:
NAME CipherTransformId
DESCRIPTION Specifies the transform ID of the ESP encryption
algorithm.
SYNTAX unsigned 16-bit integer
VALUE 1 - DES IV64
2 - DES
3 - 3DES
4 - RC5
5 - IDEA
Jason Expires January 2001 [Page 45]
Internet Draft IPsec Configuration Policy Model July 2000
6 - CAST
7 - Blowfish
8 - 3IDEA
9 - DES IV32
10 - RC4
11 - NULL
7.6.3. The Property CipherKeyLength
The property CipherKeyLength specifies, in bits, the key length for
the ESP encryption algorithm. For encryption algorithms which use
fixed-length keys, this value is ignored. The property is defined
as follows:
NAME CipherKeyLength
DESCRIPTION Specifies the ESP encryption key length in bits.
SYNTAX unsigned 16-bit integer
7.6.4. The Property CipherKeyRounds
The property CipherKeyRounds specifies the number of key rounds for
the ESP encryption algorithm. The property is defined as follows:
NAME CipherKeyRounds
DESCRIPTION Specifies the number of key rounds for the ESP
encryption algorithm.
SYNTAX unsigned 16-bit integer
VALUE Currently, key rounds are not defined for any ESP
encryption algorithms.
7.7. The Class IPCOMPTransform
The class IPCOMPTransform specifies the IP compression (IPCOMP)
algorithm to propose during IPsec security association negotiation.
The class definition for IPCOMPTransform is as follows:
NAME IPCOMPTransform
DESCRIPTION Specifies the IPCOMP algorithm to propose.
ABSTRACT FALSE
PROPERTIES Algorithm
DictionarySize
PrivateAlgorithm
7.7.1. The Property Algorithm
The property Algorithm specifies the transform ID of the IPCOMP
compression algorithm to propose. The property is defined as
follows:
NAME Algorithm
DESCRIPTION Specifies the transform ID of the IPCOMP compression
algorithm.
SYNTAX unsigned 16-bit integer
Jason Expires January 2001 [Page 46]
Internet Draft IPsec Configuration Policy Model July 2000
VALUE 1 - OUI (the property PrivateAlgorithm will contain the
vendor-specific algorithm to use)
2 - DEFLATE
3 - LZS
4 - V42BIS (has this number been assigned ???)
7.7.2. The Property DictionarySize
The property DictionarySize specifies the log2 maximum size of the
diction for the compression algorithm. For compression algorithms
that have pre-defined dictionary sizes, this value is ignores. The
property is defined as follows:
NAME DictionarySize
DESCRIPTION Specifies the log2 maximum size of the dictionary.
SYNTAX unsigned 16-bit integer
7.7.3. The Property PrivateAlgorithm
The property PrivateAlgorithm specifies a private vendor-specific
compression algorithm. This value is only used when the property
Algorithm is 1 (OUI). The property is defined as follows:
NAME PrivateAlgorithm
DESCRIPTION Specifies a private vendor-specific compression
algorithm.
SYNTAX unsigned 32-bit integer
7.8. The Aggregation Class ContainedTransform
The class ContainedTransform associates an IPsecProposal with the
set of SATransforms that make up the proposal. If multiple
tranforms of the same type are in a proposal, then they are to be
logically ORed and the order of preference is dictated by the
SequenceNumber property. Sets of transforms of different types are
logically ANDed. For example, if the proposal list were
ESP = { (HMAC-MD5, DES), (HMAC-MD5, 3DES) }
AH = { MD5, SHA-1 }
then the one sending the proposal wants the other side to pick one
from the ESP transform list AND one from the AH transform list. The
class definition for ContainedProposal is as follows:
NAME ContainedTransform
DESCRIPTION Associates an IPsecProposal with the set of
SATransforms that make up the proposal.
ABSTRACT FALSE
PROPERTIES GroupComponent[ref IPsecProposal[0..n]]
PartComponent[ref SATransform[1..n]]
SequenceNumber
Jason Expires January 2001 [Page 47]
Internet Draft IPsec Configuration Policy Model July 2000
7.8.1. The Reference GroupComponent
The property GroupComponent contains an object reference to an
IPsecProposal that contains one or more SATransforms. The [0..n]
cardinality indicates that there may be zero or more IPsecProposals
that contain any given SATransform.
7.8.2. The Reference PartComponent
The property PartComponent contains an object reference to an
SATransform contained by one or more IPsecProposals. The [1..n]
cardinality indicates that an IPsecPropsal MUST contain at least one
SATransform.
7.8.3. The Property SequenceNumber
The property SequenceNumber specifies the order of preference for
the SATransforms of the same type. The property is defined as
follows:
NAME SequenceNumber
DESCRIPTION Specifies the preference order for the SATransforms of
the same type.
SYNTAX unsigned 16-bit integer
VALUE Lower-valued transforms are preferred over transforms
of the same type with higher values. If two transforms
of the same type have the same SequenceNumber value,
then the order of preference is undefined.
8. Security Considerations
This document describes a schema for IPsec policy. It does not
detail security requirements for storage or delivery of said schema.
Storage and delivery security requirements should be detailed in a
comprehensive security policy architecture document.
9. Intellectual Property
The IETF takes no position regarding the validity or scope of any
intellectual property or other rights that might be claimed to
pertain to the implementation or use of the technology described in
this document or the extent to which any license under such rights
might or might not be available; neither does it represent that it
has made any effort to identify any such rights. Information on the
IETF's procedures with respect to rights in standards-track and
standards-related documentation can be found in BCP-11.
Copies of claims of rights made available for publication and any
assurances of licenses to be made available, or the result of an
attempt made to obtain a general license or permission for the use
of such proprietary rights by implementers or users of this
specification can be obtained from the IETF Secretariat.
Jason Expires January 2001 [Page 48]
Internet Draft IPsec Configuration Policy Model July 2000
The IETF invites any interested party to bring to its attention any
copyrights, patents or patent applications, or other proprietary
rights which may cover technology that may be required to practice
this standard. Please address the information to the IETF Executive
Director.
10. Acknowledgments
The author would like to thank Mike Jeronimo, Ylian Saint-Hilaire,
Vic Lortz, and William Dixon for their contributions to this IPsec
policy model.
Additionally, this draft would not have been possible without the
preceding IPsec schema drafts. For that, thanks go out to Rob
Adams, Partha Bhattacharya, William Dixon, Roy Pereira, and Raju
Rajan.
11. References
[IKE] Harkins, D., and D. Carrel, "The Internet Key Exchange (IKE)",
RFC 2409, November 1998.
[COMP] Shacham, A., and R. Monsour, R. Pereira, M. Thomas, "IP
Payload Compression Protocol (IPComp)", RFC 2393, August 1998.
[ESP] Kent, S., and R. Atkinson, "IP Encapsulating Security Payload
(ESP)", RFC 2406, November 1998.
[AH] Kent, S., and R. Atkinson, "IP Authentication Header", RFC
2402, November 1998.
[PCIM] Moore, B., and E. Ellesson, J. Strassner, "Policy Core
Information Model -- Version 1 Specification", draft-ietf-policy-
core-infor-model-06.txt, May 2000. Internet-Draft work in progress.
[DOI] Piper, D., "The Internet IP Security Domain of Interpretation
for ISAKMP", RFC 2407, November 1998.
[LDAP] Wahl, M., and T. Howes, S. Kille, "Lightweight Directory
Access Protocol (v3)", RFC 2251, December 1997.
[COPS] Boyle, J., and R. Cohen, D. Durham, S. Herzog, R. Rajan, A.
Sastry, "The COPS (Common Open Policy Service) Protocol", RFC 2748,
January 2000. Internet-Draft work in progress.
[COPSPR] Chan, K., and D. Durham, S. Gai, S. Herzog, K. McCloghrie,
F. Reichmeyer, J. Seligson, A. Smith, R. Yavatkar, "COPS Usage for
Policy Provisioning", draft-ietf-rap-pr-02.txt, March 2000.
Internet-Draft work in progress.
[SPSL] Condell, M., and C. Lynn, J. Zao, "Security Policy
Specification Language", draft-ietf-ipsp-spsl-00.txt, March 2000.
Internet-Draft work in progress.
Jason Expires January 2001 [Page 49]
Internet Draft IPsec Configuration Policy Model July 2000
[KEYWORDS] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
12. Disclaimer
The views and specification herein are those of the authors and are
not necessarily those of their employer. The authors and their
employer specifically disclaim responsibility for any problems
arising from correct or incorrect implementation or use of this
specification.
13. Author's Address
Jamie Jason
Intel Corporation
MS JF3-206
2111 NE 25th Ave.
Hillsboro, OR 97124
Phone: +1-503-264-9531
Fax: +1-503-264-9428
E-Mail: jamie.jason@intel.com
14. Full Copyright Statement
Copyright (C) The Internet Society (1999). All Rights Reserved.
This document and translations of it maybe copied and furnished to
others, and derivative works that comment on or otherwise explain it
or assist in its implementation may be prepared, copied, published
and distributed, in whole or in part, without restriction of any
kind, provided that the above copyright notice and this paragraph
are included on all such copies and derivative works. However, this
document itself may not be modified in any way, such as by removing
the copyright notice or references to the Internet Society or other
Internet organizations, except as needed for the purpose of
developing Internet standards in which case the procedures for
copyrights defined in the Internet Standards process must be
followed, or as required to translate it into languages other then
English.
The limited permissions granted above are perpetual and will not be
revoked by the Internet Society or its successors or assigns.
This document and the information contained herein is provided on an
"AS IS" basis and THE INTERNET SOCIETY AND THEINTERNET ENGINEERING
TASK FORCE DISCLIAMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMAITON
HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTEIS OF
MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Jason Expires January 2001 [Page 50]
| PAFTECH AB 2003-2026 | 2026-04-23 04:12:19 |