One document matched: draft-irtf-smug-data-transforms-00.txt
Internet Research Task Force Ran Canetti (IBM Watson)
INTERNET-DRAFT Pankaj Rohatgi (IBM Watson)
June 2000 Pau-Chen Cheng (IBM Watson)
Multicast Data Security Transformations:
Requirements, Considerations, and Proposed Design
<draft-irtf-smug-data-transforms-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
In the framework document <draft-irtf-smug-framework-00.txt>,
the Secure Multicast Group (SMuG) has identified three functionalities
that deal with security transformations for the multicasted
data. These are data encryption, source authentication, and group
authentication. This document expands on the issues to be taken
into consideration when designing transforms that realize these
functionalities. These issues include the order of applying the
transforms, their placement in the communication layers, possible
aggregation of several functionalities in a single transform, and
the relationships with other protocols (such as reliable multicast
protocols). Next a specific design is proposed, that attempts to meet
the requirements of prominent application in a simple yet flexible way.
Canetti Rohatgi Cheng 1
Contents:
1. Introduction.................................................. 3
2. Data security transforms...................................... 4
2.1 The functionalities ....................................... 4
2.2 Considerations ............................................ 5
3. The proposed design .......................................... 7
4. Possible usage patterns ...................................... 10
5. References.................................................... 12
Canetti Rohatgi Cheng 2
1. Introduction
A security solution for IP multicast consists of three main components:
a component that sets the security policy of the group (typically set by
the group controller), a component that handles the interaction between
group members and the group controller(s) (and in particular guarantees
secure dissemination and update of policy and cryptographic keys to the
group members), and a component that applies actual cryptographic
transforms to the data in order to implement the security policy.
See more details in the SMuG framework document [HCBD].
This document concentrates on the design and placement of the
cryptographic transforms applied to the multicasted data. It starts
with a short review of the functionalities for multicast security data
transforms. Next it reviews the issues related to the ordering, placement
and aggregation of these functionalities.
This includes integration of the transforms with each other,
with the current IP multicast model, with reliable multicast protocols,
and with the secure multicast framework.
Next a specific design for the security data transforms is proposed.
The design emphasizes flexibility, simplicity and maximal reuse of
IPSec protocols (in particular, ESP [KA]). It allows providing security
either in the IP layer or in the application/transport layer.
It also allows for easy incorporation within the reliable multicast
protocols that are being designed in the Reliable Multicast Transport
(RMT) working group.
The design is quite simple. It consists of two ESP-like transforms,
MESP (for Multicast ESP) which is an IP layer transform and AMESP
which is an application/transport layer transform:
* MESP is an extension of ESP,
in a sense that for certain choice of parameters, MESP is identical
to ESP. In particular, MESP can keep the same IANA protocol number as
ESP (namely, protocol 50). This also means that the existing ESP
transform can be used to provide limited support for secure multicast.
* AMESP is similar to MESP, but works in the application/transport layer.
Each one of these transforms is capable of providing full security
for the data (encryption, group and source authentication)
independently of the other. Furthermore, in general a secure
multicast protocol-suite will apply *both* transforms to the
data. It is up to the security policy (set by the application) to
specify which cryptographic algorithms, if any, are invoked in each
transform.
Canetti Rohatgi Cheng 3
This design allows for increased flexibility in the ordering and
layer placement of the three basic functionalities. Using different
sets of policy parameters, a system can do all the cryptographic
transforms in the application layer, all in the network layer, or
some in the application and some in the network layer. In addition,
AMESP can be used in conjunction with a transport-layer reliable
multicast transform, to obtain a single transform that guarantees
both reliability and security. See more details in Section 4.
A remark on terminology: we make a distinction between the term
functionality (or, "functional building block" in the terminology of
[HCBD]) and the term "security transform". The former refers to a
cryptographic functionality (e.g., encryption, source authentication,
or group authentication). The latter refers to an actual transform
that is being carried out on the data (e.g., ESP or AH). In particular,
a single transform can provide more than one functionality.
2. Data security transforms: Issues and considerations.
2.1 The functionalities
The security requirements for multicast have been discussed and
enumerated in the SMuG Framework document [HCBD] and also in
[CP]. In particular, these reference documents identify three
different functionalities that must be part of any complete solution.
The functionalities for multicast security data transforms
are:
a) Group Secrecy (GS).
The group secrecy functionality ensures that the transmitted data
is accessible only to group members. This can also be viewed as a
way to enforce access control. A typical realization is to encrypt
data using a key known only to group members. Essentially, the
solution for multicast is the same as the solution for
confidentiality in unicast.
b) Group Authentication (GA).
This functionality ensures that any group member can verify that
the received data originated from someone in the group. Note that
group authentication by itself does not identify the source of the
data; for example the data could have been forged by any malicious
group member. It can be efficiently realized using standard shared
key authentication mechanisms such as Message Authentication Codes
(MACs), e.g., CBC-MAC or HMAC.
Canetti Rohatgi Cheng 4
c) Source and Data Authentication (SrA). This functionality ensures that
any group member can verify that the received data originated from
the claimed source and was not modified en-route by anyone
(including other malicious group members). Source and Data
Authentication provides a much stronger security guarantee than the
Group authentication functionality. Realizing source authentication
requires stronger cryptographic techniques such as digital
signatures, stream signatures [GR], flow signatures [WL], hybrid
signatures [R], timed MACs [Ch,PCTS], asymmetric MACs [CGIMNP], etc.
2.2 Considerations regarding ordering, layer placement and aggregation
of the functionalities.
A secure multicast solution is likely to utilize all three of the
basic functionalities. Due to the diversity of the various application
and deployment scenarios for multicast, several issues arise with respect
to the layering of these functionalities (i.e., in which layer of the
networking stack each functionality should be applied to the data),
ordering of application of the functionalities and use of composite
transforms that aggregate more than one functionality. These issues
are listed below.
1. Should transforms include only a single functionality or should
transforms combine several functionalities for common usage scenarios?
For example ESP provides both encryption and group authentication.
2. Potential for interactions between security transforms and Reliable
Multicast protocols:
A. Reliable multicast protocols based on Forward Error Correction
(FEC) techniques require source authentication to be done below or
together with the reliability transform. This is because these
reliability solutions are very susceptible to denial-of-service
attacks based on a small number of forged packets.
B. Other multicast reliability mechanisms are based on
having intermediary network entities (e.g., "repair nodes")
retransmit lost packets. Since the reliability mechanism resides
above the network layer, a network layer encryption
transform would interfere with the retransmission mechanism unless
the intermediary entities have access to the group key and decrypt
and re-encrypt data.
C. On the other hand, the Source Authentication functionality
can be realized much more efficiently over Reliable Multicast than
over plain IP-Multicast. This means that the choice of a data
transform could depend on whether reliable multicast is provided.
Canetti Rohatgi Cheng 5
3. Should all transforms be applied at the same level in the networking
stack, either application or network layer or should there be
flexibility in applying different transforms at different layers?
The main advantage of a flexible approach is that it may allow the
re-use of existing IPSec components directly, and may facilitate
the transition from application-layer transforms to
network-layer transforms without changing the overall design.
However, the flexibility to apply different transforms in different
layers would complicate both the design and the security analysis.
For example, the end-points of the connections in different layers
are different entities (e.g., host vs. application).
4. More considerations regarding placing transforms at different
layers of the stack.
Arguments in favor of application level transforms:
- Supports application -level group membership granularity.
- Faster to implement and deploy, requires no kernel modifications.
- Less efficient, especially in multiple group members per host
scenarios.
- some source authentication transforms are more efficient when
applied at the application layer above some form of reliable
multicast transport.
Arguments in favor of network level transforms:
- Supports host-level group membership granularity.
- more efficient, especially in multiple group members/host
scenarios.
- Does not require modification of current multicast applications;
if done right, secure multicast should be transparent to
current multicast applications.
5. In scenarios where more than one functionality is used,
the order of application of the functionalities could be important.
- Source authentication should ideally be done before encryption.
Two reasons are:
-- For the purpose of non-repudiation, it is a good cryptographic
practice to apply source authentication before any encryption.
If a source authenticates encrypted data, then for non-repudiation
purposes there may be ambiguity regarding the cleartext, since
every different key potentially yields a different cleartext.
( To mitigate this problem the source could also authenticate the
key. This may not be trivial since one has to make sure that
authenticating the key does not leak any information on the key.)
-- Encrypted data may get decrypted and re-encrypted by a different
key at gateways between different domains, e.g., in Iolus or
because of legal restrictions on permissible encryption
schemes. Therefore in this scenario source authentication
information should be applied before encryption.
Canetti Rohatgi Cheng 6
- To minimize impact of denial-of-service attacks, it is usually
best to have group authentication transformation performed last,
i.e., checked first.
In summary, it seems best not to mandate an order. For example,
GA[GS[SrA[M]]] may be preferable in some scenarios, and SrA[GS[M]]
may be more appropriate in other scenarios.
REMARK: Order of transform application and the level (in the network
stack) they are applied are related. Order of application can only
move down the stack.
3. The proposed design
3.1 Network layer transform: MESP
The Network layer transform (MESP) is intended to be an extension of
the ESP transform in IPSec, in that the encryption algorithm of the
ESP is overloaded to perform both encryption and source
authentication. Also, the authentication algorithm of ESP can be
replaced by algorithms that guarantee source authentication (such
as timed MACs algorithms). Thus the MESP packet is identical to an
ESP packet in situations where no source authentication is done in
the network layer.
Canetti Rohatgi Cheng 7
Figure 1: MESP 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ----
| Security Parameters Index (SPI) | Ext.
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Auth
| Sequence Number | cov.
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ^ |
| IV (if any) | | |
~ ~ | |
| | | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | --- | ---
| Source ID | | ^ | ^
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | |
| Multicast Session ID | | | | |
~ ~ | I | |
| | | n | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | t. | |
| Internal Authentication SEQ # | | A | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | u | |
| Reserved | Data and Option Length | | t | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- | h. | |
| Transform-specific options (variable) | P co | |
| + | a ve | |
~ Data (variable) ~ y ra | |
| | l ge | |
| | o v | |
|...............................................................| a --- | |
| Internal Authentication Tag (variable) | d | |
| | | |Conf
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |Cov.
| | Padding (0-255 bytes) | | | |
+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | |
| | Pad Length | Next Header | v v v
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ -- ---
| External Authentication Data (variable) |
~ ~
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Canetti Rohatgi Cheng 8
The MESP Packet format is illustrated in Figure 1. As in the ESP
packet format, the MESP packet starts with a 32-bit Security
Parameter Index (SPI) field followed by a 32-bit sequence number
field. As in IPSec, the SPI together with the destination address
uniquely identify a Security Association (SA) and associated
keying material. The main difference between the unicast and
multicast case is that the destination address in this case is a
multicast address. It is also expected that each sender in a
multicast group would be assigned a different SPI, so that each
source can manage its own sequence number.
As in an ESP packet, the sequence number field is followed by an
optional IV field, plus a variable-length field of encrypted data. In
cases where the MESP does not involve any internal authentication, the
structure of the encrypted data field is identical to that of the ESP
packet. In case that the MESP involves internal authentication,
the encrypted data consists of the following fields:
* Internal Authentication Sequence Number (4 bytes).
This sequence number is potentially different than the ESP sequence
number. (In particular, it can be source-specific.) Note that
the Internal Authentication Sequence Number authenticated both by
the internal authentication and by the external authentication
transforms, whereas the ESP sequence number is authenticated only
by the external authentication transform.
* Reserved (2 Bytes)
* Data and Options Length (2 Bytes)
This field contains the combined length of the transform-specific
options and of the data. It does NOT contain the length of the
Internal Authentication Tag.
* Transform-specific Options and Data (Variable)
This field contains optional parameters that may be required by
specific transforms, together with the data payload. For maximum
flexibility, this document does not mandate any particular structure
for this field; it is left to the designers of specific internal
authentication transforms to come up with the most appropriate
structure for this field.
* Internal Authentication Tag (Variable)
As in an ESP packet, the encrypted payload ends with variable amount
(0-255 bytes) of padding followed by the pad length and next header
fields. The next header field still refers to the next protocol
header in the actual data. The format of the internal authenticating
data will be described in greater detail later.
As in ESP, the encrypted data is followed by the external
authentication data or tag, which provides either group or source
authentication (depending on the algorithm used) for the SPI, SEQ
Number and encrypted data. If the current authentication
algorithms of ESP are used then the the external authentication
data provides only group authentication. If appropriate algorithms
are used (such as timed MACs) then the external authentication may
provide also source authentication.
Canetti Rohatgi Cheng 9
3.1.1 Internal Authentication transform format.
We now describe the internal authentication transform format in
greater detail. The internal authentication transform prepends a
fixed size internal authentication header together with transform
specific options, to the data to be authenticated and appends a
variable sized internal authentication tag at the end of the
data. The internal authentication tag authenticates both the
header, options and the data. The internal authentication header
consists of of a 32-bit Source ID field, followed by a TBD sized
Multicast Session ID field, followed by a 32-bit Internal
Authentication Sequence Number field followed by a 16-bit reserved
field (currently mandated to be all 0 bits) followed by a 16 bit
Data and Options Length field. The function of each of these fields
is as follows.
Source ID: This is a 32 bit quantity which identifies the source. The
source identifier could be independent of the particular SPI that is
assigned to the source for the particular multicast session.
Multicast Session ID: This identifier uniquely specifies the
current multicast session in which the source is
participating. This field is intended to prevent out-of-context
substitution attacks wherein source authenticated data from a
particular source in one multicast session is replayed by an
attacker in another session. The size of this field is TBD.
Internal Authentication SEQ number: This sequence number is with
respect to the stream/flow of internal authenticated data from the
source in the current multicast session. In general this may not
be related to the ESP sequence number which may be only group
authenticated.
Reserved field. This 16-bit field which is currently set to 0's is
reserved for future extensions.
Data and Options Length field. This 16-bit field must contain the
length of the data (in bytes) that is authenticated using the internal
authentication algorithm. Since both the length of the
authenticated data and the internal authentication tag are
variable sized this field is to be used to determine the beginning
of the internal authentication tag.
3.2 Application layer transform: AMESP
The structure of the AMESP mimics the structure of MESP. The only
difference is that the next header field in not meaningful and is
mandated to be set to all 0's. Other fields are meant to be
functionally equivalent.
Canetti Rohatgi Cheng 10
4. Possible usage patterns
To exemplify the usability of the above design, we briefly mention
some potential usage patterns.
(1) AMESP with encryption, source and group authentication, null
MESP.
Here all the security is applied in the transport/application layer,
and no network layer mechanisms are deployed. This mode requires no
kernel modifications and can be used even in groups where hosts do not
have IPSec deployed.
(2) AMESP with source authentication, MESP with encryption and group
authentication.
Here source authentication is applied in the transport/application
layer, and encryption and group authentication are applied in the
network layer. This mode requires no kernel modifications and can be
used wherever IPSec is deployed.
(3) Null AMESP, MESP with encryption, source and group authentication.
Here all the security is applied in the network layer. This mode
requires some kernel changes (adding a transform in the ESP format),
but has the advantage that security is transparent to
applications. However, this mode is incompatible with
retransmission-based reliable multicast, unless all the
retransmission points become group members.
(4) AMESP used in conjunction with a reliable multicast transform.
When a secure multicast protocol is used in conjunction with a
transport-layer reliable multicast protocol, it is possible to use
AMESP to obtain reliable multicast transport-layer transform that
provides both security and reliability. Such a transform would have
a dedicated security field, and its processing can proceed roughly
as follows. (The description corresponds to the processing of an
outgoing packet. Processing of an incoming packet is analogous.)
a. Apply a first-pass of the reliability transform, with the security
field "zeroed out". Obtain a packet (or frame) denoted P.
b. Feed P (as data) to AMESP.
c. Use the fields of the generated packet (in AMESP format) to
modify P as follows: - Replace the data field of P with the
encrypted payload of AMESP. - Fill the security field in the
header of P with: -- The header information of AMESP, including
the SPI, the sequence number and IV. -- The external
authentication tag of AMESP. The obtained modified packet, P', is
the result of the combined transform.
Canetti Rohatgi Cheng 11
The combined transform has the advantage that the security
algorithms are applied to the data *after* the reliability
algorithms, and are still done at the transport layer (and
potentially outside of the kernel). Furthermore, there is only one
transport-layer multicast header. This can potentially be useful
when one needs to provide, at the transport layer, source
authentication of individual data packets.
5. References:
[CGIMNP] Canetti R., J. Garay, G. Itkis, D. Micciancio, M. Naor,
B. Pinkas, "Multicast Security: A Taxonomy and Efficient
Authentication", INFOCOM '99.
[CP] R. Canetti, B. Pinkas, "A taxonomy of multicast security issues",
draft-canetti-secure-multicast-taxonomy-01.txt, Nov. 1998.
[Ch] S. Cheung, "An Efficient Message Authentication Scheme for
Link State Routing". Proceedings of the 13th Annual Computer Security
Applications Conference, San Diego, December 8-12, 1997, pp.90-98.
[GR] R. Gennaro, P. Rohatgi, "How to Sign Digital Streams",
Advances in Cryptology - Crypto '97, Springer-Verlag LNCS 1294,
pp. 180-197, 1997.
[HCBD] T. Hardjono, R. Canetti, M. Baugher, P. Dinsmore,
"Secure IP Multicast: Problem areas, Framework, and Building Blocks",
Internet Draft draft-irtf-smug-framework-00.txt, October 1999.
[KA] Stephen Kent, Randall Atkinson, "IP Encapsulating Security
Payload (ESP)", Internet Draft draft-ietf-ipsec-esp-v2-06.txt, July
1998.
[PCTS] A. Perrig, R. Canetti, D. Tygar, D. Song, "Efficient
Authentication and Signature of Multicast Streams over Lossy
Channels" IEEE Symposium on Security and Privacy, Oakland, CA, May 2000.
[R] P. Rohatgi, "A Compact and Fast Signature Scheme for Multicast
Packet Authenticatio". In 6th ACM Computer and Communications Security
Conference (CCS) , Nov 1999.
[WL] C. K. Wong and S. S. Lam, "Digital Signatures for Flows and
Multicasts", IEEE ICNP '98. See also University of Texas at Austin,
Computer Science Technical report TR 98-15.
Canetti Rohatgi Cheng 12
Authors Addresses
Ran Canetti
EMail: canetti@watson.ibm.com
Pau-Chen Cheng
EMail: pau@watson.ibm.com
Pankaj Rohatgi
EMail: rohatgi@watson.ibm.com
IBM T.J. Watson Research Center
30 Saw Mill River Road
Hawthorne, NY 10598, USA
Tel: +1-914-784-6692
Canetti Rohatgi Cheng 13
| PAFTECH AB 2003-2026 | 2026-04-22 22:20:43 |