Internet Engineering Task Force J. Arkko
MMUSIC Working Group E. Carrara
INTERNET-DRAFT F. Lindholm
Expires: May 2002 M. Naslund
K. Norrman
Ericsson
November, 2001
Key Management Extensions for SDP and RTSP
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 cite them other than as "work in progress".
The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/lid-abstracts.txt
The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html
Abstract
Work for securing real-time applications have started. It has also
brought toward the need for a key management infrastructure to
support the security protocol.
This document defines extensions for SDP and RTSP to carry the
security information needed by a key management protocol, in order to
secure the media stream itself.
Arkko, et al. [Page 1]
INTERNET-DRAFT mmusic-kmgmt-ext-00 November 2001
TABLE OF CONTENTS
1. Introduction..................................................2
1.1. Notational Conventions......................................3
2. SDP Attribute Fields for Key Management.......................3
2.1. SDP Grammar.................................................4
2.2. SDP in SIP and RTSP.........................................5
3. RTSP Header and Grammar.......................................5
4. Security Considerations.......................................6
5. IANA Considerations...........................................6
6. Conclusions...................................................7
7. Acknowledgments...............................................7
8. Author's Addresses............................................7
9. References....................................................7
1. Introduction
There has recently been work to define a security framework for the
protection of real-time applications running over RTP, [SRTP].
However, a security protocol needs a key management infrastructure to
exchange keys and security parameters, managing and refreshing keys,
etc.
The Session Description Protocol [SDP] is used to convey
advertisements of conference sessions and communicate the relevant
conference setup information to prospective participants. SDP is
intended to use different transport protocols as appropriate, e.g.
the Session Initiation Protocol [SIP] and the Real-Time Streaming
Protocol [RTSP].
An efficient way of performing key management is to integrate it into
SDP. This approach may reduce the number of roundtrips compared to a
standalone key management scheme (and in some cases it could also
reduce the total bandwidth consumption). However, to make it possible
to integrate the key management protocol (e.g. [MIKEY]) into SDP, a
set of attributes in SDP is needed. Such a set of attributes is
defined in this document to support integrated media stream key
management.
Currently in SDP, one field exists to transport keys, i.e. the "key="
field. However, this is not enough for a key management protocol.
There MUST exist the possibility to include not only the key, but
also the key encrypted, encryption parameters, security protocol
parameters, and at the same time have it all authenticated. This can
not be done with the "key=" field as specified today.
In RTSP, the SDP description is mainly used in the response to the
DESCRIBE method. This makes it hard to send key management messages
back from the client to the server. Therefore, this draft also
Arkko, et al. [Page 2]
INTERNET-DRAFT mmusic-kmgmt-ext-00 November 2001
defines an RTSP header that may be used to carry additional key
management messages.
1.1. Notational Conventions
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.
2. SDP Attributes for Key Management
This subsection describes common attributes that are to be included
in the SDP description when an integrated key management protocol is
used. All attribute values MUST follow the general SDP guidelines.
The attributes are designed to give a minimal impact on SDP, i.e.
only a minimal set of "knowledge" MUST be built into an existing SDP
stack in order to support the key management.
Three SDP attributes are defined.
To be able to detect the key management protocol applied, this MUST
be signaled by:
a=keymgmt-prot:<protocol>
The key management protocol data MUST be provided in the following
field:
a=keymgmt-data:<key-transport-data>
Note that the data MUST be encoded in a way so that it complies with
the normal SDP rules.
In case the key management mechanism does not provide authentication
of the key management part, additional authentication data MAY be
provided in the "keymgmt-auth" field.
a=keymgmt-auth:<key-auth-data>
The key management attributes may be defined both at the session
level (i.e. before the media descriptor lines) and at the media level
of the SDP description. If the key management attributes are defined
at media level, it will only apply to that specific media. If the key
management attributes are defined at both session and media level,
the media level definition overrides the session level definition for
that specific media.
Arkko, et al. [Page 3]
INTERNET-DRAFT mmusic-kmgmt-ext-00 November 2001
Example 1 (session level)
a=keymgmt-prot:MIKEY
a=keymgmt-data:uiSDF9sdhs727ghsd/dhsoKkdOokdo7eWsnDSJD...
m=audio 49000 RTP/SAVP 98
a=rtpmap:98 AMR/8000
m=video 2232 RTP/SAVP 31
In this example, MIKEY is negotiating the crypto suite for both
streams at session level. It is recommended to use this approach if
possible to save both bandwidth and computational resources.
Example 2 (media level)
m=audio 49000 RTP/SAVP 98
a=keymgmt-prot:MIKEY
a=keymgmt-data:uiSDF9sdhs727ghsd/dhsoKkdOokdo7eWsnDSJD...
a=rtpmap:98 AMR/8000
m=video 2232 RTP/AVP 31
Note that the video part in this example is not protected by any
security protocol.
2.1. SDP Grammar
This section provides an Augmented Backus-Naur Form (ABNF) grammar
(as used in [SDP]) for the key management extensions to SDP.
Note that the new definitions are compliant with the definition of an
attribute field, i.e.
attribute = (att-field ":" att-value) | att-field
Three new attributes are defined, keymgmt-prtcl, keymgmt-data, and
key-extra-auth.
keymgmt-prtcl = "keymgmt-prot:" prtcl-name
prtcl-name = 1*(alpha-numeric|SAFE)
; e.g. "MIKEY"
keymgmt-data = "keymgmt-data:" byte-string
key-extra-auth = "keymgmt-auth:" byte-string
byte-string = 1*(0x01..0x09|0x0b|0x0c|0x0e..0xff)
;any byte except NUL, CR or LF
Arkko, et al. [Page 4]
INTERNET-DRAFT mmusic-kmgmt-ext-00 November 2001
alpha-numeric = ALPHA | DIGIT
DIGIT = "0" | POS-DIGIT
POS-DIGIT = "1"|"2"|"3"|"4"|"5"|"6"|"7"|"8"|"9"
ALPHA = "a"|"b"|"c"|"d"|"e"|"f"|"g"|"h"|"i"|"j"|"k"|
"l"|"m"|"n"|"o"|"p"|"q"|"r"|"s"|"t"|"u"|"v"|
"w"|"x"|"y"|"z"|"A"|"B"|"C"|"D"|"E"|"F"|"G"|
"H"|"I"|"J"|"K"|"L"|"M"|"N"|"O"|"P"|"Q"|"R"|
"S"|"T"|"U"|"V"|"W"|"X"|"Y"|"Z"
SAFE = "\$" | "-" | "_" | "." | "+"
2.2. SDP in SIP and RTSP
Both SIP and RTSP provide means to transport SDP descriptions. This
section gives a recommendation of how/when to include key management
initiated SDP descriptions in SIP and RTSP.
For SIP, the recommendation is to use the Invite message (and the
following response) to transport the SDP description with the key
management parameters.
For RTSP, the recommendation is to let the server include a SDP
description with the key management parameters in the response to a
DESCRIBE message. A problem with RTSP is that no SDP description can
be assumed to be sent back to the server. Therefore, other means to
send key management messages between client and server is needed.
This may be solved by using the new RTSP header defined in Section 3.
In general, any key management protocol using SDP as a mean of
transport, MUST not require a great number of exchange messages. It
is RECOMMENDED that the key management protocol does not use more
than one roundtrip. This is to create as small (if any) impact as
possible on the underlying transporting mechanism (e.g., SIP and
RTSP).
3. RTSP Header and Grammar
To support the three different parameters described in Section 2, a
new RTSP header is defined.
KeyMgmt = "KeyMgmt" ":" [stream-url] protocol data [auth]
stream-url = "url" "=" url ";"
protocol = "Prot" "=" prtcl-name
Arkko, et al. [Page 5]
INTERNET-DRAFT mmusic-kmgmt-ext-00 November 2001
data = ";" "Data" "=" string
auth = ";" "Auth" "=" string
string = 1*(alpha-numeric|SAFE|"=")
alpha-numeric, SAFE and prtcl-name are as defined in Section 2.1. The
url indicates the stream URL for which the parameters correspond to.
It is recommended that the string is a base64 encoded value.
The new key management header should be possible to use in both
request and response messages of the following methods:
* ANNOUNCE
* SETUP
* PLAY
* RECORD
* SET_PARAMETER
* GET_PARAMETER
* OPTIONS
When a key management protocol is enabled in the RTSP implementation,
it MUST for each message to be sent (that may contain the KeyMgmt
header), check with the key management protocol if any parameters(s)
should be include in the header (i.e. the Data or Auth parameter).
For each message received (that contains the KeyMgmt header), the key
management parameters (Data and Auth) are passed to the key
management protocol for processing.
4. Security Considerations
The nature of this document is to allow SDP and RTSP support for
security of the media sessions. It is therefore not the intention of
this document to describe possible security solution nor define
possible security problems. The defined SDP and RTSP extensions are
not believed to introduce any new security risks to SDP and RTSP.
Note that the purpose of the key management fields is to secure the
media streams themselves. Provided that the key management schemes
are secure, the SDP payloads can be passed along unprotected, and the
media streams will still be secure even if some attackers gained
knowledge of the SDP contents. There may, however, be other reasons
to protect the SDP payloads such as preventing attackers from gaining
any information regarding the session or the used equipment.
5. IANA Considerations
Three new attributes fields for SDP (see Section 2) and one new RTSP
header are registered (see Section 3).
Arkko, et al. [Page 6]
INTERNET-DRAFT mmusic-kmgmt-ext-00 November 2001
6. Conclusions
A security solution for real-time applications needs a key management
infrastructure. Integrating the key management scheme with the
session establishment protocol could be done efficiently in most of
the scenarios. This document defines extensions to SDP and RTSP so
that it will be possible to integrate a key management protocol (e.g.
MIKEY) into protocol such as SIP and RTSP.
7. Acknowledgments
Thanks to: Joerg Ott, Colin Perkins, Magnus Westerlund, and the rest
involved in the MMUSIC WG and the MSEC WG.
8. Author's Addresses
Jari Arkko
Ericsson
02420 Jorvas Phone: +358 40 5079256
Finland Email: jari.arkko@ericsson.com
Elisabetta Carrara
Ericsson Research
SE-16480 Stockholm Phone: +46 8 50877040
Sweden EMail: elisabetta.carrara@era.ericsson.se
Fredrik Lindholm
Ericsson Research
SE-16480 Stockholm Phone: +46 8 58531705
Sweden EMail: fredrik.lindholm@era.ericsson.se
Mats Naslund
Ericsson Research
SE-16480 Stockholm Phone: +46 8 58533739
Sweden EMail: mats.naslund@era.ericsson.se
Karl Norrman
Ericsson Research
SE-16480 Stockholm Phone: +46 8 4044502
Sweden EMail: karl.norrman@era.ericsson.se
9. References
[MIKEY] Arkko, J., Carrara, E., Lindholm, F., Naslund, M., and
Norrman, K., "MIKEY: Multimedia Internet KEYing", Internet Draft,
IETF, Work in progress (MSEC).
Arkko, et al. [Page 7]
INTERNET-DRAFT mmusic-kmgmt-ext-00 November 2001
[RTSP] Schulzrinne, H., Rao, A., and Lanphier, R., "Real Time
Streaming Protocol (RTSP)", RFC 2326, April 1998.
[SDP] Handley, M., and Jacobson, V., "Session Description Protocol
(SDP)", IETF, RFC2327
[SIP] Handley, M., Schulzrinne, H., Schooler, E., and Rosenberg, J.,
"SIP: Session Initiation Protocol", IETF, RFC2543.
[SRTP] Blom, R., Carrara, E., McGrew, D., Naslund, M, Norrman, K.,
and Oran, D., "The Secure Real Time Transport Protocol", Internet
Draft, IETF, Work in Progress (AVT).
This Internet-Draft expires in May 2002.
Arkko, et al. [Page 8]