Internet Engineering Task Force                  Flemming Andreasen
   MMUSIC Working Group                                   Mark Baugher
   INTERNET-DRAFT                                             Dan Wing
   EXPIRES: April 2004                                   Cisco Systems
                                                      October 19, 2003

                       Security Preconditions for
               Session Description Protocol Media Streams

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-

   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 cite them other than as "work in progress".

   The list of current Internet-Drafts can be accessed at

   The list of Internet-Draft Shadow Directories can be accessed at

Copyright Notice

   Copyright (C) The Internet Society (2003).  All Rights Reserved.


   This document defines a new security precondition for the Session
   Description Protocol precondition framework described in RFC 3312.
   A security precondition can be used to delay session establishment
   or modification until media stream security has been negotiated

INTERNET-DRAFT           Security Preconditions       October 19, 2003

1.   Notational Conventions..........................................2
2.   Introduction....................................................2
3.   Security Precondition Definition................................3
4.   Examples........................................................3
5.   Security Considerations.........................................5
6.   IANA Considerations.............................................5
7.   Acknowledgements................................................5
8.   Authors' Addresses..............................................5
9.   Normative References............................................6
10.  Informative References..........................................6
Intellectual Property Statement......................................7

1. Notational Conventions

   The key words "MUST", "MUST NOT", "REQUIRED", "MUST", "MUST NOT",
   document are to be interpreted as described in [RFC2119].

2. Introduction

   RFC 3312 defines the concept of a Session Description Protocol (SDP)
   [SDP] precondition, which is a condition that has to be satisfied
   for a given media stream in order for session establishment or
   modification to proceed.  For example, RFC 3312 defines the Quality
   of Service precondition, which is used to ensure availability of
   network resources prior to establishing (i.e. alerting) a call.
   When the precondition is not met, session progress is delayed until
   the precondition is satisfied, or the session establishment fails.

   Media streams can either be provided in cleartext and with no
   integrity checks, or some kind of media security can be applied,
   e.g. encryption.  For example, the Audio/Video profile of the Real-
   Time Transfer protocol (RTP) [RFC3551] is normally used without any
   security services whereas the Secure Real-time Transport Protocol
   (SRTP) [SRTP] is always used with security services.  When media
   stream security is being negotiated, e.g. using the mechanism
   defined in SDP Security Descriptions [SDESC], both the offerer and
   the answerer need to know the cryptographic parameters being used
   for the media stream.  If the offerer offers multiple choices for
   the cryptographic parameters, or the cryptographic parameters
   selected by the answerer may differ from those of the offerer (e.g.
   the key used in one direction versus the other), this means the
   offerer must have access to the answer prior to receiving any media
   packets from the offerer in order to avoid any clipping.  This can
   be achieved by defining a security precondition, which is used to
   ensure the successful negotiation of media stream security prior to
   session establishment or modification.

Andreasen, Baugher, Wing                                      [Page 2]

INTERNET-DRAFT           Security Preconditions       October 19, 2003

3. Security Precondition Definition

   The security precondition type is defined by the string "sec" and
   hence we modify the grammar found in RFC 3312 as follows:

     precondition-type  =  "sec" | "qos" | token

   RFC 3312 defines support for two kinds of status types, namely
   segmented and end-to-end.  The security precondition-type defined
   here MUST be used with the end-to-end status type; use of the
   segmented status type is undefined.

   An entity that wishes to delay session establishment or modification
   until media stream security has been established uses this
   precondition-type in an offer.  When a security precondition is
   received in an offer, session establishment or modification MUST be
   delayed until the security precondition has been met, i.e. a secure
   media stream is known to have been established by both the offerer
   and answerer.  A secure media stream is here defined as a media
   stream that uses some kind of security service, e.g. encryption,
   integrity protection or both, regardless of the cryptographic
   strength of the mechanisms being used.

     As an extreme example of this, use of the NULL encryption
     algorithm would satisfy the above.  Use of no encryption mechanism
     however would not.

   The direction attributes are interpreted as follows:

   * send:  The offerer/answerer has established security parameters
     for sending media, and the offerer/answerer knows the other party
     has enough information to process such packets, e.g. the other
     party has learned the cryptographic algorithm and key.

   * recv:  The offerer/answerer has established security parameters
     for receiving media, and the offerer/answerer knows the other
     party has enough information to generate such packets, e.g. the
     other party has learned the cryptographic algorithm and key.

   If it is not possible to satisfy the security precondition, e.g.
   because the offer does not include any parameters related to
   establishing a secure media stream, the offer MUST be rejected as
   described in RFC 3312.

4. Examples

   The call flow of Figure 1 shows a basic session establishment using
   SDP security descriptions [SDESC] and security descriptions for the
   secure media stream (SRTP in this case).  The SDP descriptions of
   this example are shown below - we have omitted the details of the

Andreasen, Baugher, Wing                                      [Page 3]

INTERNET-DRAFT           Security Preconditions       October 19, 2003

   SDP security descriptions for clarity of the security precondition
   described here:

   SDP1: A includes the end-to-end security precondition in the initial
   offer as well as a crypto parameter (see [SDESC]), which includes
   keying material that can be used by A to generate media packets.
   Since B does not know any of the security parameters yet, the
   current status is set to none:

     m=audio 20000 RTP/SAVP 0
     c=IN IP4
     a=curr:sec e2e none
     a=des:sec mandatory e2e sendrecv

   SDP2: When B receives the offer, and generates an answer, B knows
   the security parameters of both A and B, however A does not know the
   security parameters that will be used by B, so the current status is
   set to none.  B requests A to confirm when A knows the parameters
   used in the send and receive direction by both:

     m=audio 30000 RTP/SAVP 0
     c=IN IP4
     a=curr:sec e2e none
     a=des:sec mandatory e2e sendrecv
     a=conf:sec e2e sendrecv

   SDP3: When A receives the answer, A now knows the security
   parameters of both A and B.  A also knows that B knows those
   parameters and hence A immediately sends an updated offer (5) to B
   showing that the security precondition has been satisfied:

     m=audio 20000 RTP/SAVP 0
     c=IN IP4
     a=curr:sec e2e sendrecv
     a=des:qos mandatory e2e sendrecv

   SDP4:  Upon receiving the updated offer, B now knows that both A and
   B know the security parameters and hence B responds with an answer
   (6) which contains the current status of the security precondition
   (i.e., sendrecv) from B's point of view:

     m=audio 30000 RTP/SAVP 0
     c=IN IP4
     a=curr:qos e2e sendrecv
     a=des:qos mandatory e2e sendrecv

   At this point in time, session establishment resumes and B returns a
   180 (Ringing) response (7).

Andreasen, Baugher, Wing                                      [Page 4]

INTERNET-DRAFT           Security Preconditions       October 19, 2003

                  A                                            B

                  |                                            |
                  |-------------(1) INVITE SDP1--------------->|
                  |                                            |
                  |<------(2) 183 Session Progress SDP2--------|
                  |                                            |
                  |----------------(3) PRACK------------------>|
                  |                                            |
                  |<-----------(4) 200 OK (PRACK)--------------|
                  |                                            |
                  |-------------(5) UPDATE SDP3--------------->|
                  |                                            |
                  |<--------(6) 200 OK (UPDATE) SDP4-----------|
                  |                                            |
                  |<-------------(7) 180 Ringing---------------|
                  |                                            |
                  |                                            |
                  |                                            |

                Figure 1: Example using the security precondition

5. Security Considerations


6. IANA Considerations

   IANA is hereby requested to register a RFC 3312 precondition type
   called "sec" with the name "Security precondition".  The reference
   for this precondition type is the current document.

7. Acknowledgements

   The security precondition was defined in earlier draft versions of
   RFC 3312.  RFC 3312 contains an extensive list of people who worked
   on those earlier draft versions which are acknowledged here as well.

8. Authors' Addresses

   Flemming Andreasen
   Cisco Systems, Inc.
   499 Thornall Street, 8th Floor
   Edison, New Jersey  08837 USA

Andreasen, Baugher, Wing                                      [Page 5]

INTERNET-DRAFT           Security Preconditions       October 19, 2003

   Mark Baugher
   5510 SW Orchid Street
   Portland, Oregon  97219 USA

   Dan Wing
   Cisco Systems, Inc.
   170 West Tasman Drive
   San Jose, CA  95134  USA

9. Normative References

   [RFC3312] G. Camarillo, W. Marshall, J. Rosenberg, "Integration of
   Resource Management and Session Initiation Protocol (SIP)", RFC
   3312, October 2002.

   [RFC2327] M. Handley and V. Jacobson, "SDP: Session Description
   Protocol", RFC 2327, April 1998.

10.  Informative References

   [SDESC] F. Andreasen, M. Baugher, and D. Wing, "SDP Security
   Descriptions for Media Streams", work in progress

   [RFC3551] H. Schulzrinne, and S. Casner "RTP Profile for Audio and
   Video Conferences with Minimal Control", RFC 3550, July 2003.

   [SRTP] M. Baugher, R. Blom, E. Carrara, D. McGrew, M. Naslund, K.
   Norrman, D. Oran, "The Secure Real-time Transport Protocol", May
   08.txt, Work in Progress

Andreasen, Baugher, Wing                                      [Page 6]

INTERNET-DRAFT           Security Preconditions       October 19, 2003

Intellectual Property Statement

   The IETF takes no position regarding the validity or scope of any
   intellectual property 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; neither does it represent that it
   has made any effort to identify any such rights.  Information on the
   IETF's procedures with respect to rights in standards-track and
   standards-related documentation can be found in BCP-11.  Copies of
   claims of rights made available for publication 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 implementors or users of this specification
   can be obtained from the IETF Secretariat.

   The IETF invites any interested party to bring to its attention any
   copyrights, patents or patent applications, or other proprietary
   rights which may cover technology that may be required to practice
   this standard.  Please address the information to the IETF Executive

Full Copyright Statement

   Copyright(C) The Internet Society 2003.  All Rights Reserved.

   This document and translations of it may be copied and furnished to
   others, and derivative works that comment on or otherwise explain it
   or assist in its implementation may be prepared, copied, published
   and distributed, in whole or in part, without restriction of any
   kind, provided that the above copyright notice and this paragraph
   are included on all such copies and derivative works.  However, this
   document itself may not be modified in any way, such as by removing
   the copyright notice or references to the Internet Society or other
   Internet organizations, except as needed for the purpose of
   developing Internet standards in which case the procedures for
   copyrights defined in the Internet Standards process must be
   followed, or as required to translate it into languages other than

   The limited permissions granted above are perpetual and will not be
   revoked by the Internet Society or its successors or assigns.

   This document and the information contained herein is provided on an

Andreasen, Baugher, Wing                                      [Page 7]

INTERNET-DRAFT           Security Preconditions       October 19, 2003


   Funding for the RFC Editor function is currently provided by the
   Internet Society.

Andreasen, Baugher, Wing                                      [Page 8]