AVT J. Lennox Internet-Draft Vidyo Updates: 3550 (if approved) T. Schierl Intended status: Standards Track Fraunhofer HHI Expires: December 4, 2008 S. Ganesan Motorola June 2, 2008 Real-Time Transport Protocol (RTP) Timestamps for Layered Encodings draft-lennox-avt-rtp-layered-encoding-timestamps-00 Status of this Memo 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 becomes aware will be disclosed, in accordance with Section 6 of BCP 79. 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 December 4, 2008. Abstract The Real-Time Transport Protocol (RTP) specification defines how layered encodings can be sent over a layered transmission system. A source can stripe the progressive layers of a hierarchically represented signal across multiple RTP sessions, each carried on, for example, its own multicast group. These layered encodings are given special treatment in RTP, notably in that the same synchronization source (SSRC) identifier space is used across the sessions of all layers. Lennox, et al. Expires December 4, 2008 [Page 1] Internet-Draft RTP Timestamps for Layered Encodings June 2008 The RTP protocol specification does not, however, explicitly state how RTP timestamps are to be used with layered encodings. This document updates the RTP specification to require that RTP timestamps for layered encodings be synchronized, i.e. that every layer chooses the same random initial value for the timestamp. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . . 3 3. Normative Requirements . . . . . . . . . . . . . . . . . . . . 3 4. Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . 3 5. Architectural Implications . . . . . . . . . . . . . . . . . . 4 6. Payload Design Considerations . . . . . . . . . . . . . . . . . 5 7. Security Considerations . . . . . . . . . . . . . . . . . . . . 5 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 5 9. References . . . . . . . . . . . . . . . . . . . . . . . . . . 6 9.1. Normative References . . . . . . . . . . . . . . . . . . . 6 9.2. Informative References . . . . . . . . . . . . . . . . . . 6 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 7 Intellectual Property and Copyright Statements . . . . . . . . . . 8 Lennox, et al. Expires December 4, 2008 [Page 2] Internet-Draft RTP Timestamps for Layered Encodings June 2008 1. Introduction The Real-Time Transport Protocol (RTP) [RFC3550] specification defines how layered encodings can be sent over a layered transmission system. A source can stripe the progressive layers of a hierarchically represented signal across multiple RTP sessions, each carried on, for example, its own multicast group. These layered encodings are given special treatment in RTP, notably in that the same synchronization source (SSRC) identifier space is used across the sessions of all layers. The RTP protocol specification does not, however, explicitly state how RTP timestamps are to be used with layered encodings. This document updates the RTP specification to require that RTP timestamps for layered encodings be synchronized, i.e. that every layer chooses the same random initial value for the timestamp. 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 RFC 2119 [RFC2119] and indicate requirement levels for compliant implementations. 3. Normative Requirements When a source is sent as a layered encoding transmitted on separate RTP sessions (as defined in Section 2.4 of [RFC3550]), such that the same synchronization source (SSRC) identifier is used on each session, the same initial (random) RTP timestamp value MUST be used for every layer. (Since each layer's RTP timestamps are derived from the same media clock, and so will advance at the same rate, this implies that RTP packets will have equal timestamps if they are (logically) generated at once, e.g., belong to the same video frame, as with packets on a single session.) 4. Discussion Speer and McCanne [I-D.speer-avt-layered-video] defined how layered encoding support would be added to the original RTP specification [RFC1889]. This work was adapted into the current RTP specification when it was revised [RFC3550]. Lennox, et al. Expires December 4, 2008 [Page 3] Internet-Draft RTP Timestamps for Layered Encodings June 2008 This specification modified RTP so that the same synchronization source (SSRC) identifier would be used on each session for a layered encoding transmitted on multiple streams. As discussed in that draft, the alternative would be to allocate each layer's SSRC independently, and associate the streams using the canonical name (CNAME) information sent periodically in RTCP source description (SDES) packets, as RTP does to associate separate audio and video streams from a single user. However, this alternative introduces additional complexity, in that it forces each receiver to manage all the CNAME/SSRC bindings; requires newly-arrived receivers to wait for the source description packets before they can start decoding a stream; and creates new error recovery conditions for dealing with conflicting information that arrives on the different sessions. Speer and McCanne specification's did not say anything about RTP timestamps. However, as documented in McCanne's Ph.D. Thesis [McCa96], vic [VIC], the primary implementation of layered encoding of RTP, sent base and enhancement layers of a video stream with synchronized RTP timestamps, and relied on this fact to associate the frames when decoding them. Absent payload-specific synchronization information, as with source identifiers, the alternative for stream alignment would be to rely on RTCP reports, in this case on the NTP timestamps carried in carried in RTCP sender report (SR) packets. However, this would introduce much the same problems as relying on CNAME-based synchronization for the sources. It introduces significant additional complexity; receivers must wait for the receipt of SR packets before they can start decoding a stream; and conflicting information can arise from the different sessions, particularly for sessions with long RTCP reporting intervals if there is clock skew between a source's NTP and media timestamps. This largely removes any advantage of SSRC synchronization across the layers. 5. Architectural Implications RTP timestamp randomization has two primary motivations: it improves the probability of detection of SSRC collisions, and it provides additional randomness for [RFC3550]-style packet encryption (a "weak initialization vector", in the words of that RFC). Synchronizing RTP timestamps across sessions does not harm SSRC collision detection. As specified by [RFC3550], for layered sessions the base layer's session is used for SSRC identifier allocation and collision resolution. When two sources collide, they will collide on every session layer on which they are being sent; and when a source changes its SSRC following a collision, it will change it on every Lennox, et al. Expires December 4, 2008 [Page 4] Internet-Draft RTP Timestamps for Layered Encodings June 2008 session. The security implications of timestamp synchronization are discussed in Section 7. 6. Payload Design Considerations Depending on the payload, RTP timestamp synchronization may not be sufficient to completely reconstruct the order in which packets sent over several RTP sessions need to be decoded. In such cases, the payload definition needs to specify how the decoding order of packets is reconstructed. Difficulties particularly arise if if a payload allows packets with a given timestamp to be omitted on some sessions; if a payload has non- trivial decoding order constraints for media with the same timestamp; or if a payload supports a transmission order different from its timestamp order, as is common with video formats. 7. Security Considerations For [RFC3550]-style packet encryption, RTP timestamp randomization contributes to a "weak initialization vector" for encrypted packets. In particular, the timestamp, sequence number, and SSRC together provide randomness to a session. However, when timestamps and sequence numbers are aligned across multiple sessions, for many payloads sequence numbers will also align periodically (if packets are sent at different rates on each session.) This introduces a weakness which can allow an attacker to launch "two-time-pad" attacks against the bitstream. Thus, if [RFC3550]-style RTP packet encryption is used to protect a layered encoding, different encryption keys MUST be used on each RTP session of the layered encoding. For Secure RTP (SRTP) [RFC3711], similarly, a different SRTP master key MUST be used for each RTP session. The key management mechanisms Secure Descriptions for SDP [RFC4568], Key Management Extensions for SDP and RTSP [RFC4567] combined with MIKEY [RFC3830], DTLS-SRTP [I-D.ietf-sip-dtls-srtp-framework], and ZRTP [I-D.zimmermann-avt-zrtp] all satisfy this requirement. 8. IANA Considerations No action by IANA is required. Lennox, et al. Expires December 4, 2008 [Page 5] Internet-Draft RTP Timestamps for Layered Encodings June 2008 9. References 9.1. Normative References [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. [RFC3550] Schulzrinne, H., Casner, S., Frederick, R., and V. Jacobson, "RTP: A Transport Protocol for Real-Time Applications", STD 64, RFC 3550, July 2003. [RFC3711] Baugher, M., McGrew, D., Naslund, M., Carrara, E., and K. Norrman, "The Secure Real-time Transport Protocol (SRTP)", RFC 3711, March 2004. 9.2. Informative References [I-D.ietf-sip-dtls-srtp-framework] Fischl, J., Tschofenig, H., and E. Rescorla, "Framework for Establishing an SRTP Security Context using DTLS", draft-ietf-sip-dtls-srtp-framework-01 (work in progress), February 2008. [I-D.speer-avt-layered-video] Speer, M. and S. McCanne, "RTP usage with Layered Multimedia Streams", draft-speer-avt-layered-video-05 (work in progress), June 1997. Expired draft. [I-D.zimmermann-avt-zrtp] Zimmermann, P., Johnston, A., and J. Callas, "ZRTP: Media Path Key Agreement for Secure RTP", draft-zimmermann-avt-zrtp-06 (work in progress), March 2008. [McCa96] McCanne, S., "Scalable Compression and Transmission of Internet Multicast Video", Report No. UCB/CSD-96-928, December 1996. Ph.D. Dissertation, University of California Berkeley. [RFC1889] Schulzrinne, H., Casner, S., Frederick, R., and V. Jacobson, "RTP: A Transport Protocol for Real-Time Applications", RFC 1889, January 1996. [RFC3830] Arkko, J., Carrara, E., Lindholm, F., Naslund, M., and K. Norrman, "MIKEY: Multimedia Internet KEYing", RFC 3830, Lennox, et al. Expires December 4, 2008 [Page 6] Internet-Draft RTP Timestamps for Layered Encodings June 2008 August 2004. [RFC4567] Arkko, J., Lindholm, F., Naslund, M., Norrman, K., and E. Carrara, "Key Management Extensions for Session Description Protocol (SDP) and Real Time Streaming Protocol (RTSP)", RFC 4567, July 2006. [RFC4568] Andreasen, F., Baugher, M., and D. Wing, "Session Description Protocol (SDP) Security Descriptions for Media Streams", RFC 4568, July 2006. [VIC] McCanne, S. and V. Jacobson, "vic: A Flexible Framework for Packet Video", 1995. ACM Multimedia, pp. 511-522 Authors' Addresses Jonathan Lennox Vidyo, Inc. 433 Hackensack Avenue Sixth Floor Hackensack, NJ 07601 US Email: jonathan@vidyo.com Thomas Schierl Fraunhofer HHI Einsteinufer 37 D-10587 Berlin Germany Phone: +49-30-31002-227 Email: schierl@hhi.fhg.de Sam Ganesan Motorola 80 Central Street Boxborough, MA 01719 US Email: sam.ganesan@motorola.com Lennox, et al. Expires December 4, 2008 [Page 7] Internet-Draft RTP Timestamps for Layered Encodings June 2008 Full Copyright Statement Copyright (C) The IETF Trust (2008). 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. 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, THE IETF TRUST 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. Intellectual Property 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. Lennox, et al. Expires December 4, 2008 [Page 8]