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]