draft-ietf-mmusic-kmgmt-ext-02.txt   draft-ietf-mmusic-kmgmt-ext-03.txt 
Internet Engineering Task Force J. Arkko Internet Engineering Task Force J. Arkko
MMUSIC Working Group E. Carrara MMUSIC Working Group E. Carrara
INTERNET-DRAFT F. Lindholm INTERNET-DRAFT F. Lindholm
Expires: August 2002 M. Naslund Expires: August 2002 M. Naslund
K. Norrman K. Norrman
Ericsson Ericsson
February, 2002 February, 2002
Key Management Extensions for SDP and RTSP Key Management Extensions for SDP and RTSP
<draft-ietf-mmusic-kmgmt-ext-02.txt> <draft-ietf-mmusic-kmgmt-ext-03.txt>
Status of this memo Status of this memo
This document is an Internet-Draft and is in full conformance with This document is an Internet-Draft and is in full conformance with
all provisions of Section 10 of RFC2026. all provisions of Section 10 of RFC2026.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that other Task Force (IETF), its areas, and its working groups. Note that other
groups may also distribute working documents as Internet-Drafts. groups may also distribute working documents as Internet-Drafts.
skipping to change at page 2, line 4 skipping to change at page 2, line 6
the security information needed by a key management protocol, in the security information needed by a key management protocol, in
order to secure the media. These extensions are presented as a order to secure the media. These extensions are presented as a
framework, to be used by one or more key management protocols. As framework, to be used by one or more key management protocols. As
such, its use is meaningful only when it is completed by the key such, its use is meaningful only when it is completed by the key
management protocol in use. management protocol in use.
General guidelines are also given on how the framework should be used General guidelines are also given on how the framework should be used
together with SIP and RTSP. together with SIP and RTSP.
TABLE OF CONTENTS TABLE OF CONTENTS
1. Introduction.................................................. 2 1. Introduction.................................................. 2
1.1. Notational Conventions...................................... 3 1.1. Notational Conventions...................................... 3
2. Extensions to SDP and RTSP.................................... 3 2. Extensions to SDP and RTSP.................................... 3
2.1. SDP Extensions.............................................. 4 2.1. SDP Extensions.............................................. 4
2.2. RTSP Extensions............................................. 4 2.2. RTSP Extensions............................................. 5
3. Usage with SIP and RTSP....................................... 5 3. Usage with SIP and RTSP....................................... 5
3.1. General SDP processing...................................... 5 3.1. General SDP processing...................................... 6
3.2. SIP usage................................................... 6 3.2. SIP usage................................................... 6
3.3. RTSP usage.................................................. 6 3.3. RTSP usage.................................................. 7
3.4. Example scenarios........................................... 7 3.4. Example scenarios........................................... 7
4. Security Considerations....................................... 9 4. Adding a Key management protocol..............................10
5. IANA Considerations...........................................10 5. Security Considerations.......................................10
6. Conclusions...................................................10 6. IANA Considerations...........................................11
7. Acknowledgments...............................................10 7. Conclusions...................................................11
8. Author's Addresses............................................10 8. Acknowledgments...............................................11
9. References....................................................11 9. Author's Addresses............................................11
10. References...................................................12
1. Introduction 1. Introduction
There has recently been work to define a security framework for the There has recently been work to define a security framework for the
protection of real-time applications running over RTP, [SRTP]. protection of real-time applications running over RTP, [SRTP].
However, a security protocol needs a key management infrastructure to However, a security protocol needs a key management infrastructure to
exchange keys and security parameters, managing and refreshing keys, exchange keys and security parameters, managing and refreshing keys,
etc. etc.
A key management protocol is executed prior to the security protocol
execution. The key management protocol's main goal is to, in a secure
and reliable way, establish a so called security association for the
security protocol. This includes one or several cryptographic keys
and a set of necessary parameters for the security protocol, e.g.,
cipher or authentication algorithm to be used. The key management
protocol has similarities with, e.g., SIP and RTSP in the sense that
it negotiates necessary information in order to be able to setup the
session.
The focus in the following sections is to describe SDP attribute The focus in the following sections is to describe SDP attribute
extensions and RTSP header extensions to support key management, and extensions and RTSP header extensions to support key management, and
a possible integration within SIP and RTSP. A framework is therefore a possible integration within SIP and RTSP. A framework is therefore
described in the following, that will need to be accompanied by one described in the following, that will need to be accompanied by one
or more key management protocols. or more key management protocols.
Some of the motivations to create a framework with the possibility to Some of the motivations to create a framework with the possibility to
include the key management in the session establishment are: include the key management in the session establishment are:
* Just as the codec information is a description of how to encode * Just as the codec information is a description of how to encode and
and decode the audio (or video) stream, the key management data decode the audio (or video) stream, the key management data is a
is a description of how to encrypt and decrypt the data. description of how to encrypt and decrypt the data.
* The possibility to negotiate the security for the entire * The possibility to negotiate the security for the entire multimedia
multimedia session at the same time. session at the same time.
* The knowledge of the media at the session establishment makes it * The knowledge of the media at the session establishment makes it
easy to tie the key management to the multimedia sessions. easy to tie the key management to the multimedia sessions.
* This approach may be more efficient than setting up the security * This approach may be more efficient than setting up the security
later, as that approach might force extra roundtrips, possibly later, as that approach might force extra roundtrips, possibly also
also a separate set-up for each stream, hence implying more delay a separate set-up for each stream, hence implying more delay to the
to the actual setup of the media session. actual setup of the media session.
Currently in SDP [SDP], one field exists to transport keys, i.e. the Currently in SDP [SDPnew], one field exists to transport keys, i.e.
"key=" field. However, this is not enough for a key management the "key=" field. However, this is not enough for a key management
protocol. The approach here is to use and extend the SDP description protocol. The approach here is to use and extend the SDP description
to transport the key management offer/answer and also to associate it to transport the key management offer/answer and also to associate it
with the media sessions. SIP uses the offer/answer model [OAM] with the media sessions. SIP uses the offer/answer model [OAM]
whereby extensions to SDP will be enough. An extra RTSP header is whereby extensions to SDP will be enough. An extra RTSP header is
also defined. also defined.
1.1. Notational Conventions 1.1. Notational Conventions
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
skipping to change at page 3, line 41 skipping to change at page 3, line 52
the media level definition overrides the session level definition for the media level definition overrides the session level definition for
that specific media. that specific media.
The extensions were defined in a way to: The extensions were defined in a way to:
* give a minimal impact on current SDP implementations, i.e. only * give a minimal impact on current SDP implementations, i.e. only
minimal modifications MUST be built into an existing SDP stack in minimal modifications MUST be built into an existing SDP stack in
order to support the key management. order to support the key management.
* make it easy to use another key management protocol, or a new * make it easy to use another key management protocol, or a new
version, without having to redefine the attributes or add new version, without having to redefine the attributes or add new ones.
ones.
The following set of attributes have been identified as necessary to The following set of attributes have been identified as necessary to
support: support:
* key management protocol identifier, to indicate the key * key management protocol identifier, to indicate the key management
management protocol used ("keymgmt-prtcl") protocol used ("keymgmt-prtcl").
* key management raw data field, to transport the key management * key management raw data field, to transport the key management
protocol data ("keymgmt-data") protocol data ("keymgmt-data"). The key management protocol data
* in the case of SDP, an extra (optional) authentication attribute contains the necessary information to establish the security
to be able to tie the key management data to the surrounding protocol, e.g., keys and cryptographic parameters. All parameters
media definitions ("key-extra-auth"). and keys are protected by the key management. Note that if the key
management protocol fails, e.g., the receiver does not accept any
of the proposed security parameters, or simply does not understand
the key management protocol, the security setup will fail.
Consequently, it is impossible to establish a secure session. This
is very similar to the normal SIP/SDP behavior; if the sender only
supports two codecs, and the receiver do not support any of them,
it will be problematic to set up a session.
* in the case of SDP, an extra (optional) authentication attribute to
be able to tie the key management data to the surrounding media
definitions ("key-extra-auth").
2.1. SDP Extensions 2.1. SDP Extensions
This section provides an Augmented Backus-Naur Form (ABNF) grammar This section provides an Augmented Backus-Naur Form (ABNF) grammar
(as used in [SDP]) for the key management extensions to SDP. (as used in [SDPnew]) for the key management extensions to SDP.
Note that the new definitions are compliant with the definition of an Note that the new definitions are compliant with the definition of an
attribute field, i.e. attribute field, i.e.
attribute = (att-field ":" att-value) | att-field attribute = (att-field ":" att-value) | att-field
Three new attributes are defined, keymgmt-prtcl, keymgmt-data, and Three new attributes are defined, keymgmt-prtcl, keymgmt-data, and
key-extra-auth. key-extra-auth.
keymgmt-prtcl = "keymgmt-prot:" prtcl-name keymgmt-prtcl = "keymgmt-prot:" prtcl-name
prtcl-name = 1*(safe) prtcl-name = non-ws-string
; e.g. "MIKEY" ; e.g. "MIKEY"
keymgmt-data = "keymgmt-data:" byte-string keymgmt-data = "keymgmt-data:" byte-string
key-extra-auth = "keymgmt-auth:" byte-string key-extra-auth = "keymgmt-auth:" byte-string
where safe and byte-string are as defined in SDP [SDP]. where non-ws-string and byte-string are as defined in SDP [SDPnew].
2.2. RTSP Extensions 2.2. RTSP Extensions
To support the three different attributes described, the following To support the three different attributes described, the following
RTSP header is defined: RTSP header is defined:
KeyMgmt = "KeyMgmt" ":" [stream-url] protocol data KeyMgmt = "KeyMgmt" ":" [stream-url] protocol data
stream-url = "url" "=" url ";" stream-url = "url" "=" url ";"
skipping to change at page 5, line 27 skipping to change at page 5, line 48
Some general requirements MUST be set on the key management protocol Some general requirements MUST be set on the key management protocol
if it has to be suitable to work together with SIP and RTSP: if it has to be suitable to work together with SIP and RTSP:
* It MUST be possible to execute the key management protocol in at * It MUST be possible to execute the key management protocol in at
most one roundtrip in case the answerer accepts the offer. most one roundtrip in case the answerer accepts the offer.
* The protocol MUST return, to SDP/RTSP, a valid answer whether the * The protocol MUST return, to SDP/RTSP, a valid answer whether the
provided offer was accepted or not. provided offer was accepted or not.
* There MUST be a possibility for the key management protocol to * There MUST be a possibility for the key management protocol to tie
tie the media sessions to the negotiated parameters (i.e. an the media sessions to the negotiated parameters (i.e. an interface
interface between the key management and the SDP and RTSP between the key management and the SDP and RTSP implementation MUST
implementation MUST exist). exist).
Today, the MIKEY protocol has adopted the key management extensions Today, the MIKEY protocol has adopted the key management extensions
to work together with SIP and RTSP. Other protocols may use the to work together with SIP and RTSP. Other protocols may use the
described attributes and header, e.g. Kerberos. described attributes and header, e.g. Kerberos [KERB].
3.1. General SDP processing 3.1. General SDP processing
When an SDP message is created, the following procedure should be When an SDP message is created, the following procedure should be
applied: applied:
* The "keymgmt-prot" attribute is filled in with the identifier of * The "keymgmt-prot" attribute is filled in with the identifier of
the key management protocol used (e.g. MIKEY or Kerberos). the key management protocol used (e.g. MIKEY or Kerberos).
* The "keymgmt-data" attribute is filled in by using the key * The "keymgmt-data" attribute is filled in by using the key
management protocol interface to obtain key management data. The management protocol interface to obtain key management data. The
data may e.g. be a MIKEY message or Kerberos ticket. data may e.g. be a MIKEY message or Kerberos ticket.
* If used, the "keymgmt-auth" attribute is filled in by using the * If used, the "keymgmt-auth" attribute is filled in by using the key
key management protocol interface to obtain key management data. management protocol interface to obtain key management data. Note
Note that what data from SDP are supposed to be provided to the that what data from SDP are supposed to be provided to the
interface MUST be specified by the key management protocol interface MUST be specified by the key management protocol itself.
itself.
A received SDP message that contains the key management attributes A received SDP message that contains the key management attributes
SHOULD process these attributes in the following manner: SHOULD process these attributes in the following manner:
* Detect the key management protocol used by parsing the "keymgmt- * Detect the key management protocol used by parsing the "keymgmt-
prot" attribute. prot" attribute.
* Extract the key management data from the "keymgmt-data" attribute * Extract the key management data from the "keymgmt-data" attribute
and call the key management interface with the extracted data. and call the key management interface with the extracted data. Note
Note that depending on key management protocol, some extra that depending on key management protocol, some extra parameters
parameters might of course be requested, such as the might of course be requested, such as the source/destination
source/destination network address/port(s) for the specified network address/port(s) for the specified media.
media.
* Depending on the outcome of the key management processing (i.e. * Depending on the outcome of the key management processing (i.e.
whether it was accepted or not), SDP processing can proceed whether it was accepted or not), SDP processing can proceed
according to normal processing (e.g. according to the according to normal processing (e.g. according to the offer/answer
offer/answer model, see also Section 3.2.). model, see also Section 3.2.).
* If the optional "keymgmt-auth" attribute is included, this is * If the optional "keymgmt-auth" attribute is included, this is
processed as the "keymgmt-data". processed as the "keymgmt-data".
3.2. SIP usage 3.2. SIP usage
The offerer should include the key management data within an offer The offerer should include the key management data within an offer
that contains the media description it should apply to. The answerer that contains the media description it should apply to. The answerer
MUST check with the key management protocol if the attribute values MUST check with the key management protocol if the attribute values
are valid, and then obtain from the key management the data to are valid, and then obtain from the key management the data to
skipping to change at page 9, line 33 skipping to change at page 10, line 5
RTSP/1.0 200 OK RTSP/1.0 200 OK
CSeq: 313 CSeq: 313
Session: 12345678 Session: 12345678
Transport: RTP/SAVP/UDP;unicast;client_port=3056-3057; Transport: RTP/SAVP/UDP;unicast;client_port=3056-3057;
server_port=5000-5001 server_port=5000-5001
The RTSP is then proceeded as usual (with e.g. a SETUP message for The RTSP is then proceeded as usual (with e.g. a SETUP message for
the video followed by a PLAY message). the video followed by a PLAY message).
4. Security Considerations 4. Adding a Key management protocol
This framework can not be used with all key management protocols. The
key management protocol MUST comply to the requirements described in
Section 3. To be able to use a key management protocol with this
framework, the following MUST be specified:
* the key management protocol name that should be used in the
"keymgmt-prot" attribute (e.g. "MIKEY" for MIKEY).
* the information the key management needs from SDP and RTSP (Section
3. gives a guideline of what SDP and RTSP needs from the key
management). The exact interface is implementation specific, but it
SHOULD at least support to exchange the specified information.
* if the "keymgmt-auth" attribute is needed by the key management, it
should also specify the information needed for this. This also
includes a precise list of the SDP lines it covers.
The encoding of the data for both "keymgmt-data" and "keymgmt-auth"
MUST be specified for each key management protocol and comply with
the SDP and RTSP definitions. For most protocols, base64 encoding
will be most appropriate.
5. Security Considerations
The nature of this document is to allow SDP and RTSP to support The nature of this document is to allow SDP and RTSP to support
security of the media sessions. It is therefore not the intention of security of the media sessions. It is therefore not the intention of
this document to describe possible security solution or to define this document to describe possible security solution or to define
possible security problems. The defined SDP and RTSP extensions are possible security problems. The defined SDP and RTSP extensions are
not believed to introduce any new security risks to SDP and RTSP. not believed to introduce any new security risks to SDP and RTSP.
The "keymgmt-auth" attribute may be (optionally) used to guarantee an
authenticated binding between the session(s) and the security
parameters, e.g. authenticating both the key management lines and
(parts of) the surrounding SDP description. Each key management
specifies the coverage of such "keymgmt-auth" attribute. A denial-of-
service attack may be open if such authenticated binding is not
provided. Note however, the "keymgmt-auth" cannot work when NATs are
present.
Note that the purpose of the key management fields is to secure the Note that the purpose of the key management fields is to secure the
media streams themselves. Under the assumption that the key media streams themselves. Under the assumption that the key
management schemes are secure, the SDP payloads can be passed along management schemes are secure, the SDP payloads can be passed along
unprotected, and the media streams will still be secure even if some unprotected, and the media streams will still be secure even if some
attackers gained knowledge of the SDP contents. There may however, be attackers gained knowledge of the SDP contents. There may however, be
other reasons to protect the SDP payloads such as preventing other reasons to protect the SDP payloads such as preventing
attackers from gaining any information regarding the session or the attackers from gaining any information regarding the session or the
used equipment. used equipment.
5. IANA Considerations If the SDP messages are not sent authenticated between the parties,
it is possible for an attacker to change attributes without being
detected. The "keymgmt-data" is protected by itself, but as it relies
on the session information from SDP, an attack on SDP may give
indirect consequences on the key management. The result of the
attacks is not that severe, as it mainly will result in re-direction
of the streams, or other DoS attacks. To circumvent the problem, the
"keymgmt-auth" attribute may (optionally) be used to guarantee an
authenticated binding between the session(s) and the security
parameters, e.g., authenticating both the key management lines and
(parts of) the surrounding SDP description. Each key management
specifies the exact coverage of such "keymgmt-auth" attribute, i.e.,
a precise list of which SDP lines are covered. Note however, the
"keymgmt-auth" cannot work when NATs are present (as this may require
that fields in the SDP are changed).
6. IANA Considerations
Three new attributes fields for SDP (see Section 2.1) and one new Three new attributes fields for SDP (see Section 2.1) and one new
RTSP header are registered (see Section 2.2). RTSP header are registered (see Section 2.2).
6. Conclusions 7. Conclusions
A security solution for real-time applications needs a key management A security solution for real-time applications needs a key management
infrastructure. Integrating the key management scheme with the infrastructure. Integrating the key management scheme with the
session establishment protocol could be done efficiently in most of session establishment protocol could be done efficiently in most of
the scenarios. This draft proposes a framework that integrates a key the scenarios. This draft proposes a framework that integrates a key
management protocol (e.g. MIKEY) into SIP and RTSP, and which can be management protocol (e.g., MIKEY) into SIP and RTSP, and which can be
accompanied by different key management protocols. A set of new accompanied by different key management protocols. A set of new
attributes and headers has been defined in SDP and RTSP to support attributes and headers has been defined in SDP and RTSP to support
this. this.
7. Acknowledgments 8. Acknowledgments
Thanks to: Rolf Blom, Magnus Westerlund, and the rest involved in the Thanks to: Rolf Blom, Magnus Westerlund, and the rest involved in the
MMUSIC WG and the MSEC WG. MMUSIC WG and the MSEC WG.
A special thanks to Joerg Ott and Colin Perkins. A special thanks to Joerg Ott and Colin Perkins.
8. Author's Addresses 9. Author's Addresses
Jari Arkko Jari Arkko
Ericsson Ericsson
02420 Jorvas Phone: +358 40 5079256 02420 Jorvas Phone: +358 40 5079256
Finland Email: jari.arkko@ericsson.com Finland Email: jari.arkko@ericsson.com
Elisabetta Carrara Elisabetta Carrara
Ericsson Research Ericsson Research
SE-16480 Stockholm Phone: +46 8 50877040 SE-16480 Stockholm Phone: +46 8 50877040
Sweden EMail: elisabetta.carrara@era.ericsson.se Sweden EMail: elisabetta.carrara@era.ericsson.se
skipping to change at page 11, line 12 skipping to change at page 12, line 14
Mats Naslund Mats Naslund
Ericsson Research Ericsson Research
SE-16480 Stockholm Phone: +46 8 58533739 SE-16480 Stockholm Phone: +46 8 58533739
Sweden EMail: mats.naslund@era.ericsson.se Sweden EMail: mats.naslund@era.ericsson.se
Karl Norrman Karl Norrman
Ericsson Research Ericsson Research
SE-16480 Stockholm Phone: +46 8 4044502 SE-16480 Stockholm Phone: +46 8 4044502
Sweden EMail: karl.norrman@era.ericsson.se Sweden EMail: karl.norrman@era.ericsson.se
9. References 10. References
[KERB] Kohl, J., Neuman, C., "The Kerberos Network Authentication
Service (V5)", IETF, RFC 1510.
[MIKEY] Arkko, J., Carrara, E., Lindholm, F., Naslund, M., and [MIKEY] Arkko, J., Carrara, E., Lindholm, F., Naslund, M., and
Norrman, K., "MIKEY: Multimedia Internet KEYing", Internet Draft, Norrman, K., "MIKEY: Multimedia Internet KEYing", Internet Draft,
IETF, Work in progress (MSEC). IETF, Work in progress (MSEC).
[OAM] Rosenberg, J. and Schulzrinne, H., "An Offer/Answer Model with [OAM] Rosenberg, J. and Schulzrinne, H., "An Offer/Answer Model with
SDP", Internet Draft, IETF, Work in progress (MMUSIC). SDP", Internet Draft, IETF, Work in progress (MMUSIC).
[RTSP] Schulzrinne, H., Rao, A., and Lanphier, R., "Real Time [RTSP] Schulzrinne, H., Rao, A., and Lanphier, R., "Real Time
Streaming Protocol (RTSP)", RFC 2326, April 1998. Streaming Protocol (RTSP)", IETF, RFC 2326.
[SDP] Handley, M., and Jacobson, V., "Session Description Protocol [SDPnew] Handley, M., Jacobson, V., and Perkins, C., "SDP: Session
(SDP)", IETF, RFC2327 Description Protocol", Internet Draft, IETF, Work in progress
(MMUSIC).
[SIP] Handley, M., Schulzrinne, H., Schooler, E., and Rosenberg, J., [SIP] Handley, M., Schulzrinne, H., Schooler, E., and Rosenberg, J.,
"SIP: Session Initiation Protocol", IETF, RFC2543. "SIP: Session Initiation Protocol", IETF, RFC2543.
[SRTP] Blom, R., Carrara, E., McGrew, D., Naslund, M, Norrman, K., [SRTP] Baugher, M., Blom, R., Carrara, E., McGrew, D., Naslund, M,
and Oran, D., "The Secure Real Time Transport Protocol", Internet Norrman, K., and Oran, D., "The Secure Real Time Transport Protocol",
Draft, IETF, Work in Progress (AVT). Internet Draft, IETF, Work in Progress (AVT).
This Internet-Draft expires in August 2002. This Internet-Draft expires in August 2002.
 End of changes. 

This html diff was produced by rfcdiff 1.23, available from http://www.levkowetz.com/ietf/tools/rfcdiff/