One document matched: draft-gross-msec-gsakmp-ipsec-arch-00.txt
INTERNET DRAFT G. Gross
Multicast Security working group IdentAware Security
Expires: January 4 2004 July 4 2004
The Group Security Association Key Management Protocol
Application to the IP Security Architecture
<draft-gross-msec-gsakmp-ipsec-arch-00.txt>
Status of this Memo
By submitting this Internet-Draft, I certify that any applicable
patent or other IPR claims of which I am aware have been disclosed,
or will be disclosed, and any of which I become aware will be
disclosed, in accordance with RFC 3668.
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.
Copyright (C) The Internet Society (2004), All Rights Reserved
Abstract
The Group Security Association Key Management Protocol (GSAKMP)is a
distributed secure multicast framework and key management protocol.
This specification defines the GSAKMP profile for the IP security
architecture version 2 and extends the base GSAKMP protocol with the
Security Association Management (SAM) message. The GSAKMP IPsec
policy token explicitly authorizes which group members may exercise
the speaker privilege. When an authorized group speaker endpoint
multicasts a SAM message to a GSAKMP group, the SAM message
configures that group's Security Policy Databases and Security
Association Databases in compliance to a template within the GSAKMP
IPsec policy token. In addition, this specification profiles the
three supporting components: RFC2401-bis compliant IP security
subsystem, Negative-acknowledgement Oriented Reliable Multicast
(NORM) protocol handler, and the X.509 Public Key Infrastructure.
Gross Expires January, 2005 page 1
GSAKMP Application to the IP Security Architecture July, 2004
1 GSAKMP IP Security Architecture Overview...............4
1.1.......................................GSAKMP Profile 5
1.2........................IP Security Subsystem Profile 7
1.3............GSAKMP IP Security Policy Token Extension 7
1.4....NACK Oriented Reliable Multicast Protocol Profile 7
1.5...................Interactions with NAT and Mobility 8
1.6........Group Speaker Security Association Management 8
1.7....................Public Key Infrastructure Profile 8
2 Terminology and Definitions of Terms...................9
3 GSAKMP IPsec Identifier and Addressing Architecture...11
3.1...........................GSAKMP Group Node Identity 11
3.1.1 Node Identity as a Unicast IP-v6 Address 12
3.1.2 Node Identity Public Key Certificate 13
3.1.3 Secure Identity to Address Mapping Database 13
3.2........................GSAKMP IPsec Group Identifier 14
3.3.....GSAKMP IPsec Transport Layer Endpoint Identifier 15
3.3.1 Transport Layer Endpoint Identifier Definition 15
3.3.2 Application Endpoint Signature Certificate 16
3.3.3 Transport Endpoint Binding Attribute Certificate 17
3.4.....Receiver Multicast Packet Distributor Identifier 18
3.5......GSAKMP Group Any Source Multicast IP-v6 Address 19
3.6.GSAKMP Group Source-Specific Multicast IP-v6 Address 20
3.7.................GSAKMP Group Multicast IP-v4 Address 20
4 GSAKMP IP Security Implementation Profile.............20
4.1..............................GSAKMP Security Suite 2 21
4.2...............Group Re-Keying Algorithm and Protocol 21
4.3..............GC/KS Re-Key Group Security Association 22
4.4.........................................Verbose Mode 22
4.5......Identification and Signature's Identifier Types 23
4.6................Lack Of Acknowledgement (LOA) Message 23
4.7.....Registration Exchange Transport Layer Parameters 23
4.8......GSAKMP Registration Protocol Exchange Extension 23
4.9De-Registration Security Association Protocol Exchange 27
4.10..................GSAKMP Autonomous Distributed Mode 27
4.11....................Group Owner Management Interface 28
4.12..............GSAKMP Node Local Management Interface 28
4.13.Coordinating Security Policies Between Group Owners 29
5 GSAKMP IP Security Subsystem Profile..................29
5.1.....GSAKMP Requirements on the IP Security Subsystem 30
5.2....Authentication Header Group Security Associations 31
5.3..........Secure Multicast Application Service Models 32
5.3.1 Unidirectional Multicast Applications 32
5.3.2 Bi-directional Reliable Multicast Applications 32
5.3.3 Any-To-Any Multicast Applications 33
5.4....Co-Existence of Multiple Key Management Protocols 33
Gross Expires January, 2004 page 2
GSAKMP Application to the IP Security Architecture July, 2004
5.5...................................ESP GSA Properties 34
5.6...............Concurrent GSA Life Spans and Rollover 35
5.7....Multiple Group Speakers and Source Authentication 37
5.8...............GSAKMP IPsec Interactions with the PAD 38
5.9.....Security Policy Database Symbolic Name Selectors 38
5.10.............Tunnel Mode Group Security Associations 40
5.11..........Multicast Packet Distributor Policy Action 40
5.11.1 Basic and Composite GSAKMP Groups 41
5.11.2 Transmitter Multicast Packet Distributor 42
5.11.3 Receiver Multicast Packet Distributor 43
5.12............................UDP Encapsulated ESP GSA 43
6 GSAKMP Interactions with NAT and Mobility.............43
6.1SPD Losses Synchronization with Internet Layer's State 44
6.1.1Mobile Multicast Care-Of Address Route Optimization 44
6.1.2 NAT Translation Mappings Are Not Predictable 44
6.2..........Secondary Problems Created by NAT Traversal 45
6.2.1 SSM Routing Dependency on Source IP Address 45
6.2.2 ESP Cloaks Its Payloads from NAT Gateway 45
6.2.3 UDP Checksum Dependency on Source IP Address 46
6.2.4 Can Not Use AH with NAT Gateway 46
6.3...Avoidance of NAT Using an IP-v6 Over IP-v4 Network 46
6.4............GSAKMP Multi-Realm IP-v4 NAT Architecture 48
6.4.1 GSAKMP IP-v4 NAT Architectural Assumptions 48
6.4.2 Representative GSAKMP Multi-Realm Configuration 50
6.4.3 Registration Security Association NAT Traversal 51
6.4.4 GSAKMP Re-key GSA NAT Traversal 52
6.4.5 Application GSA NAT Traversal 52
7 Security Association Management Message...............54
7.1GSAKMP Security Association Management Message Syntax 55
7.2.............................SAM Message Verification 57
7.3.SAM Message Processing After Successful Verification 58
7.4........Identity to Transient Address Mapping Payload 59
7.5...........Security Association Configuration Payload 63
7.6........................Security Association Template 67
7.7..........GC/KS Co-located at the Transit NAT Gateway 68
7.8....................SAM Notification Payload Handling 68
8 NACK-Oriented Reliable Multicast Protocol Profile.....68
8.1.............GSAKMP/NORM Subsystem Mandatory Features 69
8.2..................Forward Error Correction Algorithms 70
8.3...................Group-wide Default Path MTU Length 70
9 GSAKMP IP Security Public Key Infrastructure Profile..71
9.1.Identification and Signature Payload Signer ID Types 71
9.2...........Application Endpoint Signature Certificate 72
9.2.1 Subject Field Distinguished Name 72
9.2.2 SubjectAltName Extension 72
Gross Expires January, 2004 page 3
GSAKMP Application to the IP Security Architecture July, 2004
9.2.3 Issuer Field 72
9.2.4 Key Usage and Extended Key Usage Fields 72
9.3.....................GSAKMP Certificate Payload Types 73
9.4......Node Identity End-Entity Public Key Certificate 73
9.4.1 Subject and SubjectAltName Extension 73
9.4.2 Unique Identifiers 74
9.4.3 Key Usage and Extended Key Usage Extensions 74
9.4.4 Certificate Policies Extension 74
9.4.5 Subject Key Identifier Extension 74
9.4.6 Authority Key Identifier Extension 74
9.4.7 Basic Constraints Extension 74
9.5...Group Trust Anchor Public Key Certificate Key-ring 74
9.6.....Transport Endpoint Binding Attribute Certificate 75
9.6.1 IssuerName Field 75
9.6.2 Holder Field 75
9.6.3 TEBAC Issuer Signature Algorithm 75
9.6.4 Validity Period and TEBAC Revocation Strategy 75
9.6.5 Attribute Certificate Targeting Extension 76
9.6.6 Group Attribute Type 76
9.6.7 Access Identity Attribute Type 76
9.6.8 Optional Attribute Types 78
10.................................Security Considerations 78
11.....................................IANA Considerations 78
11.1...................GSAKMP IPsec Specific Allocations 78
11.2.............................SAM Message Nonce Types 79
11.3GSAKMP IP Security Specific Notify Payload Error Codes 79
12........................................Acknowledgements 80
13....................................Normative References 80
14..................................Informative References 80
15..............................Author Contact Information 82
16.........................Intellectual Property Statement 82
17.....................................Copyright Statement 82
18....................................Disclaimer Statement 83
19..............................................APPENDIX A 83
1 GSAKMP IP Security Architecture Overview
The Group Security Association Key Management Protocol (GSAKMP) base
specification [GSAKMP] provides a distributed, application
independent secure multicast framework and key management protocol.
Figure 1 illustrates the GSAKMP mapping to the IP security
architecture.
The primary goal of the GSAKMP IP Security application is to assure
inter-operable implementations across all facets of the IP security
Gross Expires January, 2004 page 4
GSAKMP Application to the IP Security Architecture July, 2004
architecture shown in figure 1. The GSAKMP IP Security application
builds on the revised IP multicast security [RFC2401-bis]
capabilities that were not available in the predecessor IP security
architecture [RFC2401]. Implementations that claim compliance to
this GSAKMP IPsec application standard MUST support all of this
document's mandatory to implement GSAKMP IPsec application-specific
features, GSAKMP protocol extensions, and profiled parameters for
the supporting architectural components. The GSAKMP IPsec
application specifications divide into seven categories, as
described in the ensuing sections.
Although figure 1 only shows a monolithic GSAKMP component, all
GSAKMP IPsec implementations MUST be capable of operating in Group
Member (GM) role, or Subordinate Group Control/Key Server (S-GC/KS)
role. Local policy sets the role authorization for a Node on a per
group basis. A Node MAY also be capable of acting in the Primary
Group Control/Key Server (P-GC/KS) role. Unless qualified to the
contrary, the term "GC/KS" refers interchangeably to either a
Subordinate GC/KS or a Primary GC/KS. The Group Owner component
interacts with the Primary GC/KS through a private interface or
protocol that is outside the scope of this standard.
1.1 GSAKMP Profile
The GSAKMP base specification offers numerous options, and it defers
the definition of application specific semantics to other documents.
Section 4 prescribes the mandatory set of must implement options
when applying GSAKMP to the IP security architecture. Wherever there
are application-specific omissions or ambiguities in the GSAKMP base
specification, this specification interprets what must be done to
assure protocol interoperability between independently produced
GSAKMP IPsec implementations. This includes the GSAKMP IPsec
management interface configuration capabilities, such that any two
implementations can be administered to inter-operate.
Gross Expires January, 2004 page 5
GSAKMP Application to the IP Security Architecture July, 2004
+-----------+ +----+---------------------------------+--------+
| multicast <====>SIAM| Group Security Association Key | Group |
|application|(C2)| | Mgmnt. Protocol (GSAKMP) IPsec | Owner |
+-/\-----/\-+ +----+-/\------------/\------A----A----+-A------+
|| || || || | | |
|| || || || | +------|
(D0) (D1) (D2) (D3) (C0) (C1)
|| || || || | |
|| || || || | +-------V------+
|| || || || | | Public Key |
|| || || || | |Infrastructure|
|| || || || | | subsystem |
|| || || || | +--------------+
|| || || || |
|| +--\/-------------\/---+ || |
|| |Negative-ack Oriented | || |
|| | Reliable Multicast | || |
|| |(NORM) protocol subset| || |
|| +---------/\-----------+ || |
|| || || |
|| || || |
+-\/------------\/--------------------\/-+ |
| U s e r D a t a g r a m | |
| P r o t o c o l ( U D P ) | |
+---------------/\-----------------------+ |
|| |
|| |
+---------------\/----------------------------V---+
| I P S e c u r i t y S u b s y s t e m |
| +--------------------------------+ |
| | Security Policy Database (SPD) | |
| +--------------------------------+ |
| | Security Assoc. Database (SAD) | |
| +--------------------------------+ |
| | Peer Authoriztn. Database (PAD)| |
| +--------------------------------+ |
+----------------------/\-------------------------+
||
||
+----------------------\/-------------------------+
| I n t e r n e t P r o t o c o l ( I P ) |
| |
| V 4 o r V 6 L a y e r |
+-------------------------------------------------+
Figure 1 GSAKMP IP security architectural model
Gross Expires January, 2004 page 6
GSAKMP Application to the IP Security Architecture July, 2004
1.2 IP Security Subsystem Profile
Section 5 profiles the GSAKMP requirements on its underlying IPsec
subsystem that assure inter-operability between all GSAKMP IPsec
endpoints and co-existence with IKE-v2 [IKE-V2].
1.3 GSAKMP IP Security Policy Token Extension
The GSAKMP IP Security policy token extension manages the group's
one or more Group Security Association (GSA) and other security
policy configuration for an RFC2401-bis compliant Security Policy
Database (SPD), Security Association Database (SAD), and the Peer
Authorization Database (PAD). The GSAKMP IPsec policy token
extension is an application specific branch under the GSAKMP core
policy token schema [COREPT]. The GSAKMP IPsec policy token design
is a subset of the IP security policy information model [RFC3585]
with accommodations for secure multicast and the architectural
features present in RFC2401-bis. The SNMP SPD configuration MIB
[SPDMIB] is another major design influence on the GSAKMP IPsec
policy information model. This document only introduces the IPsec
policy token concepts; reference [IPSECPT] formally specifies the
GSAKMP IPsec policy token extension.
1.4 NACK Oriented Reliable Multicast Protocol Profile
GSAKMP depends on a reliable multicast transport layer to deliver
its group-wide multicast messages. In particular, the GSAKMP GC/KS
multicasts the Re-Key Event (RKE) message containing the GSAKMP
IPsec policy token and group re-keying material to all of the
group's members. The RKE message is often large enough that when it
is fragmented to match the multicast path maximum transmission unit
size, the RKE becomes susceptible to unacceptably high error rates.
The GSAKMP base specification only defines a simple time-out based
retransmissions scheme and it does not specify the reliable
multicast transport layer. This document specifies a profile on the
Negative-acknowledgement Oriented Reliable Multicast (NORM) protocol
[NORM] that is more robust against GSAKMP multicast message fragment
losses than simple multicast retransmission over UDP. Section 8
specifies the NORM protocol profile.
Gross Expires January, 2004 page 7
GSAKMP Application to the IP Security Architecture July, 2004
1.5 Interactions with NAT and Mobility
The GSAKMP IP Security mapping must accommodate the negative impact
of IP-v4 Network Address Translation (NAT) [RFC2663] [RFC3022] and
mobility induced changes in a multicast speaker's source IP address.
Both of these issues require a GSAKMP mechanism to synchronize a
group's SPD/SAD traffic selectors with unannounced changes in the
Internet layer's state. The absence of a SPD/SAD synchronization
mechanism can cause the group's data traffic to be discarded rather
than processed correctly. NAT and mobility are also at the root of a
litany of secondary GSAKMP architectural problems that would also
benefit from a solution.
This specification defines a new GSAKMP protocol extension, the
"Security Association Management" (SAM) message, which mitigates
these problems by announcing to the GSAKMP group membership any
changes in a multicast speaker's IP interface address set. A GSAKMP
IPsec implementation may offer access to its Secure Identity Address
Mapping (SIAM) database (see (C2) in figure 1) to those peer
components that need to know these authenticated mappings. Section 6
examines these NAT and mobility problems and section 7 goes on to
specify the SAM message solution.
1.6 Group Speaker Security Association Management
The GSAKMP IPsec application treats the Group Speaker role as a
security policy managed privilege. The motivation is the observation
that in the absence of per packet source authentication, multicast
can be a powerful tool in a denial of service attack. The GSAKMP
IPsec application introduces the Security Association Management
(SAM) message as part of a new Group Speaker authorization process.
An important SAM message benefit is that it allows a Group Speaker
to independently manage its set of GSA within the constraints
dictated by the IPsec policy token. The Group Speaker does not incur
the overhead of a policy token revision signed by the Group Owner
every time that the Group Speaker creates, modifies, or destroys one
of its GSA.
1.7 Public Key Infrastructure Profile
The GSAKMP IPsec mapping is inter-dependent with a Public Key
Infrastructure (PKI)characterized by diversity in its standards and
its deployments. This specification profiles those aspects of GSAKMP
Identification payloads, X.509v3 public key certificate fields, and
GSAKMP Certificate payloads needed to assure that conformant GSAKMP
Gross Expires January, 2004 page 8
GSAKMP Application to the IP Security Architecture July, 2004
IPsec implementations can be configured to inter-operate with each
other and with a standards-based PKI deployment. A major influence
on this profile is [PKI4IPSEC]. However, this specification and its
successors takes precedence for the GSAKMP IPsec profile. Section 9
specifies the PKI related profile parameters, including those
aspects that must be configurable at the PKI management interface.
2 Terminology and Definitions of Terms
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in [RFC 2119].
This document makes reference to the following terms, acronyms, and
definitions:
. AH - Authentication Header
. Composite group
. DSCP - Differentiated Services Control Point
. ESP - Encapsulating Security Payload
. GC/KS - Group Controller/Key Server
. GM - Group Member
. GO - Group Owner
. Group Receiver
. Group Speaker
. GSA - Group Security Association
. GTAK - Group Traffic Authentication Key
. GTEK - Group Traffic Encryption Key
. ITAM - Identity to Transient Address Mapping GSAKMP payload
. KDL - Key Down-Load message
. Leading edge GSA
Gross Expires January, 2004 page 9
GSAKMP Application to the IP Security Architecture July, 2004
. NAT - Network Address Translation
. NAPT - Network Address/Port Translation
. Node
. Node Identity
. NORM - Negative-acknowledgement Reliable Multicast protocol
. PAD - Peer Authorization Database
. PKI - Public Key Infrastructure
. Primary-GC/KS
. RKE - Re-Key Event message
. RTD - Request-To-Depart message
. RTJ - Request To Join message
. SAC - Security Association Configuration GSAKMP payload
. SAD - Security Association Database
. SAM - Security Association Management message
. SIAM - Secure Identity to Address Mapping database
. SPD - Security Policy Database
. SPI - Security Parameter Index
. Subordinate GC/KS
. TEBAC - Transport Endpoint Binding Attribute Certificate
. Trailing edge GSA
. Transport endpoint identifier
. UDP - User Datagram Protocol
Gross Expires January, 2004 page 10
GSAKMP Application to the IP Security Architecture July, 2004
3 GSAKMP IPsec Identifier and Addressing Architecture
The GSAKMP IPsec application defines a set of identifier name space
conventions that assure inter-operable usage and allocation of the
objects and architectural entities referenced by the GSAKMP IPsec
policy token.
The GSAKMP IPsec policy token in combination with a SAM message
configures the group's SPD traffic selectors at both the Internet
and transport protocol layers. To assure interoperable GSAKMP
implementations, this section explains the information model
relationships between the identifiers found at the Internet layer's
multicast service, the multicast transport layer, and the multicast
application layer.
3.1 GSAKMP Group Node Identity
GSAKMP IPsec groups require a multicast application endpoint
addressing scheme wherein the endpoint's Node identifier remains
constant despite a GSAKMP group's membership straddling two sources
of change in its IP addresses:
- A mobile Node will change one or more of its IP interface
addresses after each move between IP networks. These changes in IP
address make it difficult to depend on an IP source address for
the source-specific multicast security policies configured in the
group's SPD traffic selectors.
- Secure multicast GSA interactions with IP-v4 Network Address
Translation (NAT) gateways also negatively impact those SPD
entries that refer to source IP-v4 addresses. Refer to section 6
for an explanation.
The "Node Identity" is the permanent GSAKMP IPsec handle that refers
to the IP protocol stack (and its companion IPsec subsystem)
residing within a physical Node. Unlike the Node's one or more
transient IP interface addresses, the Node Identity does not change
when the Node changes its location. Since the Node Identity is
constant, the Group Owner can consistently enforce its security
policies with respect to a Node Identity. See [NSRG] for additional
architectural motivation.
A Node Identity is structured as an IP-v6 address, but it is not
intended to be unicast routable in the global Internet. Instead, it
Gross Expires January, 2004 page 11
GSAKMP Application to the IP Security Architecture July, 2004
is better understood as an Internet layer Node identifier bound to a
transient set of one or more locator IP addresses.
3.1.1 Node Identity as a Unicast IP-v6 Address
Regardless of whether a GSAKMP group will be using IP-v6 or IP-v4 as
its multicast datagram delivery service, the Group Owner MUST assign
each Node participating in a GSAKMP group a "Node Identity" IP-v6
address. A Node Identity is a globally unique local unicast IP-v6
address as defined by [LCLUNIQ]. The Group Owner permanently
allocates the Node Identity from a network prefix reserved for the
exclusive use of the GSAKMP groups that the Group Owner
administratively owns and manages. Note that the Node Identity's
lifetime transcends a particular group membership cycle. In other
words, a Node joins a group using the same Node Identity across all
instances of its membership in any group managed by the Node's Group
Owner.
The Node Identity comprises the following fields:
- Globally unique local unicast address prefix: FC00::/7.
- GSAKMP Group Owner's global identifier prefix, 40 random bits - as
described in [LCLUNIQ] section 3.2. One additional bit selects
central versus local prefix assignment. The global identifier
prefix MUST NOT have the value of zero. The GSAKMP group network
prefix MUST NOT be an IP-v6 prefix delegation from a RIR or ISP.
Instead, the Group Owner MUST allocate its GSAKMP network prefix
from the IP-v6 globally unique local unicast address space. This
provider independent network prefix MAY be generated pseudo-
randomly by a local procedure, or it MAY be allocated by the
central allocation authority that assures its global uniqueness
within the IP-v6 address pool. The Group Owner management
interface MUST support both allocation procedures.
- GSAKMP group sub-net identifier, 16 bits - This field corresponds
to the "sub-net identifier" field defined in [LCLUNIQ]. When not
explicitly set by policy, the GSAKMP group sub-net identifier
SHOULD be set to a default value of zero. The Group Owner MAY
assign non-zero GSAKMP group sub-net identifiers to represent
policy defined Node Identity ranges or aggregates. GSAKMP group
sub-net identifiers make it convenient for SPD traffic selectors
to enforce security policies on logical subsets of a group's
membership. For example, a group sub-net identifier MAY refer to
the Node population that belongs to a sub-group within a composite
Gross Expires January, 2004 page 12
GSAKMP Application to the IP Security Architecture July, 2004
group (see section 5.11.1). The GSAKMP group sub-net identifier
SHOULD NOT represent a sub-group's topological point of attachment
to the global Internet. A Node MAY have multiple Node Identities
that are aliases for the same physical Node, each alias having a
distinct GSAKMP group sub-net identifier but a common Interface
Identifier. Each such alias has an associated Node Identity public
key certificate, although all of the certificates refer to the
same key pair..
- Interface Identifier, 64 bits - The Group Owner MUST assign this
value to be unique relative to all other Nodes for which it
controls the GSAKMP group memberships. The Modified EUI-64 "u" bit
MUST be set to zero (i.e. local scope). The Group Owner SHOULD
assign the Interface Identifier's value to be the low-order 64
bits of the Node Identity's public key. If a Node is registered
with multiple Group Owner's, then its Node Identity's Interface
Identifier SHOULD be the same value across all of those Group
Owners.
3.1.2 Node Identity Public Key Certificate
A Node MUST have an associated X.509 end-entity signature
certificate with its IP-v6 address "SubjectAltName" field set to the
Node Identity IP-v6 address. Section 9.4 profiles this certificate.
The Node Identity MUST have a valid certificate path rooted at one
of the GSAKMP group's trust anchor Certificate Authorities. The
Group Owner MAY be the Node Identity's Certificate Authority. The
Node Identity's signature substantiates its assertions about its
interface IP addresses, and proxies the signatures of the
application endpoints that reside on that Node.
3.1.3 Secure Identity to Address Mapping Database
Each Node in a GSAKMP group maintains a Secure Identity Address
Mapping (SIAM) database. The SIAM database contains the Node
Identity to transient IP address set mappings for all of the
relevant peer Nodes in the group. See section 7 for the discussion
of how a Node populates its SIAM.
One of the GSAKMP IPsec implementation's responsibilities is
maintaining an accurate 1:1 mapping in the SIAM database between the
dynamic 4-tuple:
- Source transient IP address (either IP-v4 or IP-v6),
Gross Expires January, 2004 page 13
GSAKMP Application to the IP Security Architecture July, 2004
- Source transient IP-v4 address after NAT gateway translation,
- Destination multicast IP address (either IP-v4 or IP-v6).
- Security Association's Security Parameter Index
And the corresponding static 3-tuple representing a multicast
application Group Speaker endpoint:
- Group Speaker Node Identity,
- Next layer protocol identifier,
- Multicast application's source port number,
RFC2401-bis compliant SPD traffic selectors refer to the transient
IP addresses rather than quantities that remain stable during a
group membership life span. Consequently, GSAKMP IPsec defines an
efficient yet secure GSAKMP protocol extension, the Security
Association Management message, to synchronize the group's SPD
traffic selectors whenever there is an update to the above mapping.
See section 7 for more information about this mechanism.
3.2 GSAKMP IPsec Group Identifier
The "GSAKMP IPsec Group Identifier" MUST be an "IP-v6" Group
Identification type as defined by [GSAKMP] section 7.1 table 11. The
GSAKMP IPsec Group Owner assigns the GSAKMP IPsec Group Identifier
by combining three components:
. GSAKMP group serial number _ A permanent pseudo-random unsigned 64
bit serial number that is unique relative to all of the GSAKMP
IPsec groups created and managed by the Group Owner. In [GSAKMP]
section 7, this component is referred to as a "Random Value",
although it remains constant for the duration of the group's
lifetime.
. Group Owner's global identifier prefix, which is the high-order 48
bits of a Node Identity as defined in section 3.1.
. IP-v6 group identifier, an unsigned 32-bit integer that is unique
relative to the Group Owner global identifier prefix. The IP-v6
group identifier MUST be a dynamic group allocation from the range
specified in [RFC3307] section 4.3.1 for a server address
allocation.
Gross Expires January, 2004 page 14
GSAKMP Application to the IP Security Architecture July, 2004
The GSAKMP IPsec Group Identifier when further qualified by a four
octet sequence number refers to a particular GSAKMP IPsec policy
token that the Group Owner has issued for that GSAKMP group. The
sequence number SHOULD advance monotonically by one for each policy
token signed by the Group Owner.
When encoded as the Group ID Value within a GSAKMP header, the
GSAKMP IPsec Group Identifier complies with [GSAKMP] section
7.1.1.1.4, with the IP-v6 value field set to the group's IP-v6
multicast address as defined by this document's section 3.5 (or
section 3.6 if the group uses Source-Specific Multicast).
3.3 GSAKMP IPsec Transport Layer Endpoint Identifier
A GSAKMP IPsec transport layer endpoint identifier refers to an
active group membership held by an application endpoint within a
Node. Typically, a transport layer endpoint is instantiated as a
individual process or file descriptor (e.g. socket) within a Node.
Other equivalent implementation mechanisms are possible, but for the
sake of clarity of exposition this specification refers to the well-
known socket model.
3.3.1 Transport Layer Endpoint Identifier Definition
A GSAKMP IPsec transport layer endpoint identifier is a 3-tuple
formed from the following components:
- Node Identity of the Node hosting the application endpoint, as
defined in section 3.1.
- Next layer protocol identifier _ Identifies the multicast
application's transport layer protocol(e.g. UDP or a reliable
multicast transport protocol).
- Multicast application source port number _ The transport layer
identifier dynamically assigned by a Node to represent a multicast
application's endpoint context state. For example, an
application's endpoint context state could be a socket file
descriptor.
The Node MUST assign a transport layer endpoint instance its source
port number before the GC/KS authorizes that application's endpoint
to become a GSAKMP group member. The source port number when
qualified by its next layer protocol identifier MUST be unique
relative to all other source port numbers assigned by that Node. The
Gross Expires January, 2004 page 15
GSAKMP Application to the IP Security Architecture July, 2004
source port number is GSAKMP group-wide unique when qualified by its
Node Identity and next layer protocol identifier. Associated with
each transport layer endpoint instance are the following properties:
- GSAKMP IPsec Group Identifier without its policy token sequence
number qualifier, as defined in section 3.2.
- Group Speaker endpoint mode or Group Receiver endpoint mode
- Multicast application destination port number _ The multicast
application's statically assigned transport layer identifier. The
destination port number has the same value across all endpoints
participating in the multicast application. Generally, the
multicast application destination port number is configured to
imply a particular GSAKMP IPsec Group Identifier. However, an
implementation defined mechanism MAY dynamically choose the
binding between an application and a GSAKMP group.
Within a Node, multiple Group Receiver transport layer endpoints
could open and bind to the same multicast application destination
port number using an implementation defined mechanism. Each
authorized endpoint receives a decrypted copy of the group's
multicast transmissions addressed to that destination port number.
For the multicast application's Group Speaker transport layer
endpoints, one or more endpoints on a common Node could register
with a GSAKMP group using an implementation defined mechanism. Once
the GC/KS authorizes a transport layer endpoint to become a Group
Speaker, then that endpoint can transmit encrypted datagrams to the
GSAKMP group. The multicast datagrams originating from a Group
Speaker endpoint will have a unique source port number relative to
the datagrams originating from the other multicast speakers on the
same Node.
3.3.2 Application Endpoint Signature Certificate
At the GSAKMP IPsec application layer, an X.509 signature identity
represents the application endpoint. The application endpoint signs
an attribute certificate that binds its X.509 signature identity to
a transport layer endpoint identifier and a Node Identity.
Every application endpoint participating in a GSAKMP group MUST have
a X.509v3 signature public key certificate with a valid certificate
path rooted at one of the GSAKMP group's trust anchor Certificate
Gross Expires January, 2004 page 16
GSAKMP Application to the IP Security Architecture July, 2004
Authorities. It MUST possess the corresponding signature secret key
for that public key. Section 9.2 defines this certificate's profile.
The application endpoint's signature certificate should not be
confused with the Node Identity certificate described in section
3.1.2. The former certificate is an application layer endpoint
identity, whereas the Node Identity certificate represents an
Internet layer identity (e.g. the Node's operating system). There
may be one or more multicast application endpoint identities co-
resident on a common Node, each with its own signature public key
certificate and associated secret key.
3.3.3 Transport Endpoint Binding Attribute Certificate
An application endpoint's signature identity does not necessarily
represent an application process itself, rather it may be
representing an end user's identity. In such cases, an end user
visiting a Node would have only a temporary relationship with that
Node. The GSAKMP IPsec application uses a "Transport Endpoint
Binding Attribute Certificate" (TEBAC) to cryptographically bind the
application endpoint identity and the Node Identity.
Whenever an application endpoint requires GSAKMP group management
services, it first issues a TEBAC that delegates to its Node's
GSAKMP subsystem the authority to:
. Sign the GSAKMP registration or de-registration protocol messages
that the Node exchanges with the GC/KS. The GSAKMP subsystem
proxies the application endpoint's signature by signing with its
Node Identity secret key.
. Bind the transport endpoint identifier to the application
endpoint's X.509 identity as expressed by its signature
certificate.
. If in Group Speaker mode, create and modify entries in the Group
Receiver endpoints SPD/SAD whenever there is a change in the
Node's set of IP addresses. As needed, the Group Speaker's GSAKMP
subsystem multicasts a Security Association Management message
that installs these SPD/SAD modifications.
. If using a multicast source authentication service, sign the ESP
or AH protected payloads sent by the multicast application's
protocol.
Gross Expires January, 2004 page 17
GSAKMP Application to the IP Security Architecture July, 2004
The TEBAC is the output of a local mutual authentication and
authorization process between an application endpoint identity and a
Node Identity. Although that process is an implementation matter
between the Node and the application endpoint, this standard does
mandate that process MUST generate a TEBAC conforming to the profile
in section 9.6. The TEBAC creation MUST occur before the multicast
application endpoint attempts its request to join a GSAKMP group.
The TEBAC MUST be among the GSAKMP RTJ message's Certificate
payloads. This requirement also applies to the GSAKMP Request-To-
Depart message Certificate payloads.
The TEBAC "Issuer" field MUST refer to the application endpoint's
end-entity signature certificate. Consequently, the certificate's
Issuer signature is that of the application endpoint's secret key.
The TEBAC attribute fields declare:
. GSAKMP IPsec group identifier,
. Group Speaker mode or Group Receiver mode,
. Destination port number,
. Transport endpoint identifier (see section 3.3.1).
The certificate's "Holder" field MUST refer to the Node Identity's
signature certificate. That certificate's identity is the same as
the signer identity that will be used in the forthcoming GSAKMP
message's Signature payload. The TEBAC validity period is a matter
of local policy, but it MUST at least exceed the expected duration
of the GSAKMP protocol exchanges that depend on that TEBAC.
3.4 Receiver Multicast Packet Distributor Identifier
Section 5.11 defines the Multicast Packet Distributor policy action
component. The Receiver Multicast Packet Distributor is uniquely
identified by the 3-tuple:
- Group Identifier without its policy token sequence number
qualifier, as defined in section 3.2. The Group Identifier implies
the next layer protocol identifier and the multicast application's
destination port number.
- Multicast receiver's Node Identity,
Gross Expires January, 2004 page 18
GSAKMP Application to the IP Security Architecture July, 2004
- GSAKMP group's time epoch, expressed as the GSAKMP group
identifier's policy token sequence number
3.5 GSAKMP Group Any Source Multicast IP-v6 Address
For a GSAKMP IPsec group using an IP-v6 any-source multicast routing
service, its IP-v6 multicast address SHOULD be a unicast-prefix-
based IPv6 multicast address [RFC3306] [RFC3513] defined as follows:
- High-order 8 bits, all ones,
- Flags field: The transient group "T" bit must be one except as
noted below, the prefix "P" bit must also be one.
- Scope field: set as described below,
- Reserved field, 8 bits of all zeros (see note below regarding an
embedded Rendezvous Point address),
- Prefix length field, set to 48
- Unused portion of the network prefix field: 16 bits set to zeros,
- Globally unique local unicast prefix: FC00::/7
- Local/central authority prefix allocation bit,
- Group Owner global identifier prefix, 40 bits
- IP-v6 group identifier as per section 3.2, 32 bits
The address's "transient group" bit flag MUST be set unless the
GSAKMP group is permanently allocated by IANA. It is RECOMMENDED
that the scope be set to either admin-local, site-local, or
organization-local. The Group Owner management interface MUST
provide the ability to configure the multicast address scope to any
legal value. The Group Owner management interface SHOULD provide the
ability to configure the Embedded Rendezvous Point address
capability [EMBEDRP]. This capability assigns a 4 bit-wide field
within the above reserved field for the embedded Rendezvous Point's
interface identifier.
Gross Expires January, 2004 page 19
GSAKMP Application to the IP Security Architecture July, 2004
3.6 GSAKMP Group Source-Specific Multicast IP-v6 Address
For usage with an IP-v6 source-specific multicast routing service,
the GSAKMP group's unicast prefix-based IPv6 source-specific
multicast address SHOULD use the format defined by RFC3306 section
6. The address's low-order 32 bits are the IP-v6 group identifier as
defined in section 3.2. The Group Owner management interface SHOULD
provide the ability to configure the Embedded Rendezvous Point
address capability [EMBEDRP].
When the GSAKMP group uses IP-v6 Source-Specific Multicast, then a
multicast speaker Node SHOULD NOT use its Group Owner assigned Node
Identity as its IP-v6 source address for the multicast datagrams
that it sends to that GSAKMP group. Instead, the multicast speaker
Node MUST use one of the IP-v6 interface addresses declared in its
most recent verified Identity to Transient Address Mapping payload.
3.7 GSAKMP Group Multicast IP-v4 Address
For a GSAKMP group using IP-v4 multicast service, the IP-v4
multicast address SHOULD be algorithmically derived from the GSAKMP
group's IP-v6 multicast address. RFC2529 section 6 [6over4] defines
this multicast address derivation procedure. The Group Owner
management interface MAY provide the ability to configure an
administratively defined alternative GSAKMP group IP-v4 multicast
address.
4 GSAKMP IP Security Implementation Profile
This section of the GSAKMP IP Security application encompasses three
facets of a GSAKMP implementation:
- Those attributes and behaviors relevant to when two GSAKMP IPsec
implementations are interacting with one another through the
unicast GSAKMP protocol exchanges. In figure 1, these protocol
exchanges flow over the data path labeled (D3).
- The GSAKMP Re-Key Event multicast message and its Re-Key Group
Security Association. In figure 1, these protocol exchanges flow
over the data path labeled (D2).
- GSAKMP management interface configuration capabilities that assure
that two independent GSAKMP IPsec implementations can be arranged
to inter-operate.
Gross Expires January, 2004 page 20
GSAKMP Application to the IP Security Architecture July, 2004
4.1 GSAKMP Security Suite 2
The GSAKMP IPsec mapping Security Suite 2 is a superset of the
Security Suite 1 as defined in GSAKMP section 6. Compliant GSAKMP
IPsec implementations MUST support the algorithms specified by
Security Suite 1 and in addition they MUST support:
- Group Owner's policy token digital signature algorithm of RSA with
a hash algorithm of MD5 [RFC3447].
- GSAKMP message signature algorithm of RSA with a hash algorithm of
MD5.
4.2 Group Re-Keying Algorithm and Protocol
The GSAKMP IPsec implementation MUST support Logical Key Hierarchy
(LKH) as defined by GSAKMP appendix A. A GSAKMP IPsec implementation
MAY support the group re-key protocol and algorithm specified in
this document's Appendix A. The GSAKMP IPsec re-keying philosophy is
to batch group join and group leave events into a periodic Re-Key
Event (RKE) multicast. The benefit is to minimize re-keying overhead
even when there is a high membership turnover. In figure 1, the RKE
multicast is the data flow labeled (D2).
Group policy sets the RKE multicast transmissions frequency. The RKE
reliable delivery by default MUST use the NORM protocol (see section
8 for details) and it MAY be configurable on a per group basis to
use UDP or another reliable multicast transport protocol besides
NORM. The GSAKMP Group Owner management interface MUST provide the
ability to adjust the RKE frequency and the associated group keying
material lifetime on a per GSAKMP group basis. The RECOMMENDED
minimum re-key interval should be tuned to be longer in duration
than the NORM protocol's predicted maximum error recovery time.
When the RKE multicast is a NORM protocol payload, the NORM|GSAKMP
message is encapsulated within a UDP header having the UDP
destination port number GSAKMP-NORM-UDP (see section 11.1). The
UDP|NORM|GSAKMP payload in turn is ESP protected by the Re-Key GSA.
The GSAKMP Group Owner management interface SHOULD have the ability
to configure the parameters used by the underlying NORM protocol
subsystem on a per group basis.
GSAKMP IPsec implementations MUST be able to receive a RKE message
up to 65,535 bytes long.
Gross Expires January, 2004 page 21
GSAKMP Application to the IP Security Architecture July, 2004
4.3 GC/KS Re-Key Group Security Association
A bi-directional Re-Key Group Security Association protects each
GC/KS NORM session. See section 5.3.2 for the definition of a bi-
directional GSA. Figure 1 shows the Re-key GSA data flow at label
(D2). The Re-Key GSA exists for the same lifetime as the multicast
application's one or more GSA shown at figure 1 labels (D0) and
(D1).
When a GSAKMP group operates in the autonomous distributed GC/KS
mode (see [GSAKMP] section 4.4.7), then there is a Re-Key GSA for
the Primary-GC/KS and a separate Re-Key GSA for each Subordinate-
GC/KS. The P-GC/KS GSA membership comprises the P-GC/KS and its one
or more S-GC/KS. The S-GC/KS GSA membership is the sub-group of the
multicast application's group membership that the S-GC/KS admitted
into the group and thereafter manages.
The GC/KS is the only authorized multicast speaker in the Re-Key
GSA. The Re-Key GSA MUST use the IPsec anti-replay protection
service for the GC/KS multicast RKE transmission. The Re-Key GSA
multicast transmission MUST have a distribution scope that assures
all group members under the management control of their GC/KS will
receive the Re-Key Event message.
In the group member to GC/KS direction, the Re-key GSA MUST NOT have
IPsec anti-replay service enabled. The SPD MUST be setup to allow
any currently authorized group member to send a unicast NORM-NACK
repair request (or other NORM message) to the GC/KS. If the facility
is available, then all NORM messages SHOULD be source authenticated
and verified by the GC/KS as belonging to the currently authorized
group membership. The GC/KS SHOULD discard messages received from
expelled or departed group members before NORM is allowed to process
the message. Section 8 defines the NORM profile on which the Re-Key
GSA depends.
4.4 Verbose Mode
GSAKMP IPsec implementations MUST support Verbose mode. The GSAKMP
Group Owner management interface MAY provide the ability to
configure Verbose or Terse mode behavior on a per GSAKMP group
basis.
Gross Expires January, 2004 page 22
GSAKMP Application to the IP Security Architecture July, 2004
4.5 Identification and Signature's Identifier Types
Section 9.1 defines the Identification payload ID types defined by
[GSAKMP] table 17 that MUST be supported by the registration and de-
registration protocol exchanges. Section 9.1 also defines the
Signature payload signer ID types declared by [GSAKMP] table 20 that
MUST be supported by the registration and de-registration protocol
exchanges.
4.6 Lack Of Acknowledgement (LOA) Message
The GSAKMP IPsec implementation MUST send and receive the LOA
message as defined in GSAKMP section 5.2.1.5. The RECOMMENDED GC/KS
timeout interval for sending a LOA is 6 seconds. The Group Owner
management interface MAY configure the GC/KS to not send LOA on a
per GSAKMP group basis.
4.7 Registration Exchange Transport Layer Parameters
The GSAKMP IPsec registration protocol exchange MUST use UDP as its
transport layer protocol and it SHOULD NOT use the UDP checksum
feature for its signed GSAKMP messages. The RECOMMENDED number of
retransmission attempts is 3, with a timeout interval of 3 seconds
between retries. It is RECOMMENDED that a candidate group member
that receives a RTJ-ERROR response to its RTJ transmission will wait
9 seconds for a delayed Key-Down-Load (KDL) message before giving up
and releasing its registration security association state.
The GSAKMP IPsec implementation SHOULD provide a local management
interface that can tune each of the registration protocol exchange's
recommended transport layer parameter values.
4.8 GSAKMP Registration Protocol Exchange Extension
The GSAKMP IPsec application explicitly authorizes each of a group's
multicast speakers by extending the base GSAKMP registration
protocol exchange.
Whenever mobility or NAT changes a Group Speaker's transient source
IP address, the group's security policy decides how to announce that
change to the Group Receiver endpoints. In a strict policy, the
Group Speaker must prove the return route-ability of its asserted
new source IP address. The Group Speaker executes a GSAKMP re-
registration protocol exchange extension to revise the group's view
of that address. In a relaxed security policy, the Group Speaker
Gross Expires January, 2004 page 23
GSAKMP Application to the IP Security Architecture July, 2004
simply multicasts a Security Association Management message
containing an ITAM payload that asserts its new set of IP addresses
without substantiation.
If a Group Receiver endpoint wants to become a Group Speaker then it
MUST re-register with group using a newly created TEBAC that
declares a new source port number and requests Group Speaker role
authorization.
The GSAKMP IPsec application makes the following registration
protocol exchange extensions to the procedures specified in [GSAKMP]
section 5.2. Both candidate Group Receiver and candidate Group
Speaker endpoints MUST execute these registration extensions:
1. Prior to starting the registration protocol exchange, the
application endpoint MUST generate an Transport Endpoint Binding
Attribute Certificate as described in section 3.3.3.
2. All GSAKMP IPsec candidate Group Member endpoints, both speakers
and receivers, MUST be capable of participating in a cookies
exchange as defined in [GSAKMP] section 5.2.2.. A candidate Group
Speaker and the GC/KS MUST exchange cookies. The cookies exchange
proves return route-ability for the candidate Group Member's
transient IP address location asserted in the ITAM payload. The
Group Owner management interface MUST be able to configure the
cookie exchange policy on a per group basis; by default it SHOULD
be enabled.
3. The candidate Group Member's Request-To-Join (RTJ) message sent to
the GC/KS MUST include the following two payload extensions beyond
those defined by the GSAKMP base protocol:
. Identity to Transient Address Mapping (ITAM) GSAKMP payload -
The ITAM payload describes the Group Member's Node Identity
mapping to one or more transient locator IP addresses. Section
7.4 describes the ITAM payload.
. Transport Endpoint Binding Attribute Certificate payload _ The
TEBAC substantiates a Node Identity's assertion that it is the
delegated GSAKMP message signer on behalf of the application
endpoint identifier that issued the TEBAC.
4. The GC/KS checks for the following possible GSAKMP IPsec
registration error conditions when processing the RTJ:
Gross Expires January, 2004 page 24
GSAKMP Application to the IP Security Architecture July, 2004
. The TEBAC certificate's GSAKMP IP-v6 group identifier found in
the Group attribute field MUST match the GSAKMP IP-v6 group
identifier found in the RTJ message's GSAKMP header.
. The TEBAC certificate's "Issuer" field MUST refer to the
application endpoint's end-entity signature certificate. The
certificate's Issuer signature MUST be valid, including a valid
certificate path to one of the group's trusted anchor CA.
. The TEBAC certificate's "Holder" field MUST refer to the Node
Identity's end-entity signature certificate, and that
certificate's identity MUST be the same signer identity as is
found in the RTJ message's Signature payload.
. The Signature payload's signature MUST be valid, it MUST be the
Node Identity's signature, and it MUST have a valid certificate
path to one of the group's trusted anchor CA.
. The TEBAC validity period MUST NOT be expired.
. The TEBAC declared Node Identity MUST match the Node Identity
contained in the ITAM payload.
. A proposed Group Speaker endpoint MUST be authorized as a Group
Speaker: If the TEBAC transport endpoint identifier attribute
field "S" flag is set, then the candidate Group Member requests
the authority to become a Group Speaker. The GSAKMP IPsec
policy token contains Group Speaker authorization pattern
matching rules, analogous to those used for the group
membership and GC/KS role authorizations. The GC/KS MUST apply
those Group Speaker authorization rules as part of its request
to join admittance decision.
. One of the ITAM payload's interface IP addresses MUST contain
the transient source IP address that had been verified by the
cookies exchange.
. The TEBAC attribute fields MUST conform to the group's policy
token: the TEBAC attribute fields assert a valid destination
port number and transport endpoint identifier.
If the GC/KS discovers any one of the above error conditions while
processing the RTJ then the GC/KS responds to the candidate group
member with a RTJ-ERROR message. The RTJ-ERROR message contains a
Gross Expires January, 2004 page 25
GSAKMP Application to the IP Security Architecture July, 2004
Notification payload having the error status "Not authorized to
speak to the group" if the TEBAC "S" flag is set.
5. If the GC/KS admits the candidate Group Member into the group,
then it prepares a Key-Download (KDL) message to send to the Group
Member. The GC/KS signs the KDL with its Node Identity. The KDL
message's Identification payload refers to the TEBAC Issuer
application endpoint identity. The GC/KS keeps a local copy of the
Group Member's TEBAC so that it can verify the Signature payload
of the forthcoming KDL-ACK/NACK response. The GC/KS MUST include
two or more SAC payloads in the KDL message sent to the new Group
Member. See section 7.5. The new Group Member MUST be sent a SAC
payload that describes its Re-key GSA SPD/SAD entry. For a new
Group Speaker, a second SAC payload creates the SPD/SAD entry for
the speaker's leading edge GSA. For a new Group Receiver, the KDL
contains a separate SAC payload for each peer Group Speaker GSA
that is speaking to the group. The new Group Receiver creates its
SPD/SAD entries from these SAC payloads.
6. For a GC/KS straddling an IP-v4 public/private network boundary,
the KDL message SHOULD include an ITAM payload containing a single
interface IP address structure. The structure encodes the GC/KS
public IP-v4 address as the high-order 32 bits of the Interface
Identifier field. The Interface Identifier field's low-order 32
bits are the Group Member's private IP-v4 address that has been
verified by the GC/KS using the cookies exchange. The IAT field is
set to b'01'. Section 7.4 describes the ITAM payload.
7. If the Group Member accepts the KDL, then the Group Member
responds to the GC/KS with a Key-Download-Acknowledgement (KDL-
ACK) message signed by the Group Member's Node Identity. The Group
Member MAY include the TEBAC in a Certificate payload.
8. If the Group Member does not accept the KDL, then the Group Member
responds with a KDL-NACK message signed by the Group Member's Node
Identity secret key. The Group Member MAY include the TEBAC in a
Certificate payload.
9. If the Group Member fails to respond with KDL-ACK or KDL-NACK,
within the allotted time, then the GC/KS sends a LOA signed by its
Node Identity secret key.
10. If the new Group Member is a Group Speaker, then it multicasts
a Security Association Management (SAM) message to the GSAKMP
group. The SAM message revises the Group Receiver endpoint SPD/SAD
Gross Expires January, 2004 page 26
GSAKMP Application to the IP Security Architecture July, 2004
entries, installing a new leading edge GSA that will decrypt the
Group Speaker's future transmissions. The new SAM specified
SPD/SAD policy displaces the group's default policy that would
have discarded the multicast transmissions from an unknown source.
4.9 De-Registration Security Association Protocol Exchange
GSAKMP IPsec implementations MUST support the de-registration
protocol exchange, although a given group's policy MAY choose not to
require the use of that protocol exchange. When a group is in
autonomous distributed mode (section 4.10), the Group Member's de-
registration protocol exchange MUST be with the same GC/KS as the
group member had used for its registration protocol exchange.
The Request-To-Depart message received at the GC/KS from a departing
Group Member MUST have a valid TEBAC Certificate payload and an
authorized Node Identity signature in its Signature payload. The
TEBAC MAY be the same TEBAC as was used during registration. Its
verification process is identical to that specified for the GSAKMP
registration protocol exchange. The GC/KS signs its Departure-
Response message with its Node Identity secret key. The Departure-
Response message's Identification payload refers to the TEBAC
"Issuer" application endpoint identity.
The GSAKMP IPsec de-registration protocol exchange MUST use UDP as
its transport layer protocol and it SHOULD NOT use the UDP checksum
feature for the signed GSAKMP messages. The RECOMMENDED number of
retransmission attempts is 3, with a timeout interval of 3 seconds
between retries. The GSAKMP IPsec implementation SHOULD provide a
local management interface that can tune each of the de-registration
protocol exchange's recommended parameter values.
A Group Speaker that wants to revise the group's view of its source
transient IP address does not have to do a de-registration protocol
exchange before it begins its re-registration protocol exchange.
4.10 GSAKMP Autonomous Distributed Mode
The GSAKMP autonomous distributed mode enables large-scale groups,
wherein the Primary-GC/KS delegates group membership management
responsibilities to one or more Subordinate-GC/KS. Each S-GC/KS
handles a sub-group within the overall group membership. Section
5.11.1 discusses the composite group facility, which can be applied
to this scenario.
Gross Expires January, 2004 page 27
GSAKMP Application to the IP Security Architecture July, 2004
GSAKMP IPsec IP-v6 endpoints SHOULD support GSAKMP autonomous
distributed mode. GSAKMP IPsec IP-v4 endpoints that participate in a
multi-realm GSAKMP group that spans multiple IP-v4 private networks
(i.e. a GSAKMP group that has NAT gateways present) MUST support
GSAKMP autonomous distributed mode. Refer to section 6.4 for
details.
The GSAKMP IPsec local management interface MUST provide the
capability to configure a Node to operate in a S-GC/KS or GM role on
a per GSAKMP group basis. If the Group Owner supports group in
autonomous distributed mode, then the Group Owner management
interface MUST provide the ability to configure autonomous
distributed mode on a per group basis
4.11 Group Owner Management Interface
This sub-section describes those GSAKMP Group Owner management
interface requirements that are not specified elsewhere in the
GSAKMP IPsec mapping specification:
1. Generate "public announcements" that discloses the subset of a
GSAKMP group's security policies sufficient to allow interested
candidate members to know which GC/KS to contact join the group
and what protocol modes/options must be supported to participate
as a group member. The public announcement mechanism is
implementation specific and not subject of this standard.
Other capabilities to be defined.
4.12 GSAKMP Node Local Management Interface
This sub-section describes those GSAKMP Node local management
interface requirements that are not specified elsewhere in the
GSAKMP IPsec mapping specification:
1. Configure a multicast application's ability to bind to a given
GSAKMP group.
2. Configure the Group Owner's public key certificate on a per GSAKMP
group basis.
3. Generate the Node Identity asymmetric cipher key pair, and create
the Node Identity public key certificate in cooperation with the
Group Owner management interface.
Gross Expires January, 2004 page 28
GSAKMP Application to the IP Security Architecture July, 2004
4. Provide the security policy controls for the subsystem that
generates Transport Endpoint Binding Attribute Certificates.
Other capabilities to be described.
4.13 Coordinating Security Policies Between Group Owners
A GSAKMP Node may simultaneously belong to multiple GSAKMP IPsec
groups that have independent Group Owner management systems. There
is a risk that uncoordinated SPI allocations by these Group Owners
could lead to two groups instructing a Node to use the same SPI.
More importantly, the GSAKMP IPsec policy token directed SPD updates
from two groups could conflict in their intent. Resolving such
conflicts requires manual intervention by the respective security
policy domains.
However, the GSAKMP IPsec mapping does provide the following tools
to diagnose or avoid such security policy conflicts:
- A single GSAKMP Group Owner management system SHOULD be granted
the exclusive administrative control of all GSAKMP groups that
share a common multicast destination IP address (or SSM channel).
- The GSAKMP IPsec policy token information model embodies the
concept of security policy rule priorities. The GSAKMP IPsec Group
Owner management interface SHOULD provide the ability to assign a
GSAKMP group's SPD rule priorities from a re-locatable numeric
range. When two group's policies conflict due to an overlap in
their rule priorities, one of the groups can be adjusted to have
the numeric range assigned to its security policies set to a lower
or higher precedence than the other group.
- The GSAKMP IPsec policy token advertises the SPI range for each
multicast channel. The receiver Nodes can compare that range
against the SPI ranges announced for all other GSAKMP groups that
it is a participant for that same multicast channel. If the Node
detects an overlap to a SPI range, it MUST log a local error, and
it MAY notify its GSAKMP Group Owners of the fault. The
notification mechanism is outside the scope of this standard.
5 GSAKMP IP Security Subsystem Profile
This section prescribes mandatory requirements on both the GSAKMP
IPsec implementation and its companion IP security subsystem.
Wherever feasible, these requirements align with the existing
Gross Expires January, 2004 page 29
GSAKMP Application to the IP Security Architecture July, 2004
requirements imposed by RFC2401-bis and IKE-v2. No attempt is made
by the GSAKMP IPsec application to achieve backward compatibility
with legacy RFC2401 IPsec subsystems. The GSAKMP IPsec application
generally avoids sub-setting RFC2401-bis, and it is an explicit goal
that the GSAKMP IPsec application does not preclude its
implementation in any of the major IP security architectures: native
host-based system, Bump-In-The-Stack (BITS), Bump-In-The-Wire
(BITW), or as a security gateway.
5.1 GSAKMP Requirements on the IP Security Subsystem
The primary GSAKMP IPsec requirement is a RFC2401-bis compliant IP
security system that supports the secure multicast option as defined
in section 4.1 [RFC2401-bis] and also section 2.1 of [RFC2406-bis].
A GSAKMP IPsec mapping implementation MUST support Encapsulating
Security Payload (ESP) [RFC2406-bis] and it MAY support
Authentication Header (AH) [RFC2402-bis].
RFC2401-bis permits an IP security subsystem to have only one SPD
per Node rather than one SPD per network interface (this is an
architectural revision from RFC2401). The GSAKMP IPsec policy token
requires that the IPsec subsystem MUST have only one SPD, as the
GSAKMP IPsec policy token multicast sets the SPD configuration
identically at all of the group's endpoints. Practical limits on the
policy token's message length prohibits encoding the configuration
for all of a group's individual network interfaces and their
respective SPD configurations. The single SPD per GSAKMP Node
encompasses the SPD-I, SPD-S, and the SPD-O. All of those
components, and also the Node's SAD, MUST be accessible for
configuration updates by the GSAKMP IPsec implementation
interpreting the GSAKMP IPsec policy token. Figure 1 shows the
control interface (C0) between GSAKMP and the IP security subsystem.
The mechanism that provides that SPD/SAD access is a local
implementation matter outside the scope of this standard.
Both the GSAKMP IPsec implementation and its underlying IPsec
subsystem MUST support logical expressions that combine the
following types of SPD traffic selectors as defined by RFC2401-bis
section 4.4 and the ASN.1 syntax declared in its Appendix A:
- Destination IP-v4 address range, both unicast and multicast
- Source IP-v4 address range
Gross Expires January, 2004 page 30
GSAKMP Application to the IP Security Architecture July, 2004
- Destination and source IP-v6 address range traffic selectors -
This requirement includes the GSAKMP Group Owner management
interface capability to configure skipping IP-v6 extension headers
for the Next Layer Protocol selector, as per RFC2401-bis section
4.4.2.
- Next Layer Protocol range,
- Transport protocol-dependent source port range and destination
port range selectors for UDP, TCP, SCTP, ICMP, and NORM.
- The "opaque" and "any" attributes for each of the above five
selectors.
- The SPD-outbound traffic selectors, using a symbolic "Name"
selector, can trigger a candidate group member's GSAKMP
registration with a GC/KS. See section 5.9 for additional details.
- The GSAKMP IPsec implementation and the SPD-outbound MUST support
the Populate From Packet (PFP) feature as required by RFC2401-bis
section 4.4.1.
This version of the GSAKMP IPsec mapping does not support
compression, although a future version may introduce support for
that feature. The GSAKMP IPsec implementation MAY support quality of
service using parallel group security associations, each group
security association having a separate datagram flow marked with a
DSCP. The algorithm that selects the GSA for a given DSCP marked
datagram is outside the scope of this specification.
Subsequent sections provide additional requirements and
clarifications with respect to GSAKMP interactions with the IP
security subsystem.
5.2 Authentication Header Group Security Associations
If the GSAKMP IPsec implementation does support AH, then the Group
Owner MUST assign AH group security association SPI that are unique
from those SPI that its assigns to its ESP group security
associations (i.e. ESP and AH share the same SPI pool).
In addition, a GSAKMP IPsec subsystem that supports AH MUST also
support SA bundles (i.e. the combination of AH and ESP in one
datagram).
Gross Expires January, 2004 page 31
GSAKMP Application to the IP Security Architecture July, 2004
5.3 Secure Multicast Application Service Models
The vast majority of secure multicast applications can be catalogued
by their service model and accompanying intra-group communication
patterns. Both the GSAKMP IPsec implementation and the IPsec
subsystem MUST be able to configure the SPD/SAD security policies to
match these dominant usage scenarios. The SPD/SAD policies MUST
include the ability to configure both Any-Source-Multicast groups
and Source-Specific-Multicast groups for each of these service
models. The GSAKMP management interface MAY include mechanisms to
configure the security policies for service models not identified by
this standard
5.3.1 Unidirectional Multicast Applications
Multi-media content delivery multicast applications without
congestion notification or retransmission error recovery are
inherently unidirectional. RFC2401-bis only defines bi-directional
unicast security associations (as per sections 4.4.1 and 5.1 with
respect to SA directionality). The GSAKMP IPsec mapping requires
that the IPsec subsystem MUST support unidirectional group security
associations. Applications that have only one group member
authorized to transmit can use this type of group security
association to enforce that group policy. In the inverse direction,
the GSA does not have a SAD entry, and the SPD configuration is
setup to discard unauthorized attempts to transmit to the group.
Although supported as a GSAKMP IPsec configuration, this multicast
application service model is NOT RECOMMENDED because it does not
have congestion control feedback capabilities.
The GSAKMP Group Owner management interface MUST have the ability to
setup a GSAKMP group having a unidirectional GSA security policy.
5.3.2 Bi-directional Reliable Multicast Applications
Some secure multicast applications are characterized as one speaker
to many listeners, but with inverse data flows required by a
reliable multicast transport protocol (e.g. NORM). In such
applications, the data flow from the speaker is multicast, and the
inverse flow from the group's listeners is unicast to the speaker.
Typically, the inverse data flows carry error repair requests and
congestion control status.
Gross Expires January, 2004 page 32
GSAKMP Application to the IP Security Architecture July, 2004
For such applications, the GSA SHOULD use IPsec anti-replay
protection service for the speaker's multicast data flow to the
group's listeners. In the inverse direction, the GSA anti-replay
protection MUST be disabled. The group listener's SPD entry for this
GSA MAY be configured to only allow a unicast transmission to the
speaker Node rather than a multicast transmission to the whole
group. If available, a source authentication mechanism (e.g. ESP
digital signature) SHOULD be used to authenticate the listener
Node's transmission to the speaker.
The GSAKMP Group Owner management interface MUST have the ability to
setup a GSAKMP group having a bi-directional GSA security policy.
5.3.3 Any-To-Any Multicast Applications
Another family of secure multicast applications exhibit a "many to
many" communications pattern. A representative example of such an
application is a videoconference combined with an electronic
whiteboard.
For such applications, all (or a subset) of the group's endpoints
are authorized multicast speakers. The group SHOULD share one GSA
for all of its speakers. The GSA SHOULD NOT use IPsec anti-replay
protection service for the speaker's multicast data flow to the
group's listeners.
The GSAKMP Group Owner management interface MUST have the ability to
setup a GSAKMP group having an Any-To-Any Multicast GSA security
policy.
5.4 Co-Existence of Multiple Key Management Protocols
Often, GSAKMP will be introduced to an existent IPsec subsystem as a
companion key management protocol to IKE-v2 [IKE-v2]. A fundamental
GSAKMP IP Security subsystem requirement is that both GSAKMP and
IKE-v2 can simultaneously share access to a common Security Policy
Database and Security Association Database. The mechanisms that
provide mutually exclusive access to the common SPD/SAD data
structures are a local matter. This includes the SPD-outbound cache
and the SPD-inbound cache. However, implementers should note that
IKE-v2 SPI allocation is entirely independent from GSAKMP SPI
allocation because group security associations are qualified by a
destination multicast IP address and may optionally have a source IP
address qualifier. See [RFC2406-bis] section 2.1 for further
explanation.
Gross Expires January, 2004 page 33
GSAKMP Application to the IP Security Architecture July, 2004
The Peer Authorization Database does require explicit coordination
between GSAKMP and IKE-v2. Section 5.8 describes these interactions.
This document discusses the coordination of multiple GSAKMP group
owner and endpoint local management systems in section 4.11.
5.5 ESP GSA Properties
At the time of this writing, IPsec RFCs specify the support of the
following transforms and algorithms for use with AH and ESP: NULL
encryption, DES-CBC, HMAC-SHA-1-96, and HMAC-MD5-96. However,
"Cryptographic Algorithm Implementation Requirements For ESP And AH"
[CRYPTREQ] contains the current set of mandatory to implement
algorithms for ESP and AH. It also specifies algorithms that should
be implemented because they are likely to be promoted to mandatory
at some future time. GSAKMP IPsec Nodes SHOULD conform to the
requirements in [CRYPTREQ]. All GSAKMP IPsec subsystem
implementations MUST support both sending and receiving for the
following ESP GSA properties:
- Triple-DES encryption in CBC mode with an 168-bit key length
[RFC2451] [RFC2406-bis]. The 3DES-CBC encryption algorithm does
not suffer from the same security issues as DES-CBC, and the 3DES-
CBC algorithm within ESP MUST be supported to ensure
interoperability.
- The DES-CBC encryption algorithm [RFC-2405] SHOULD NOT be
supported within ESP. Security issues related to the use of DES
are discussed in [DESDIFF], [DESINT], [DESCRACK]. DES-CBC is
still listed as required by the existing IPsec RFCs, but updates
to these RFCs will be published soon. DES provides 56 bits of
protection, which is no longer considered sufficient.
- Group source authentication is mandatory, wherein the ESP
authenticator uses HMAC-SHA1-MAC96 [RFC2404]. An implementation
MAY also support the use of the HMAC-MD5-96 algorithm [RFC-2403]
within AH and ESP.
- Both transport and tunnel mode, as required by RFC2401-bis section
4.4.3. See section 5.10 for additional GSA tunnel mode
specifications.
- Anti-replay protection, configurable to use either sixty-four bit
or thirty two bit ESP sequence numbers
Gross Expires January, 2004 page 34
GSAKMP Application to the IP Security Architecture July, 2004
- Security association lifetime hard limits for both kilo-bytes
processed by the cryptographic transform and its lifetime duration
measured in units of seconds.
- Security association lifetime soft limits of both kilo-bytes
processed by the cryptographic transform and its lifetime duration
measured in units of seconds. The interpretation of SA soft
lifetime expiration is implementation dependent. However, it is
usually used to signal the GSAKMP subsystem that it should
proactively initiate re-registration with the group because one or
more Re-Key Event message(s) have failed to arrive in time.
- Sequence counter overflow - A configurable flag indicating whether
to log an audit message if the SA sequence number overflows (as
per [RFC2401-bis] section 4.4.3).
- Path MTU - The associated IPsec SA fragmentation policy MUST be
compliant to RFC2401-bis. The GSAKMP IPsec management interface
MUST provide a configuration capability to set the path MTU on a
per GSAKMP multicast speaker basis.
- UDP encapsulation of ESP [UDPESP].
In addition, GSAKMP IP Security implementations SHOULD support the
following additional ESP algorithms and modes:
- AES encryption in CBC mode with a 128-bit key length [RFC3602].
- AES combined encryption and authentication using Counter with CBC-
MAC96 (CCM) mode [AESCCM] with a 128-bit key length.
The GSAKMP Group Owner management interface MUST have the ability to
set a group's GSA policy to use null ESP encryption or null
authentication. All GSAKMP IPsec endpoints MUST support the NULL
encryption algorithm [RFC-2410] and the NULL authentication
algorithm [RFC-2406]. However, while authentication and encryption
can each be NULL, they MUST NOT both be NULL. The NULL encryption
algorithm is also useful for debugging.
5.6 Concurrent GSA Life Spans and Rollover
During a GSAKMP group's lifetime, multiple group security
associations can exist concurrently. This occurs principally due to
two reasons:
Gross Expires January, 2004 page 35
GSAKMP Application to the IP Security Architecture July, 2004
- There are multiple Group Speakers authorized in the group, each
with its own GSA that maintains anti-replay state. A group that
does not rely on IP Security anti-replay services can share one
GSA for all of its Group Speakers.
- The life span of a Group Speaker's two (or more) GSA are allowed
to overlap in time, so that there is continuity in the multicast
data stream across group re-key events. This capability is
referred to as "re-key rollover continuity".
This specification requires that a GSAKMP IPsec implementation MUST
support at least two concurrent GSA per Group Speaker to facilitate
multicast data stream re-key rollover continuity. Each SAM multicast
sent by a Group Speaker signals the start of a new Group Speaker
time epoch, with each such epoch having an associated GSA. The group
membership interacts with these GSA as follows:
- As a precursor to the Group Speaker beginning its re-key rollover
continuity processing, the GC/KS periodically multicasts a Re-Key
Event (RKE) message to the group. The RKE multicast contains a
revised GSAKMP IPsec policy token, group membership management
directives (e.g. LKH), and a new Group Traffic Protection Key
(GTEK).
- After successfully processing the RKE multicast, the Group Speaker
creates its new "leading edge" Group Security Association by
multicasting a SAM message to the group. The SAM multicast
configures the group's SPD/SAD with the leading edge GSA state
information. The leading edge GSA allocates a new Security
Parameter Index and it is keyed by the GTEK distributed by the
most recent RKE multicast. For a short period after multicasting
the SAM, a Group Speaker does not transmit data using the leading
edge GSA. However, all of the Group Receiver endpoints prepare to
use this GSA by installing the SAM directed changes to their
respective SPD/SAD.
- After waiting a sufficiently long enough period such that all of
the Group Receiver endpoints have processed the SAM multicast, the
Group Speaker begins to transmit using the leading edge GSA with
its data encrypted by the new GTEK. Only authorized Group Members
can decrypt these GSA multicast transmissions. The time delay that
a Group Speaker waits before starting its first leading edge GSA
transmission is a GSAKMP IPsec policy token parameter. This value
SHOULD be configurable at the Group Owner management interface on
a per GSAKMP group basis.
Gross Expires January, 2004 page 36
GSAKMP Application to the IP Security Architecture July, 2004
- The Group Speaker's "trailing edge" GSA is the oldest group
security association in use by the group for that speaker. All
authorized Group Receiver endpoints can receive and decrypt data
for this GSA, but the Group Speaker does not transmit new data
using the "trailing edge" GSA after it has transitioned to the
"leading edge GSA".
This rollover strategy allows the group to drain its in transit
datagrams from the network while transitioning to the leading edge
GSA. Staggering the roles of each respective GSA as described above
improves the group's synchronization even when there are high
network propagation delays. Note that due to group membership joins
and leaves, each Group Speaker time epoch may have a different group
membership set. It is a group policy decision whether the re-key
events provide forward and backward secrecy at these re-key event
transitions between epochs. This group policy is declared in the
policy token, and that policy is enforced by its re-key protocol's
keying material and algorithm (e.g. Logical Key Hierarchy).
Implementations MAY offer a Group Owner management interface option
to enable/disable re-key rollover continuity for a particular group,
but by default it MUST be enabled.
5.7 Multiple Group Speakers and Source Authentication
A GSAKMP IPsec implementation MUST support at least one Group
Speaker per GSAKMP group and it MAY support more than one Group
Speaker per group. This requirement is in addition to the
requirement to support a GC/KS as a Group Speaker along with its
attendant Re-Key GSA.
The GSAKMP IPsec policy token specifies the Group Speaker
authorization pattern matching rules, authorizing one or more group
endpoints to become Group Speakers. In the Any-Source Multicast
(ASM) usage model, all of the group members are authorized to speak
to the group.
When the group's GSAKMP IPsec policy token requires IP Security
anti-replay protection service, then there MUST be only one Group
Speaker authorized per GSA per time epoch. In other words, when
anti-replay service is enabled for a group, then there MUST be as
many GSA allocated and operating per group time epoch as there are
Group Speakers. Each such GSA will have its own set of SPD policies,
anti-replay state, and MAY have its own multicast destination IP
address. All of these GSA share a common group membership set.
GSAKMP IPsec implementations MUST support IPsec anti-replay services
Gross Expires January, 2004 page 37
GSAKMP Application to the IP Security Architecture July, 2004
for at least one Group Speaker. Although this requirement may not
scale to larger groups, the GSAKMP IPsec management interface SHOULD
support a configurable number of Group Speakers per group using the
anti-replay service. The RECOMMENDED minimum number of such Group
Speakers is 8.
By default, both the SPD-inbound and SPD-outbound traffic selectors
MUST be configured with security policy actions that discard
unauthorized multicast transmission attempts. This inhibits the
spoofing of a peer group member's transmissions by a rogue group
member. However, group transmissions that have stronger source
authentication policy requirements (e.g. messages having group
control, economic, or legal implications) SHOULD use per packet
multicast source authentication techniques.
5.8 GSAKMP IPsec Interactions with the PAD
The Peer Authorization Database (PAD) MUST provide a management
interface capability that allows an administrator to enforce that
the scope of a GSAKMP group's policy token specified SPD/SAD
modifications are restricted to only those traffic data flows that
belong to that group. This authorization MUST be configurable at
GSAKMP group granularity. In the inverse direction, the PAD
management interface MUST provide a mechanism(s) to enforce that
IKE-v2 security associations do not negotiate traffic selectors that
conflict or override GSAKMP group policies. An implementation SHOULD
offer PAD configuration capabilities that authorize GSAKMP policy
token to set security policy for all aspects of an endpoint's
SPD/SAD configuration, not just its GSAKMP group security
associations. This capability allows the group's policy to inhibit
the creation of back channels that might otherwise leak confidential
group application data.
The PAD also defines the trust anchor public key certificates for
each GSAKMP group. See section 9.5.
5.9 Security Policy Database Symbolic Name Selectors
The RFC2401-bis section 4.4.2 describes SPD symbolic name selectors
and several examples of their usage. GSAKMP IPsec implementations
MUST support SPD symbolic name selectors for the two cases that
depend on this feature: the GC/KS response to a Request-To-Join
(RTJ), and triggering a GSAKMP registration attempt in response to
starting a multicast application (e.g. a socket bind() system call).
Gross Expires January, 2004 page 38
GSAKMP Application to the IP Security Architecture July, 2004
When a GC/KS receives a GSAKMP RTJ message from a candidate group
member, the GC/KS looks up the TEBAC Certificate payload's Issuer
identification field's value in the SPD. If one of the SPD symbolic
name selector entries matches that value, then the system is locally
authorized to act as a GC/KS for that candidate group member.
However, the GSAKMP IPsec policy token currently in the possession
of the GC/KS ultimately decides whether the GC/KS allows that
candidate group member to join the group, or denies the join
request. The GSAKMP IPsec local management interface MUST provide
the GC/KS configuration tools that create each GSAKMP group's SPD
symbolic name selector(s). All GSAKMP IPsec implementations MUST
have the latent capability to be configured as a S-GC/KS, although
local policy may not enable it.
In a multi-user native host-based GSAKMP IPsec system, a SPD
symbolic name selector matching an application endpoint's
authenticated identity, (optionally in combination with other
traffic selectors), MUST initiate a request to join a GSAKMP group.
In this context, the operating system is trusted to have previously
authenticated the user's identity and created his/her TEBAC
credentials in compliance with the group's application endpoint
authentication policy. For example, the matching SPD name selector
may trigger an AAA application that generates the TEBAC credentials.
The GSAKMP IPsec subsystem transparently proxies that candidate
Group Member's signature for the GSAKMP messages that it sends in
the registration SA exchange.
Alternatively, a GSAKMP IPsec native host-based implementation MAY
define a mechanism, such as an application program interface, that
facilitates the application endpoint's direct signature of its
GSAKMP messages without TEBAC signature delegation. This
specification does not standardize this mechanism.
For those GSAKMP IPsec implementations within a BITS, BITW, or
security gateway, there MUST be a mechanism to trigger the GSAKMP
registration protocol exchange. For example, the GSAKMP IPsec
subsystem may interact with an application layer protocol gateway
service that initiates the group membership registrations. This
includes the GSAKMP IPsec subsystem acquiring the appropriate TEBAC.
However, that mechanism is a local implementation issue. The
mechanism may not necessarily use a SPD symbolic name selector, and
the mechanism is not standardized by this specification.
Gross Expires January, 2004 page 39
GSAKMP Application to the IP Security Architecture July, 2004
5.10 Tunnel Mode Group Security Associations
GSAKMP IPsec implementations MUST support IPsec tunnel mode group
security associations as prescribed by [RFC2401-bis] section 5.1.2.
One anticipated application for this capability is a set of
multicast-capable IPsec gateways at the border between an
untrustworthy public Internet and a group of one or more trusted
private networks. The IPsec GSA tunnel's outer IP header delivers
the encrypted multicast datagram across the public Internet to each
of the group's IPsec gateways. Once that payload is de-capsulated at
the GSA destination tunnel endpoint and it is decrypted, then the
multicast IPsec gateway multicasts the inner IP header and its
plain-text payload to the group's endpoints within the gateway's
respective private network.
This specification requires that a GSAKMP IPsec implementation also
MUST support a Group Owner management interface that facilitates the
configuration of all of a RFC2401-bis tunnel mode SA attributes:
- All of the relevant tunnel source endpoint's outer IP header
attributes.
- For IP-v4 tunnels, the Do Not Fragment flag copy policy
- DSCP _ copy from inner IP header to outer IP header or else GSAKMP
IPsec assigns the outer IP header's DSCP to a value fixed by the
group's policy.
- For IP-v6 tunnels, the flow label copy or set policy
5.11 Multicast Packet Distributor Policy Action
This section introduces the "Multicast Packet Distributor", a
security policy building block that takes a packet as its input,
replicates the packet, and distributes the copies to two or more
downstream policy action components. The formal definition is
deferred to [IPSECPT].
The Group Owner management interface MAY provide the configuration
tools needed to encode policy tokens containing Multicast Packet
Distributor policy actions. All GSAKMP IPsec implementations MUST be
able to interpret any correctly encoded policy token containing a
Multicast Packet Distributor, and correctly enforce its policies.
Gross Expires January, 2004 page 40
GSAKMP Application to the IP Security Architecture July, 2004
5.11.1 Basic and Composite GSAKMP Groups
In the trivial case, there is a 1:1 relationship between a GSAKMP
group identifier, a multicast application, and a multicast IP
address. In other words, a basic GSAKMP group has only one multicast
application destination port number, and it has only one multicast
IP address. A GSAKMP Group Owner management system MUST be able to
set up a GSAKMP group having this basic configuration.
However, the GSAKMP IPsec architectural model does not preclude the
creation of a GSAKMP "composite group" and SPD policy that
aggregates multiple basic GSAKMP sub-groups. In this service model,
the multicast application multicasts one message payload to all of
the group's endpoints, and the GSAKMP IPsec subsystem transparently
replicates that message and distributes a copy to each of the sub-
groups. The goal is to accommodate GSAKMP group endpoint populations
that have heterogeneous capabilities or attributes. Some examples
where a composite group could be applied include:
- A GSAKMP group straddling both IP-v4 and IP-v6 endpoints. For a
group spanning IP-v4 and IP-v6, the Group Speaker endpoint's Node
must be dual stack capable.
- A single GSAKMP group using a Reliable Multicast Transport
protocol (RTMP) that has a heterogeneous deployment of error
recovery algorithms (e.g. Forward Error Correction codes) at its
endpoint population. Each RMTP version is configured as a sub-
group at a distinct multicast destination IP address. In this
case, the application's payload is replicated within the speaker
Node before being distributed to each RMTP version-specific
subsystem. The Group Speaker endpoint's Node must implement all of
the RMTP sub-group versions.
- There are multiple multicast routing domains supporting the GSAKMP
group, each routing domain imposing its own policy defined
multicast IP address. The GSAKMP IPsec must alter the multicast
destination IP address for each copy of the multicast packet
before it is sent to its respective routing domain.
- A multicast application wherein the GSAKMP group is the union of
multiple source-specific IP multicast groups. For example, a
multi-homed Group Speaker might require this configuration.
In principal, each of the above examples could be decomposed into
multiple independent basic GSAKMP groups. However, that incurs a
Gross Expires January, 2004 page 41
GSAKMP Application to the IP Security Architecture July, 2004
commensurate increase in the multicast application's overhead to
discover, join, and manage each of those groups. A preferable
solution is for the multicast application to join one GSAKMP group,
and have the GC/KS bundle the multiple basic group SPD traffic
selector rules into a single policy token configuration operation.
This type of SPD configuration encodes the GSAKMP "composite group"
security policy. A composite group has the following properties:
- The composite group membership is the union of two or more non-
overlapping basic sub-group memberships formed by the sub-group's
Group Receiver endpoints. All of the sub-groups share the
composite group's GTEK and algorithm.
- When a Group Receiver endpoint joins a composite group, it also
selects its membership in one of the basic sub-groups. The sub-
group selection can be implicit (i.e. pre-configured at the GC/KS)
or explicitly signaled in the group member's RTJ sent to the
GC/KS. The signaling mechanism MAY be the TEBAC payload, or it MAY
be an implementation defined mechanism not standardized by this
version of the GSAKMP IPsec mapping.
- The multicast application Group Speaker endpoint sends a single
message to the composite group and it is received once at each
endpoint within a sub-group. The Group Speaker's Node is
responsible for transparently replicating that message and sending
a copy to each sub-group within the composite group. When the
Group Speaker endpoint joins a composite group, it implicitly
joins all of the basic sub-groups as a speaker.
- If the Multicast Packet Distributor policy action occurs before
encryption, then there is a GSA per sub-group (assuming anti-
replay service is enabled).
- If the Multicast Packet Distributor policy action occurs after
encryption, then there is one GSA for the composite group.
- There SHOULD be a Subordinate-GC/KS per GSAKMP sub-group.
5.11.2 Transmitter Multicast Packet Distributor
The GSAKMP IPsec policy token grammar (see [IPSECPT]) has the
expressive power to describe and manage composite group security
policies. The GSAKMP IPsec policy action Multicast Packet
Distributor can be inserted as one action in the sequenced list that
constitutes a compound policy action. The Multicast Packet
Gross Expires January, 2004 page 42
GSAKMP Application to the IP Security Architecture July, 2004
Distributor building block distributes each application message
transmission to the composite group's sub-groups. The group's policy
decides whether the distribution occurs before or after the
message's GSA encryption policy action.
5.11.3 Receiver Multicast Packet Distributor
At a receiving Node, the Receiver Multicast Packet Distributor is
the decryption and distribution control point for the one or more
authorized Group Receiver endpoints co-residing on that Node. This
has the benefit that the Node receives one encrypted multicast
datagram regardless of the number of such endpoints, decrypts its
ESP payload once, and securely distributes that plain-text payload
to each of the authorized application endpoints within that Node.
The mechanism through which the Node achieves that secure
distribution is a local implementation matter.
Note that after the decryption step but before the plain-text
distribution, the IP security subsystem compares the datagram's
attributes against the SPD-inbound traffic selectors, and verifies
that the datagram conforms to the GSA's security policy. If the
verification succeeds, then the GSA forwards the datagram to the
Receiver Multicast Packet Distributor. If a multicast application
destination port has multiple Group Speaker GSA in a given time
epoch, all of those GSA forward their datagrams to the same Receiver
Multicast Packet Distributor.
Internal to the Node, the Receiver Multicast Packet Distributor is
the single control state shared between one or more authorized Group
Receiver endpoints for a group time epoch. There is a Receiver
Multicast Packet Distributor instance per GSAKMP group per time
epoch that has authorized Group Receiver endpoints as members within
a Node.
5.12 UDP Encapsulated ESP GSA
To be defined.
6 GSAKMP Interactions with NAT and Mobility
With the advent of NAT and mobile Nodes, GSAKMP IPsec multicast
applications must overcome several architectural barriers to their
successful deployment. This section surveys those problems, and
section 7 specifies a GSAKMP protocol extension as their solution.
Gross Expires January, 2004 page 43
GSAKMP Application to the IP Security Architecture July, 2004
6.1 SPD Losses Synchronization with Internet Layer's State
The most prominent problem facing GSAKMP IPsec is that the GSAKMP
IPsec policy token can inadvertently configure the group's SPD
traffic selectors with unreliable transient IP addresses. The IP
addresses are transient because of either Node mobility or Network
Address Translation (NAT), both of which can unilaterally change a
multicast speaker's source IP address without signaling GSAKMP. The
absence of a SPD synchronization mechanism can cause the group's
data traffic to be discarded rather than processed correctly.
6.1.1 Mobile Multicast Care-Of Address Route Optimization
Both Mobile IP-v4 [RFC3344] and Mobile IP-v6 [MIPV6] provide
transparent unicast communications to a mobile Node. However,
comparable support for secure multicast mobility management is not
specified by these standards. The goal is the ability to maintain an
end-to-end transport mode group SA between a Group Speaker mobile
node that has a volatile care-of-address and a Group Receiver
membership that also may have mobile endpoints. In particular, there
is no secure mechanism for route optimization of the triangular
multicast path between the correspondent Group Receiver Nodes, the
home agent, and the mobile Node. Any proposed solution must be
secure against hostile re-direct and flooding attacks.
6.1.2 NAT Translation Mappings Are Not Predictable
The following spontaneous NAT behaviors adversely impact source-
specific secure multicast groups. When a NAT gateway is on the path
between a Group Speaker endpoint residing behind a NAT and a public
IP-v4 multicast Group Receiver, the NAT gateway alters the private
source address to a public IP-v4 address. This translation must be
coordinated with every Group Receiver's inbound Security Policy
Database (SPD) multicast entries that uses that source address as a
traffic selector. One might mistakenly assume that the GC/KS can set
up the GSAKMP endpoints with a SPD entry that anticipates the
value(s) that the NAT translates the packet's source address.
However, there are known cases where this address translation can
spontaneously change without warning:
- NAT gateways may re-boot and lose their address translation state
information.
Gross Expires January, 2004 page 44
GSAKMP Application to the IP Security Architecture July, 2004
- The NAT gateway may de-allocate its address translation state
after an inactivity timer expires. The address translation used by
the NAT gateway after the resumption of data flow may differ than
that known to the SPD selectors at the GSAKMP endpoints.
- The GC/KS may not have global consistent knowledge of a GSAKMP
endpoint's current public and private address mappings due to
network errors or race conditions. For example, an endpoint's
address may change due to a DHCP assigned address lease
expiration.
- Alternate paths may exist between a given pair of GSAKMP
endpoints. If there are parallel NAT gateways along those paths,
then the address translation state information at each NAT gateway
may produce different translations on a per packet basis.
The consequence of this problem is that the GC/KS can not be pre-
configured with NAT mappings, as the SPD at the group's endpoints
will lose synchronization as soon as a NAT mapping changes due to
any of the above events. In the worst case, group endpoints in
different sections of the Internet will see different NAT mappings,
because the multicast packet traversed multiple NAT gateways.
6.2 Secondary Problems Created by NAT Traversal
6.2.1 SSM Routing Dependency on Source IP Address
Source-Specific Multicast (SSM) routing depends on a multicast
packet's source IP address and multicast destination IP address to
make a correct forwarding decision. However, a NAT gateway alters
that packet's source IP address as its passes from a private network
into the public Internet. Mobility changes a Node's point of
attachment to the Internet, and this also will change the packet's
source IP address. Regardless of why it happened, this alteration in
the source IP address makes it infeasible for transit multicast
routers in the public Internet to know which SSM speaker originated
the multicast packet, which in turn selects the correct multicast
forwarding policy.
6.2.2 ESP Cloaks Its Payloads from NAT Gateway
When traversing NAT, application layer protocols that contain IP-v4
addresses in their payload need the intervention of an Application
Layer Gateway (ALG) that understands that application layer protocol
[RFC3027] [RFC3235]. The ALG massages the payload's private IP-v4
Gross Expires January, 2004 page 45
GSAKMP Application to the IP Security Architecture July, 2004
addresses into equivalent public IP-v4 addresses. However, when
encrypted by end-to-end ESP, such payloads are opaque to application
layer gateways.
When multiple Group Speaker endpoints reside behind a NAT with a
single public IP-v4 address, the NAT gateway can not do UDP or TCP
protocol translation (i.e. NAPT) because the ESP encryption conceals
the transport layer protocol headers. The use of UDP encapsulated
ESP [UDPESP] avoids this problem. However, this capability must be
configured at the GC/KS as a group policy, and it must be supported
in unison by all of the GSAKMP endpoints within the group, even
those that reside in the public Internet.
6.2.3 UDP Checksum Dependency on Source IP Address
A GSAKMP IPsec multicast application that uses UDP within an ESP
payload will encounter NAT induced problems. The original IP-v4
source address is an input parameter into a receiver's UDP pseudo-
header checksum verification, yet that value is lost after the IP
header's address translation by a transit NAT gateway. The UDP
header checksum is opaque within the encrypted ESP payload.
Consequently, the checksum can not be manipulated by the transit NAT
gateways. UDP checksum verification needs a mechanism that recovers
the original source IP-4 address at the Group Receiver endpoints.
In a transport mode multicast application GSA, the UDP checksum
operation requires the origin endpoint's IP address to complete
successfully. In IKE-v2 [IKE-v2], this information is exchanged
between the endpoints by a NAT-OA payload (NAT original address).
See also reference [IPSECNAT]. A comparable facility must be exist
in a GSAKMP payload that defines the multicast application GSA
attributes for each Group Speaker endpoint.
6.2.4 Can Not Use AH with NAT Gateway
The presence of a NAT gateway makes it impossible to use an
Authentication Header, keyed by a group-wide key, to protect the
integrity of the IP header for transmissions between members of the
cryptographic group.
6.3 Avoidance of NAT Using an IP-v6 Over IP-v4 Network
A straight forward and standards-based architecture that effectively
avoids the GSAKMP interaction with NAT gateways is the IP-v6 over
IP-v4 transition mechanism [RFC2529]. In IP-v6 over IP-v4 (a.k.a.
Gross Expires January, 2004 page 46
GSAKMP Application to the IP Security Architecture July, 2004
"6over4"), the underlying IP-v4 network is treated as a virtual
multicast-capable Local Area Network. The IP-v6 traffic tunnels over
that IP-v4 virtual link layer.
Applying GSAKMP in a 6over4 architecture leverages the fact that an
administrative domain deploying GSAKMP would already be planning to
deploy IP-v4 multicast router(s). The GSAKMP group's IP-v6 multicast
routing can execute in parallel to IP-v4 multicast routing on that
same physical router infrastructure. In particular, the NAT gateways
at administrative domain public/private boundaries are replaced by
IP-v6 multicast routers operating with 6over4 mode enabled on their
network interfaces.
Within the GSAKMP protocol, all references to IP addresses are IP-v6
addresses for all security association endpoints and these addresses
do not change over the group's lifetime. This yields a substantial
reduction in complexity and error cases over the NAT-based
approaches. This reduction in complexity can translate into better
security.
Reliable scalable GSAKMP 6over4 deployment is far more practical
than GSAKMP/NAT with IP-v4. In particular, new GSAKMP multicast
applications SHOULD prefer GSAKMP IP-v6 native mode. However, GSAKMP
supports either choice. The following factors may weigh against the
decision to deploy GSAKMP 6over4:
- A drawback of the GSAKMP 6over4 approach is that the secure
multicast application must be (re-)written to an IP-v6 multicast
socket API or equivalent, and it must interact with the Multicast
Listener Discovery (MLD) API [RFC3590] [RFC3678] rather than IGMP.
In addition, the application layer protocol itself must embed
references to IP-v6 addresses rather than IP-v4 addresses within
its payloads. For new applications, this may not be of
consequence; it usually only becomes an issue if the application
and its protocol has an embedded base.
- An embedded base of GSAKMP IP-v4 multicast applications that are
only available in binary form will not be able to migrate to these
transitional IP-v6 mechanisms.
- The secondary drawbacks of GSAKMP 6over4 are that the IP hosts
must be upgraded to dual-stack, the attendant overlay IP-v6
multicast network operational costs, and the difficulty of
deploying commercial wide-area IP-v6 multicast services.
Gross Expires January, 2004 page 47
GSAKMP Application to the IP Security Architecture July, 2004
6.4 GSAKMP Multi-Realm IP-v4 NAT Architecture
In a multi-realm group, GSAKMP security association endpoints may
straddle any combination of IP-v4 public addresses and private
addresses [RFC1918]. In such cases, transport layer endpoint
identifiers when resolved to their underlying private or public IP-
v4 addresses entangle the GSAKMP protocol with NAT gateway
behaviors. The NAT translation of IP-v4 header addresses impacts the
GSAKMP registration SA, the GSAKMP re-key GSA, and the multicast
application GSA.
This section overviews the GSAKMP mechanisms that partially mitigate
the inherent complexity spawned by IP-v4 NAT and Network Address
Protocol Translation (NAPT) traversal. However, the attendant Group
Owner configuration procedures are labor-intensive, prone to
configuration mismatch errors between the GC/KS and NAT gateways,
and they do not scale well to large groups. Given the large number
of documented NAT problems and its erosion of end-to-end security,
new GSAKMP applications and deployments SHOULD strongly prefer the
use of IP-v6. Section 6.3 offers IP-v4 to IP-v6 transitional
guidance in support of that objective.
6.4.1 GSAKMP IP-v4 NAT Architectural Assumptions
To make the multi-realm GSAKMP IP-v4 NAT interaction problem
tractable to a solution, this specification makes the following
simplifying assumptions:
- The secure multicast group destination address is a statically
allocated public IP-v4 multicast address known to all GSAKMP
endpoints.
- Wherever they are present in the GSAKMP protocol, GSAKMP endpoint
addresses are expressed as permanent IP-v6 "6to4" addresses
[RFC3056] to assure that the GSAKMP endpoints that refer to hosts
assigned private IP-v4 addresses are globally unique. In this
context, a "permanent" 6to4 address means that the address is
constant for the group's lifetime.
- Each private IP-v4 address space has one or more NAT gateways
directly connected to the IP-v4 public Internet, and a packet does
not have to traverse multiple private networks to reach the public
Internet. This can be thought of as a "spoke and hub"
configuration wherein the public Internet is the hub.
Gross Expires January, 2004 page 48
GSAKMP Application to the IP Security Architecture July, 2004
- A GC/KS may reside within one of the private networks, but it
also MUST have a permanent public IP-v4 address on at least one of
its network interfaces. This requirement applies to both the
Primary-GC/KS and all of the group's Subordinate-GC/KS.
- GSAKMP group security associations are end-to-end transport mode.
However, since the S-GC/KS are constrained to straddle a
public/private network boundary, they effectively terminate the
GSA at a combined NAT/security gateway [RFC2709].
- The GC/KS domain name RR record should point to that public IP-v4
address, and it should be protected by DNS-SEC.
- Each of an administrative domain's NAT gateways are explicitly
configured with static private/public address translation mappings
for the GC/KS's GSAKMP re-key multicast ESP protected UDP packets
inbound from the public Internet [RFC2588].
- The NAT gateways/firewalls are explicitly configured with
stateless filter rules that simply pass through without any
address translation the group's inbound multicast application
packets arriving from the public Internet. The NAT gateway does
not translate the multicast application packet's public multicast
IP destination address into a private IP multicast address.
- In the outbound direction, NAT gateways generally translate the
multicast application packet's private source IP address into a
dynamically selected public IP address. Exceptions to this policy
for source specific multicast are noted in subsequent sections.
- Within each administrative domain, a multicast routing protocol
domain routes packets based on the group's destination multicast
public IP-v4 address. The multicast routers will distribute the
group's packets to all of the group's Group Receiver endpoints
residing in that administrative domain.
- The border routers of each of the administrative domains spanned
by the group do cross-realm multicast routing and distribution on
behalf of the group. The IP-v4 multicast routers that exchange
reachability information regarding the group across trust
boundaries authenticate that information.
Gross Expires January, 2004 page 49
GSAKMP Application to the IP Security Architecture July, 2004
"A" Admin . ISP Admin . "B" Admin
Domain . Domain . Domain
. .
+---------------.--------------.-------------------+
| . . |
| P U B L I C . I P - v 4 . I N T E R N E T |
| . . |
+------/\-------.-----A-----A--.----/\--------/\---+
|| public. | | . || public ||
|| IP-v4 . | | . || IP-v4 ||
+------\/------+. | | .+---\/---+ +--\/---+
|Grp.Z |NAT "A"|. | | .|Group Z | |NAT "B"|
|S-GCKS|gateway|. | | .|P-GC/KS | |gateway|
+---A--+---A---+. | | .+---A----+ +--A----+
| | .registratn | . | |
regist. SA| . SA | . regist. SA |
| | . | | . | |
+-V-+ | . +-V-+ | . +-V-+ |
|GM1| | . |GM2| | . |GM3| |
+-A-+ | . +-A-+ | . +-A-+ |
| | . | | . | |
Group data SA . Group data SA. Group data SA
rekey SA . rekey SA . and rekey SA
| | . | | . | |
+-V------V--+ . +---V-----V-+.+---V---------V-+
| Group "Z" | . | Group "Z" |.| Group "Z" |
| multicast | . | multicast |.| multicast |
| routing | . | routing |.| routing |
| domain | . | domain |.| domain |
+-----------+ . +-----------+.+---------------+
. .
Figure 2 Representative GSAKMP/NAT architecture
6.4.2 Representative GSAKMP Multi-Realm Configuration
Figure 2 illustrates a representative group "Z" wherein a GSAKMP
group security association spans two private IP-v4 networks and the
public IP-v4 Internet. The Group "Z" GC/KS has two network
interfaces, one attached to the public Internet and the other
interface attached to the administrative domain "B" private network.
The group member GM1 resides within the administrative domain "A"
private network. It communicates with the group Z Group Speaker
endpoint(s) through the administrative domain "A" NAT gateway. When
Gross Expires January, 2004 page 50
GSAKMP Application to the IP Security Architecture July, 2004
GM1 multicasts application SA traffic to the group Z public
multicast address, the Group Z peer members (i.e. GM2, and GM3)
receive that multicast with the source address translated by NAT
gateway "A" processing. In the inverse direction, the administrative
domain "A" NAT gateway/firewall must be configured to allow Group Z
multicast application GSA traffic to enter the private network "A"
from the public Internet (e.g. a multicast originating from GM3).
The group member GM3 resides within the administrative domain "B"
private network. Its interactions with Group Z are very similar to
those discussed for member GM1. It uses private addresses when
communicating with the P-GC/KS, as it is in private network "B".
The group member GM2 is in a public Internet administrative domain
operated by an ISP. It communicates with the P-GC/KS using public
IP-v4 addresses without passage through a NAT gateway. When GM2
multicasts application SA traffic to the group Z public multicast
address, the Group Z peer members behind NAT gateways receive that
multicast with the source address unchanged by NAT processing.
Each administrative domain operates an IP-v4 multicast routing
domain instance. The multicast routers distribute both GSAKMP RKE
messages and multicast application GSA data traffic. The multicast
routing for group "Z" peers between these three multicast routing
domains.
6.4.3 Registration Security Association NAT Traversal
The GSAKMP registration protocol's unicast messages are exchanged
between a GC/KS in the public IP-v4 Internet and a candidate Group
Member that may be in a private network.
A group member sends a registration SA GSAKMP message to the GC/KS
public IP-v4 address and the GSAKMP reserved port number. The group
member assigns a unique GSAKMP UDP source port number for each
GSAKMP registration SA that it participates in. The group member
SHOULD send the GSAKMP UDP packet without a checksum to avoid NAT
alterations to that field. The UDP packet's transmission error
detection depends on the GSAKMP Signature payload. A NAT gateway on
the path leading to the GC/KS translates the private source IP
address and source UDP port number into a public address and a
temporary UDP port number (assuming NAPT), then forwards the packet
to the GC/KS. The NAT gateway creates state information for that
public/private address mapping so it can do the inverse translation
on the GSAKMP messages sent from the GC/KS to that group member.
Gross Expires January, 2004 page 51
GSAKMP Application to the IP Security Architecture July, 2004
The GC/KS must process the GSAKMP messages that it receives from
group members originating from any source IP address or source port
number, even if those two values have changed since the last time
that the GC/KS had interacted with a given group member. To identify
the group member, the GC/KS MUST use the GSAKMP signature payload's
identifying information and validate the message's digital
signature.
After processing a message from a group member that requires a GC/KS
response, the GC/KS creates the GSAKMP UDP message destined for the
same IP-v4 address and UDP port that the GC/KS found in the
candidate Group Member message's source IP address and UDP source
port.
6.4.4 GSAKMP Re-key GSA NAT Traversal
The GSAKMP Re-Key GSA is considerably simplified by the constraint
that every Subordinate-GC/KS and Primary-GC/KS MUST straddle a
public Internet/private network boundary adjacent to wherever it has
Group Members behind a NAT gateway. Consequently, a GC/KS may have
Group Members on either side of that boundary, but there is no
intervening NAT gateway tampering with the GC/KS transmissions.
The GC/KS multicasts the GSAKMP Re-Key Event message to the Re-Key
GSA in an ESP protected UDP|NORM|GSAKMP packet addressed to its
(sub-)group's destination public IP-v4 multicast address. The UDP
destination port is set to the GSAKMP-NORM-UDP reserved port number.
The group keyed ESP authenticator protects the UDP payload, so a UDP
checksum MUST NOT be used.
A multi-realm IP-v4 GSAKMP group operates in autonomous distributed
mode. Therefore, each of the group's Subordinate-GC/KS must relay to
their respective sub-group membership the GTEK and policy token that
it extracts from the Primary-GC/KS RKE multicast. The S-GC/KS sends
its RKE message to its sub-group membership from its public Internet
interface.
6.4.5 Application GSA NAT Traversal
Unlike the RKE message multicast to the Re-Key GSA, a multicast
application message sent to the group may originate from a Group
Speaker endpoint located behind a NAT gateway. Since the
application's message is encrypted within an ESP payload, the
transport layer protocol header port fields are concealed from NAT
gateways and they can not participate in NAPT. The multicast
Gross Expires January, 2004 page 52
GSAKMP Application to the IP Security Architecture July, 2004
application GSA must be handled differently depending on whether the
application requires source-specific multicast.
If the application requires source-specific multicast routing, then
there must be a separate public IP-v4 address statically reserved at
the NAT gateway for each Group Speaker endpoint private/public
address mapping. This constraint allows the GC/KS to specify at
every Group Member the inbound SPD traffic selector with a pre-
determined public source address for each Group Speaker endpoint in
the group. The traffic selector's public source address in
combination with the group's destination multicast address and SPI
selects the inbound SA. Keeping the NAT gateway's source address
mapping static rather than dynamic also allows the multicast routers
along the packet's path to apply source-specific routing policies.
Note that the use of a static source address mapping NAT avoids the
need for the group's policy token to specify UDP encapsulated ESP.
The drawback of this approach is that the GC/KS SPD/SAD
configuration database must be kept synchronized with the group's
NAT gateway address mapping configurations. These operational
procedures can be labor-intensive and error-prone, making large-
scale group deployments difficult. The SAM message side steps this
problem (see section 7) by dynamically setting the Group Receiver
endpoint's SPD/SAD entry traffic selector rather than relying on
static GC/KS configuration.
If the application requires the any-source multicast service model,
then the NAT gateway's source address translation can use
dynamically allocated public IP-v4 addresses rather than statically
allocated IP-v4 addresses. However, unless the group uses UDP
encapsulated ESP, then the NAT gateway must have a pool of public
IP-v4 addresses reserved that is at least as large as the number of
Group Speaker endpoints within its private network. The public IP
address pool allows the NAT gateway to do a one-to-one mapping from
every Group Speaker endpoint's private source address to a
dynamically allocated public source address. In this case, the use
of NAPT rather than NAT is not an option, since the transport layer
protocol is within an opaque ESP payload. The GC/KS specifies the
SPD/SAD traffic selector as the combination of the group's
destination multicast address and the SPI.
In some deployments, the number of public IP-v4 addresses assigned
to a NAT gateway is very limited (e.g. only one public address).
Also, it may be difficult to predict how many Group Speaker
endpoints will reside within the private network before the group
begins its operation. For these cases, the group MAY use UDP
Gross Expires January, 2004 page 53
GSAKMP Application to the IP Security Architecture July, 2004
encapsulated ESP. The NAT gateway applies NAPT to the UDP header's
source port field, sidestepping the constraint of its limited public
address pool. The Group Owner modifies the group policy token to
specify that the outbound SPD processing must pre-append a UDP
header in front of the ESP header. When a Group Speaker endpoint
originates a multicast application packet, it inserts a UDP header
in front of the ESP header, as per reference [UDPESP].
7 Security Association Management Message
A Group Speaker multicasts the Security Association Management (SAM)
message to create a Group Security Association's SPD/SAD
configuration at the Group Receiver endpoints. In addition to the
SAM message, the GSAKMP IPsec application extends the GSAKMP base
protocol with three new GSAKMP payload types:
. Security Association Configuration (SAC)
. Identity to Transient Address Mapping (ITAM)
. Transport Endpoint Binding Attribute Certificate (TEBAC) as a
Certificate payload. See section 3.3.3.
Table 1 shows for which GSAKMP messages the ITAM, SAC, and TEBAC
payloads are required, optional, or prohibited.
Exchange Type ITAM Payload SAC Payload TEBAC Payload
RTJ MUST MUST NOT MUST
KDL MAY MUST MUST NOT
KDL-ACK/NACK MUST NOT MUST NOT MAY
RTD MUST NOT MUST NOT MUST
DR MUST NOT MUST NOT MUST NOT
DR-ACK MUST NOT MUST NOT MAY
SAM MUST MUST MUST
RKE MUST MUST MUST
Gross Expires January, 2004 page 54
GSAKMP Application to the IP Security Architecture July, 2004
Table 1 _ ITAM, SAC, and TEBAC payload presence requirements
A Group Speaker endpoint multicasts a SAM message under the
following conditions:
- After the Group Speaker endpoint has sent a KDK-ACK response to
its GC/KS and before it multicasts its first application protocol
data unit, the Group Speaker MUST multicast a SAM message to
create the leading edge GSA SPD/SAD state at its Group Receiver
endpoints.
- Periodically, the Group Speaker multicasts a SAM message at
sufficiently frequent intervals that it replaces the current GSA
with a new leading edge GSA before the current GSA expires due to
elapsed lifetime or reaching its key's cumulative data encryption
limit.
- After each change in one of the Group Speaker's interface
transient IP address assignments. Alternatively, a group security
policy that requires proof of return route-ability will mandate
that the Group Speaker re-register with a GC/KS before sending a
SAM.
Every authorized Group Receiver endpoint receives the SAM message at
the multicast application's destination IP address. The SAM
multicast is a "best effort" UDP payload, and it SHOULD NOT use a
RMTP. Each Group Receiver endpoint validates the Group Speaker's SAM
using the procedure defined by section 7.2. If any of these checks
fail, then the SAM message is discarded.
7.1 GSAKMP Security Association Management Message Syntax
The Security Association Management message comprises a GSAKMP
header encapsulating the sequence of GSAKMP payloads shown in table
2.
Table 2 Security Association Management Message
Message Name : Security Association Management
Dissection : {HDR-GrpID, Nonce-Speaker, Nonce-Membership,
Identity to Transient Address Mapping, {SA-
Config}*, [Key Creation], [Vendor-ID],
[Notification]} SigN, [SpeakerCert],
Gross Expires January, 2004 page 55
GSAKMP Application to the IP Security Architecture July, 2004
[NodeCert], AttribCert
Payload types : GSAKMP header, Nonce, Identity to Transient
Address Mapping, SA-Config, [Key Creation],
[Notification], [Vendor-ID], Signature,
Certificate
SigN : Node Identity's signature
SpeakerCert : The Group Speaker endpoint's signature end-
entity X.509 certificate as profiled in
section 9.2.
NodeCert The Node Identity's signature end-entity
X.509 certificate as profiled in section 9.4
AttribCert : The Node Identity's Transport Endpoint
Binding Attribute Certificate Attribute
Certificate, issued by the Group Speaker
endpoint, as profiled by section 9.6.
{data} SigN : Braces enclose the GSAKMP header and those
payloads that are under the SigN signature
[] : Indicates an optional GSAKMP payload
{payload}* : Braces enclose payload encrypted by the GTEK
Unless stated to the contrary, there can be only one GSAKMP payload
of a given type per SAM message. The SAM GSAKMP payloads under the
signature MAY be in any order, not just the order shown above in
table 1. The Certificate payloads, if any, MUST follow the Signature
payload.
The Transport Endpoint Binding Attribute Certificate is the same one
that was issued by the Group Speaker endpoint to its Node prior to
its registration protocol exchange (see section 4.8). The TEBAC MUST
be present in the SAM message, because it is the Group Speaker
endpoint's authorization of the binding between the Node's signature
identity and the multicast application endpoint attributes asserted
in the SAC and ITAM payloads.
Gross Expires January, 2004 page 56
GSAKMP Application to the IP Security Architecture July, 2004
7.2 SAM Message Verification
A Group Receiver endpoint accepts the SAM message only after it has
successfully executed the following verification steps in the given
order. If any of these steps fail, then the Group Receiver endpoint
MUST discard the SAM message. It MAY log an error but SHOULD NOT
trigger an alarm message (e.g. SNMP TRAP) unless it is rate dampened
and it uses a randomly dithered transmission time.
1. The SAM GSAKMP header and the GSAKMP payloads that the header
envelopes all MUST have the correct length and correct payload
types as defined in section 7.1. There can only be one instance of
the following payload types: SAC, ITAM, Signature, Key Creation,
and Vendor-ID. There can be zero or more instances of the
Notification payload type. There MUST be at least one Certificate
payload which contains the TEBAC. There MUST be two Nonce
payloads, and they respectively contain a Nonce-Speaker nonce type
and a Nonce-Membership nonce type.
2. The GSAKMP header's Group Identifier type MUST be of type "IP-v6",
and it MUST match one of the groups for which the SAM receiving
Node possesses an active membership. A SAM message that arrives at
a Group Receiver endpoint during its registration or de-
registration protocol exchange is not an error but it is silently
discarded.
3. The SAM message depends on its GSAKMP header's sequence number for
anti-replay protection. The Group Receiver endpoint MUST verify
that the SAM GSAKMP header's sequence number is greater than the
previously received SAM message from the same Group Speaker.
Receipt of SAM re-transmission duplicates is possible and they
MUST be silently discarded. The first SAM sequence number
transmitted MUST have the value of one (1). The Group Speaker
advances its GSAKMP header's sequence number after each distinct
SAM message. Group Receiver endpoints MUST NOT update their view
of the SAM sequence number to the value received in the SAM
message's GSAKMP header until all the message's verification steps
complete successfully.
4. The Nonce-Membership payload's value MUST be verified for
freshness and the Group Receiver endpoints MUST confirm that the
Group Speaker endpoint possesses the GTEK. The "Nonce-Speaker"
payload contains a random value that MUST be at least 4 octets in
length. The Nonce-Membership value is the 20 octet HMAC-SHA1 hash
of the group's current policy token concatenated with the Nonce-
Gross Expires January, 2004 page 57
GSAKMP Application to the IP Security Architecture July, 2004
Speaker payload's value. The current GTEK is the key input to that
HMAC-SHA1 operation. The Group Receiver endpoint locally computes
its own view of the Nonce-Membership payload's value. If the
Nonce-Membership value that it computes is the same as the value
found in the Nonce-Membership payload, then that proves the Group
Speaker endpoint possesses the current GTEK.
5. The TEBAC "Issuer" field identifies the Group Speaker endpoint.
This "Issuer" field MUST match one of the group membership
authorization pattern match rules found in the group's current
policy token.
6. The TEBAC "Issuer" field MUST match one of the Group Speaker
authorization pattern match rules found in the group's current
policy token.
7. The TEBAC "Holder" field MUST match the SAM Signature payload's
signer identification value, which is the Node Identity associated
with the Group Speaker endpoint.
8. The Group Receiver endpoint MUST confirm that the Group Speaker's
TEBAC validity period is not expired.
9. The TEBAC "Transport Endpoint Identifier" attribute type MUST
assert the "S" flag.
10. The Group Speaker endpoint's TEBAC "Issuer" signature MUST be
verified, and its signature certificate confirmed to have a chain
of valid certificates rooted at one of the GSAKMP group's trust
anchor Certificate Authorities.
11. The Node Identity's signature in the Signature payload MUST
verify as per [GSAKMP] section 7.8.
12. The Group Receiver endpoint decrypts the SAC payload using the
current GTEK. The SAC payload plain-text's Source Node Identity
field MUST match the Node Identity that signed the SAM message.
7.3 SAM Message Processing After Successful Verification
After all of the section 7.2 SAM message verification checks have
succeeded, then a Group Receiver endpoint can process its payloads.
The SAM message payloads are processed as follows:
Gross Expires January, 2004 page 58
GSAKMP Application to the IP Security Architecture July, 2004
- The ITAM payload binds the Group Speaker's Node Identity to its
associated set of transient locator IP addresses. The Identity to
Transient Address Mapping payload handling is defined in section
7.4.
- The Security Association Configuration payload creates a new Group
Security Association instance by inserting its parameters into a
GSA template's formal arguments as specified by the policy token.
Section 7.5 defines the Security Association Configuration payload
format and its handling.
- The Key Creation payload supports an optional method of creating
peer-to-peer secret keying material and derived security
associations between any two GSAKMP group members that have
multicast a SAM message to the group. The mechanisms that create
and manage those unicast security associations are outside the
scope of this standard. Endpoints that receive a SAM message and
do not participate in the peer-to-peer key management MUST
silently ignore this payload and continue normal processing of the
SAM message.
- The Notification payload is an optional mechanism to supplement
the ITAM and SAC payloads with additional information or status.
See section 7.6. Endpoints that receive a SAM Notification payload
and do not understand the notification code and its contents MUST
silently ignore this payload and continue normal processing of the
SAM message.
- The Vendor-ID payload is an optional mechanism to announce the
presence of vendor-specific information sent from the Group
Speaker to the group's membership. Endpoints that receive a
Vendor-ID payload and do not understand its contents MUST silently
ignore this payload and continue normal processing of the SAM
message. GSAKMP exchange types and payload header types that are
not understood MUST be silently ignored.
7.4 Identity to Transient Address Mapping Payload
The SAM message's ITAM payload keeps the Group Receiver endpoint's
SPD/SAD entries synchronized with NAT and mobility induced changes
in the Group Speaker's IP addresses. The ITAM payload declares the
mapping between three quantities:
1. The Group Speaker's Node Identity, as defined in section 3.1.
Gross Expires January, 2004 page 59
GSAKMP Application to the IP Security Architecture July, 2004
2. The Group Speaker's one or more locator IP interface addresses,
which can change over time due to mobility or other causes (e.g.
DHCP lease expiration).
3. The source IP-v4 address found in the SAM message's IP header,
which may have been assigned by an intervening NAT gateway. Unlike
the previous two quantities, this quantity is not authenticated.
After a GSAKMP Group Receiver endpoint successfully verifies the SAM
message, it populates its local Secure Identity to Address Mapping
(SIAM) database with the ITAM payload's identity to address mapping.
Other system components (e.g. PIM, UDP) may subscribe to the SIAM
event notification service, and receive accurate and authoritative
mappings between a peer system's Node Identity and its transient
locator IP addresses. Figure 1 shows this interface at (C2). The
details of the SIAM implementation and its interactions with other
processes is a local implementation matter outside the scope of this
specification. As a matter of local security policy, the Group
Receiver endpoint MAY also adjust its SPD entries to match the SAM
message's public source IP-v4 address that had been assigned by a
transit NAT gateway. See section 7.7 for discussion of the
tradeoffs.
Figure 3 illustrates the Identity to Transient Address Mapping
GSAKMP payload's bits-on-the-wire format. The "Next Payload", the
"Reserved-1", and "ITAM Payload Length" fields together form the
standard GSAKMP payload header as defined in GSAKMP section 7.1.
Immediately following the GSAKMP payload header, without alignment
padding, is the fixed length portion of the ITAM payload. It
contains the following fields:
- Node Identity _ The Node Identity of the Node originating this
ITAM payload, as per section 3.1.
- Number of interfaces _ The number of interface IP addresses
declared by this ITAM payload, each expressed as a 2-tuple of the
form {Interface local index, transient IP address}. This value
MUST be at least one and it has a maximum value of 31.
- ITAM lifetime _ The duration in seconds after receiving the ITAM
that an endpoint can trust this set of address mappings. The
lifetime is relative to the timestamp in the GSAKMP message's
Signature payload. When the trusted interval expires, then the
Gross Expires January, 2004 page 60
GSAKMP Application to the IP Security Architecture July, 2004
Group Receiver endpoint should no longer accept multicast
transmissions from this Group Speaker endpoint.
After the above fixed length fields, the ITAM payload contains a
variable length array containing one or more interface IP address
structures as its elements. There is a fixed length interface IP
address structure for each of the Node's unicast IP interface
addresses.
Each interface IP address structure has the following fields:
- Reserved-2 field - 14 bits set to zero by sender; it is ignored by
Group Receiver endpoints.
- Interface Address Type (IAT) field _ A two-bit field that
indicates the interface's attached IP network type:
o b'00' _ Global scope unicast IP-v6 address
o b'01' _ IP-v4 address, encoded as a "6to4" IP-v6 unicast
address [RFC3056] with a globally unique unicast IP-v4 address
embedded in its V4ADDR field. The IP-v6 address's Interface
Identifier field low-order 32 bits are the interface's IP-v4
address, which may be allocated from either the public or a
private IP-v4 address spaces. The Interface Identifier field
high-order 32 bits are the Node's controlling GC/KS globally
unique unicast IP-v4 address. Every GC/KS supporting an IP-v4
based GSAKMP group MUST have at least one interface with a
public IP-v4 address. If the Node resides in a private IP-v4
network, then its GC/KS MUST also have at least one IP-v4
interface attached to the same private IP-v4 network as that
Node.
o b'10' _ reserved for future use
o b'11' _ Private IP-v4 address encoded as defined for IAT=b'01',
but with the GC/KS public IP-v4 address unknown, and therefore
this address's Interface Identifier field high-order 32 bits
are set to zero.
- Interface local index _ A unsigned 16-bit integer in network-byte-
order assigned by the Node to represent one of its network
interfaces. Typically the interface local index refers to a link
layer network adapter. Note that multiple IP-v6 addresses MAY
share the same interface local index.
Gross Expires January, 2004 page 61
GSAKMP Application to the IP Security Architecture July, 2004
- Interface IP-v6 address _ The IP interface's unicast IP-v6
address, mapped as specified by the IAT field.
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Next Payload | Reserved-1 | ITAM Payload Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
| Node Identity |
| |
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| ITAM Lifetime | number of interfaces |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Reserved-2 |IAT| Interface "A" Local Index |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
| Interface "A" IP-v6 address |
| |
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Reserved-2 |IAT| Interface "B" Local Index |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
| Interface "B" IP-v6 address |
| |
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
| |
. .
. Other Interface addresses .
. .
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 3 Identity to Transient Address Mapping GSAKMP payload
After a successful ITAM payload verification, the Group Receiver
endpoint MUST update:
. Those SPD/SAD traffic selectors that reference the Group Speaker
endpoint's previous (i.e. no longer valid) set of transient IP
addresses. The ITAM payload does not alter the Group Speaker
Gross Expires January, 2004 page 62
GSAKMP Application to the IP Security Architecture July, 2004
endpoint's SPI, source port, next layer protocol identifier, or
destination port number assignments.
. Within the Secure Identity/Address Mapping database, the Group
Receiver endpoint updates the Node Identity data structure
selected by the ITAM payload's Node Identity field. The SIAM
process MUST notify those applications that depend on knowing the
revised Node Identity to IP address set mapping. In figure 1, this
is the implementation specific control interface labeled C2.
For both of these databases, the Group Receiver endpoint replaces
the Group Speaker Node's old set of IP addresses with the new set of
IP addresses as declared by the ITAM payload.
7.5 Security Association Configuration Payload
The SAM message's SAC payload creates (or destroys) a Group Security
Association instance at every Group Receiver endpoint. The SAC
payload contains the leading edge GSA traffic selectors, expressed
as a Security Parameter Index (SPI), destination multicast IP
address, source Node Identity, and any GSA related information. The
SAC payload selects one of the GSAKMP IPsec policy token's Security
Association Templates, and every Group Receiver endpoint inserts the
SAC payload's actual parameters into that template's formal
parameters. The Security Association Template originates from the
Group Owner, and it expresses the Group Owner's security policy for
a class of one or more Group Speaker endpoints. See section 7.6.
Each Security Association Template has a set of associated speaker
role authorization rules. These rules pattern match against a Group
Speaker's identity, authorizing which Group Speaker endpoints may
use that template. For some of the actual parameters supplied by the
SAC payload, the template will provide formal parameter constraints
(e.g. numeric ranges) for the acceptable actual parameter values.
Figure 4 illustrates the Security Association Configuration GSAKMP
payload's bits-on-the-wire format. The "Next Payload", the
"Reserved-1", and "SAC Payload Length" fields together form the
standard GSAKMP payload header as defined in [GSAKMP] section 7.1.
The remainder of the SAC payload contains the following fields:
. GSAKMP IPsec policy token sequence number _ This value MUST be
equal to the group's current GSAKMP IPsec policy token sequence
number. If it is not equal, then the GSAKMP message containing
this SAC payload is discarded.
Gross Expires January, 2004 page 63
GSAKMP Application to the IP Security Architecture July, 2004
. Security Association Template identifier _ Refers to a Security
Association Template structure within the current GSAKMP IPsec
policy token. It is an unsigned 32-bit integer in network byte
order. If this identifier does not reference a valid Security
Association Template, then the GSAKMP message containing this SAC
payload MUST be discarded.
. Security Parameter Index (SPI) _ A random value allocated by the
Group Speaker endpoint within the range that has been reserved for
this Group Speaker. The SPI component MUST be unique amongst all
GSA active in the group. It also MUST be unique amongst all of the
SPI allocated by any other groups that share the same multicast
destination IP address. If the GSAKMP group is a Source-Specific
Multicast group then the SPI uniqueness requirement is qualified
by the speaker's source IP address and the group's destination
multicast IP addresses. If the SPI asserted by the SAC payload
collides with an existent GSA, then the GSAKMP message containing
this SAC payload is discarded and an error MUST be logged. See
section 4.11 for additional discussion regarding SPI allocation
coordination among multiple Group Owners.
. Group Traffic Encryption Key identifier
. Group Traffic Encryption Key version
. Group Traffic Authentication Key identifier
. Group Traffic Authentication Key version
. ESP sequence number _ The security association's ESP header first
sequence number, expressed as an unsigned 64-bit integer in
network byte order. When the SAC payload is part of a KDL message,
then a new Group Receiver endpoint can synchronize its receive GSA
state with an existent GSA. A Group Speaker using the GSA re-key
rollover continuity feature MAY multicast a SAM message with a SAC
payload having consecutive ESP sequence numbers across the
transition from the trailing edge to the leading edge GSA time
epochs.
- Source Node Identity _ This value MUST match the Node Identity
asserted in the GSAKMP message's ITAM payload and the Signature
payload's signer identity value. If these Node Identity values do
not match then the GSAKMP message containing the SAC payload MUST
be discarded.
Gross Expires January, 2004 page 64
GSAKMP Application to the IP Security Architecture July, 2004
- Destination multicast IP-v6 address authorized to be used by the
Group Speaker endpoint. If the group is using IP-v4 multicast
distribution then this address is algorithmically translated from
IP-v6 to IP-v4 as per the procedure in section 3.7.
- Next Layer Protocol Identifier _ The GSAKMP group's multicast
application's transport layer protocol identifier (e.g. UDP, NORM,
etc.) as described in section 3.3. Refer to IANA for the current
valid IP header protocol identifier assignments.
- Destination Port _ The multicast application endpoint's
destination port number as described in section 3.3.
- Source Port _ The multicast application endpoint's source port as
described in section 3.3.
- Security Association lifetime _ The GTEK encryption transform hard
time limit, the amount of time that this security association
exists before it self-terminates.
- "D" flag _ A Group Speaker can destroy one of its existent GSA
before the GSA lifetime expires by setting the SAC payload "D"
flag, and sending in a SAM message the same SAC payload parameters
as it had sent in its previous SAM message that referred to the
same GSA.
Gross Expires January, 2004 page 65
GSAKMP Application to the IP Security Architecture July, 2004
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Next Payload | Reserved-1 | SAC Payload Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| GSAKMP IPsec policy token sequence number |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Security Association Template identifier |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Security Parameter Index |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Group Traffic Encryption Key identifier |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Group Traffic Encryption Key version |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Group Traffic Authentication Key identifier |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Group Traffic Authentication Key version |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| ESP sequence number |
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
| Source Node Identity |
| |
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
| Destination Multicast IP-v6 address |
| |
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Next Layer PID |D| Reserved-3 | Destination Port |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| SA Lifetime | Source Port |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 4 _ Security Association Configuration GSAKMP payload
Gross Expires January, 2004 page 66
GSAKMP Application to the IP Security Architecture July, 2004
7.6 Security Association Template
The GSAKMP IPsec policy token encodes one or more Security
Association Templates. A Security Association Template declares a
Group Owner's security policy for a class of Group Speaker and Group
Receiver endpoints that share a Group Security Association. Each
such template contains:
. Group Speaker role authorization pattern matching rules, which
represents the set of X.509 identities permitted to become a GSA
Group Speaker using this template.
. The GSA SAD information that is common across all GSA
instantiations based on this template, as described previously in
section 5.5.
. A set of formal parameter constraints on the SAC payload's actual
parameter values. These constraints are represented as the valid
ranges for the following SAC payload parameters. If a SAC payload
asserts a value outside of its associated template's range, then
the SAC payload and its GSAKMP message MUST be discarded.
o Source Node Identity's GSAKMP IPsec group sub-net identifier
o Destination multicast IP-v6 address
o Next layer protocol identifier
o Destination port
o Security association hard limit lifetime
o Security Parameter Index
. Tunnel mode GSA information, as per section 5.10
. If the GSAKMP group policy requires that the Group Speaker use
digital signature multicast source authentication, then the
Security Association Template specifies the Group Speaker's source
authentication protocol, algorithm, and related parameters. Some
source authentication algorithms (e.g. TESLA) will require that
the GSAKMP IPsec policy token announce other algorithm-specific
parameters.
Gross Expires January, 2004 page 67
GSAKMP Application to the IP Security Architecture July, 2004
7.7 GC/KS Co-located at the Transit NAT Gateway
For a GSAKMP multi-realm IP-v4 based group, special processing
occurs for a Group Speaker's SAM message. If none of the Group
Speaker's interface IP-v4 addresses within the ITAM payload match
the SAM message's IP header source IP-v4 address, then a transit NAT
gateway translated that address while the datagram was in transit.
Since the NAT gateway's alteration is not authenticated, the GSAKMP
group policy must pick one of two alternatives:
1. Assume that the translated source IP-v4 address is sufficiently
trustworthy without proof of return route-ability, and the Group
Receiver endpoints immediately modify their SPD/SAD to use that
address for the Group Speaker's traffic selector entries.
2. The translated source IP-v4 address is not sufficiently
trustworthy "as is", and it should not be installed in the Group
Receiver endpoint's SPD/SAD traffic selectors until it is
substantiated by a re-registration. All GSAKMP IPsec IP-v4
implementations MUST support this policy.
The second group policy requires that the Group Speaker endpoint re-
register with the GC/KS (section 4.8) co-located with the transit
NAT gateway at the public/private network boundary. The cookies
exchange proves the return route-ability of the translated source IP
address. After its re-registration completes, the Group Speaker
multicasts the SAM message to the Group Receiver endpoints. The
Group Receiver endpoints confirm that one of the ITAM payload's
interface IP address structures has an IAT field set to b'01' with
an interface IP-v6 address containing the GC/KS public IP-v4 address
in its Interface Identifier. The GC/KS public IP-v4 address MUST
match the SAM message's translated source IP address.
The drawback of the proof of return route-ability policy is its high
latency penalty that interrupts continuous streaming media
transmission from the Group Speaker endpoint.
7.8 SAM Notification Payload Handling
To be defined.
8 NACK-Oriented Reliable Multicast Protocol Profile
At the time of this writing, the Negative-acknowledgement Oriented
Reliable Multicast (NORM) protocol is an IETF experimental track
Gross Expires January, 2004 page 68
GSAKMP Application to the IP Security Architecture July, 2004
specification being developed in the Reliable Multicast Transport
(RMT) working group. NORM is a general-purpose facility that
accommodates many diverse multicast applications. For its purposes,
the GSAKMP IPsec application only needs the simple subset of the
NORM protocol that is optimal for the GSAKMP RKE message reliable
multicast transport.
This section prescribes an interoperable profile based on the NORM
protocol as it exists at the time of this writing. The expectation
is that in the long-term, this profile will be deprecated and
altogether replaced by the NORM protocol when it makes its planned
transition to IETF proposed standard status. Until then, compliant
GSAKMP IPsec implementations MUST support the use of the NORM
protocol subset defined herein for reliable RKE message delivery.
8.1 GSAKMP/NORM Subsystem Mandatory Features
There is only one GC/KS NORM session per GSAKMP group, or else when
in autonomous distributed mode then there is one S-GC/KS NORM
session per GSAKMP sub-group. This GC/KS NORM session is independent
from any NORM sessions that might be created in the same group by
the multicast application. The GC/KS is the NORM session's only
multicast sender. The NORM protocol messages are UDP encapsulated,
and they are protected by a GSAKMP ESP Group Security Association.
Referring to the figure 1 data flow (D2), the protocol stack is as
follows:
IP|ESP|UDP|NORM|GSAKMP RKE payload
The GC/KS NORM session's UDP destination port number is GSAKMP-NORM-
UDP (value TBD by IANA). A NORM message's NormNodeId is the SHA hash
of the source Node's Node Identity truncated to use the low-order 32
bits. The NormTransportId monotonically increases for each RKE
multicast. The GSAKMP/NORM subsystem assigns the NormInstanceId;
this value SHOULD be unique across GC/KS re-boots.
The NORM-FLAG-MSG-START marks the start of each RKE message
boundary. The NORM-FLAG-INFO, NORM-FLAG-STREAM, NORM-FLAG-FILE, and
NORM-FLAG-UNRELIABLE flags MUST NOT be set.
The NORM-ROBUST-FACTOR is a tunable quantity that controls how many
NORM retry attempts are allowed by the error recovery procedure. It
SHOULD be configurable by the GSAKMP Group Owner management
interface. The RECOMMENDED value is 3.
Gross Expires January, 2004 page 69
GSAKMP Application to the IP Security Architecture July, 2004
The GSAKMP/NORM subset MUST NOT use the NORM "ack node" list
capability.
The GSAKMP/NORM subsystem MUST support the following protocol
message types:
- NORM-DATA messages only specify the NORM-OBJECT-DATA attribute.
Section 8.Y gives constraints on the NORM-DATA Forward Error
Correction (FEC) algorithms and payloads.
- NORM-CMD(FLUSH)- This command is sent by the GC/KS sender after
the last FEC payload segment of a RKE transmission.
- NORM-CMD(SQUELCH)
- NORM-CMD(CC) _ congestion control
- NORM-CMD(REPAIR-ADV) _ sender's repair state advertisement
- NORM-NACK
- NORM-ACK
Any of the NORM protocol optional message types MAY be supported by
a GSAKMP/NORM implementation, however, these messages types MUST NOT
be used with a GC/KS NORM session. They MAY be used with other
multicast application NORM sessions, i.e. the figure 1 data flow
labeled (D1).
8.2 Forward Error Correction Algorithms
To be defined.
8.3 Group-wide Default Path MTU Length
The NormSegmentSize is less than the path MTU, as it MUST be
adjusted to subtract the overhead length of the IP header, IP-v6
extension headers (if any), AH (if any), ESP header, ESP trailer,
UDP header, and NORM header. For IP-v6, the default path MTU is
1280. For IP-v4, the default path MTU is 580 bytes.
Gross Expires January, 2004 page 70
GSAKMP Application to the IP Security Architecture July, 2004
9 GSAKMP IP Security Public Key Infrastructure Profile
This section profiles the GSAKMP IPsec subsystem's requirements and
certificate conventions for its supporting Public Key
Infrastructure. Figure 1 shows the GSAKMP/PKI interface at (C1).
As its guiding principle, the GSAKMP IPsec architecture creates a
short-lived attribute certificate that binds each application
endpoint in a GSAKMP group to a Node Identity before starting a
Node's GSAKMP protocol exchanges on behalf of that application
endpoint. Both the application endpoint identity and the Node
Identity are long-lived in comparison to the attribute certificate.
This approach allows an application endpoint identity representing a
roaming GSAKMP end user to dynamically bind to a Node for the
duration of a group membership, rather than assuming a permanent
static relationship. A short lived attribute certificate also avoids
the complexity of a revocation mechanism.
9.1 Identification and Signature Payload Signer ID Types
The [GSAKMP] table 19 defines the GSAKMP identification types that
match against certificate identities and SPD symbolic name
selectors. These identification types are used by both
Identification payloads and also for the Signature payload's signer
identification type. The GSAKMP IPsec application requires that
GSAKMP IPsec implementations MUST support both sending and receiving
of the following identification types in the Identification and
Signature payloads:
. ID-IPV4-ADDR
. ID-FQDN
. ID-IPV6-ADDR
. ID-RFC822-ADDR
. ID-DER-ASN1-DN
. ID-UNENCODED-UNAME
The ID-IPV4-ADDR, ID-FDQN, ID-IPV6-ADDR, and ID-RFC822-ADDR MUST
exactly match the corresponding certificate "SubjectAltName" field.
The SPD symbolic name selector MUST support exact matching against
Gross Expires January, 2004 page 71
GSAKMP Application to the IP Security Architecture July, 2004
these identification types and MAY support wildcard or regular
expression string matching.
The ID-DER-ASN1-DN MUST match the certificate's "Subject" field
using bit-by-bit comparison. The SPD symbolic name selector MUST
support any combination of the "C", "CN", "O", or "OU" attributes.
The ID-KEY-ID identification type is not standardized by this
profile and SHOULD NOT be used.
9.2 Application Endpoint Signature Certificate
The application endpoint end-entity signature certificate profile
strikes a balance between accommodating existing PKI certificate
deployments, and constraining those certificates to avoid the inter-
operability problems witnessed in RFC2401 compliant IPsec/IKE
deployments. This profile subsets the [GSAKMP] requirement for
compliance with the [RFC3280] profile and further requires that it
MUST be a X.509-v3 certificate. Unless qualified to the contrary by
this specification, a certificate inherits whatever RFC3280 has
profiled.
9.2.1 Subject Field Distinguished Name
The Subject field X.500 distinguished name MUST NOT be empty, as
issuing the TEBAC has a dependency on its value (see section 9.6.1)
The Subject field MUST declare the "C", "CN", "O", and "OU"
attributes.
9.2.2 SubjectAltName Extension
If the SubjectAltName extension is present, it SHOULD be a
rfc822Name, ipAddress, or dNSName. It MUST NOT be an otherName,
x400Address, directoryName, ediPartyName, or registeredID.
9.2.3 Issuer Field
To be defined.
9.2.4 Key Usage and Extended Key Usage Fields
To be defined.
Gross Expires January, 2004 page 72
GSAKMP Application to the IP Security Architecture July, 2004
9.3 GSAKMP Certificate Payload Types
Compliant GSAKMP IPsec implementations MUST be able to send,
receive, verify, and process Certificate payloads containing X.509-
v3 end-entity and intermediate CA signature certificates ([GSAKMP]
table 20, certificate type 4). The Transport Endpoint Binding
Attribute Certificate when sent in a Certificate payload uses
[GSAKMP] table 20 certificate type 10.
9.4 Node Identity End-Entity Public Key Certificate
Each Node MUST have an X.509-v3 end-entity signature public key
certificate that meets the profile given in this section. There is
usually only one Node Identity signature public key/secret key pair
per Node, rather than one such key pair per GSAKMP group that the
Node is a participant. For all of the GSAKMP groups managed by a
given Group Owner, the Node uses its Node Identity certificate to
prove its identity in all of those groups that it participates. As
its starting point, the Node Identity certificate MUST conform to
the [RFC3280] profile. This section further qualifies the required
usage and values for many of that certificate's fields.
The Group Owner management system MAY be the Certificate Authority
for the Node Identity certificate issued to a Node. Alternatively,
the GSAKMP Group Owner management system oversees the Node Identity
certificate lifecycle through a Certificate Management System
interface that is outside the scope of this standard. However, in
either case the Group Owner MUST enforce the Node Identity
uniqueness requirement across all of its registered Nodes. It is
RECOMMENDED that the Node Identity key pair creation and certificate
enrollment process occur as a part of a Node's GSAKMP IPsec
subsystem installation process.
The Node Identity certificate's "signatureAlgorithm" MUST be either
be DSA-SHA1 or RSA-MD5 as per [PKIXALGS].
9.4.1 Subject and SubjectAltName Extension
The Node Identity certificate MUST have an IP-v6 address
"subjectAltName" critical extension, with its value set to the Node
Identity IP-v6 address as defined in section 3.1. The Node Identity
certificate MUST have a Subject field distinguished name conformant
to the profile in 9.2.1. In addition, the Node Identity public key
certificate MAY also have a Fully Qualified Domain Name or IP-v4
Gross Expires January, 2004 page 73
GSAKMP Application to the IP Security Architecture July, 2004
address "subjectAltName" field. It SHOULD NOT have a RFC822 name as
a "subjectAltName".
9.4.2 Unique Identifiers
As specified by [RFC3280] section 4.1.2.8, the Node Identity
certificate MUST NOT use the "issuerUniqueID", and "subjectUniqueID"
fields.
9.4.3 Key Usage and Extended Key Usage Extensions
The "keyUsage" extension MUST be present and marked as critical. It
MUST indicate that the Node Identity's public key can be used to
validate a digital signature. Other key usage flags MUST NOT be
asserted. The Extended Key Usage extension MAY be present but it
MUST NOT be marked critical. Interpreting its value is a local
matter set by Group Owner policy.
9.4.4 Certificate Policies Extension
To be defined.
9.4.5 Subject Key Identifier Extension
The subject key identifier extension MUST be present in the Node
Identity certificate and it MUST NOT be marked critical. The
"keyIdentifier" SHOULD be the 160-bit SHA1 hash of the public key.
9.4.6 Authority Key Identifier Extension
The Authority Key Identifier extension MUST be present in the Node
Identity certificate.
9.4.7 Basic Constraints Extension
If the "BasicConstraints" extension is present then it MUST have the
"cA" boolean set to FALSE.
9.5 Group Trust Anchor Public Key Certificate Key-ring
The PAD defines the trust anchor public key certificates for each
GSAKMP group. These MAY be organized as a database containing one or
more key-rings, each indexed by a key-ring identifier. A key-ring in
that database contains one or more Certificate Authority
certificates or else references to where those certificate can be
Gross Expires January, 2004 page 74
GSAKMP Application to the IP Security Architecture July, 2004
retrieved and/or verified (e.g. an LDAP directory). The GSAKMP IPsec
management interface MUST have the ability to associate each GSAKMP
group with a single key-ring or an equivalent trusted database. The
key-ring MUST support at least two CA certificates. Other key-ring
and Public Key Infrastructure configuration management facilities
(i.e. add/remove certificates to/from the key-ring) SHOULD be
implemented.
9.6 Transport Endpoint Binding Attribute Certificate
The Transport Endpoint Binding Attribute Certificate is an GSAKMP
IPsec interpretation of "An Internet Attribute Certificate Profile
for Authorization" [RFC3281]. The RFC3281 mandates the X.509-2000
version 2 definition of an attribute certificate. Any attribute
certificate field not explicitly qualified herein simply inherits
the RFC3281 definition.
9.6.1 IssuerName Field
To comply with [RFC3281] section 4.2.3, the "issuerName" MUST
contain a single "GeneralName" having a non-empty distinguished name
in its "directoryName" field. This constraint prohibits the use of
those application endpoint end-entity certificates that have an
empty distinguished name as a TEBAC issuer entity. The distinguished
name MUST conform with the rules given in this document's section
9.2. The "baseCertificateID" and "objectDigestInfo" forms of
"issuerName" MUST NOT be used.
9.6.2 Holder Field
The X.509 attribute certificate's "Holder" field is a SEQUENCE OF
options, for which a TEBAC MUST have only one instance of the
"baseCertificateID" option. The "entityName" and "objectDigestInfo"
options MUST NOT be used in the TEBAC "Holder" field. The Node
Identity signature public key certificate's "serialNumber" and
"issuer" fields are identical to the TEBAC "Holder" field.
9.6.3 TEBAC Issuer Signature Algorithm
The TEBAC signature algorithm MUST be DSA-SHA1 as per [PKIXALGS].
9.6.4 Validity Period and TEBAC Revocation Strategy
It is an explicit GSAKMP IPsec security assumption that the TEBAC
validity period is short-lived and that certificate revocation
Gross Expires January, 2004 page 75
GSAKMP Application to the IP Security Architecture July, 2004
status does not need to be maintained. The validity period is set by
the application endpoint issuer's security policy. The TEBAC
validity period SHOULD be tailored to minimally bracket the
application endpoint's predicted GSAKMP group membership lifetime.
Alternatively, the validity period MAY bracket each GSAKMP protocol
exchange, although this incurs the overhead of issuing a TEBAC more
frequently. Consequently, the "noRevAvail" extension MUST be present
in the TEBAC. The authority information access and CRL distribution
point extensions MUST NOT be present in the TEBAC.
When validating a "attrCertValidityPeriod", the GC/KS MUST compare
it against both the GSAKMP message's Signature payload Signature
Timestamp field ([GSAKMP] figure 21, section 7.8) and also the local
system's clock.
9.6.5 Attribute Certificate Targeting Extension
The Attribute Certificate Targeting extension prescribes the set of
GC/KS authorized to provide GSAKMP group management services for the
issuer application endpoint. However, this version of the GSAKMP
IPsec profile does not require GC/KS to inspect and act on the
contents of this TEBAC field. A TEBAC MAY be issued without the
"attrCertTargeting" extension and the GC/KS verifiers MAY ignore
this extension.
9.6.6 Group Attribute Type
The "Group" attribute type MUST be present within the TEBAC
Attributes field. The "Group" attribute type is a set of one or more
values, and each such value MUST specify a valid GSAKMP IPsec group
identifier, as defined in section 3.2. The TEBAC "Group" attribute
type SHOULD have only one GSAKMP group value. The application
endpoint authorizes the Node Identity to sign its GSAKMP messages
for each of the GSAKMP groups named by the "Group" attribute. The
"Group" field's value encoding MUST compare equal on a bit by bit
basis with the GSAKMP group header's group identifier value as per
[GSAKMP] section 7.1.1.1.4.
9.6.7 Access Identity Attribute Type
The TEBAC profile defines a "transportEndpointIdentifier" data
structure mapping on the "accessIdentity" attribute type (refer to
RFC3281 section 4.4.2). The transportEndpointIdentifier represents
the transport layer endpoint identifier for which the TEBAC issuing
application endpoint authorizes a Node Identity to sign GSAKMP
Gross Expires January, 2004 page 76
GSAKMP Application to the IP Security Architecture July, 2004
messages and setup SPD/SAD entries on its behalf. The TEBAC "Access
Identity" attribute type MUST be present in the TEBAC "Attributes"
field, and that attribute type MUST have only one fixed length
value. The Access Identity attribute's value is in "SvceAuthInfo"
syntax, but MUST NOT have the "authInfo" component.
The SvceAuthInfo "service" component encodes the GSAKMP message
signer's delegated authority. The "service" is a GeneralName OCTET
STRING. It is encoded in one octet as a set of bit flags authorizing
which types of GSAKMP messages that the Holder Node Identity may
sign on behalf of the Issuer application endpoint. Multiple flags
may be OR'ed together:
o Group Speaker mode membership registration, 0x01
o Group Receiver mode membership registration, 0x02
o De-registration,0x04
o Group management (RKE), 0x08
o All other bits reserved for IANA allocation, and set to zero
The SvceAuthInfo "ident" component concatenates the following
TransportEndpointIdentifier data structure fields in the following
order:
. TransportEndpointIdentifier version number, 1 octet, set to zero
for this specification version. This value maps the
TransportEndpointIdentifier data structure, allowing new fields to
be defined in a future specification revisions.
. Application endpoint's identification type, 1 octet, as defined by
[GSAKMP] table 19. This document's section 9.1 defines which
identification types from [GSAKMP] table 19 MUST be supported by a
TEBAC. The identification type selects one among the multiple
identifiers (e.g. one value from the SubjectAltName list) within
the application endpoint's certificate. The GC/KS uses the
selected identity in the application endpoint's group membership
and group speaker role authorization pattern matching process.
. Next layer protocol identifier, 1 octet.
. Source port number, 2 octets in network-byte-order,
Gross Expires January, 2004 page 77
GSAKMP Application to the IP Security Architecture July, 2004
. Destination port number, 2 octets in network-byte-order
See section 3.3 for additional information about these components.
The Node Identity is implicitly part of this
TransportEndpointIdentifier data structure, and its value is found
in the SubjectAltName of the certificate referenced by the Holder
field.
9.6.8 Optional Attribute Types
There are non-critical yet standard Attribute Types in [RFC3281].
This TEBAC profile does not specify how to apply the following
Attribute Types to the GSAKMP IPsec context:
. Service Authentication Information
. Clearance
. Charging Identity _ This attribute type MAY be used to assist AAA
related charge back for GSAKMP group services.
10 Security Considerations
To be defined in a future edition of this document.
11 IANA Considerations
11.1 GSAKMP IPsec Specific Allocations
The GSAKMP IPsec application allocates the following new values
beyond those defined by the [GSAKMP] core protocol specification:
. GSAKMP exchange type for the Security Association Management
message, IANA allocated from [GSAKMP] table 13.
. GSAKMP payload next header type for the Identity to Transient
Address Mapping payload, IANA allocated from [GSAKMP] table 12.
. GSAKMP payload next header type for the Security Association
Configuration payload, IANA allocated from [GSAKMP] table 12.
. A UDP port number for GSAKMP payloads encapsulated by a UDP
header followed by a NORM protocol header.
Gross Expires January, 2004 page 78
GSAKMP Application to the IP Security Architecture July, 2004
11.2 SAM Message Nonce Types
The GSAKMP Security Association Message contains two Nonce payloads,
each having a new nonce type. GSAKMP IPsec requires that two code-
points be allocated from the [GSAKMP] table 27 reserved to IANA
range:
Nonce Type Code Point Definition
Nonce-Speaker TBD by IANA Section 7.2
Nonce-Membership TBD by IANA Section 7.2
11.3 GSAKMP IP Security Specific Notify Payload Error Codes
The [GSAKMP] table 21 reserves the GSAKMP Notification Type range.
This specification allocates the following Notification Types for
GSAKMP IPsec related error conditions. An IP Security error
condition can trigger sending a Notification payload as part of the
registration protocol exchange, the de-registration exchange, or it
can be used as a value recorded in a log file (e.g. an error logged
during RKE policy token processing). GSAKMP IPsec implementations
MUST be capable of generating the following error code points:
Error GSAKMP/IPsec Error Description Section defining
code the error trigger
34 SAC payload configuration error 7.5, 7.6
35 SPI range overlap detected 4.11, 7.2
35 Group Speaker Attribute Certificate 4.8, 7.2
not acceptable
36 Candidate group member not 4.8
authorized to be a speaker
37-66 Reserved for future allocation
Gross Expires January, 2004 page 79
GSAKMP Application to the IP Security Architecture July, 2004
12 Acknowledgements
The author wishes to acknowledge the contribution of Stephen
Farrell, who reviewed and offered guidance for the attribute
certificate related aspects of section 9.
13 Normative References
GSAKMP Group Security Association Key Management Protocol
(GSAKMP), H. Harney, U. Meth, A. Colegrove, G. Gross,
draft-ietf-msec-gsakmp-sec-06.txt, June 2004, work in
progress.
RFC3280 Internet X.509 Public Key Infrastructure Certificate
and Certificate Revocation List (CRL) Profile, R.
Housley, W. Polk, W. Ford, D. Solo, April 2002.
RFC3281 An Internet Attribute Certificate Profile for
Authorization, R. Housley, S. Farrell, April 2002.
PKIXALGS
IPSECPT The GSAKMP IP Security Policy Token Extension, G.
Gross, work in progress, to be published.
RFC2401bis Security Architecture for the Internet Protocol, S.
Kent, K. Seo, April 2004, draft-ietf-ipsec-
rfc2401bis-02.txt, work in progress.
14 Informative References
RFC1918 Address Allocation for Private Internets. Y. Rekhter,
B. Moskowitz, D. Karrenberg, G. J. de Groot, E. Lear.
February 1996.(Status: BEST CURRENT PRACTICE)
RFC2663 IP Network Address Translator (NAT) Terminology and
Considerations. P. Srisuresh, M. Holdrege. August
1999. (Status: INFORMATIONAL)
RFC3022 Traditional IP Network Address Translator
(Traditional NAT). P. Srisuresh, K. Egevang. January
2001. (Status: INFORMATIONAL)
Gross Expires January, 2004 page 80
GSAKMP Application to the IP Security Architecture July, 2004
UDPESP UDP Encapsulation of IPsec Packets, A. Huttunen,
B. Swander, V. Volpe, L. DiBurro, M. Stenberg,
February 16, 2004, draft-ietf-ipsec-udp-encaps-
08.txt, work in progress.
IKE-V2 Internet Key Exchange (IKEv2) Protocol, C. Kaufman
(Ed.), March 22, 2004, draft-ietf-ipsec-ikev2-13.txt,
work in progress.
IPSECNAT Negotiation of NAT-Traversal in the IKE, T. Kivinen,
A. Huttunen, B. Swander, V. Volpe, 10 Feb 2004,
draft-ietf-ipsec-nat-t-ike-08.txt, work in progress
RFC2529 Transmission of IPv6 over IPv4 Domains without
Explicit Tunnels. B. Carpenter, C. Jung. March 1999.
RFC3235 Network Address Translator (NAT)-Friendly Application
Design Guidelines. D. Senie. January 2002. (Status:
INFORMATIONAL)
RFC3027 Protocol Complications with the IP Network Address
Translator. M. Holdrege, P. Srisuresh. January 2001.
(Status: INFORMATIONAL)
RFC3590 Source Address Selection for the Multicast Listener
Discovery (MLD) Protocol. B. Haberman. September
2003.
RFC3678 Socket Interface Extensions for Multicast Source
Filters, D. Thaler, B. Fenner, B. Quinn, January 2004
(Status: INFORMATIONAL)
RFC3056 Connection of IPv6 Domains via IPv4 Clouds. B.
Carpenter, K. Moore. February 2001.
RFC2588 IP Multicast and Firewalls. R. Finlayson. May 1999.
(Status: INFORMATIONAL)
RFC2709 Security Model with Tunnel-mode IPsec for NAT
Domains,. P.Srisuresh. October 1999. (Status:
INFORMATIONAL)
Gross Expires January, 2004 page 81
GSAKMP Application to the IP Security Architecture July, 2004
15 Author Contact Information
George M. Gross
IdentAware Security
82 Old Mountain Road
Lebanon, NJ 08833
908-268-1629
gmgross@identaware.com
16 Intellectual Property Statement
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 implementors or users of this specification
can be obtained from the IETF Secretariat.
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.
17 Copyright Statement
Copyright (C) The Internet Society (2004). This document is subject
to the rights, licenses and restrictions contained in BCP 78, and
except as set forth therein, the authors retain all their rights.
Gross Expires January, 2004 page 82
GSAKMP Application to the IP Security Architecture July, 2004
This document and translations of it may be 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 than
English.
The limited permissions granted above are perpetual and will not be
revoked by the Internet Society or its successors or assigns.
18 Disclaimer Statement
This document and the information contained herein are provided on
an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE
REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE
INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF
THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
19 APPENDIX A
To be supplied.
Gross Expires January, 2004 page 83
| PAFTECH AB 2003-2026 | 2026-04-23 17:17:03 |