Internet DRAFT - draft-duquer-fmke
draft-duquer-fmke
Internet Engineering Task Force L. Duquerroy
INTERNET-DRAFT S.Josset
Expires: February, 2005
September, 2004
The Flat Multicast Key Exchange protocol
<draft-duquer-fmke-01.txt>
Status of this Memo
This document is an Internet-Draft and is in full conformance with
all provisions of Section 10 of RFC2026.
Internet-Drafts are working documents of the Internet
Engineering Task Force (IETF), its areas, and its working groups.
Note that other groups may also distribute working documents as
Internet Drafts.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt
The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html.
Abstract
This document presents a new group key management protocol called
FMKE (Flat Multicast Key Exchange), derived from the Group Domain of
Interpretation (GDOI) [RFC3547]. Like the GDOI, its objective is to
Manage securely group Security Associations (SA), i.e. establish and
update SAs in Group members. These security associations protect one
or more key-encrypting keys, traffic-encrypting keys, or data shared
by group members. This protocol is based on a centralized management,
achieved by the GCKS (Group Controller and Key Server). It is
destined to be used by Data Security protocols such as the IPSEC ESP
protocol. The FMKE protocol is destined to provide an optimized
solution for very large groups with direct connections such as in
satellite systems, or wireless systems such as WIFI. It can be
considered as a GDOI use case adapted for satellite networks.
Duquerroy , et al. [Page 1]
The Flat Multicast Key Exchange September , 2004
Table of Contents
1.0 Introduction......................................................3
2.0 Phase 1 ..........................................................6
3.0 Phase 2 Exchange..................................................6
3.1 Messages......................................................6
3.2 Reliability...................................................8
3.3 ISAKMP Header Configuration...................................9
4.0 Phase 3 Exchange..................................................9
4.1 Messages......................................................9
4.2 Reliability..................................................11
4.3 ISAKMP Header Configuration..................................12
4.4 Phase 3 utilization..........................................12
5.0 Deletion of SAs..................................................12
6.0 Utilization of FMKE exchanges according to satellite network
topologies.......................................................13
6.1 Utilization in one-way systems...............................13
7.0 Payloads and defined SA attributes...............................15
7.1 Last Sequence Number Payload (LSEQ)..........................15
7.2 Acknowledgement Payload (ACK)................................16
7.3 Selective Acknowledgement Payload(SACK)......................17
7.4 Negative Acknowledgement Payload (NACK)......................17
7.5 Sequence Number Payload (SEQ)................................18
7.6 Security Association Payload (SA)............................19
7.6.1 Payloads following the SA payload......................20
7.7 SA KEK payload...............................................21
7.7.1 KEK attributes ........................................23
7.7.2 KEK_MANAGEMENT_ALGORITHM ..............................23
7.7.3. KEK_ALGORITHM........................................23
7.7.4. KEK_KEY_LENGTH ......................................24
7.7.5. KEK_KEY_LIFETIME ....................................24
7.7.6. SIG_HASH_ALGORITHM ..................................24
7.7.7. SIG_ALGORITHM........................................24
7.7.8. SIG_KEY_LENGTH ......................................25
7.7.9. KE_OAKLEY_GROUP......................................25
7.7.10. HASH_ALGORITHM.......................................25
7.7.11. NEXT_SEQ_NUMBER......................................25
7.8 SA TEK payload...............................................25
7.8.1 PROTO_IPSEC_ESP........................................26
7.9 Key Download Payload.........................................29
7.9.1. TEK Download Type....................................30
7.9.2. KEK Download Type....................................31
8.0 Domain of Interpretation for FMKE................................32
8.1 Payloads.....................................................32
8.2 New Exchange types...........................................32
8.3 Security Association attributes..............................33
9.0 Security Considerations..........................................33
9.1 ISAKMP Phase 1...............................................33
9.1.1 Authentication.........................................34
9.1.2 Confidentiality........................................34
Duquerroy , et al. [Page 2]
The Flat Multicast Key Exchange September, 2004
9.1.3 Man-in-the-middle Attack Protection....................34
9.1.4 Replay/Reflection Attack Protection....................34
9.2 Phase 2 Exchange.............................................34
9.2.1 Authentication.........................................35
9.2.2 Confidentiality........................................35
9.2.3 Man-in-the-middle Attack Protection....................35
9.2.4 Replay/Reflection Attack Protection....................35
9.3 Phase 3 Exchange.............................................35
9.3.1 Authentication.........................................35
9.3.2 Confidentiality........................................36
9.3.3 Man-in-the-middle Attack Protection....................36
9.3.4 Replay/Reflection Attack Protection....................36
10.0 IANA considerations.............................................36
10.1 ISAKMP DOI..................................................36
10.2 Payload types...............................................36
10.3 New Name spaces.............................................36
11.0 Acknowledgements............................................... 36
12.0 References..................................................... 37
1.0 Introduction
This document presents a new group key management protocol called
FMKE (Flat Multicast Key Exchange). Its objective is to manage
securely group Security Associations (SA), i.e. establish and update
SAs in Group members. This protocol is based on a centralized
management, achieved by the GCKS (Group Controller and Key Server).
It is destined to be used by Data Security protocols such as the
IPSec ESP protocol, for the securisation of group communications.
FMKE exchanges take place between the GCKS and Group members. The
protocol establishes Data-security SAs and Re-key SAs in the
authorized Group members.
FMKE is derived from the Group Domain of Interpretation (GDOI)
[RFC 3547], and can be seen as a GDOI use case adapted and optimized
for satellite networks:
- FMKE is destined to manage securely group SA in any satellite
network topologies. These SA protect key-encrypting keys,
traffic-encrypting keys, or data, transmitted on satellite links and
shared by Group members.
In Star topology, the Gateway (GW) is a terminal access concentrator.
Communications take place only between the GW and Satellite terminals
(ST) through the satellite. End users are located behind the STs.
Communications between GW and each ST can be bi-directional(two-way
systems : in such a case, the ST has a return channel), or
unidirectional, from GW to ST (one-way systems : in such a case, the
ST does not have a return channel).
In Mesh topology, communications take place directly between STs
(they are bi-directional).
Duquerroy , et al. [Page 3]
The Flat Multicast Key Exchange September , 2004
The FMKE objective is thus to establish group SA in group members
(located in each ST and GW) in any types of topology (Remark : GCKS is
located in GW in Star topology, and in a ST in Mesh topology).
GW ST-----ST
/ | \ | \ / |
/ | \ | \ / |
/ | \ | \ |
/ | \ | / \ |
/ | \ | / \ |
ST ST ST ST-----ST
Star Topology Mesh Topology
- Satellite networks can require reliable key distribution, in unicast
and in multicast. For that purpose, FMKE defines specific mechanisms,
implemented in the exchanges between GCKS and members.
- In satellite networks, bandwidth is limited. FMKE aims at reducing
the overhead generated by the establishment of group SAs. Thus FMKE
changes the philosophy of the key distribution in order to limit the
consumed bandwidth.
- In satellite networks, data to be protected by Data-security SA
are generated by end-users located behind STs or GW. These end-users
are distinct from group members. Group members shall therefore
encapsulate data in tunnels. For that purpose, FMKE defines
additional information specifying the associated tunnel in the
definition of Data-security SAs.
FMKE uses several payloads introduced by GDOI:
- GDOI SA
- SA KEK (SAK) which follows the SA payload
- Key Download Array (KD)
- Sequence Number (SEQ)
FMKE also extends the definition of the following GDOI payload:
- SA TEK (SAT) which follows the SA payload
FMKE defines new payloads :
- Last Sequence Number (LSEQ)
- Acknowledgement (ACK)
- Selective Acknowledgement (SACK)
- Negative Acknowledgement (NACK)
Duquerroy , et al. [Page 4]
The Flat Multicast Key Exchange September , 2004
Like the GDOI, FMKE MUST be protected by a Phase 1 security
association. Similarly to [RFC3547], this document incorporates the
Phase 1 security association (SA) definition from the Internet DOI
[RFC2407, RFC2409].
FMKE defines two new exchanges derived from both exchanges of GDOI :
1/ The FMKE Phase 2 is derived from the GDOI "GROUKEY-PULL".
Like the "GROUKEY-PULL" exchange, it is protected by the Phase 1
ISAKMP SA, and the GCKS transmits securely Data-Security SAs and
Re-key SAs the Group member is authorized to get access to (i.e SAs
of groups whose it is a member). A Re-key SA includes a key
encrypting key, or KEK, common to a group; a Data-security SA
includes a data encryption key, or TEK, used by a data-security
protocol to encrypt or decrypt data traffic.
Unlike GDOI, this phase takes place once, after the Phase 1. The
member can receive directly all SAs it is authorized to get access
to, without having to send a request for each group. This way FMKE
limits the consumed bandwidth. Indeed the member does not have to
send a request for each group, and a FMKE message from the GCKS can
contain SAs from different groups.
Moreover in order to provide reliability, the member sends
periodically acknowledgement messages.
2/ The FMKE Phase 3 is derived from the GDOI "GROUKEY-PUSH".
Like the "GROUKEY-PUSH" exchange, it is dedicated to a group, and is
protected by the Re-key SA, which is shared by all Group members.
In this phase, the GCKS transmits securely SAs to the Group members.
It can create or update Re-key SA and/or Data-security SAs in group
members.
Unlike GDOI, this phase is defined with reliability mechanisms so
that all Group members receive each new or updated SA.
FMKE introduces new exchanges, new security payloads and new SA
attributes with regard to the IPSec DOI or GDOI. FMKE requires
therefore a new Domain Of Interpretation (DOI).
The keywords MUST, MUST NOT, REQUIRED, SHALL, SHALL NOT, SHOULD,
SHOULD NOT, RECOMMENDED, MAY, and OPTIONAL, when they appear in this
document, are to be interpreted as described in RFC 2119 [RFC2119].
Duquerroy , et al. [Page 5]
The Flat Multicast Key Exchange September , 2004
2.0 Phase 1.
FMKE MUST be protected by a "phase 1" protocol.
The phase 1 protocol provides a mutual authentication between GCKS
and Group member, and establishes a security association between them
, ensuring confidentiality, integrity and source authentication. The
Phase 1 is then used to protect FMKE exchanges.
Similarly to the GDOI, it is proposed to use the ISAKMP phase 1
(Main-Mode with pre-Shared key or Public Key for Authentication"
phase 1) as defined in [RFC2409], as a "Phase 1" protocol for FMKE.
It realizes a mutual authentication and establishes an ISAKMP SA,
which provides all needed security services.
During this phase, the DOI value mentioned in the ISAKMP Header of
the exchanged messages MUST correspond to the DOI which defines the
FMKE exchanges (c.f. 8.0).
Besides, like GDOI, FMKE MUST NOT run on port 500 (the port commonly used
for IKE), but on a port assigned to FMKE(the GDOI port is 848).
3.0 Phase 2 exchange.
The goal of the Phase 2 exchange is to establish Re-keys SAs and/or
Data-security SAs at the member. The transmitted SAs belong to the
same or to different groups. There is one Re-key SA per group. During
this phase, the member can receive all the Data security SAs and Re-
key SAs it is authorized to get access to (the SAs of all the groups
whose it is a member). The Phase 2 exchange takes place once, after
the Phase 1; and is initiated by the GCKS. It is protected by the
Phase 1 SA.
3.1 Messages.
Group Member GCKS
------------------ ----------------
<-- HDR*, HASH(1), SEQ, SA, KD
<-- HDR*, HASH(1), SEQ, SA, KD
HDR*, HASH(2), ACK, [,SACK] -->
<-- HDR*, HASH(1), SEQ, SA, KD
HDR*, HASH(2), ACK, [,SACK] -->
...
* Protected by the Phase 1 SA, encryption occurs after HDR
Hashes are computed as follows :
HASH(1) = prf(SKEYID_a, SEQ | SA |KD )
HASH(2) = prf(SKEYID_a, ACK [ | SACK ])
Duquerroy , et al. [Page 6]
The Flat Multicast Key Exchange September , 2004
Phase 2 messages are protected by the Phase 1 SA. The Phase 1
computes SKEYID_a, which is the key used to compute the hash value
contained in the HASH payload of the Phase 2 messages, and K
(derived from SKEYID_e), which is the key used to encrypt/decrypt
the Phase 2 messages. SKEYID_a and K are derived according to
[RFC2409].
Phase 2 exchange is composed of two types of messages : the messages
sent by the GCKS, which contain the SA attributes and keys the member
is authorized to get access to, and the messages sent by the member,
which are used to acknowledge the previous messages.
The number of messages transmitted by the GCKS is variable: it
depends on the number of SAs to establish.
Acknowledgement messages are sent periodically by the member. Their
number is variable.
HDR is an ISAKMP payload that uses the Phase 1 cookies.
SA is the SA payload. It contains all the policy attributes of the
SAs to establish, like in GDOI.
KD is the Key Download payload defined in GDOI. If one or more
Re-Key SAs are defined in the SA payload, KD will contain the KEKs.
If one or more Data SAs are defined in the SA payload, KD will
contains the TEKs.
During a phase 2, the GCKS can transmit several Re-key SAs (one per
group) and/or several Data-security SAs. The Re-Key SAs are
identified by an ISAKMP cookie pair, which is included in the SA
payload. This cookie pair is not negotiated, but determined and
downloaded by the GCKS.
The Data SAs are identified by a SPI (Secure Parameter Index), which
is included in the SA payload. The SPI is not negotiated, but
determined and downloaded by the GCKS.
The signification of the value contained in the SEQ payload is
different from the signification of the value of the GDOI
GROUPKEY-PULL: it represents the value of a counter which is used to
order the phase 2 messages of GCKS.
In the member messages, the value contained in the ACK payload
mentions the sequence number of the last correctly received message.
The SACK payload can be optionally included in the Phase 2 member
messages. When one or several GCKS messages are missing, it allows to
mention the sequence numbers of following messages already received
(c.f. 3.2).
Duquerroy , et al. [Page 7]
The Flat Multicast Key Exchange September , 2004
The HASH payload proves that the messages have not been
modified during transmission and that the peer knows the Phase 1
secret(SKEYID_a). The HASH payload also guarantees that messages are
not replayed from an old session establishment, as they required the
secret of the last Phase 1. The SEQ payload in the GCKS messages
allows the member to delete all messages already received in the
Phase 2, as it has to check that the sequence number is greater than
in the previous SEQ payloads.
In FMKE, verifying the liveliness of the member is not needed,
because there is only one Phase 2, which begins just after the Phase
1, and because the Phase 2 is initiated by the GCKS. If the member
cannot acknowledge the GCKS messages, the connection is closed.
The liveliness of the GCKS is proved thanks to the HASH and to the
SEQ payloads, which guarantee that it owns the Phase 1 secret and the
current sequence number.
3.2 Reliability.
FMKE requires reliable session establishment phases. In the Phase 2,
reliability mechanisms are based on positive acknowledgements (the
member acknowledges received messages), retransmission of non
acknowledged messages and optionally selective acknowledgements
(Sack).
Thus, the member sends periodically positive acknowledgements to
acknowledge GCKS messages.
For that purpose, a sequence number is assigned to each GCKS message
(mentioned in the SEQ payload), which orders these messages. In
acknowledgement messages, the value contained in the ACK payload
mentions the sequence number of the last correctly received message.
The SACK payload can be optionally included in the member messages.
When one or several GCKS messages are missing, it allows to mention
the numbers of following messages already received.
Ex :
First sequence number used : 1
Sequence numbers of the messages sent by the GCKS :
1 2 3 4 5 6 7 8 9
Sequence numbers of the messages received by the Member :
1 2 3 4 . 6 7 . 9 (5 and 8 are lost)
Acknowledgement sent by the member :
Ack : 4 , Sack : 6-7, Sack : 9-9 (this acknowledgement must
trigger the retransmission of the messages 5 and 8).
Duquerroy , et al. [Page 8]
The Flat Multicast Key Exchange September , 2004
3.3 ISAKMP Header configuration (Hdr)
The Initiator Cookie field is the cookie of the Group member,
generated during the Phase 1 according to ISAKMP [RFC2408].
The Responder Cookie field is the cookie of the GCKS, generated
during the Phase 1 according to ISAKMP [RFC2408].
Next Payload identifies an ISAKMP, GDOI or FMKE payload.
Major Version is 1 and Minor Version is 0 according to ISAKMP
[RFC2408].
The Exchange Type field is set to "FMKE_unicast_Push" (c.f. 8.2)
Flags, Messages ID and Length are according to ISAKMP[RFC2408].
4.0 Phase 3 exchange
During Phase 3, the GCKS sends securely control information to
Group members using group communications. Typically this will be
using IP multicast. Like in GDOI, the goal of the Phase 3 exchange is
to create new Data security SAs, and/or replace the Re-key SA into
Group members (of a same group). The Phase 3 is protected by the
Re-key SA of the group. The GCKS pushes the new SA attributes.
4.1 Messages
Group Member GCKS
------------------ ----------------
<-- HDR*, SEQ, SA, KD, SIG
x<- HDR*, SEQ, SA, KD, SIG
<-- HDR*, LSEQ, SIG
HDR*, HASH, NACK -->
<-- HDR*, SEQ, SA, KD, SIG
...
* protected by the Re-Key SA; encryption occurs after HDR
The Phase 3 messages are protected by the Re-key SA. They are
encrypted and authenticated according to the Re-key SA attributes.
In the Phase 3, the GCKS sends two types of messages. The first type
Messages contain the SA and KD payloads, and is used to create and/or
replace new SAs. Like in Phase 2, a SEQ payload is included in each
message, containing a sequence number value.
Duquerroy , et al. [Page 9]
The Flat Multicast Key Exchange September , 2004
The second type messages are sent periodically. They contain a LSEQ
payload whose value mentions the last sequence number used by
the GCKS. This payload is used to enable reliability (c.f. 4.2).
The Group member sends only one type of messages. These messages are
used as Non-acknowledgement messages: they request the
retransmission, in multicast, of the message(s), whose sequence
number(s) is(are) mentioned in the NACK payload(s).
HDR is an ISAKMP payload that uses the Re-key SA cookies (c.f. 3.1).
SA is the SA payload, containing the policy attributes for a Re-key
SA and/or Data-Security SAs.
KD is the Key Download payload. If the SA defines a Re-key SA, KD
contains a KEK. This SA has a new cookie pair and replaces the
Re-key SA for the group.
If the SA defines new Data-SA, KD contains the TEK associated to
each SA.
In the GCKS's first type messages, the SEQ payload contains a
sequence number whose value orders these messages. Each Group member
has received included in the Re-key SA attributes (during the Re-key
SA establishment in Phase 2) the value of the sequence number which
will be used in the next GCKS message (of the phase 3).
In the GCKS's second type messages, the LSEQ payload mentions the last used
sequence number.
In the member messages, the values contained in the NACK payload(s)
mention the sequence numbers of messages that the member requests for
retransmission.
The SIG payload contains the digital signature of the entire message
before encryption (including the header and excluding the SIG payload
itself), prefixed with the string "rekey" like in GDOI. The signature
guarantees source data authentication, i.e. the source of this
message is the GCKS.
The SIG payload of the GCKS messages proves that the messages have
not been modified during transmission, and that it has been generated
by the GCKS.
The SEQ payload of the GCKS messages allows Group members to detect
replayed messages : they delete all already received messages.
The value contained in the HASH payload of the Group member messages
proves that the messages have not been modified during transmission,
and that the source is a Group member. We do not need to know exactly
which the source is for this type of messages (Non acknowledgement).
Duquerroy , et al. [Page 10]
The Flat Multicast Key Exchange September , 2004
The Hash value is calculated with the symmetric authentication key
and the authentication algorithm which are mentioned in the Re-key SA
attributes. The Group member messages could be replayed, but the GCKS
cannot retransmit a message an infinity of times. The number of
retransmissions is limited and must allow all Group members to
receive each message.
4.2 Reliability
FMKE requires reliable session establishment phases. In the Phase 3,
reliability mechanisms are based on negative acknowledgements with
retransmission : when a Group member determines that it has not
received one or several messages, it requests for their
retransmission by sending a Non-acknowledgement message (Nack).
Retransmission is achieved in multicast.
Like in the second phase, a sequence number is assigned to each GCKS
message (mentioned in the SEQ payload). Its value orders these
messages.
Each Group member has received included the Re-key SA attributes
(during the Re-key SA establishment in Phase 2) the value of the
sequence number which will be used in the next GCKS message (of the
phase 3).
Moreover, the GCKS sends periodically in multicast a message with the
last used sequence number (in the LSEQ payload). Thus, a Group member
can easily determine that it has not received one or several
messages, and can send a Non-acknowledgement message in unicast to
the GCKS, containing the missing sequence numbers. This message
triggers the retransmission in multicast of the missing messages
(with the same sequence numbers).
Ex :
Next sequence number used by the GCKS (configuration) : 5
Sequence number of the messages sent by the GCKS : 5 6 7 8 9
Sequence number of the messages received by a Member : . 6 7 . 9
(5 and 8 are missing)
Non-Acknowledgement sent by the Member : Nack : 5-5 , Nack : 8-8
(this acknowledgement must trigger the retransmission of the
messages 5 and 8).
When a Group member determines that one message is missing, he waits
a predetermined time before sending its Non-acknowledgement
message. The time before sending a Nack varies for each Group member,
in order to avoid massive Nack emission and thus the congestion at
GCKS side. The Group member waiting time follows a pre-calculated
distribution: few of them will be authorized to send a Nack at the
beginning, and it is expected that these messages will be sufficient
so that all Group members receive the GCKS messages.
Duquerroy , et al. [Page 11]
The Flat Multicast Key Exchange September , 2004
4.3 ISAKMP Header configuration
The cookie pair identifies the Re-key SA. These cookies are assigned
by the GCKS (c.f. 3.1). The first 8 octets of the cookie pair become
the "Initiator Cookie" field and the second 8 octets become the
"Responder Cookie" field in the ISAKMP header.
Next Payload identifies an ISAKMP, GDOI or FMKE payload.
Major Version is 1 and Minor Version is 0 according to ISAKMP
[RFC2408].
The Exchange Type field is set to "FMKE_multicast_Push" (c.f. 8.2)
In the Flags field, the encryption bit is set to 1 and the others
bits MUST be set to 0.
Messages ID and Length are according to ISAKMP[RFC2408].
4.4 Phase 3 utilization
The Phase 3 allows to configure and update simultaneously
Group members. This phase can be initiated for instance when several
Group members establish a connection with the GCKS at the same time.
The Phase 2 is required only to provide each Group Member with the
Re-key SA. The Phase 3 is then used to transmit simultaneously to all
the Group members the Data-security SAs. This phase can also be used
to guarantee the common evolution of the Group members' SAs. The
Phase 2 and 3 are complementary.
5.0 Deletion of SAs
There are times the GCKS may want to signal to receivers to delete
SAs, for example at the end of a broadcast.
Like in GDOI, deletion of keys may be accomplished by sending an
ISAKMP Delete payload [RFC2408, Section 3.15]. However it can be sent
as part of a FMKE phase 2 or phase 3 message contrary to GDOI.
One or more Delete payloads MAY be placed following the SEQ payload
in a GCKS phase 2 message or in a GCKS phase 3 message. If a GCKS has
no further SAs to send to group members, the SA and KD payloads MUST
be omitted from the message.
The following fields of the Delete Payload are further defined as
follows:
o The Domain of Interpretation field contains the FMKE DOI.
Duquerroy , et al. [Page 12]
The Flat Multicast Key Exchange September , 2004
o The Protocol-Id field contains TEK protocol id values defined
in Section 7.8 of this document. To delete a KEK SA, the value
of zero MUST be used as the protocol id. Note that only one
protocol id value can be defined in a Delete payload. If a TEK
SA and a KEK SA must be deleted, they must be sent in different
Delete payloads.
6.0 Utilization of FMKE exchanges according to satellite network
topologies.
FMKE is used as described previously in STAR topologies with return
channel, and in MESH topologies.
In the case of one-way systems (without return channel), some
adaptations are necessary. The following part describes the
utilization of FMKE in one-way systems. It requires few
modifications.
6.1 Utilization in one-way systems.
- Phase 1 :
FMKE MUST be protected by a "phase 1" protocol SA, e.g. an ISAKMP SA.
For one-way systems, all SA attributes and policy (keys included)
will be manually and initially configured in GCKS and Group member
(one distinct SA for each member).
- FMKE Phase 2 :
Few modifications are required in the FMKE phase 2 exchange.
This exchange is indeed initiated by the GCKS, and does not require
the transmission of critical information by the Group member, except
to enable reliable key distribution.
For one-way systems, acknowledgements mechanisms are therefore
disabled, and the Group member sends no messages.
GCKS messages are not modified.
Group Member GCKS
------------------ ----------------
<-- HDR*, HASH(1), SEQ, SA, KD
<-- HDR*, HASH(1), SEQ, SA, KD
* Protected by the Phase 1 SA, encryption occurs after HDR
The HASH payload proves that the messages have not been modified
during transmission and that the peer knows the Phase 1 secret
(SKEYID_a).
Duquerroy , et al. [Page 13]
The Flat Multicast Key Exchange September , 2004
The HASH payload also guarantees that messages are
not replayed from an old session establishment, as they required the
last configured Phase 1 secret.
The value contained in the SEQ payload (initialized to 0) allows the
member to delete all messages already received in the Phase 2, as it
has to check that the sequence number is greater than in the previous
SEQ payloads.
- FMKE phase 3:
Few modifications are required in the FMKE phase 3 exchange.
This exchange is indeed initiated by the GCKS and does not require
the transmission of critical information by Group members, except to
enable reliable key distribution.
For one-way systems, Non-Acknowledgements mechanisms are therefore
disabled, and Group members send no messages.
GCKS messages are not modified.
Group Member GCKS
------------------ ----------------
<-- HDR*, SEQ, SA, KD, SIG
<-- HDR*, SEQ, SA, KD, SIG
<-- HDR*, LSEQ, SIG
* protected by the Re-Key SA; encryption occurs after HDR
The SIG payload contains the digital signature of the entire message
before encryption (including the header and excluding the SIG payload
itself), prefixed with the string "rekey" like in GDOI. The signature
guarantees source data authentication.
The SIG payload of the GCKS messages proves that the messages have
not been modified during transmission, and that it has been generated
by the GCKS.
The SEQ payload allows Group members to detect replayed messages :
they delete all already received messages.
In order to guarantee the compatibility between the both uses of FMKE
in two-way systems and in one-way systems, the profile of each group
member (with or without return channel) MUST be configured in the GCKS.
Besides, for one-way systems, in order to guarantee a more reliable
distribution, each GCKS phase 2 or 3 message may be sent several
times (e.g. 3 times).
Duquerroy , et al. [Page 14]
The Flat Multicast Key Exchange September , 2004
7.0 Payload and defined SA attributes.
FMKE uses several payloads defined in GDOI [RFC3547]:
Next Payload Type Value
----------------- -----
SA KEK Payload (SAK) 15
Key Download (KD) 17
Sequence Number (SEQ) 18
FMKE also uses the extension of the SA payload proposed in GDOI
[RFC 3547]:
Next Payload Type Value
----------------- -----
Security Association (SA) 1
FMKE extends the SAT payload defined in GDOI [RFC3547]:
Next Payload Type Value
----------------- -----
SA TEK Payload (SAT) 16
FMKE defines new payloads. Their value is chosen in the ISAKMP
"Private USE" range.
Next Payload Type Value
----------------- -----
Last Sequence Number (LSEQ) 133
Acknowledgement (ACK) 134
Selective Acknowledgement (SACK) 135
Negative Acknowledgement (NACK) 136
7.1 Last Sequence Number payload (LSEQ)
The Last Sequence Number payload contains a sequence number value
which allows to enable reliable Phase 3 exchanges.
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 ! Payload Length !
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
! Last Sequence Number !
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
The Last Sequence Number Payload fields are defined as follows:
Duquerroy , et al. [Page 15]
The Flat Multicast Key Exchange September , 2004
o Next Payload (1 octet) - Identifier for the payload type of the
next payload in the message. If the current payload is the last in
the message, then this field will be zero.
o RESERVED (1 octet) - Unused, set to zero.
o Payload Length (2 octets) - Length in octets of the current
payload, including the generic payload header.
o Last Sequence Number (4 octets) - This field contains a counter
value, and more particularly the last counter value used by the GCKS
to order its messages. This value allows Group members to determine
which messages they have not received.
7.2 Acknowledgement payload (ACK)
The Acknowledgement payload contains a sequence number value which
allows to realize acknowledgements during phase 2.
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 ! Payload Length !
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
! Acknowledged Sequence Number !
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
The Acknowledgement payload fields are defined as follows:
o Next Payload (1 octet) - Identifier for the payload type of the
next payload in the message. If the current payload is the last in
the message, then this field will be zero.
o RESERVED (1 octet) - Unused, set to zero.
o Payload Length (2 octets) - Length in octets of the current
payload, including the generic payload header.
o Acknowledged Sequence Number (4 octets) - This field contains a
sequence number value. In the phase 2, the Group member sends
periodically messages with an ACK payload containing the sequence
number value of the last correctly received message.
Duquerroy , et al. [Page 16]
The Flat Multicast Key Exchange September , 2004
7.3 Selective Acknowledgement payload (SACK)
The Selective Acknowledgement payload contains the values of two
sequence numbers, and allows to realize selective acknowledgement
during Phase 2.
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 ! Payload Length !
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
! Start Acknowledged Sequence Number !
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
! End Acknowledged Sequence Number !
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
The Selective Acknowledgement Payload fields are defined as follows:
o Next Payload (1 octet) - Identifier for the payload type of the
next payload in the message. If the current payload is the last in
the message, then this field will be zero.
o RESERVED (1 octet) - Unused, set to zero.
o Payload Length (2 octets) - Length in octets of the current
payload, including the generic payload header.
o Start Acknowledged Sequence Number (4 octets) - this field
contains a counter value
o End Acknowledged Sequence Number (4 octets) - this field
contains a counter value >= Start Acknowledged Sequence Number value
The SACK payload is used during Phase 2 by the Group member. When one
or several GCKS messages are missing, it allows to mention the
sequence following numbers of messages already received.
If there is only one message, the Start Acknowledged Sequence Number
and the End Acknowledged Sequence Number fields contain the value of
its sequence number. If there are several consecutive messages, the
Start Acknowledged Sequence Number field contains the sequence number
value of the first message, and the End Acknowledged Sequence Number
field contains the one of the last message.
7.4 Negative Acknowledgement payload (NACK)
The Negative Acknowledgement payload contains the values of two
sequence numbers, and allows to realize negative acknowledgements
during Phase 3.
Duquerroy , et al. [Page 17]
The Flat Multicast Key Exchange September , 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 ! Payload Length !
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
! Start Non Acknowledged Sequence Number !
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
! End Non Acknowledged Sequence Number !
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
The Negative Acknowledgement Payload fields are defined as follows:
o Next Payload (1 octet) - Identifier for the payload type of the
next payload in the message. If the current payload is the last in
the message, then this field will be zero.
o RESERVED (1 octet) - Unused, set to zero.
o Payload Length (2 octets) - Length in octets of the current
payload, including the generic payload header.
o Start Non Acknowledged Sequence Number (4 octets) - this field
contains a counter value
o End Non Acknowledged Sequence Number (4 octets) - this field
contains a counter value >= Start Non Acknowledged Sequence Number
value
In the Phase 3, the NACK payload is used by Group members to mention
the sequence numbers of the messages they have not received.
If there is only one message, the Start Non Acknowledged Sequence
Number and the End Non Acknowledged Sequence Number fields contain
the value of its sequence number. If there are several consecutive
messages, the Start Non Acknowledged Sequence Number field contains
the sequence number value of the first message, and the End Non
Acknowledged Sequence Number field contains the one of the last
message.
7.5 Sequence Number Payload (SEQ)
The Sequence Number payload is a payload defined by GDOI [RFC 3547].
In FMKE it contains a sequence number value which allows to introduce
reliable exchanges and to provide an anti-replay protection for FMKE
Phase 2 and Phase 3 exchanges.
Duquerroy , et al. [Page 18]
The Flat Multicast Key Exchange September , 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 ! Payload Length !
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
! Sequence Number !
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
The Sequence Number Payload fields are defined as follows:
o Next Payload (1 octet) - Identifier for the payload type of the
next payload in the message. If the current payload is the last in
the message, then this field will be zero.
o RESERVED (1 octet) - Unused, set to zero.
o Payload Length (2 octets) - Length in octets of the current
payload, including the generic payload header.
o Sequence Number (4 octets) - This field contains a
monotonically increasing counter value. It is initialized to 0 by the
GCKS and is incremented in each subsequently-transmitted message.
In Phase 2, the GCKS messages contains a SEQ payload with the current
value of the sequence number. Thus the first packet sent in a phase 2
will have a Sequence Number of 1. The FMKE implementation keeps a
sequence counter as an attribute for the Registration SA and
increments the counter upon receipt of a GCKS phase 2 message. It
must also keep a sliding receive window for it.
In the phase 3, the sequence number included in the SEQ payload
orders the messages sent by the GCKS. The first packet sent for a
given Rekey SA will have a Sequence Number of 1. The FMKE
implementation keeps a sequence counter as an attribute for the
Rekey SA and increments the counter upon receipt of a GCKS phase 3
message. The current value of the sequence number must be initially
transmitted to Group members during the phase 2 as an attribute of
the Re-key SA. The group members must also keep a sliding window for
this counter.
Each phase 2 or 3 therefore has its own counter.
7.6. Security Association Payload
The Security Association payload is defined in RFC 2408. FMKE re-uses
the extension proposed in GDOI [RFC 3547]. This payload is used to
assert security attributes for both Re-key and Data-security SAs.
Duquerroy , et al. [Page 19]
The Flat Multicast Key Exchange September , 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 ! Payload Length !
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
! DOI !
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-!
! Situation !
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-!
! SA Attribute Next Payload ! RESERVED2 !
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-!
The Security Association Payload fields are defined as follows:
o Next Payload (1 octet) -- Identifies the next payload.
The next payload MUST NOT be a SAK Payload or SAT Payload type,
but the next non-Security Association type payload.
o RESERVED (1 octet) -- Must be zero.
o Payload Length (2 octets) -- Is the octet length of the current
payload including the generic header and all TEK and KEK
payloads.
o DOI (4 octets) - FMKE DOI value (the GDOI value is 2).
o Situation (4 octets) -- Must be zero.
o SA Attribute Next Payload (1 octet) -- Must be either a SAK
Payload or a SAT Payload. See section 7.6.1 for a description
of which circumstances are required for each payload type to be
present.
o RESERVED (2 octets) -- Must be zero.
7.6.1 Payloads following the SA payload
FMKE re-uses the SA KEK payload, and extends the SA TEK payload
defined in GDOI [RFC 3547].
The payloads following the SA payload defined specific security
association attributes for KEKs and/or TEKs used by one or several
groups.
In phase 2, there may be zero, one or several SAK Payloads
(corresponding to different groups), and zero or more SAT Payloads
(associated to the same or to different groups), where either one SAK
or SAT payload MUST be present.
In phase 3, there may be zero or one SAK Payload (for the considered
group), and zero or more SAT Payloads (associated to the considered
group), where either one SAK or SAT payload MUST be present.
Duquerroy , et al. [Page 20]
The Flat Multicast Key Exchange September , 2004
7.7. SA KEK payload
The SA KEK (SAK) payload is used as defined in GDOI [RFC3547].
However FMKE introduces supplementary KEK attributes.
The SAK payload contains security attributes for the KEK method for
a group. The source and destination identities describe the
identities used for the phase 2 datagrams.
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 ! Payload Length !
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-!
! Protocol ! SRC ID Type ! SRC ID Port !
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-!
!SRC ID Data Len! SRC Identification Data ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-!
! DST ID Type ! DST ID Port !DST ID Data Len!
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-!
! DST Identification Data ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-!
! !
~ SPI ~
! !
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-!
! POP Algorithm ! POP Key Length !
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-!
~ KEK Attributes ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-!
The SAK Payload fields are defined as follows:
o Next Payload (1 octet) -- Identifies the next payload.
The only valid next payload types for this message are a SAT or
SAK Payload or zero to indicate there is no SAK or SAT payload.
o RESERVED (1 octet) -- Must be zero.
o Payload Length (2 octets) -- Length of this payload, including
the KEK attributes.
o Protocol (1 octet) -- Value describing an IP protocol ID (e.g.,
UDP/TCP) for the rekey datagram.
o SRC ID Type (1 octet) -- Value describing the identity
information found in the SRC Identification Data field.
Defined values are specified by the IPSEC Identification Type
section in the IANA isakmpd-registry [ISAKMP-REG].
Duquerroy , et al. [Page 21]
The Flat Multicast Key Exchange September , 2004
o SRC ID Port (2 octets) -- Value specifying a port associated
with the source Id. A value of zero means that the SRC ID Port
field should be ignored.
o SRC ID Data Len (1 octet) -- Value specifying the length of the
SRC Identification Data field.
o SRC Identification Data (variable length) -- Value, as
indicated by the SRC ID Type.
o DST ID Type (1 octet) -- Value describing the identity
information found in the DST Identification Data field.
Defined values are specified by the IPSEC Identification Type
section in the IANA isakmpd-registry [ISAKMP-REG].
o DST ID Port (2 octets) -- Value specifying a port associated
with the source Id.
o DST ID Data Len (1 octet) -- Value specifying the length of the
DST Identification Data field.
o DST Identification Data (variable length) -- Value, as
indicated by the DST ID Type.
o SPI (16 octets) -- Security Parameter Index for the KEK. The
SPI must be the ISAKMP Header cookie pair where the first 8
octets become the "Initiator Cookie" field, and the second 8
octets become the "Responder Cookie" of the ISAKMP header of
the Phase 3 messages (i.e. of the messages protected by the
Re-key SA). As described above, these cookies are assigned by
the GCKS.
o POP Algorithm (2 octets) -- The POP payload algorithm. Defined
values are specified in the following table. If no POP
algorithm is defined by the KEK policy this field must be zero.
Algorithm Type Value
-------------- -----
RESERVED 0
POP_ALG_RSA 1
POP_ALG_DSS 2
POP_ALG_ECDSS 3
RESERVED 4-127
Private Use 128-255
o POP Key Length (2 octets) -- Length of the POP payload key. If
no POP algorithm is defined in the KEK policy, this field must
be zero.
Duquerroy , et al. [Page 22]
The Flat Multicast Key Exchange September , 2004
o KEK Attributes -- Contains KEK policy attributes associated
with the group. The following sections describe the possible
attributes. Any or all attributes may be optional, depending on
the group policy.
7.7.1. KEK Attributes
FMKE defines 2 more attributes : HASH_ALGORITHM and NEXT_SEQ_NUMBER.
The following table presents all the attributes which may be present
in a SAK Payload. The attributes must follow the format defined in
ISAKMP [RFC2408] section 3.3. In the table, attributes which follow
the Type/Value (TV) format are marked as Basic (B); attributes which
follow the Type/Length/Value (TLV) format are marked as Variable(V).
ID Class Value Type
-------- ----- ----
RESERVED 0
KEK_MANAGEMENT_ALGORITHM 1 B
KEK_ALGORITHM 2 B
KEK_KEY_LENGTH 3 B
KEK_KEY_LIFETIME 4 V
SIG_HASH_ALGORITHM 5 B
SIG_ALGORITHM 6 B
SIG_KEY_LENGTH 7 B
KE_OAKLEY_GROUP 8 B
HASH_ALGORITHM 9 B
NEXT_SEQ_NUMBER 10 B
7.7.2. KEK_MANAGEMENT_ALGORITHM (Defined in GDOI)
The KEK_MANAGEMENT_ALGORITHM class specifies the group KEK management
algorithm used to provide forward or backward access control (i.e.,
used to exclude group members). Defined values are specified in the
following table.
KEK Management Type Value
------------------- -----
RESERVED 0
LKH 1
RESERVED 2-127
Private Use 128-255
7.7.3. KEK_ALGORITHM (Defined in GDOI)
The KEK_ALGORITHM class specifies the encryption algorithm using with
the KEK. Defined values are specified in the following table.
Duquerroy , et al. [Page 23]
The Flat Multicast Key Exchange September , 2004
Algorithm Type Value
-------------- -----
RESERVED 0
KEK_ALG_DES 1
KEK_ALG_3DES 2
KEK_ALG_AES 3
RESERVED 4-127
Private Use 128-255
7.7.4. KEK_KEY_LENGTH(Defined in GDOI)
The KEK_KEY_LENGTH class specifies the KEK Algorithm key length (in
bits).
7.7.5. KEK_KEY_LIFETIME(Defined in GDOI)
The KEK_KEY_LIFETIME class specifies the maximum time for which the
KEK is valid. The GCKS may refresh the KEK at any time before the
end of the valid period. The value is a four (4) octet number
defining a valid time period in seconds.
7.7.6. SIG_HASH_ALGORITHM(Defined in GDOI)
SIG_HASH_ALGORITHM specifies the SIG payload hash algorithm. The
following tables define the algorithms for SIG_HASH_ALGORITHM.
Algorithm Type Value
-------------- -----
RESERVED 0
SIG_HASH_MD5 1
SIG_HASH_SHA1 2
RESERVED 3-127
Private Use 128-255
7.7.7. SIG_ALGORITHM(Defined in GDOI)
The SIG_ALGORITHM class specifies the SIG payload signature
algorithm. Defined values are specified in the following table.
Algorithm Type Value
-------------- -----
RESERVED 0
SIG_ALG_RSA 1
SIG_ALG_DSS 2
SIG_ALG_ECDSS 3
RESERVED 4-127
Private Use 128-255
Duquerroy , et al. [Page 24]
The Flat Multicast Key Exchange September , 2004
7.7.8. SIG_KEY_LENGTH(Defined in GDOI)
The SIG_KEY_LENGTH class specifies the length of the SIG payload key.
7.7.9. KE_OAKLEY_GROUP(Defined in GDOI)
The KE_OAKLEY_GROUP class defines the OAKLEY Group used to compute
the PFS secret in the optional KE payload of the GDOI GROUPKEY-PULL
exchange. This attribute uses the values assigned to Group
Definitions in the IANA IPsec-registry [IPSEC-REG].
7.7.10. HASH_ALGORITHM
The HASH_ALGORITHM class specifies the hash algorithm to use for the
HASH payload. Defined values are specified in the following table.
Algorithm Type Value
-------------- -----
RESERVED 0
HASH_ALG_MD5 1
HASH_ALG_SHA 2
RESERVED 3-127
Private Use 128-255
7.7.11. NEXT_SEQ_NUMBER
The NEXT_SEQUENCE_NUMBER class specifies the next sequence number
used by the GCKS in the Phase 3 messages protected by the
considered Re-key SA .
7.8. SA TEK Payload
FMKE uses the SA TEK (SAT) payload defined in GDOI [RFC 3547]. In the
SAT, it modifies the TEK Protocol-Specific Payload for ESP.
The SA TEK (SAT) payload contains security attributes for a single
TEK associated with a group.
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 ! Payload Length !
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-!
! Protocol-ID ! TEK Protocol-Specific Payload ~
+-+-+-+-+-+-+-+-+ ~
~ ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-!
The SAT Payload fields are defined as follows:
Duquerroy , et al. [Page 25]
The Flat Multicast Key Exchange September , 2004
o Next Payload (1 octet) -- Identifies the next payload. The only
valid next payload types for this message are another SAT or
SAK Payload or zero to indicate there are no more security
association attributes.
o RESERVED (1 octet) -- Must be zero.
o Payload Length (2 octets) -- Length of this payload, including
the TEK Protocol-Specific Payload.
o Protocol-ID (1 octet) -- Value specifying the Security
Protocol. The following table defines values for the Security
Protocol
Protocol ID Value
----------- -----
RESERVED 0
FMKE_PROTO_IPSEC_ESP 1
RESERVED 2-127
Private Use 128-255
o TEK Protocol-Specific Payload (variable) -- Payload which
describes the attributes specific for the Protocol-ID.
7.8.1. PROTO_IPSEC_ESP
FMKE extends the TEK Protocol-Specific payload for ESP, defined in
the GDOI. As a matter of fact, satellite networks require to use ESP
in tunnel mode. Tunnel identifiers MUST therefore be mentioned :
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-!
! Protocol ! SRC ID Type ! SRC ID Port !
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-!
!SRC ID Data Len! SRC Identification Data ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-!
! DST ID Type ! DST ID Port !DST ID Data Len!
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-!
! DST Identification Data ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-!
!TNL SRC ID Type! TNL SRC ID Port !TNL SRC ID Len !
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-!
! TNL SRC Identification Data ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-!
!TNL DST ID Type! TNL DST ID Port !TNL DST ID Len !
Duquerroy , et al. [Page 26]
The Flat Multicast Key Exchange September , 2004
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-!
! TNL DST Identification Data ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-!
! Transform ID ! SPI !
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-!
! SPI ! RFC 2407 SA Attributes ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-!
The SAT Payload fields are defined as follows:
o Protocol (1 octet) -- Value describing an IP protocol ID (e.g.,
UDP/TCP). A value of zero means that the Protocol field should
be ignored.
o SRC ID Type (1 octet) -- Value describing the identity
information found in the SRC Identification Data field.
Defined values are specified by the IPSEC Identification Type
section in the IANA isakmpd-registry [ISAKMP-REG].
o SRC ID Port (2 octets) -- Value specifying a port associated
with the source Id. A value of zero means that the SRC ID Port
field should be ignored.
o SRC ID Data Len (1 octet) -- Value specifying the length of the
SRC Identification Data field.
o SRC Identification Data (variable length) -- Value, as
indicated by the SRC ID Type. Set to three bytes of zero for
multiple-source multicast groups that use a common TEK for all
senders.
o DST ID Type (1 octet) -- Value describing the identity
information found in the DST Identification Data field.
Defined values are specified by the IPSEC Identification Type
section in the IANA isakmpd-registry [ISAKMP-REG].
o DST ID Port (2 octets) -- Value specifying a port associated
with the dest. Id. A value of zero means that the DST ID Port
field should be ignored.
o DST ID Data Len (1 octet) -- Value specifying the length of the
DST Identification Data field.
o DST Identification Data (variable length) -- Value, as
indicated by the DST ID Type.
Duquerroy , et al. [Page 27]
The Flat Multicast Key Exchange September , 2004
o TNL SRC ID Type (1 octet) -- Value describing the identity
information found in the TNL SRC Identification Data field.
Defined values are specified by the IPSEC Identification Type
section in the IANA isakmpd-registry [ISAKMP-REG].
o TNL SRC ID Port (2 octets) -- Value specifying a port
associated with the Tunnel source Id. A value of zero means
that the TNL SRC ID Port field should be ignored.
o TNL SRC ID Data Len (1 octet) -- Value specifying the length
of the TNL SRC Identification Data field.
o TNL SRC Identification Data (variable length) -- Value, as
indicated by the TNL SRC ID Type. Set to three bytes of zero
for multiple-source multicast groups that use a common TEK for
all senders.
o TNL DST ID Type (1 octet) -- Value describing the identity
information found in the TNL DST Identification Data field.
Defined values are specified by the IPSEC Identification Type
section in the IANA isakmpd-registry [ISAKMP-REG].
o TNL DST ID Port (2 octets) -- Value specifying a port
associated with the tunnel dst Id. A value of zero means
that the DST ID Port field should be ignored.
o TNL DST ID Data Len (1 octet) -- Value specifying the length
of the TNL DST Identification Data field.
o TNL DST Identification Data (variable length) -- Value, as
indicated by the TNL DST ID Type.
o Transform ID (1 octet) -- Value specifying which ESP transform
is to be used. The list of valid values is defined in the
IPSEC ESP Transform Identifiers section of the IANA
isakmpd-registry [ISAKMP-REG].
o SPI (4 octets) -- Security Parameter Index for ESP.
o RFC 2407 Attributes -- ESP Attributes from RFC 2407 Section
4.5. FMKE like GDOI supports all IPSEC DOI SA Attributes for
PROTO_IPSEC_ESP excluding the Group Description [RFC2407,
section 4.5], which MUST NOT be sent by a FMKE implementation
and is ignored by a FMKE implementation if received. All
mandatory IPSEC DOI attributes are mandatory in FMKE
PROTO_IPSEC_ESP. The Authentication Algorithm attribute of the
IPSEC DOI is group authentication in FMKE.
Duquerroy , et al. [Page 28]
The Flat Multicast Key Exchange September , 2004
7.9. Key Download Payload
FMKE re-uses the Key Download payload as defined by the GDOI
[RFC 3547]. The Key Download Payload contains group keys
corresponding to SAKs or/and SATs specified in the SA payload .
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 ! Payload Length !
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-!
! Number of Key Packets ! RESERVED2 !
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-!
~ Key Packets ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-!
The Key Download Payload fields are defined as follows:
o Next Payload (1 octet) -- Identifier for the payload type of
the next payload in the message. If the current payload is the
last in the message, then this field will be zero.
o RESERVED (1 octet) -- Unused, set to zero.
o Payload Length (2 octets) -- Length in octets of the current
payload, including the generic payload header.
o Number of Key Packets (2 octets) -- Contains the total number
of both TEK and Rekey arrays being passed in this data block.
o Key Packets
Several types of key packets are defined. Each Key Packet has
the following format.
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-!
! KD Type ! RESERVED ! KD Length !
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-!
! SPI Size ! SPI (variable) ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-!
~ Key Packet Attributes ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-!
o Key Download (KD) Type (1 octet) -- Identifier for the Key Data
field of this Key Packet.
Duquerroy , et al. [Page 29]
The Flat Multicast Key Exchange September , 2004
Key Download Type Value
----------------- -----
RESERVED 0
TEK 1
KEK 2
LKH 3
RESERVED 4-127
Private Use 128-255
"KEK" is a single key whereas LKH is an array of key-encrypting keys.
o RESERVED (1 octet) -- Unused, set to zero.
o Key Download Length (2 octets) -- Length in octets of the Key
Packet data, including the Key Packet header.
o SPI Size (1 octet) -- Value specifying the length in octets of
the SPI as defined by the Protocol-Id.
o SPI (variable length) -- Security Parameter Index which matches
a SPI previously sent in an SAK or SAT Payload.
o Key Packet Attributes (variable length) -- Contains Key
information. The format of this field is specific to the value
of the KD Type field. The following sections describe the
format of each KD Type.
7.9.1. TEK Download Type
FMKE re-uses the TEK Download Type as defined in the GDOI
The following attributes may be present in a TEK Download Type.
Exactly one attribute matching each type sent in the SAT payload MUST
be present. The attributes must follow the format defined in ISAKMP
[RFC2408] section 3.3. In the table, attributes defined as TV are
marked as Basic (B);attributes defined as TLV are marked as Variable
(V).
TEK Class Value Type
--------- ----- ----
RESERVED 0
TEK_ALGORITHM_KEY 1 V
TEK_INTEGRITY_KEY 2 V
TEK_SOURCE_AUTH_KEY 3 V
If no TEK key packets are included in a Registration KD, the group
member can expect to receive the TEK as part of a Re-key SA (during a
phase 3).
At least one TEK must be included in each Re-key KD payload.
Multiple TEKs may be included if multiple streams associated with the
SA are to be rekeyed.
Duquerroy , et al. [Page 30]
The Flat Multicast Key Exchange September , 2004
7.9.1.1. TEK_ALGORITHM_KEY
The TEK_ALGORITHM_KEY class declares that the encryption key for this
SPI is contained as the Key Packet Attribute. The encryption
algorithm that will use this key was specified in the SAT payload.
In the case that the algorithm requires multiple keys (e.g., 3DES),
all keys will be included in one attribute.
DES keys will consist of 64 bits (the 56 key bits with parity bit).
Triple DES keys will be specified as a single 192 bit attribute
(including parity bits) in the order that the keys are to be used for
encryption (e.g., DES_KEY1, DES_KEY2, DES_KEY3).
7.9.1.2. TEK_INTEGRITY_KEY
The TEK_INTEGRITY_KEY class declares that the integrity key for this
SPI is contained as the Key Packet Attribute. The integrity
algorithm that will use this key was specified in the SAT payload.
Thus, GDOI assumes that both the symmetric encryption and integrity
keys are pushed to the member. SHA keys will consist of 160 bits,
and MD5 keys will consist of 128 bits.
7.9.1.3. TEK_SOURCE_AUTH_KEY
The TEK_SOURCE_AUTH_KEY class declares that the source authentication
key for this SPI is contained in the Key Packet Attribute. The
source authentication algorithm that will use this key was specified
in the SAT payload.
7.9.2 KEK Download Type
FMKE re-uses the KEK Download type but introduces a new attribute:
KEK_GROUP_AUTH_KEY.
The following attributes may be present in a KEK Download Type.
Exactly one attribute matching each type sent in the SAK payload MUST
be present. The attributes must follow the format defined in ISAKMP
[RFC2408] section 3.3. In the table, attributes defined as TV are
marked as Basic (B); attributes defined as TLV are marked as Variable
(V).
KEK Class Value Type
--------- ----- ----
RESERVED 0
KEK_ALGORITHM_KEY 1 V
SIG_ALGORITHM_KEY 2 V
KEK_GROUP_AUTH_KEY 3 V
Duquerroy , et al. [Page 31]
The Flat Multicast Key Exchange September , 2004
Contrary to the GDOI, several KEK key packets can be included in
a Registration KD payload.
7.9.2.1. KEK_ALGORITHM_KEY
The KEK_ALGORITHM_KEY class declares the encryption key for this SPI
is contained in the Key Packet Attribute. The encryption algorithm
that will use this key was specified in the SAK payload.
If the mode of operation for the algorithm requires an Initialization
Vector (IV), an explicit IV MUST be included in the KEK_ALGORITHM_KEY
before the actual key.
7.9.2.2. SIG_ALGORITHM_KEY
The SIG_ALGORITHM_KEY class declares that the public key for this SPI
is contained in the Key Packet Attribute, which may be useful when no
public key infrastructure is available. The signature algorithm that
will use this key was specified in the SAK payload.
7.9.2.3. KEK_GROUP_AUTH_KEY
The KEK_GROUP_AUTH_KEY class declares that the group authentication
key for this SPI is contained in the Key Packet Attribute.
The group authentication algorithm that will use this key was
specified in the SAK payload.
8.0 Domain of Interpretation for FMKE.
FMKE requires a specific DOI, as it introduces new exchange types,
payloads, security association attributes...
RFC 2408 recommends that the designer of the new DOI begins with an
existing DOI and customizes only the parts that are unacceptable.
For FMKE, we based this specific DOI on the Group Domain of
Interpretation (GDOI).
8.1 Payloads.
FMKE defines 4 new payloads with regard to the GDOI (and the IPSEC
DOI):
Last Sequence Number (LSEQ),Acknowledgement (ACK), Selective
Acknowledgement (SACK), Negative Acknowledgement (NACK) payloads.
It also extends the SAT defined by the GDOI (c.f. 7.0).
8.2 New exchange types.
FMKE introduces two additional exchange types. The value of these
exchanges is mentioned in the Exchange Type field of the ISAKMP
header of the messages in FMKE Phase 2 and 3.
Duquerroy , et al. [Page 32]
The Flat Multicast Key Exchange September , 2004
The exchange type of the phase 2 is called : FMKE_unicast_Push and
the exchange type of the phase 3 is called : FMKE_multicast_Push .
Exchange type Value
---------------- -----------
FMKE_unicast_Push 240
FMKE_multicast_Push 241
8.3 Security Association attributes.
With regard to GDOI, FMKE defines two new attributes for Re-key SA :
HASH_ALGORITHM and NEXT_SEQ_NUMBER, and a new key class :
KEK_GROUP_AUTH_KEY.
9.0 Security considerations.
FMKE is a security association (SA) management protocol for groups
It is adapted to satellite networks, to protect group data
transmitted on satellite links. Its objective is to establish
securely security associations at group members (which are distinct
from data initial source and final receivers - FMKE is not destined
to provide end-to-end security). This protocol achieves first the
entity authentication of the GCKS and the Group member, then it
establishes a secure channel for the key management messages
which ensures confidentiality, integrity and source authentication.
This protocol uses security mechanisms in order to ensure
confidentiality, entity and data origin authentication, and to avoid
man-in-the-middle, replay attacks.
FMKE assumes the network is not secure and may be under the complete
control of an attacker, but it assumes that the communication
endpoints are secure. Group members must be trusted to protect
authentication values (pre-shared key), encryption/decryption keys
and message authentication keys.
FMKE is composed of 3 phases : an ISAKMP Phase 1, and two new
exchanges : the Phase 2 which is protected by the ISAKMP Phase 1, and
the Phase 3. Security considerations for each phase are addressed
separately in the following.
9.1 ISAKMP Phase 1
FMKE uses the Phase 1 exchange defined in [RFC2409] to protect the
FMKE Phase 2. Therefore all security properties and considerations of
those exchanges (as noted in [RFC2409]) are relevant for FMKE.
Duquerroy , et al. [Page 33]
The Flat Multicast Key Exchange September , 2004
9.1.1 Authentication
Authentication is provided via the mechanisms defined in [RFC2409],
based on Pre-Shared Keys (Public Key encryption could also be
considered).
9.1.2 Confidentiality
Confidentiality is achieved in Phase 1 through a Diffie-Hellman
exchange that provides keying material, and through negotiation of
encryption transforms.
9.1.3 Man-in-the-Middle Attack Protection
FMKE relies on Phase 1 authentication to defeat man-in-the-middle
attacks.
9.1.4 Replay/Reflection Attack Protection
FMKE relies on the Phase 1 nonce mechanism in combination with a
hash-based message authentication code to protect against the replay
or reflection of previous key management messages. Indeed, the
authentication is successful only if the hash value contained in the
HASH payload depends on the pre-shared key and on the Nonces randomly
generated during the current Phase 1.
9.1.5. Denial of Service Protection
A denial of service attacker sends messages to an entity to cause
that entity to perform unneeded message authentication operations.
FMKE, like GDOI, uses the Phase 1 cookie mechanism to identify
spurious messages prior to cryptographic hash processing. This is
considered as a "weak" form of denial of service protection in that
the entity must check for good cookies, which can be successfully
imitated by a sophisticated attacker.
9.2 Phase 2 Exchange
During the Phase 2, the Group member receives securely from the GCKS,
SAs of groups whose it is a member. Messages are protected by the
Phase 1 security association.
9.2.1 Authentication
Peer authentication is not required in the Phase 2 protocol, as the
Phase 1 protocol has previously authenticated the identity of the peer.
Message authentication is provided by HASH payloads in each message,
where the hash value contained in HASH is computed with the SKEYID_a
authentication key (derived in the Phase 1 exchange), over all
payloads in the message.
Duquerroy , et al. [Page 34]
The Flat Multicast Key Exchange September , 2004
As only the GCKS and the Group member know the SKEYID_a value, this
provides message source authentication.
9.2.2 Confidentiality
Confidentiality is provided by the Phase 1 security association,
according to the manner described in [RFC2409].
9.2.3 Man-in-the-Middle Attack Protection
As messages are encrypted, and recipients can authenticate their
source (as being the GCKS or the Group member), man-in-middle attacks
are avoided. Indeed an attacker would not be able if it changes a
message to build a valid hash value.
9.2.4 Replay/Reflection Attack Protection
The HASH payloads guarantee that messages are not replayed messages from
an old session establishment, as they required the secret of the last
Phase 1.
Besides, the SEQ payloads (including a sequence number)in the GCKS
messages allows the group member to delete all messages already
received in the Phase 2, as it has to check that the sequence number
is greater than in the previous SEQ payloads.
9.2.5 Denial of Service Protection
A receiver identifies its messages using a cookie pair
from the Phase 1 exchange that precedes it. The cookies provide a
weak form of denial of service protection as described above, in the
sense that a message with invalid cookies will be discarded.
9.3 Phase 3 Exchange
In the phase 3, the GCKS establishes and/or updates SAs in Group
members. Messages are protected by the Re-key SA.
9.3.1 Authentication
The messages sent by the GCKS are digitally signed. The signature is
contained in the SIG payload, and the private key, which is used for
the signature, is known only by the GCKS. The corresponding public
key that is used for authentication is an attribute of the Re-key SA,
established in the phase 2. The signature guarantees source data
authentication.
Concerning the messages sent by group members, message authentication
is provided by HASH payloads in each message, where the mentioned
hash value is computed with a symmetric authentication key, which is
an attribute of the Re-key SA. As only the GCKS and Group members
know this key, this provides group message authentication.
Duquerroy , et al. [Page 35]
The Flat Multicast Key Exchange September , 2004
9.3.2 Confidentiality
Messages are encrypted with the symmetric encryption key and the
encryption algorithm mentioned in the Re-key SA attributes.
9.3.3 Man-in-the-Middle Attack Protection
As messages are encrypted, and recipients can authenticate their
source (as being the GCKS or a Group member), man-in-middle attacks
are avoided.
9.3.4 Replay/Reflection Attack Protection
The SEQ payload of the GCKS messages, which contains a monotonically
increasing sequence number, allows group member to detect replayed
messages : they delete all already received messages.
Group member messages (Nack) can be replayed, but the GCKS cannot
retransmit a message an infinity of times. The number of
retransmissions is limited and must allow all Group members to
receive each message.
9.3.5 Denial of Service Protection
A cookie pair identifies the security association for the
Phase 3 message. The cookies thus serve as a weak form of
denial-of-service.
10.0 IANA Considerations
10.1 ISAKMP DOI
A new ISAKMP DOI number needs to be assigned, in order to define FMKE.
10.2 Payload Types
New ISAKMP Next Payload types need to be allocated for FMKE payload
types. See Section 7.0 for the payloads defined in this document.
10.3 New Name spaces
The present document describes some new name spaces for use in the
FMKE payloads. Those may be found in 7.0 and 8.0.
11.0 Acknowledgements
Duquerroy , et al. [Page 36]
The Flat Multicast Key Exchange September , 2004
2.0 References
[ISAKMP-REG] http://www.iana.org/assignments/isakmp-registry
[RFC2406] S. Kent, R. Atkinson, "IP Encapsulating Security Payload
(ESP)", November 1998.
[RFC2407] D. Piper, "The Internet IP Domain of Interpretation for
ISAKMP", November 1998.
[RFC2408] D. Maughan, M. Shertler, M. Schneider, J. Turner, "Internet
Security Association and Key Management Protocol", November 1998.
[RFC2409] D. Harkins, D. Carrel, "The Internet Key Exchange (IKE)",
November, 1998.
[RFC2547] M. Baugher, B. Weis, T. Hardjono, H. Harney, "The Group
Domain of Interpretation", July 2003
[FIPS46-3] "Data Encryption Standard (DES)", United States of
American, National Institute of Science and Technology,
Federal Information Processing Standard (FIPS) 46-3,
October 1999.
[FIPS81] "DES Modes of Operation", United States of American,
National Institute of Science and Technology, Federal
Information Processing Standard (FIPS) 81, December
1980.
[FIPS186-2] "Digital Signature Standard (DSS)", United States of
American, National Institute of Science and Technology,
Federal Information Processing Standard (FIPS) 186-2,
January 2000.
[FIPS197] "Advanced Encryption Standard (AES)", United States of
American, National Institute of Science and Technology,
Federal Information Processing Standard (FIPS) 197,
November 2001.
[IPSEC-REG] http://www.iana.org/assignments/ipsec-registry
[ISAKMP-REG] http://www.iana.org/assignments/isakmp-registry
Duquerroy , et al. [Page 37]
The Flat Multicast Key Exchange September , 2004
Authors Addresses
Laurence Duquerroy
Alcatel Space
26, avenue J.-F. Champollion
B.P. 1187
31037 Toulouse Cedex 1 , France
+33 (0)5 34 35 63 06
S‰bastien Josset
Alcatel Space
26, avenue J.-F. Champollion
B.P. 1187
31037 Toulouse Cedex 1 , France
+33 (0)5 34 35 51 04
This Internet-Draft expires in February, 2005
Duquerroy , et al. Expires February, 2005 [Page 38]
1