MSEC S. Fries
Internet-Draft H. Tschofenig
Expires: July 22, 2005 Siemens
January 18, 2005
Bootstrapping TESLA
draft-ietf-msec-bootstrapping-tesla-00.txt
Status of this Memo
This document is an Internet-Draft and is subject to all provisions
of Section 3 of RFC 3667. By submitting this Internet-Draft, each
author represents that any applicable patent or other IPR claims of
which he or she is aware have been or will be disclosed, and any of
which he or she become aware will be disclosed, in accordance with
RFC 3668.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as
Internet-Drafts.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt.
The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html.
This Internet-Draft will expire on July 22, 2005.
Copyright Notice
Copyright (C) The Internet Society (2005).
Abstract
With the Timed Efficient Stream Loss-tolerant Authentication protocol
(TESLA) a protocol for providing source authentication in multicast
scenarios was introduced. A mapping for TESLA to the Secure
Real-time Transport Protocol (SRTP) has been published which assumes
that some TESLA parameters are made available by out-of-band
mechanisms. This document describes payloads for bootstrapping these
Fries & Tschofenig Expires July 22, 2005 [Page 1]
Internet-Draft Bootstrapping TESLA January 2005
parameters with the help of the Multimedia Internet KEYing (MIKEY)
protocol.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3
3. TESLA Parameter Overview . . . . . . . . . . . . . . . . . . . 3
4. Parameter encoding within MIKEY . . . . . . . . . . . . . . . 4
4.1 Security Policy payload (SP) . . . . . . . . . . . . . . . 4
4.2 TESLA policy . . . . . . . . . . . . . . . . . . . . . . . 6
4.3 Time synchronization . . . . . . . . . . . . . . . . . . . 7
4.4 Key data transport within MIKEY's General Extension
Payload . . . . . . . . . . . . . . . . . . . . . . . . . 8
5. Security Considerations . . . . . . . . . . . . . . . . . . . 9
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 10
7. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 11
8. References . . . . . . . . . . . . . . . . . . . . . . . . . . 11
8.1 Normative References . . . . . . . . . . . . . . . . . . . 11
8.2 Informative References . . . . . . . . . . . . . . . . . . 12
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . 12
Intellectual Property and Copyright Statements . . . . . . . . 13
Fries & Tschofenig Expires July 22, 2005 [Page 2]
Internet-Draft Bootstrapping TESLA January 2005
1. Introduction
[I-D.ietf-msec-srtp-tesla] describes extensions for SRTP [RFC3711] in
order to support TESLA [I-D.ietf-msec-tesla-intro] for source
authentication in multicast scenarios. Therefore the cryptographic
context needs to be enhanced with a set of TESLA parameters. It is
necessary to provide these parameters before the actual multicast
session starts. [I-D.ietf-msec-srtp-tesla] does not address the
bootstrapping for these parameters.
This document details bootstrapping of TESLA using the Multimedia
Internet Keying (MIKEY) [RFC3830] protocol. MIKEY defines an
authentication and key management framework that can be used for
real-time applications (both for peer-to-peer communication and group
communication). In particular, [RFC3830] is defined in a way to
support SRTP in the first place but is open to enhancements to be
used for other purposes too.
The three authentication and key exchange protocols defined in
[RFC3830] as well as the fourth protocol provided by
[I-D.ietf-msec-mikey-dhhmac] may be used to provide also the TESLA
parameters. The required TESLA parameters to be exchanged are
already described in [I-D.ietf-msec-srtp-tesla], while this document
describes their transport within MIKEY.
The following security requirements have to be placed on the exchange
of TESLA parameters:
o Integrity MUST be provided when sending the TESLA parameters,
especially for the initial key.
o Confidentiallity MAY be provided for the TESLA parameter
2. Terminology
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in [RFC2119].
3. TESLA Parameter Overview
According to [I-D.ietf-msec-srtp-tesla] the following transform
dependent parameters need to be provided for proper TESLA operation:
1. An identifier for the PRF, f, implementing the one-way function
F(x) in TESLA (to derive the keys in the chain), e.g. to
indicate HMAC-SHA1.
2. A non-negative integer n_c, determining the length of the F
output, i.e. the length of the keys in the chain (that is also
Fries & Tschofenig Expires July 22, 2005 [Page 3]
Internet-Draft Bootstrapping TESLA January 2005
the key disclosed in an SRTP packet).
3. An identifier for the PRF, f', implementing the one-way function
F'(x) in TESLA (to derive the keys for the TESLA MAC, from the
keys in the chain), e.g. to indicate HMAC-SHA1.
4. A non-negative integer n_f, determining the length of the output
of F', i.e. of the key for the TESLA MAC.
5. An identifier for the TESLA MAC, that accepts the output of F'(x)
as its key, e.g. to indicate HMAC-SHA1.
6. A non-negative integer n_m, determining the length of the output
of the TESLA MAC.
7. The beginning of the session T_0,
8. The interval duration T_int (in msec),
9. The key disclosure delay d (in number of intervals)
10. Non-negative integer n_c, determining the length of the key
chain, which is determined based up the expected duration of the
stream.
11. The initial key of the chain to which the sender has committed
himself.
Section 6.2 in [I-D.ietf-msec-srtp-tesla] provides information about
the default value for the above-listed parameters.
4. Parameter encoding within MIKEY
As mentioned in Section 3, TESLA parameters need to be transported
before actually starting a session. MIKEY currently only defines a
payload for transporting the SRTP policy (see Section 6.10 of
[RFC3830]). This section describes the enhancement of MIKEY to allow
the transport of a TESLA policy and additionally the initial TESLA
key.
4.1 Security Policy payload (SP)
The Security Policy payload defines a set of policies that apply to a
specific security protocol. The definition here relies on the
security policy payload definition in [RFC3830].
Fries & Tschofenig Expires July 22, 2005 [Page 4]
Internet-Draft Bootstrapping TESLA January 2005
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 ! Policy no ! Prot type ! Policy param ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
~ length (cont) ! Policy param ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
* Next payload (8 bits):
Identifies the payload that is added after
this payload. See Section 6.1 of [RFC3830] for
more details.
* Policy no (8 bits):
Each security policy payload must be given a
distinct number for the current MIKEY session by the
local peer. This number is used to map a cryptographic session
to a specific policy (see also Section 6.1.1 of [RFC3830]).
* Prot type (8 bits):
This value defines the security protocol.
A second value needs to be defined as shown below:
(MIKEY already defines the value 0.)
Prot type | Value |
---------------------------
SRTP | 0 |
TESLA | 1 |
* Policy param length (16 bits):
This field defines the total length of the
policy parameters for the selected security protocol.
* Policy param (variable length):
This field defines the policy for the specific
security protocol.
The Policy param part is built up by a set of Type/Length/Value (TLV)
payloads. For each security protocol, a set of possible type/value
pairs can be negotiated as defined.
Fries & Tschofenig Expires July 22, 2005 [Page 5]
Internet-Draft Bootstrapping TESLA January 2005
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
! Type ! Length ! Value ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
* Type (8 bits):
Specifies the type of the parameter.
* Length (8 bits):
Specifies the length of the Value field (in bytes).
* Value (variable length):
Specifies the value of the parameter.
4.2 TESLA policy
This policy specifies the parameters for TESLA. The types/values
that can be negotiated are defined by the following table. The
concrete default values are taken from [I-D.ietf-msec-srtp-tesla],
but other values may also be used:
Type | Meaning | Possible values
---------------------------------------------------------------
1 | PRF identifier for f, realising F(x) | see below
2 | Length of PRF f output | 160
3 | PRF identifier for f', realising F'(x) | see below
4 | Length of PRF f' output | 160
5 | Identifier for the TESLA MAC | see below
6 | Length of TESLA MAC output | 80 (trunkened)
7 | Start of session | in bytes
8 | Interval duration T_int (in msec) | in bytes
9 | Key disclosure delay d | in bytes
10| Key chain length (numer of intervals) | in bytes
11| local timestamp media receiver t_r | see below
For the PRF realising F(x), a one byte length is sufficient.
The currently defined possible values are:
TESLA PRF F(x) | Value
-----------------------
NULL | 0
HMAC-SHA1 | 1
Fries & Tschofenig Expires July 22, 2005 [Page 6]
Internet-Draft Bootstrapping TESLA January 2005
For the PRF realising F'(x), a one byte length is enough.
The currently defined possible values are:
TESLA PRF F'(x) | Value
-----------------------
NULL | 0
HMAC-SHA1 | 1
For the TESLA MAC, a one byte length is enough.
The currently defined possible values are:
TESLA MAC | Value
-----------------------
NULL | 0
HMAC-SHA1 | 1
4.3 Time synchronization
MIKEY as well as TESLA require the time synchronization of the
communicating peers. MIKEY requires time sychronization to provide
timestamp based replay protection for the one-roundtrip
authentication and key exchange protocols. TESLA, on the other hand,
needs this information to determine the clock drift between the
senders and the receivers in order to appropriately release the
disclosed key. Two alternatives are available for time
synchronization:
1. Usage of out of band synchronization using NTP [RFC1305]. This
approach is already recommended within [RFC3830]. The advantage
of this approach is the option to use the MIKEY key management
variants that perform within a half roundtrip. The disadvantage
is the required time synchronization via an additional protocol.
2. [I-D.ietf-msec-tesla-intro] also sketches a possible inband
synchronization in Section 3.3.1. This approach is shortly
repeated here in the context of MIKEY. Note, that here the
actual TESLA policy payload is transmitted as part of the MIKEY
responder message.
* The data receiver, which would be the MIKEY initiator sets the
local time parameter t_r and sends it as part of the timestamp
payload as described in [RFC3830]. This value t_r needs to be
stored locally.
* Upon receipt of the MIKEY initiator message the data sender
replies with the MIKEY responder message, setting the local
time stamp at data receiver (parameter 11) to the value t_r
received in the MIKEY initiator message and sets his local
time as 64 bit UTC value t_s in the timestamp payload as
described in [RFC3830].
Fries & Tschofenig Expires July 22, 2005 [Page 7]
Internet-Draft Bootstrapping TESLA January 2005
MIKEY initiator message
[MIKEY parameter incl. local timestamp (t_r)]
------------------>
MIKEY responder message
[MIKEY parameter incl. local timestamp (t_s), TESLA policy
payload, received local time stamp t_r]
<------------------
* Upon receiving the MIKEY responder message the data receiver
sets D_t = t_s - t_r + S, where S is an estimated bound on the
clock drift throughout the duration of the session.
This approach has the advantage that it does not require an
additional time synchronization protocol. The disadvantage is
the necessity to perform a full MIKEY handshake, to enable
correct parameter transport. Moreover this approach is direction
dependent, as it may only be applied if the media receiver is
also the MIKEY initiator.
Therefore, in scenarios, were the media receiver is also the
MIKEY initiator, alternative 2, piggybacking timestamp
information in MIKEY, MAY be chosen, while in any other case NTP
SHOULD be used (alternative 1).
4.4 Key data transport within MIKEY's General Extension Payload
The General Extensions Payload was defined to allow possible
extensions to MIKEY without the need for defining a completely new
payload each time. This payload can be used in any MIKEY message and
is part of the authenticated/signed data part.
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 ! Type ! Length !
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
! Data ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
* Next payload (8 bits):
Identifies the payload following this payload.
Fries & Tschofenig Expires July 22, 2005 [Page 8]
Internet-Draft Bootstrapping TESLA January 2005
* Type (8 bits):
Identifies the type of general payload. MIKEY
already defines the Values 0 and 1.
This document introduces a new value (2).
Type | Value | Comments
----------------------------------------------------
Vendor ID | 0 | Vendor specific byte string
SDP IDs | 1 | List of SDP key mgmt IDs
TESLA I-Key | 2 | TESLA initial key
* Length (16 bits):
The length in bytes of the Data field.
* Data (variable length):
The general payload data.
5. Security Considerations
The security properties of multi-media data in a multicast
environment depends on a number of building blocks.
SRTP-TESLA [I-D.ietf-msec-srtp-tesla] describes extensions for SRTP
[RFC3711] in order to support TESLA [I-D.ietf-msec-tesla-intro] for
source authentication in multicast scenarios. As such, security
considerations described with TESLA (see [PCST] and
[I-D.ietf-msec-tesla-intro]), the TESLA SRTP mapping
[I-D.ietf-msec-srtp-tesla] and SRTP [RFC3711] itself are relevant in
this context.
Furthermore, since this document details bootstrapping of TESLA using
the Multimedia Internet Keying (MIKEY) [RFC3830] protocol the
security considerations of MIKEY are immediately applicable to this
document.
As mentioned in Section 1 the TESLA parameters described in Section 3
MUST be integrity protected and MAY be confidentiality protected.
Integrity protection is necessary to avoid a man-in-the-middle
adversary to modify parameters to mount a number of attacks.
Confidentity protection, if desired, can be provided by a subset of
the available MIKEY authentication and key exchange protocols, namely
those providing public key encryption and symmetric key encryption.
Without confidentiality protection an adversary might be able to
learn the parameters later used to secure the end-to-end multi-media
communication (if the adversary is located along the signaling path).
Fries & Tschofenig Expires July 22, 2005 [Page 9]
Internet-Draft Bootstrapping TESLA January 2005
This might be undesirable in high-security environments. Please note
that the initial hash key, which is also one of the TESLA
bootstrapping parameters, does not require confidentiality protection
due to the properties of a hash chain. This aspect is described in
great detail in the respective TESLA documents since hash chains
represent a core concept of TESLA.
6. IANA Considerations
This document requires an IANA registration for the following
attributes:
Prot Type:
This attribute specifies the protocol type for the security
protocol as described in Section 4.1.
Pseudo-random Function (PRF) used in the TESLA policy:
This attribute specifies values for pseudo-random functions used
in the the TESLA policy (see Section 4.2).
Type:
Identifies the type of the general payload. The General
Extensions Payload was defined to allow possible extensions to
MIKEY without the need for defining a completely new payload each
time. Section 4.4 describes this attribute in more detail.
Following the policies outline in [RFC2434] the values in the range
up to 240 (including 240) for the above attributes are assigned after
Expert Review by the MSEC working group or its designated successor.
The values in the range from 241 to 255 are reserved for Private Use.
IANA needs to register the following attributes and their respective
values:
Prot Type:
Prot Type | Value | Description
-----------------------------------------------------
TESLA | 1 | TESLA as a security protocol
Fries & Tschofenig Expires July 22, 2005 [Page 10]
Internet-Draft Bootstrapping TESLA January 2005
PRF:
PRF Function | Value
--------------------------
NULL | 0
HMAC-SHA1 | 1
Type:
Type | Value | Description
-------------------------------------------
TESLA I-Key | 2 | TESLA initial key
The values of 0 and 1 are already registered.
7. Acknowledgments
The authors would like to thank Mark Baugher and Ran Canetti for the
discussions in context of time synchronization.
8. References
8.1 Normative References
[I-D.ietf-msec-srtp-tesla]
Baugher, M., "The Use of TESLA in SRTP",
Internet-Draft draft-ietf-msec-srtp-tesla-02, October
2004.
[I-D.ietf-msec-tesla-intro]
Perrig, A., Canetti, R., Song, D., Tygar, D. and B.
Briscoe, "TESLA: Multicast Source Authentication Transform
Introduction",
Internet-Draft draft-ietf-msec-tesla-intro-04, December
2004.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC2434] Narten, T. and H. Alvestrand, "Guidelines for Writing an
IANA Considerations Section in RFCs", BCP 26, RFC 2434,
October 1998.
[RFC3830] Arkko, J., Carrara, E., Lindholm, F., Naslund, M. and K.
Fries & Tschofenig Expires July 22, 2005 [Page 11]
Internet-Draft Bootstrapping TESLA January 2005
Norrman, "MIKEY: Multimedia Internet KEYing", RFC 3830,
August 2004.
8.2 Informative References
[I-D.ietf-msec-mikey-dhhmac]
Euchner, M., "HMAC-authenticated Diffie-Hellman for
MIKEY", Internet-Draft draft-ietf-msec-mikey-dhhmac-07,
October 2004.
[PCST] Perrig, A., Canetti, R., Song, D. and D. Tygar,
""Efficient and Secure Source Authentication for
Multicast", in Proc. of Network and Distributed System
Security Symposium NDSS 2001, pp. 35-46", 2001.
[RFC1305] Mills, D., "Network Time Protocol (Version 3)
Specification, Implementation", RFC 1305, March 1992.
[RFC3711] Baugher, M., McGrew, D., Naslund, M., Carrara, E. and K.
Norrman, "The Secure Real-time Transport Protocol (SRTP)",
RFC 3711, March 2004.
Authors' Addresses
Steffen Fries
Siemens
Otto-Hahn-Ring 6
Munich, Bavaria 81739
Germany
Email: steffen.fries@siemens.com
Hannes Tschofenig
Siemens
Otto-Hahn-Ring 6
Munich, Bavaria 81739
Germany
Email: Hannes.Tschofenig@siemens.com
Fries & Tschofenig Expires July 22, 2005 [Page 12]
Internet-Draft Bootstrapping TESLA January 2005
Intellectual Property Statement
The IETF takes no position regarding the validity or scope of any
Intellectual Property Rights or other rights that might be claimed to
pertain to the implementation or use of the technology described in
this document or the extent to which any license under such rights
might or might not be available; nor does it represent that it has
made any independent effort to identify any such rights. Information
on the procedures with respect to rights in RFC documents can be
found in BCP 78 and BCP 79.
Copies of IPR disclosures made to the IETF Secretariat and any
assurances of licenses to be made available, or the result of an
attempt made to obtain a general license or permission for the use of
such proprietary rights by implementers or users of this
specification can be obtained from the IETF on-line IPR repository at
http://www.ietf.org/ipr.
The IETF invites any interested party to bring to its attention any
copyrights, patents or patent applications, or other proprietary
rights that may cover technology that may be required to implement
this standard. Please address the information to the IETF at
ietf-ipr@ietf.org.
Disclaimer of Validity
This document and the information contained herein are provided on an
"AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET
ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED,
INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE
INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Copyright Statement
Copyright (C) The Internet Society (2005). This document is subject
to the rights, licenses and restrictions contained in BCP 78, and
except as set forth therein, the authors retain all their rights.
Acknowledgment
Funding for the RFC Editor function is currently provided by the
Internet Society.
Fries & Tschofenig Expires July 22, 2005 [Page 13]