One document matched: draft-ietf-rmt-pi-track-security-00.txt


	
Internet Engineering Task Force                             T. Hardjono
INTERNET-DRAFT                                          Nortel Networks
draft-ietf-rmt-pi-track-security-00.txt                      B. Whetten
June 14, 2000                                                  Talarian




                 Security Requirements For TRACK

            <draft-ietf-rmt-pi-track-security-00.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 discusses the security issues within the TRee-based 
ACKnowledgement (TRACK) reliable multicast protocol instantiation, and 
identifies some constraints and requirements for security provisions for 
this protocol.  Based on the constraints and requirements, the document 
proposes a separation of data packet confidentiality and authentication, 
from transport layer protection.  It proposes that TRACK be primarily 
concerned with group authentication of control and data packets, to 
protect against attacks on the transport infrastructure.  It proposes 
that data confidentiality and source authentication be provided 
separately from this low level group authentication, ideally at the 
application level.  We show that this is particularly important for 
TRACK, because of the requirement that the interior control nodes only 
OPTIONALLY have access to the data packet payload.

Specifically, the current work RECOMMENDS that data and control packet 
authentication be provided using IPsec-based authentication at the 
network layer.  This approach allows an interior control node to 
authentically retransmit a lost data packet (which remains encrypted 
under the separate data-encryption key) to its own children (a set of 
Receivers), while making use of the IPsec features, such as protection 
against replay attacks.  

This document then provides a specific proposal for how group keys 
SHOULD be divided up among group members, for control and data packet 
authentication.  While providing some rationale for divorcing this 
proposal from that of source authentication and data confidentiality, it 
does not provide a specific proposal for those pieces.


1. Background: The Multicast Security Problem

The problem of multicast security can be divided into three general 
areas of concern:
- Data Encryption and Source Authentication.  The method used to 
encipher or scramble the multicast data, and verify the identity of 
the sender of this data.
- Key Distribution.  The method used to securely distribute group 
keys and keying material to the members of a group, for use in 
decrypting or authenticating the data or control packets.
- Infrastructure Protection.  Mechanisms used to protect the 
multicast infrastructure itself, and to minimize the ability of an 
intruder to deny service to legitimate users.

The security of reliable multicast protocols falls primarily into the 
third category of problems.  Complete denial of service protection must 
start at the network level (i.e. IP Multicast), with controls placed on 
senders from overloading the network with brute force "spamming", as 
well as with authentication of control packets, to keep users from 
corrupting the state of the IP Multicast protocols.  A transport 
protocol needs to address the same issues, checking to make sure that 
senders are not sending more data than they are allowed (such as with 
enforceable congestion control), and authenticating control packets, to 
protect the protocol state.  Control packet authentication is 
particularly important in TRACK, because of its use of interior control 
nodes (Repair Heads, or RHs) to increase scalability.

An OPTIONAL extension to the requirement of infrastructure protection is 
that of infrastructure privacy.  Some applications require that the 
headers of the network packets be encrypted, to provide protection from 
network analysis attacks.

2. Conventions Used in this Document

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 
"SHOULD", "SHOULD NOT", "RECOMMENDED",  "MAY", and "OPTIONAL" in 
this document are to be interpreted as described in RFC-2119 [ ].


3. Independence of RM Security

The security of reliable multicast (RM) protocols is part of the larger 
problem of the security of the multicast infrastructure, which also 
consists of the security of the multicast routing protocols.

Since RM protocols and multicast routing protocols exist at different 
layers in the protocol stack, and since different RM protocols may be 
employed with different multicast routing protocols, it is useful from a 
security perspective to treat these two security problems separately.  
In addition, although in many instances the topology of RM 
infrastructure may coincide with that of the multicast routing protocol, 
such symmetry cannot be assumed for all cases.

Similarly, from a design perspective, the problem of securing the data 
stream (e.g. through content encryption) should be separated from the 
issue of securing reliable multicast protocols.

Although we treat RM-security as an independent problem from other 
multicast security problems, this does not preclude using the solutions 
in other areas in order to solve the security needs of RM. For example, 
the use of IPsec technology at the IP layer to authenticate multicast 
routing protocol control-packets can also be used to authenticate RM 
control-messages.  However, the instance of deploying IPsec in both 
cases MUST be distinguished and treated separately.


4. TRACK Overview

TRACK arranges Receivers (R) into local regions, where each region is 
assigned to a Repair Head (RH).  These groups are arranged 
hierarchically as a tree rooted at a Sender (SD), with the RHs 
representing the nodes of the tree, and the Receivers as the leaves.  
The Receivers send periodic control messages (called ACKs or NACKs) to 
their parent RH, selectively acknowledging the packets they have 
received, and requesting the ones they have missed.  Retransmission is 
then performed by the parent RH.  Each RH sends their control messages 
to the RH at the next level up the hierarchy.  This process is repeated 
until the messages reach the sender, informing it of the status of the 
group, and notifying it when it is allowed to advance its transmission 
window.  The RHs aggregate the selective positive acknowledgements from 
the receivers, and suppress the redundant negative acknowledgements, in 
order to solve the ACK/NACK implosion problem.

A RH maintains a local multicast group to just its children, and 
subscribes to the local multicast group of its parent.  A RH uses this 
local multicast group for retransmissions to its children, which also 
provides suppression of other negative retransmission requests for that 
packet at other children. 
 
TRACK distinguishes between a data channel and a control channel.  A 
data channel is a global multicast group created using the underlying 
multicast routing protocol.  A control channel is the interconnected 
topology of control nodes, for handling error recovery and positive 
packet acknowledgements.

In order to obtain data packets from the Sender, a Receiver in a given 
TRACK region MUST join the multicast group (i.e. the data channel).  The 
RH of that region MUST join every multicast group that its descendants 
have joined.  Note that the RHs are not responsible for forwarding the 
data packets multicast by the Sender, since that data stream is 
propagated by the underlying multicast routing protocol.

The figure below illustrates a TRACK tree with multiple control nodes.

                       -------> SD (Sender node)----->|
                      ^^^                             |
        TRACKs      /  |  \    Control                |
         and      /    |    \    Tree                 |
        NACKs   /      |      \                       |
              /        |        \     (Repair         |
            /          |          \    Head           |
          /            |            \  nodes)         v
        RH             RH            RH  <------------|
        ^^            ^^^            ^^               | Data    
       / |           / | \           | \              | Channel
      /  |          /  |  \          |  \             |
     /   |         /   |   \         |   \            v
    R    R        R    R    R        R    R  <---------
               (Receiver Nodes)



5. TRACK Protocol Security Issues and Requirements

This section details the security requirements for TRACK.  These 
requirements include general multicast transport requirements, as well 
as some requirements specific to TRACK.

5.1 Background

In addressing the security issues specific to TRACK, it is useful to 
consider the general aspects of security relating to reliable multicast.

 - Layer in which security is applied:
The two layers in which security mechanisms are deployed are 
typically the network layer and the application layer.  In the 
network layer the protocol that is the most commonly used is the 
IPsec protocol, which provides authentication and/or encryption.  In 
either case, with IPsec the transport headers (and IP headers) are 
protected.  When authentication and/or encryption is applied at the 
application layer, neither the transport headers nor the IP headers 
are protected.

 - Types of authentication:
  - Source-authentication: If public key (asymmetric) cryptography is 
deployed, where only the sender knows the secret-half of the 
public key pair, then unique "source-authentication" can be 
established.
  - Group-authentication: If shared key (symmetric) cryptography is 
deployed and the key is shared by more than two parties, then 
only "group-authentication" can be established. This means that a 
receiver in a group is only certain that the entity that sent the 
message is in possession of the symmetric-key, and is thus 
assumed to be a member of the group sharing the key.

In the following, the TRACK specific requirements are further 
elaborated.


5.2 Authentication of Control Messages

As stated above, the directly relevant security concern for TRACK is 
protection of the multicast infrastructure, particularly of the control 
tree, in order to provide protection against replay or other attacks 
which seek to corrupt the state of the transport protocol.  The 
authentication of control messages exchanged among TRACK protocol 
entities represents the minimal security mechanisms necessary to do so.

Two types of authentication mechanisms can be adopted, corresponding to 
the two basic types of cryptosystems.  In the context of reliable 
multicast, throughput and latency is typically of high importance, and 
group-authentication based on symmetric cryptography appears to be 
preferable.  

Given this, the efficiencies of symmetric key based authentication 
appear to outweigh the benefits of public key based authentication. 
There are potentially cryptographic schemes that can provide the unique 
source-authentication of public key cryptography while providing the 
performance characteristics of symmetric key based authentication (e.g. 
efficient digital signing of the hash-value of several data packets).  
However, at the present time, for the general case of infrastructure 
protection, the complexities of these options appear to outweigh the 
benefits.

Thus, in summary, for TRACK protocol control-messages, explicit group-
authentication at the IP layer SHOULD be deployed using symmetric 
cryptography.  Although a number of technologies are available, we 
propose specifically IPsec-based authentication using a keyed-hash 
function [KA98b,MG98a,MG98b] due to its growing use and availability.

We denote the symmetric key used for control message authentication as 
the InteriorNodeKey. The InteriorNodeKey is a symmetric key shared by 
all RHs and the Sender within a given TRACK hierarchy.  The key is 
independent of any data stream, and is used to authenticate control 
packets exchanged among the RHs/Senders.  


5.3 Non-Decipherability of Data Packets by RHs

TRACK requires that a Repair Head Node (RH) join all of the multicast 
groups that its descendants have joined.  For TRACK it is preferable 
that authentication methods based on a symmetric key be deployed due to 
performance reasons.  This may be achieved explicitly, such as by using 
a keyed hash function, or implicitly using encryption (where a 
successful decryption implies the ciphertext is both unmodified in 
transit and was generated by a holder of the symmetric key).

However, TRACK has a further requirement, namely that the RHs be 
OPTIONALLY prevented from reading the multicast data.  More 
specifically, we perceive that RHs may be administered as part of a 
reliability service offered by third parties such as ISPs.  These third 
parties may refuse the ability to decipher data packets in order to 
avoid the legal ramifications of having access to the data contents.  
Thus, from the ISP perspective, TRACK SHOULD allow them to prove to the 
content-owner that they do not posses the means to alter the contents 
transmitted through the multicast groups.

Given the above requirement of the RHs and the need for fast 
authentication, we propose:

- Data stream confidentiality, using either a symmetric or asymmetric 
key, SHOULD be separated from data authentication, using a symmetric 
key (i.e. explicit group-authentication).

- Data stream confidentiality SHOULD be conducted at the application 
layer, while data authentication, using a symmetric key, SHOULD be 
conducted at the network layer.

- Since the RHs MAY be prevented from reading the multicast data, two 
(2) different keys SHOULD be deployed corresponding to the needs of 
data stream confidentiality and data group-authentication.


5.4 Authentication of Data Retransmissions

In TRACK, retransmissions of data packets always come from a child's 
parent, which may be either the original source or a RH node.  This 
local recovery is an important tool for increasing the scalability and 
latency of a protocol.  In the context of security, it raises the 
question as to what authentication methods should be used on these 
packets.

(a) If source authentication (using public key cryptography) and data 
confidentiality (including implicit group authentication) is 
applied at the application layer, the RH can simply replay the data 
(i.e. payload) unmodified to the querying receivers via local 
multicast.

(b) If, however, explicit group authentication (using a symmetric key) 
was applied at the network layer (e.g. using IPsec), then the RH 
could not simply replay the packet due to restrictions at the IP 
layer.  Thus, in this case the RH would have to re-apply the group-
authentication.

Since the retransmission is via multicast to a subgroup, then the 
RH can either use the existing group-shared symmetric key or use a 
separate symmetric key only for the subgroup of its children.  We 
propose the later approach be OPTIONALLY supported, which means 
that a RH and its children (Receivers and in some cases other 
Repair Heads) could have to share a separate symmetric key for 
explicit group authentication at the IP layer.


5.5 Keys for Data Confidentiality and for Authentication

As mentioned above, we propose the separation of data stream 
confidentiality using a symmetric key encryption (effecting an implicit 
group-authentication) from data authentication using a symmetric key and 
a keyed hash function (i.e. explicit group-authentication).

We now denote the symmetric key for data stream confidentiality at the 
application layer as the GroupDataKey. Only the source and valid 
receivers will have a copy of the GroupDataKey, which is delivered to 
them through the appropriate Group Key Management (GKM) protocol that 
identifies and verifies the members individually.  In the case where the 
RHs are not permitted to read the multicast data, they MUST be prevented 
by the GKM protocol from obtaining the GroupDataKey.

We denote the symmetric key for explicit group-authentication at the 
network layer as the GroupAuthKey. The GroupAuthKey is distinct from the 
GroupDataKey. For TRACK, we propose, where feasible, the use of IPsec 
with keyed hashing at the network layer to provide explicit group-
authentication using the GroupAuthKey.  Unlike the GroupDataKey, the 
GroupAuthKey is known by all entities involved in the multicast.  This 
includes all interior node entities (RHs), the Sender and the Receivers.


5.6 Authenticity of NACK and other Control Packets

In TRACK, a RH responds to a NACK from one its children (typically a 
Receiver) by re-transmitting the lost packet via local multicast.  This 
basic behavior can be open to abuse by an attacker who injects spurious 
NACK messages towards the RH, causing a local multicast to all children 
of the RH.  In itself this is a waste of bandwidth and may result in a 
denial of resource to the group members.  Other control packets such as 
group membership requests, could directly impact the state of the group, 
and could also be used in denial of service attacks.

To counter these types of attack, the control messages themselves SHOULD 
be authenticated by the RH.  Digital signatures using public key 
cryptography could be applied to the control messages.  However, this 
approach would be inefficient due to the high CPU cost of public key 
encryption.  Also, it would require creating a separate security 
association with each child of the RH.

Instead, we propose that NACK and other control messages from a child 
(Receiver) to its RH be protected using symmetric IPsec based 
authentication, where feasible.  This requires the two parties to first 
establish a Security Association (SA) and a shared symmetric key.  The 
symmetric key is uniform over a subgroup of receivers (i.e. those under 
the RH).


5.7 Fault Recovery

If a child's connection to a RH or Sender fails, TRACK provides 
automatic mechanisms for failing-over to another RH or to the Sender.  
This reconnection needs to happen quickly, so that the child can rejoin 
the data stream before too much data has been missed to recover from.  
If a child needs to get a new key for that RH or Sender, this can be a 
bottleneck.  Given that the key distribution infrastructure may be 
centralized, and a majority of receivers may need to fail over at the 
same time, this presents a major opportunity for network congestion.

TRACK entities are expected to usually have the addresses of one or more 
backup nodes.  When implementing security features, each child SHOULD 
keep the key for its primary backup parent.  Optionally, it MAY need to 
keep the keys for each of the backup parents it is using.


5.8 Implementation with Different Levels of OS Protection

A TRACK protocol can be implemented in (at least) one of three ways.
- Application level.  Most implementations of TRACK for the near 
future are expected to operate in the application level of the OS, 
running on top of UDP. 
- Kernel.  As TRACK becomes bundled with standard operating systems, 
it is expected to become a kernel module, and run directly over IP.
- Virtual machine.  Some TRACK entities (particularly senders and 
receivers) will be run in virtual machines, such as when implemented 
as a Java applet.

TRACK protocol security SHOULD accommodate all three of these options.  
This raises the following issues.
- Application Level.  One advantage of application level 
implementations is their flexibility.  These implementations could 
use either IPsec routines, the application layer security functions, 
or both.
- Virtual Machines.  There are issues trying to use IPsec with 
virtual machines such as Java, which have to date hindered the 
support of IPsec through native Java applets.  TRACK SHOULD be able 
to OPTIONALLY use only application level security.
- Kernel Implementations.  As a TRACK protocol becomes bundled with 
operating systems, it is expected that IPsec will also become bundled 
with the OS.  To avoid having to use less trusted software in the 
application level, the TRACK protocol SHOULD be able to use a kernel 
level security system (such as IPsec) for its transport level 
security needs.


5.9 Separate Regional Protection

TRACK is expected to be used for content distribution from a few senders 
to many receivers.  In the case of applications that distribute critical 
data to many different organizations, it is not enough to trust all 
receivers.  For example, a market data feed provider could be using a 
TRACK protocol to distribute live market data feeds to competing 
financial institutions.  In this situation, the data feed provider needs 
to be able to protect individual companies from corrupted control 
packets from other customers (which could be generated either 
intentionally, or more likely, unintentionally) which would cause denial 
of service.

As we have proposed, a TRACK protocol MAY provide separate regional keys 
for the group-authentication of control packets sent from the receivers 
of different RHs.  This allows the authentication of control-messages 
for each set of receivers (part of one customer) to be done separately 
(from another set of receivers, as part of a different customer). Since 
for each set of receivers a different key is used, this limits the 
ability of a customer to perpetrate denial of service attacks against 
other customers. 


5.10 Piracy of Pay-Per-Use Data

A common scenario for TRACK involves pay-per-use data distribution, such 
as live market data, pay-per-view video signals, or paid subscriptions 
to software updates.  In this scenario, a receiver cannot be trusted to 
not give its group keys to outside entities that are trying to get free 
service.  We mention this requirement since it is different than point-
to-point security.  However, this requirement is the responsibility of 
the application level security.



6. Architecture Recommendations

The previous section detailed some of the specific requirements and 
issues for TRACK protocol security, along with some individual 
recommendations on handling each one.  Given those requirements, we 
propose the following architecture recommendations for implementing 
security with TRACK.  


6.1 Separation of Security Responsibilities

As detailed above, TRACK is primarily concerned with protection of the 
network infrastructure, rather than with issues such as data 
confidentiality and source-authentication.  Therefore, we RECOMMEND that 
TRACK SHOULD provide:
   (a) group authentication of control packets, and
   (b) OPTIONAL group authentication of data packets
TRACK MAY choose to provide:
   (c) OPTIONAL privacy of data and of control packet headers.  
To accomplish this, we RECOMMEND that, where feasible, TRACK use IPsec 
technology at the network layer, while letting application level 
security perform additional functions as needed.  For implementations 
that do not have access to IPsec, and are not implemented as part of the 
OS, application level security can be used instead--although this of 
course risks incompatibility with other implementations.

The separation of group-authentication of data from both data source-
authentication and data-confidentiality is tightly coupled to the choice 
of recommending IPsec for the group authentication.  These two choices 
are motivated by the following:

(a) Non-Decipherability of data by interior control nodes: it is a 
requirement of TRACK that in some deployments, its control entities 
(RHs) be unable to decipher the data packet.  Thus, the GroupDataKey 
for data encryption and GroupAuthKey for group-authentication SHOULD 
be distinct.  It is not sufficient to simply use an identical key 
(for the GroupDataKey and GroupAuthKey) and to instruct the TRACK 
protocol entities to avoid deciphering the data packets.  It SHOULD 
be provably shown that the interior control nodes do not have the 
ability to decipher the data packets (even if they wish to do so).

(b) Use of IPsec technologies: considerable effort has been invested in 
developing the IPsec architecture and protocols [KA98a, KA98b], and 
a growing number of vendors are supporting IPsec.  The IPsec suite 
offers a number of features, including some protection against 
replay attacks.

(c) Multicast IPsec: the IPsec architecture has intentionally allowed 
the use of IPsec for IP multicast without changes to the basic 
constructs within the IPsec suite.  Currently, work is proceeding 
towards the establishment of a standard mechanism to select the 
Group Security Association (Group SA or GSA) for multicast and a 
method to disseminate the GSA to the valid members of the group 
[HCM98,HH99a].

(d) Appropriate Level:  since the primary purpose of transport level 
security is to secure the infrastructure at a transport level, using 
a network or transport level security protocol allows each to be 
implemented together--either in the OS, or in the application layer.


6.2 Division of Responsibilities

Given this fundamental division between application and transport 
responsibilities, we divide the security responsibilities in to four 
parts.

Network Responsibilities (IP and IP Multicast)
----------------------------------------------

- Admission controls on senders--to protect against "brute 
  force" spamming attacks.
- Authentication of routing control packets--to protect 
  the routing infrastructure from denial of service attacks.

Transport Responsibilities (TRACK)
------------------------------------
- Protection of the control messages from replay attacks
  and other denial-of-service attacks.
- Optional: protection of data packets from replay attacks.
- Optional: encryption of data and control headers to minimize
  network analysis by attackers.

End to End Responsibilities (Application)
-----------------------------------------
- Source authentication--to verify the authenticity of data,
  and provide OPTIONAL non-repudiation of data.
- Data encryption--to provide data confidentiality.

Key Management Infrastructure
-------------------------------
- Distribution of transport and network layer keys: authentication
  of individual hosts, and distribution of keys to those hosts
- Application level key distribution: authentication of
  individual processes, and distribution of keys to those processes
- Optional: periodic rekeying--group keys periodically need
  to be changed, both after a certain time limit has expired,
  and/or after the group membership changes.

The figure below shows how these components relate to each other.  TRACK 
can be used without any additional security at the IP/IP Multicast 
level, although this will not provide full protection from denial of 
service attacks.  TRACK will be able to be used on top of UDP or raw 
IP/IP Multicast.  A TRACK protocol can use either IPsec or application 
level security for its network security requirements, although we 
RECOMMEND using IPsec wherever possible.
                       +--------------------+       +----------+
+--------------+<----->|    Application     |<----->|  App Sec |
|              |       +--------------------+   |==>|          |
|              |       |       TRACK        |<--|   +----------+
|     Key      |<----->+          +---------+   |-->|          |
|  Management  |       |          |   UDP   |       |   IPsec  |
|              |       +--------------------+       |          |
|              |<=====>|  IP, IP Multicast  |<=====>|          |
+--------------+       +--------------------+       +----------|

  <===> Optional


For example, when a data packet is to be sent to the multicast group, 
the Sender/Source first (optionally) enciphers the data packet using the 
GroupDataKey above the RM/transport layer.  It is then passed to the 
RM/transport layer, which attaches the necessary RM headers.  The result 
is then passed down to the IP layer where IPsec authentication is 
established (using the GroupAuthKey).

A Receiver in the multicast group would be in possession of both the 
GroupDataKey and the GroupAuthKey, and thus will be able to first 
authenticate the data packet using the GroupAuthKey, and then continue 
to decipher the data packet using the GroupDataKey.

A Repair Head Node (RH) will possess the GroupAuthKey (but not the 
GroupDataKey), and thus will only be able to authenticate the packet 
using the GroupAuthKey using IPsec.  After verifying the authenticity of 
a received data packet, a RH will be able to retransmit the (enciphered) 
data packet to its children, either via unicast or region-based local 
multicast.  A retransmission of a lost data packet from a RH will be 
authenticated using a SubgroupAuthKey (see below) which is a symmetric 
key shared by a RH and all its children Receivers only.

Again, although the current work proposes the use of unicast IPsec and 
multicast IPsec at the network layer, it does not preclude the use of 
other authentication technologies at the network layer or at the 
RM/transport layer.  Such technologies, however, will have to address 
much of the same issues faced by IPsec, including prevention of replays, 
the creation and maintenance of state (i.e. "Security Associations") 
associated with the GroupAuthKey, the Sender and Receiver(s), and other 
features and supporting mechanisms.  It is precisely the growing 
availability of IPsec that motivates the current work to choose IPsec 
for network layer authentication for both data and control packets.


6.3 TRACK Keys

In general, each node in the hierarchy MUST be able to authenticate 
itself to the key management entity/server, before it will be allowed to 
receive any of the below keys.  We assume the implementation of a key 
management infrastructure, which interfaces with the RHs, as well as the 
Senders and Receivers.  

We propose that this key management system be responsible for 
distributing the following TRACK protocol keys:

 -  GroupDataKey: 
The GroupDataKey is the unique symmetric key for data encryption 
shared by all members of a multicast group, excluding the interior 
tree entities.  Typically, one GroupDataKey is associated with one 
multicast group.  The GroupDataKey is used to provide access control 
to the data packet by way of the Sender/Source enciphering the data 
packet.  Since only the Receivers hold the copy of the GroupDataKey, 
only the Receivers will be able to decipher the data packets.  This 
is an OPTIONAL application key, which does not directly concern the 
TRACK transport.

 -  GroupAuthKey: 
The GroupAuthKey is the unique symmetric key shared by all members 
of a multicast group, including the interior control nodes.  One 
GroupAuthKey is associated with one multicast group.  The purpose of 
the GroupAuthKey is to provide authentication of the (possibly 
enciphered) data packets.  In the context of IPsec authentication, 
this can be achieved using a keyed hash function, such as HMAC-MD5-
96 [MG98a] and HMAC-SHA-1-96 [MG98b].

 -  SubgroupAuthKey: 
The SubgroupAuthKey is the unique symmetric key shared only by 
entities within a given local region, consisting of a RH and its 
children (consisting of one or more Receivers, and possibly one 
child RH). The SubgroupAuthKey is used by the parent in a local 
region to provide group-authentication for the (lost) data packets 
(still enciphered under the GroupDataKey) which are retransmitted to 
the Receivers in the region via local multicast.  The 
SubgroupAuthKey is also used by the entities in a region to group-
authenticate control messages that are exchanged with each other. 
Similar to the GroupAuthKey, we propose the use of IPsec based 
authentication via keyed hash function.

Note that for region-based retransmission of lost packets and for 
control-packet authentication, the SubgroupAuthKey is used instead 
of the GroupAuthKey (not both).

Note that if a RH happens to be a child within a region and at the 
same time a parent within its own region, then that RH will hold two 
distinct SubgroupAuthKeys corresponding to the two regions.

 -  InteriorNodeKey: 
The InteriorNodeKey is a symmetric key shared by all interior 
control nodes within a given TRACK hierarchy.  The key is 
independent of any data stream, and is used to authenticate control 
packets exchanged among the RHs.  Should a child-RH request a 
retransmission of a lost data packet from its parent-RH, then the 
parent-RH will deliver the (encrypted) lost packet to the child-RH, 
authenticated using the InteriorNodeKey.

Before the child-RH retransmits this lost data packet to its own 
region, it MUST first authenticate the packet from the parent-RH 
using the InteriorNodeKey.  It MUST then use its own SubgroupAuthKey 
of the region headed/parented by that child-RH to provide 
authentication for the retransmitted data packet.  


7. Limitations

The proposed security architecture has certain limitations.  These 
include:

(a)	Brute Force Attacks.  At the transport level, no admission controls 
can be put in place to throttle a sender which is generating lots of 
spurious packets to a multicast address.  This is the requirement of 
the network level.  At the present time, no accepted standard exists 
for doing so at the IP Multicast level.

(b)	Key Corruption.  The recommended group key architecture makes a 
careful tradeoff between the need to distribute many keys, and the 
need to localize the effects of a node which is compromised. This 
proposal allows a local receiver to perpetrate denial of service 
attacks to its local RH, and the receivers served by that RH.

(c)	Privacy.  In order to prevent network traffic analysis attacks, the 
group keys can be used with IPsec to encrypt the packets sent to the 
group, in addition to doing packet authentication.  However, it must 
be recognized that this is not a general solution for data privacy.  
In particular, the group keys can easily be passed from a valid 
receiver to an unauthorized receiver, to enable piracy of pay-per-
use services.  This is reasonable, as data privacy is not considered 
part of the scope of TRACK.

(d)	Multicast IPsec.  Although currently IPsec is generally implemented 
for pair-wise (one-to-one) communications between one sender and one 
receiver, the design of IPsec itself allows for usage in IP 
multicast.  Currently the Security Association (SA) definition 
requires the Security Parameter Index (SPI) to be selected by the 
receiver [KA98a].  However, since in IP multicast a group address 
may be associated with multiple receivers, the existing method of 
selecting the SPI must be re-interpreted.  Hence, in the context of 
"Multicast IPsec", a pre-defined entity (e.g. the source, or the key 
server/manager) MUST first create the Group-SA (including selecting 
the SPI) and deliver the Group-SA to all the members of the group 
(by either the "push" or "pull" paradigm).  Thus rather than being a 
modification to the IPsec specification, this requirement simply 
means that additional protocols are needed to establish a shared 
Group-SA.  One possible approach for the Group Key Management (GKM) 
protocol is to also deliver the Group-SA (and other keying material) 
to the receiver at the same time it delivers the GroupDataKey 
[HCM98].


8. Summary

In summary, in the current work we have proposed for TRACK the 
separation of data stream confidentiality using a symmetric key (i.e. 
implicit group-authentication) from data authentication using a 
symmetric key (i.e. explicit group-authentication). Data stream 
confidentiality using a symmetric key SHOULD be conducted at the 
application layer, while data authentication using a symmetric key 
SHOULD be conducted at the network layer.  Since the RHs MAY be 
prevented from reading the multicast data, two (2) different symmetric 
keys SHOULD be deployed corresponding to the needs of data stream 
confidentiality and data group-authentication.

This proposal follows a number of requirements, some of which are 
specific to TRACK.  The use of group-authentication at the network layer 
is:
   - for protection of the transport and IP headers.
   - to allow a RH to authentically retransmit lost packets to 
     a destination address (unicast or local multicast) different 
     from the original multicast group address.
   - to allow a separate symmetric key encryption to be applied 
     (at the application layer) in order prevent the RHs from
     reading the data.

We assume encryption for confidentiality (using the GroupDataKey) has 
been applied above the transport layer by the sender/source, in order to 
prevent a RH from decrypting the data.  The GroupDataKey is only 
available to the group members, excluding the interior control nodes.

We propose the use of another key (GroupAuthKey) to provide group-
authentication from the source/sender at the network layer using 
symmetric key cryptography.  The GroupAuthKey is known by the members of 
the group, as well as the interior control nodes.

For the retransmission of lost packets to regions within a group, either 
via unicast or local multicast, we propose the use of a SubgroupAuthKey 
(instead of the GroupAuthKey) which is known only to entities within a 
region (RH and its children). The SubgroupAuthKey is also used by the 
entities in a region to group-authenticate control messages that are 
exchanged with each other. 


9. References

[HCM98] T. Hardjono, B. Cain and I. Monga, "Intra-Domain Group Key 
Management Protocol", work in progress, draft-ietf-ipsec-intragkm-
00.txt, Nov 1998.

[HH99a] H. Harney and E. Harder, "Group Security Association Key 
Management Protocol", work in progress, draft-harney-sparta-gsakmp-sec-
00.txt, May 1999.

[KCWP00] M. Kadansky, D. Chiu, J. Wesley, J. Provino.  "Tree-based 
Reliable Multicast (TRAM)", work in progress, draft-kadansky-tram-
02.txt, January 2000.

[KA98a] S. Kent and R. Atkinson, "Security Architecture for the Internet 
Protocol", IETF, RFC 1825, 1998.

[KA98b] S. Kent and R. Atkinson, "IP Authentication Header", work in 
progress, Internet Draft, July 1998.

[MG98a] C. Madson, R. Glenn, "The Use of HMAC-MD5-96 within ESP and AH", 
work in progress, draft-ietf-ipsec-auth-hmac-md5-96-03.txt, Feb 1998

[MG98b] C. Madson, R Glenn, The Use of HMAC-SHA-1-96 within ESP and AH", 
work in progress, "draft-ietf-ipsec-auth-hmac-sha1-96-03.txt, Feb, 1998.

[R92] R. Rivest, "MD5 Digest Algorithm", RFC1321, April 1992.

[RSA93]  RSA Laboratories, "PKCS#1: RSA Encryption Standard", Volume1.5, 
No. 1993.

[WBPM98] B. Whetten, M. Basavaiah, S. Paul, T. Montgomery, "RMTP-II 
Specification".  Work in progress, draft-whetten-rmtp-ii-00.txt, April 
8, 1998.

   Bradner, S., "Key words for use in RFCs to Indicate 
Requirement Levels", BCP 14, RFC 2119, March 1997


PAFTECH AB 2003-20262026-04-22 23:32:10