Internet DRAFT - draft-atwood-pim-gsam
draft-atwood-pim-gsam
PIM W. Atwood
Internet-Draft B. Li
Intended status: Standards Track Concordia University/CSE
Expires: January 22, 2015 July 21, 2014
Group Security Association Management Protocol
draft-atwood-pim-gsam-00
Abstract
This document specifies a Group Security Association Management
(GSAM) protocol, which manages the IPsec Group Security Associations
that are used to protect some packets of Secure IGMP (SIGMP) and
Secure MLD (SMLD). In GSAM, one router is elected as the group
controller / key server to create group security associations for all
the interesting secure groups and distribute them to authorized users
and other routers.
Status of This Memo
This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
This Internet-Draft will expire on January 22, 2015.
Copyright Notice
Copyright (c) 2014 IETF Trust and the persons identified as the
document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of
Atwood & Li Expires January 22, 2015 [Page 1]
Internet-Draft GSAM July 2014
the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
1.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . 3
2. Assumption . . . . . . . . . . . . . . . . . . . . . . . . . 4
3. GSAM Overview . . . . . . . . . . . . . . . . . . . . . . . . 4
4. Phase 1: Registration . . . . . . . . . . . . . . . . . . . . 4
4.1. Message Exchanges . . . . . . . . . . . . . . . . . . . . 5
4.1.1. GSAM_INIT Exchange . . . . . . . . . . . . . . . . . 5
4.1.2. GSAM_AUTH Exchange . . . . . . . . . . . . . . . . . 5
4.2. EU Operations . . . . . . . . . . . . . . . . . . . . . . 6
4.3. Non-Querier Operations . . . . . . . . . . . . . . . . . 7
4.4. Querier Operations . . . . . . . . . . . . . . . . . . . 8
5. Phase 2: GSA Distribution . . . . . . . . . . . . . . . . . . 9
5.1. Message Exchanges . . . . . . . . . . . . . . . . . . . . 9
5.1.1. GSAM_PUSH Exchange . . . . . . . . . . . . . . . . . 9
5.1.2. GSAM_RE_DISTRIBUTION Exchange . . . . . . . . . . . . 10
5.2. Querier Operations . . . . . . . . . . . . . . . . . . . 11
5.3. GM Operations . . . . . . . . . . . . . . . . . . . . . . 12
6. Handover of Q . . . . . . . . . . . . . . . . . . . . . . . . 13
7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 13
8. References . . . . . . . . . . . . . . . . . . . . . . . . . 13
8.1. Normative References . . . . . . . . . . . . . . . . . . 14
8.2. Informative References . . . . . . . . . . . . . . . . . 14
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 14
1. Introduction
This document specifies a Group Security Association Management
(GSAM) protocol, which manages the IPsec Group Security Associations
(GSAs) that are used to protect some packets of Secure IGMP (SIGMP)
[I-D.atwood-pim-sigmp]and Secure MLD (SMLD) (not yet issued). GSAM
is implemented in the multicast enabled segment. The Querier on this
segment is responsible for distributing GSAs to all the authorized
users and other routers. Negotiation of certain parameters of the
GSA may be triggered if necessary.
GSAM is similar to GDOI [RFC6407] and g-ikev2 [I-D.yeung-g-ikev2],
although it is different from these protocols in important ways.
First, GDOI and g-ikev2 deliver only the necessary keys for IPsec,
while all the parameters of the GSAs of the IPsec system are
distributed in GSAM. The GSAs include not only keys, but also
security parameter indexes (SPIs) of the IPsec system [RFC4301].
Second, there is a super group, 224.0.0.22 in IPv4 system or
FF02:0:0:0:0:0:0:16 in IPv6 system, in GSAM. All the group members
Atwood & Li Expires January 22, 2015 [Page 2]
Internet-Draft GSAM July 2014
registered in the super group are also registered in all other active
groups on this network segment. Third, GSAM is a link-local protocol
while GDOI and g-ikev2 are group domain protocols. In GSAM, the TTL
of all the messages is equal to 1.
1.1. Terminology
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 [RFC2119].
In addition, the following terms are used in this document
Querier (Q):
A Querier is an edge router that has won in the querier election in
SIGMP or SMLD. In GSAM, it takes the role of group controller /
key server (GCKS).
Non-Querier (NQ):
A Non-Querier is an edge router that has lost in the querier
election in SIGMP or SMLD.
Group Member (GM):
Group Member is an end user or an edge router that has registered
in Q.
Secure Group Table (SGT):
Secure Group Table is a table in Q that records the secure groups
and the GMs in the secure groups. It consists of two fields:
multicast address (MA) and group member set (GMS). MA is an index
of SGT and its value is a secure multicast group address. GMS
contains the unicast addresses of GMs in a group identified by the
value of MA. The initial SGT only has one record whose MA field is
224.0.0.22 in IPv4 system or FF02:0:0:0:0:0:0:16 in IPv6 system and
whose GMS field is empty.
GSAM_TEK_SA:
GSAM_TEK_SA is a pair of GSAs, including GSA_q and GSA_r. GSA_q is
a GSA of IPsec system used to protect a secure group query in SIGMP
or SMLD. GSA_r is a GSA of IPsec system used to protect the secure
group report in SIGMP or SMLD.
GSAM_KEK_SA:
Atwood & Li Expires January 22, 2015 [Page 3]
Internet-Draft GSAM July 2014
GSAM_KEK_SA is a pair of SAs, including KEK_USA and KEK_GSA.
KEK_USA is a unicast SA whose direction is from a GM to Q. It is
used to protect the messages in Phase 2 sent by GMs. KEK_GSA is a
GSA whose direction is from Q to a secure group. It is used to
protect the messages in Phase 2 sent by Q.
2. Assumption
The protocol GSAM is based on two assumptions as follows:
The end users have been authenticated and authorized at the
application layer. The authorized EU and its Q have shared the
same secret key, call MSSK, as a pre-shared key. The details of
how to authenticate and authorize users is not specified in this
document. It is implemented based on PANA [RFC5191] as shown in
draft-atwood-mboned-mrac-pana (not yet issued).
Instead of IGMP or MLD, SIGMP or SMLD is used by users (or routers)
to report (or learn) IP multicast group memberships to neighboring
multicast routers (or from the users that are only one IP hop away)
in an IPv4 network or an IPv6 network.
3. GSAM Overview
GSAM is a protocol that manages group security associations (GSAs) of
the IPsec system used to protect some packets of SIGMP or SMLD. The
network entities mentioned in GSAM are the same as those in SIGMP or
SMLD, including edge routers (ERs) and end users (EUs). In GSAM, an
ER (called Querier) plays the role of GCKS. It accepts the
registration from EUs and NQs and grants them the status of GMs in
secure groups. It creates or updates GSAs of IPsec system for secure
groups and distributes them to all GMs in the secure group.
Security parameter index (SPI) as a parameter of GSAs must be paid
specific attention. Different from a unicast SA that is used by only
one receiver, a GSA is shared by multiple receivers. As a result,
instead of one receiver to determine the SPI value, all the GMs in
the same secure group should negotiate the SPI value together in
order to avoid SPI collisions at GMs. In GSAM, Q suggests SPI values
first. If any GM rejects the offered suggestion, a negotiation will
be triggered to determine suitable SPI values.
4. Phase 1: Registration
In Phase 1, both NQs and EUs should register themselves in Q in order
to become GMs in a group. A pair of SAs, named GSAM_KEK_SA is
distributed to GMs.
Atwood & Li Expires January 22, 2015 [Page 4]
Internet-Draft GSAM July 2014
4.1. Message Exchanges
The registration involves two message exchanges: GSAM_INIT exchange
and GSAM_AUTH exchange. An EU / NQ performs GSAM_INIT exchange only
once as long as no new Q is elected in SIGMP or SMLD. However, an EU
may perform a GSAM_AUTH exchange many times. The number of GSAM_AUTH
exchanges for an EU is equal to the number of secure groups that an
EU is authorized to join at the application layer.
4.1.1. GSAM_INIT Exchange
GSAM_INIT exchange is identical to IKE_SA_INIT of IKE v2 defined in
[RFC5996]. An EU / NQ takes the role of an initiator and Q takes the
role of a responder.
4.1.2. GSAM_AUTH Exchange
GSAM_AUTH exchange as shown in Figure 1 is similar to IKE_AUTH of IKE
v2. In this exchange, an EU / NQ and Q mutual authenticate for a
secure group. However, instead of being negotiated between two peers
as in IKE v2, an SA pair, named GSAM_KEK_SA, is downloaded from Q to
an EU / NQ.
EU / NQ -> Q: HDR, SK{ IDg, IDh, AUTH }
Q -> EU / NQ: HDR, SK{ IDg, SA, KD, AUTH}
Figure 1: GSAM_AUTH Exchange
HDR is a header payload whose format is identical to that in IKE v2.
The notation SK { ... } indicates that all the payloads in "{}" are
encrypted and integrity protected using an SA, called GSAM_INIT_SA,
which is negotiated in the GSAM_INIT Exchange. The message exchange
is explained as follows:
In the first message, an EU / NQ asserts its identification and the
identification of a secure group (i.e., for an EU, it is the group
that an EU requests to join in SIGMP or SMLD; for an NQ, it is the
group 224.0.0.22 in IPv4 system or FF02:0:0:0:0:0:0:16 in IPv6
system listened to by all ERs) in the payload of IDh and IDg
respectively. Moreover, an EU / NQ also declares a message
authentication code (MAC) or its signature in the AUTH payload.
The AUTH payload is used by the message receiver (Q) to
authenticate the two identifications in IDh and IDg and to protect
the integrity of the first message in the GSAM_INIT exchange.
In the second message, Q asserts its identification in payload IDq
and distributes an SA pair, called GSAM_KEK_SA, (and more KEK_GSAs
Atwood & Li Expires January 22, 2015 [Page 5]
Internet-Draft GSAM July 2014
sometimes) in payloads SA and KD. Moreover, Q also declares a MAC
or its signature in AUTH payload. The AUTH payload is used by the
message receiver (an EU / NQ) to authenticate the identification in
payload IDq and protect the integrity of the second message in the
GSAM_INIT exchange.
4.2. EU Operations
An EU initiates a GSAM_INIT exchange when an EU requests GSAs to
secure SIGMP packets or SMLD packets for the first time or when an EU
discovers a new Q. The EU operations in a GSAM_INIT exchange are
identical to the initiator operations in the IKE_SA_INIT exchange of
IKE v2.
After the GSAM_INIT exchange, a new security association, named
GSAM_INIT_SA, has been negotiated. It will be used to protect the
GSAM_AUTH exchange and achieve private communication between an EU
and Q. Moreover, GSAM_INIT_SA will be maintained as a long-term
security association. No new GSAM_INIT exchange between an EU and Q
will be required for the subsequent request for GSAs as long as an EU
does not discover a new Q.
An EU initiates a GSAM_AUTH exchange when a request for GSAs is
received from SIGMP and GSAM_INIT_SA has been negotiated between an
EU and Q. An EU must use the pre-shared key authentication method to
finish the registration in the GSAM_AUTH exchange.
An EU calculates a MAC and encapsulates it in the AUTH payload of the
first message of GSAM_AUTH. The calculation of the MAC is the same
as that in IKE v2. The secret key used in the MAC is the MSSK for
the secure group calculated at the network layer. It has been
independently derived by the EU and the Q as a pre-shared key when an
EU has been authorized to join in the secure group at the application
layer.
Upon receiving the second message of GSAM_AUTH, an EU verifies the
value in the received AUTH payload using the MSSK to authenticate Q.
If verification fails, the EU will discard the received message.
Otherwise, verification succeeds and the EU will accept the
GSAM_KEK_SA specified in the SA and KD payloads. Moreover, an EU
marks itself as a GM in the requested secure group. The EU updates
its local GSPD [RFC5374] as shown in Table 1. G_IP is the IP address
of the group identified in the IDg payload. Q_IP and H_IP are the IP
addresses of the Q and the EU. The updated records in the GSPD
indicate that the SIGMP/SMLD packets that are sent from a GM / Q to
the group that a GM wants to join must be protected by IPsec.
Atwood & Li Expires January 22, 2015 [Page 6]
Internet-Draft GSAM July 2014
+-------------------+---------------+----------------+--------------+
| Destination | Source | Protocol | Action |
| address | address | number | |
+-------------------+---------------+----------------+--------------+
| G_IP | Q_IP | SIGMP(2) | IPsec |
| | | | protect |
| G_IP | H_IP | SIGMP(2) | IPsec |
| | | | protect |
| G_IP | * | SIGMP(2) | Discard |
| G_IP | * | * | Bypass |
+-------------------+---------------+----------------+--------------+
Table 1: Updated Records in local GSPD
Finally, the EU must update the SAD, to record the SA paremeters that
have been given to it.
4.3. Non-Querier Operations
An NQ initiates a GSAM_INIT exchange when an ER has just lost in the
querier election for SIGMP/SMLD and has become an NQ. NQ operations
in the GSAM_INIT exchange are identical to the initiator operations
in IKE_SA_INIT of IKE v2.
After the GSAM_INIT exchange, GSAM_INIT_SA has been negotiated. It
will be used to protect the GSAM_AUTH exchange and achieve private
communication between an NQ and Q. Moreover, the GSAM_INIT_SA will
be maintained as a long-term security association. No new GSAM_INIT
exchange between an NQ and Q is necessary as long as an NQ does not
discover a new Q.
An NQ initiates a GSAM_AUTH exchange when an ER where an NQ is
located has just lost in a querier election in SIGMP / SMLD and a
GSAM_INIT_SA has been negotiated between an NQ and Q. An NQ could
use any authentication method configured by the network administrator
to finish registration in GSAM_AUTH.
An NQ calculates a MAC or a signature according to the assigned
authentication method and encapsulates it into the AUTH payload of
the first message. Here the authentication method depends on the
configuration of the network administrator.
Upon receiving the second message of GSAM_AUTH, an NQ verifies the
value in the received AUTH payload to authenticate Q using the
assigned method. If verification fails, an NQ will discard the
received message. Otherwise, verification succeeds and an NQ will
accept the GSAM_KEK_SA (and more KEK_GSAs if existing) specified in
the SA and KD payloads. Moreover, an NQ marks itself as a GM in the
Atwood & Li Expires January 22, 2015 [Page 7]
Internet-Draft GSAM July 2014
group 224.0.0.22 for IPv4 system or FF02:0:0:0:0:0:0:16 for IPv6
system (and also a GM in all the groups mentioned in KEK_GSAs). If
additional KEK_GSAs are specified in SA and KD payloads, NQ also
updates its local GSPD as shown in Table 1 and G_IP indicates all the
IP addresses of the groups mentioned in additional KEK_GSAs.
4.4. Querier Operations
Q operations in the GSAM_INIT exchange are identical to the responder
operations in IKE_SA_INIT of IKE v2.
Upon receiving the first message of GSAM_AUTH exchange, Q parses the
payload of IDg. If IDg identifies a super group (224.0.0.22 for IPv4
system or FF02:0:0:0:0:0:0:16 for IPv6 system), the sender of the
message is considered to be an NQ. Otherwise, the sender is
considered to be an EU.
If the sender is an EU, Q retrieves the pre-shared key MSSK shared
with the EU identified in the received IDh payload for a secure group
identified in the received IDg payload. Similarly, if the sender is
an NQ, Q retrieves a certification or a secret key of an NQ
identified in IDh payload. Then Q uses the retrieved key or
certification to verify the received AUTH payload. If retrieval or
verification fails, Q will discard the received message and terminate
the GSAM_AUTH exchange. Otherwise, it indicates that an EU has been
authorized to join the secure group at the application layer or an NQ
has been authorized by the network administrator in its configuration
file. In this case, Q starts the "registration" to an EU for the
secure group or an NQ for all secure groups.
The registration is based on a secure group table (SGT). For an NQ,
Q updates all the records in SGT: the source address of the received
message is added into GMS field of all the records. It means an NQ
becomes a GM in all the groups that Q is maintaining. For an EU, Q
searches its SGT to look for a record whose MA is the address of the
group identified in the received IDg payload. If the record is
found, the source address of the received message is added into GMS
of the found record. It means an EU becomes a GM in the group
identified in the received IDg payload. Otherwise, Q creates a new
record in SGT. In the new record, the value of the MA field is the
address of the group identified in the received IDg payload. The
addresses showing in the GMS field of the record indexed by
224.0.0.22 (or FF02:0:0:0:0:0:0:16) are copied into the GMS field of
the new record. Moreover, the source address of the received message
is also filled in the GMS of the new record. It means the EU and all
the registered NQs become GMs of the group identified in the received
IDg payloads. After the registration of an EU, Q updates its local
GSPD as Table 1.
Atwood & Li Expires January 22, 2015 [Page 8]
Internet-Draft GSAM July 2014
After registration, Q creates an SA pair, named GSAM_KEK_SA, which
consists of two SAs: 1) KEK_GSA and 2) KEK_USA. KEK_GSA is a group
security association whose direction is from Q to a secure group
identified in the received IDg payload. In detail, when the exchange
is between an EU and Q, the direction of KEK_GSA is from Q to a
secure group that an EU requests to join. When the exchange is
between an NQ and Q, the direction is from Q to the group 224.0.0.22
or FF02:0:0:0:0:0:0:16. It is used to protect the messages in Phase
2 sent by Q. KEK_USA is a unicast security association whose
direction is from the new GM (an EU/NQ) to Q. It is used to protect
the message in Phase 2 sent by GMs.
Moreover, Q also calculates a new MAC or a signature according to the
negotiated authentication method. If the exchange is between an EU
and Q, the authentication method must be pre-shared key. Q uses the
retrieved MSSK as the secret key to calculate a MAC value. If the
exchange is between an NQ and Q, the authentication method depends on
the network configuration of an NQ. Q may calculate a MAC or a
signature for NQ.
After that, Q sends to an EU / NQ the second message as a response.
In the response to an EU, SA and KD payloads specify the newly
created GSAM_KEK_SA. In the response to an NQ, SA and KD payloads
specified not only the newly created GSAM_KEK_SA, but also all other
KEK_GSAs that Q is maintaining. the AUTH payload contains the new MAC
or signature.
5. Phase 2: GSA Distribution
In Phase 2, Q suggests GSAM_TEK_SA to GMs. If any GM rejects the
suggestion due to SPI collisions, a negotiation will be required
among GMs.
5.1. Message Exchanges
There are two exchanges in GSA distribution: GSAM_PUSH and
GSAM_RE_DISTRIBUTION.
5.1.1. GSAM_PUSH Exchange
GSAM_PUSH exchange is shown in Figure 2 .
Q -> GMs: HDR, SK{ SA, KD, AUTH}
Figure 2: GSAM_PUSH Exchange
Atwood & Li Expires January 22, 2015 [Page 9]
Internet-Draft GSAM July 2014
In this message, Q distributes an SA pair (i.e., GSAM_TEK_SA, but
sometimes more GSAM_TEK_SAs) or an SA (i.e., KEK_GSAs) in the payload
SA and KD. Moreover, Q declares a signature in payload AUTH. The
notation SK {...} indicates that all the payloads in "{}" are
encrypted and integrity protected using a KEK_GSA.
5.1.2. GSAM_RE_DISTRIBUTION Exchange
The GSAM_RE_DISTRIBUTION exchange is triggered when any GM detects an
SPI collision and refuses to accept the GSAM_TEK_SA received in the
GSAM_PUSH message. In other words, it is just optional: there is no
GSAM_RE_DISTRIBUTION exchange if no SPI collisions are detected by
any GM. The GSAM_RE_DISTRIBUTION exchange is shown in Figure 3. All
the messages are protected by GSAM_KEK_SA. It is explained as
follows:
GM -> Q : HDR, SK{ IDg, REJ, AUTH }
Q -> GMs: HDR, SK{ S_REQ, AUTH }
GMs -> Q: HDR, SK{ SPI_LIST, AUTH }
Q -> GMs: HDR, SK{ SAtf, KDtf, AUTH }
Figure 3: GSAM_RE_DISTRIBUTION Exchange
In the first message, a GM that detects an SPI collision asserts
the identification of the secure group that is the destination
address of the rejected GSAM_TEK_GSA in payload IDg and shows its
rejection to the suggested GSAM_TEK_GSA in payload REJ. Moreover,
GM declares a MAC in payload AUTH.
Q multicasts the second message into a secure group identified by
the received IDg. In this message, Q requests a list, called
spi_list, in payload S_REQ and shows its signature in payload AUTH.
All GMs in the secure group will send the third message to respond
to the request from Q. In the third message, a GM reports its
spi_list in payload SPI_LIST and declares its MAC in the payload
AUTH.
The fourth message is the same as the GSAM_PUSH message. In the
fourth message, Q multicasts an SA pair (i.e., GSAM_TEK_SA) in
payload SA and KD and declares a signature in the AUTH payload.
However, the SPI parameter in GSAM_TEK_SA has been negotiated with
all GMs in the secure group and therefore it cannot cause any
collision.
Atwood & Li Expires January 22, 2015 [Page 10]
Internet-Draft GSAM July 2014
5.2. Querier Operations
When an EU is registered as the first GM of a secure group in the
segment, Q will multicast the GSAM_PUSH exchange message in two
groups in order: (1) the group 224.0.0.22 or FF02:0:0:0:0:0:0:16 and
(2) the secure group that an EU requests to join.
Q multicasts the first multicast GSAM_PUSH message into group
224.0.0.22 or FF02:0:0:0:0:0:0:16. In this message, the KEK_GSA that
is just distributed to an EU using GSAM_AUTH exchange is specified in
the payloads of SA and KD.
Q creates a new SA pair, called GSAM_TEK_SA, which consists of two
GSAs: (1) GSA_q whose direction is from Q to the secure group that an
EU (the new GM) requests to join and (2) GSA_r whose direction is
from an EU to the secure group that an EU requests to join. The
values of important parameter of SPI in GSA_q and GSA_r are suggested
ones since they are assigned by Q with no negotiation with other GMs.
After making sure that all the NQs have received the previous
GSAM_PUSH message, Q starts to multicast the other GSAM_PUSH message
into the group that the EU has requested to join. In the second
message, the payloads SA and KD specify the parameter and key
material of the new SA pair (GSAM_TEK_SA).
After that, Q starts two timers, called q-timer and r-timer
respectively. When q-timer / r-timer expires, Q will update its
local SAD [RFC5374] according to GSA_q / GSA_r. The initial value of
q-timer should be large enough to make sure all GMs have updated
their local SADs according to the distributed GSA_q.
There must be an interval between the first GSAM_PUSH message and the
second one. The interval should be large enough to make sure the
first message has been received by GMs in 224.0.0.22 or
FF02:0:0:0:0:0:0:16 before the second one is sent.
If the registered EU is not the first GM of a secure group, Q
multicasts the second GSAM_PUSH message directly without the first
message.
When an NQ is registered as a GM in all the groups, Q will directly
multicast GSAM_PUSH exchange message in the group of 224.0.0.22 for
IPv4 system or FF02:0:0:0:0:0:0:16 for IPv6 system. In this message,
GSAM_TEK_GSAs for all the groups are specified in the payloads SA and
KD. If the only group Q is maintaining is the super group, no
GSAM_PUSH exchange is needed.
Atwood & Li Expires January 22, 2015 [Page 11]
Internet-Draft GSAM July 2014
Upon receiving the first message of GSAM_RE_DISTRIBUTION, Q verifies
the value in the payload AUTH to authenticate a GM. If
authentication fails, Q discards the received message directly.
Otherwise, Q deletes the q_timer and r_timer if they exist. It
multicasts the second message of GSAM_RE_DISTRIBUTION to negotiate
SPI values with all the GMs in the secure group.
Upon receiving the third message, Q verifies the AUTH payload to
authenticate a GM. If authentication fails, Q discards the received
message directly. Otherwise, Q searches its local SGT and looks for
a record that is indexed by a secure group identified in the received
IDg. The GMS of the found record contains the addresses of all the
GMs in the secure group. Q compares the source addresses of the
received third messages with the values in the GMS until it has
received the third message from all the GMs in the secure group.
After that, Q starts to calculate a list, called spi_list_all, which
is a union of spi_lists received from all GMs in the secure group.
Then Q resets the values of SPI in GSAM_TEK_SA. The new SPI values
must not be in the spi_list_all to effectively avoid SPI collisions
at any GM. Then Q multicasts the fourth message of
GSAM_RE_DISTRIBUTION, whose payloads SA and KD specify the revised
GSAM_TEK_SA. Finally, Q re-starts q-timer and r-timer. When q-timer
/ r-timer expires, Q updates its local SAD according to GSA_q / GSA_r
whose SPI value has been negotiated among GMs.
5.3. GM Operations
Upon receiving the GSAM_PUSH message, a GM verifies the value in the
payload AUTH to authenticate Q. If authentication fails, a GM
discards the received message directly. Otherwise, a GM parses the
received payloads SA and KD. If payloads SA and KD specify KEK_GSAs
and a GM is an NQ, a GM will accept the KEK_GSA directly and wait for
receiving the following GSAM_PUSH message protected by KEK_GSA.
Otherwise payloads SA and KD specify a GSAM_TEK_SA. In this case, a
GM checks SPI, an important parameter of GSAM_TEK_SA. If SPI values
in GSAM_TEK_SA have not used in its local SAD, a GM will start
q-timer and r-timer and no other exchange is needed. When q-timer/
r-timer expires, a GM updates its local SAD according to GSA_q /
GSA_r. If the source address of received GSA_r is the same as a
local address, the initial value of r-timer should be large enough to
make sure all other GMs and Q have updated their local SADs according
to GSA_r. If the suggested SPI values in GSAM_TEK_SA have collided
with the used SPI values in local SAD, a GM must start
GSAM_RE_DISTRIBUTION exchange as follows.
Atwood & Li Expires January 22, 2015 [Page 12]
Internet-Draft GSAM July 2014
A GM calculates a MAC and encapsulates it in AUTH payload. Then it
sends the first message of GSAM_RE_DISTRIBUTION to Q to show its
rejection.
Upon receiving the second message in GSAM_RE_DISTRIBUTION, a GM
verifies the received AUTH payload. If the verification fails, a GM
discards the received message. Otherwise, a GM deletes the pending
q-timer and r-timer at once if they exist. It accesses its local SAD
to obtain the all the used SPI values in the SAD and saves them in an
spi_list. After that, the status of local SADB is set as "read_only"
to prevent any modification from any other processes. The GM
encapsulates an spi_list in the payload SPI_LIST. Moreover, a MAC
value is calculated and encapsulated in the AUTH payload. After
that, the GM sends the third message with the payload SPI_LIST and
AUTH payload.
Upon receiving the fourth message in GSAM_RE_DISTRIBUTION, the GM
verifies the value in the payload AUTH to authenticate Q. If
authentication fails, the GM discards the received message directly.
Otherwise, the GM is forced to accept GSAM_TEK_SA specified in the
received payload SA and KD. It re-starts q-timer and r-timer. When
q-timer/r-timer expires, a GM updates its local SAD according to
GSA_q/GSA_r. After that, GMs clears the "read_only" status of its
local SAD to permit the modification to the SAD from other processes.
6. Handover of Q
Although ERs are usually stable, a new ER may be added into the
network and an old ER may fail to work. In these cases, a querier
election is caused and then a new Q may be elected in the link. The
new Q will take over the work of old Q automatically and become GCKS
soon in the link. All the EUs and NQs will discover the new Q since
they will receive the general query sent by the new Q in SIGMP/SMLD.
They initiate new GSAM sessions with the new Q. If they are
authenticated successfully, the new Q will distribute new
GSAM_TEK_SAs to them. SIGMP / SMLD messages will be protected by the
new GSAM_TEK_SAs.
7. IANA Considerations
GSAM runs over UDP. A UDP port should be assigned to GSAM.
8. References
Atwood & Li Expires January 22, 2015 [Page 13]
Internet-Draft GSAM July 2014
8.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
8.2. Informative References
[I-D.atwood-pim-sigmp]
william.atwood@concordia.ca, w. and B. Li, "Secure
Internet Group Management Protocol", draft-atwood-pim-
sigmp-01 (work in progress), July 2014.
[I-D.yeung-g-ikev2]
Rowles, S., Yeung, A., Tran, P., and Y. Nir, "Group Key
Management using IKEv2", draft-yeung-g-ikev2-07 (work in
progress), November 2013.
[RFC4301] Kent, S. and K. Seo, "Security Architecture for the
Internet Protocol", RFC 4301, December 2005.
[RFC5191] Forsberg, D., Ohba, Y., Patil, B., Tschofenig, H., and A.
Yegin, "Protocol for Carrying Authentication for Network
Access (PANA)", RFC 5191, May 2008.
[RFC5374] Weis, B., Gross, G., and D. Ignjatic, "Multicast
Extensions to the Security Architecture for the Internet
Protocol", RFC 5374, November 2008.
[RFC5996] Kaufman, C., Hoffman, P., Nir, Y., and P. Eronen,
"Internet Key Exchange Protocol Version 2 (IKEv2)", RFC
5996, September 2010.
[RFC6407] Weis, B., Rowles, S., and T. Hardjono, "The Group Domain
of Interpretation", RFC 6407, October 2011.
Authors' Addresses
William Atwood
Concordia University/CSE
1455 de Maisonneuve Blvd, West
Montreal, QC H3G 1M8
Canada
Phone: +1(514)848-2424 ext3046
Email: william.atwood@concordia.ca
URI: http://users.encs.concordia.ca/~bill
Atwood & Li Expires January 22, 2015 [Page 14]
Internet-Draft GSAM July 2014
Bing Li
Concordia University/CSE
1455 de Maisonneuve Blvd, West
Montreal, QC H3G 1M8
Canada
Email: leebingice@gmail.com
Atwood & Li Expires January 22, 2015 [Page 15]