Internet DRAFT - draft-peterson-dispatch-rtpsec
draft-peterson-dispatch-rtpsec
Network Working Group J. Peterson
Internet-Draft Neustar
Intended status: Best Current Practice E. Rescorla
Expires: September 22, 2016 R. Barnes
Mozilla
R. Housley
Vigilsec
March 21, 2016
Best Practices for Securing RTP Media Signaled with SIP
draft-peterson-dispatch-rtpsec-00.txt
Abstract
Although the Session Initital Protocol (SIP) includes a suite of
security services that has been expanded by numerous specifications
over the years, there is no single place that explains how to use SIP
to establish confidential media sessions. Additionally, existing
mechanisms have some feature gaps that need to be identified and
resolved in order for them to address the pervasive monitoring threat
model. This specification describes practices for negotiating
confidential media with SIP, including both comprehensive security
solutions which bind the media to SIP-layer identities as well as
opportunistic security solutions.
Status of This Memo
This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/.
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."
This Internet-Draft will expire on September 22, 2016.
Copyright Notice
Copyright (c) 2016 IETF Trust and the persons identified as the
document authors. All rights reserved.
Peterson, et al. Expires September 22, 2016 [Page 1]
Internet-Draft RTP Security March 2016
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3
3. Security at the SIP and SDP layer . . . . . . . . . . . . . . 3
3.1. Comprehensive Security . . . . . . . . . . . . . . . . . 3
3.1.1. Anonymous Communications . . . . . . . . . . . . . . 4
3.2. Opportunistic Security . . . . . . . . . . . . . . . . . 5
4. Media Security . . . . . . . . . . . . . . . . . . . . . . . 5
5. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 5
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 6
7. Security Considerations . . . . . . . . . . . . . . . . . . . 6
8. Informative References . . . . . . . . . . . . . . . . . . . 6
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 7
1. Introduction
The Session Initiation Protocol (SIP) [RFC3261] includes a suite of
security services, ranging from Digest authentication for
authenticating entities with a shared secret, to TLS for transport
security, to S/MIME (optional) for body security. SIP is frequently
used to establish media sessions, in particular audio or audiovisual
sessions, which have their own security mechanisms available, such as
Secure RTP [RFC3711]. However, the practices needed to bind security
at the media layer to security at the SIP layer, to provide an
assurance that protection is in place all the way up the stack, rely
on a great many external security mechanisms and practices, and
require a central point of documentation to explain their optimal use
as a best practice.
Revelations about widespread pervasive monitoring of the Internet
have led to a reevaluation of the threat model for Internet
communications [RFC7258]. In order to maximize the use of security
features, especially of media confidentiality, opportunistic measures
must often serve as a stopgap when a full suite of services cannot be
negotiated all the way up the stack. This document explains the
limitations that may inhibit the use of comprehensive security, and
provides recommendations for which external security mechanisms
Peterson, et al. Expires September 22, 2016 [Page 2]
Internet-Draft RTP Security March 2016
implementers should use to negotiate secure media with SIP. It
moreover gives a gap analysis of the limitations of existing
solutions, and specifies solutions to address them.
2. Terminology
In this document, the key words "MUST", "MUST NOT", "REQUIRED",
"SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT
RECOMMENDED", "MAY", and "OPTIONAL" are to be interpreted as
described in RFC 2119 [RFC2119] and RFC 6919 [RFC6919].
3. Security at the SIP and SDP layer
There are two approaches to providing confidentiality for media
sessions set up with SIP: comprehensive security and opportunistic
security.
3.1. Comprehensive Security
Comprehensive security for media sessions established by SIP requires
the interaction of three protocols: SIP, the Session Description
Protocol (SDP), and the Real-time Protocol, in particular its secure
profile SRTP. Broadly, it is the responsibility of SIP to provide
integrity for the media keying attributes conveyed by SDP, and those
attributes will in turn identify the keys used by endpoints in the
RTP media session that SDP negotiates. In that way, once SIP and SDP
have exchanged the necessary information to initiate a session, the
media endpoints will have a strong assurance that the keys they
exchange have not been tampered with by third parties, and that end-
to-end confidentiality is available.
Our current target mechanism for establishing the identity of the
endpoints of a SIP session is the use of STIR
[I-D.ietf-stir-rfc4474bis]. The STIR signature has been designed to
prevent a class of impersonation attacks that are commonly used in
robocalling, voicemail hacking, and related threats. STIR generates
a signature over certain features of SIP requests, including header
field values that contain an identity for the originator of the
request, such as the From header field or P-Asserted-Identity field,
and also over the media keys in SDP if they are present. As
currently defined, STIR only provides a signature over the
"a=fingerprint" attribute, which is a key fingerprint utilized by
DTLS-SRTP [RFC5763]; consequently, STIR only offers comprehensive
security for SIP sessions, in concert with SDP and SRTP, when DTLS-
SRTP is the media security service. The underlying security object
of STIR is extensible, however, and it would be possible to provide
signatures over other SDP attributes that contain alternate keying
material.
Peterson, et al. Expires September 22, 2016 [Page 3]
Internet-Draft RTP Security March 2016
A STIR verification service can act in concept with an SRTP media
endpoint to ensure that the key fingerprints, as given in SDP, match
the keys exchanged to establish DTLS-SRTP. Typically, the
verification service function would in this case be implemented in
the SIP UAS, which would be composed with the media endpoint. If the
STIR authentication service or verification service functions are
implemented at an intermediary rather than an endpoint, this
introduces the possibility that the intermediary could act as a man-
in-the-middle, altering key fingerprints. As this attack is not in
STIR's core threat model, which focuses on impersonation rather than
man-in-the-middle attacks, STIR offers no specific protections
against it. However, it would be possible to build a deployment
profile of STIR for media confidentiality which shifts these
responsibilities to the endpoints rather than the intermediaries.
Note that STIR provides integrity protection for the SDP bodies of
SIP requests, but not SIP responses. When a session is established,
therefore, any SDP body carried by a 200 class response in the
backwards direction will not be protected by an authentication
service and cannot be verified. Thus, sending a secured SDP body in
the backwards direction will require an extra RTT, typically a re-
INVITE in the backwards direction. Again, this could be specified as
a component of a secure media profile for STIR.
Future versions of this specification will show in detail how those
gaps can be filled.
3.1.1. Anonymous Communications
In some cases, the identity of the initiator of a SIP session may be
withheld due to user or provider policy. Per the recommendations of
[RFC3323], this may involve using an identity such as
"anonymous@anonymous.invalid" in the identity fields of a SIP
request. [I-D.ietf-stir-rfc4474bis] does not currently permit
authentication services to sign for requests that supply this
identity. It does however permit signing for valid domains, such as
"anonymous@example.com," as a way of implementation an anonymization
service as specified in [RFC3323].
Even for anonymous sessions, providing media confidentiality and
partial SDP integrity is still desirable. Barring the use of an
anonymization service, this can only be accomplished with
opportunistic security; the value of trying to provide an
intermediate level between comprehensive and opportunistic security
for this use case is a matter for futher discussion and study.
Peterson, et al. Expires September 22, 2016 [Page 4]
Internet-Draft RTP Security March 2016
3.2. Opportunistic Security
Work is already underway on defining approaches to opportunistic
media security for SIP in [I-D.johnston-dispatch-osrtp], which builds
on the prior efforts of [I-D.kaplan-mmusic-best-effort-srtp]. The
major protocol change proposed by that draft is to signal the use of
opportunistic encryption by negotiating the AVP profile in SDP,
rather than the SAVP profile (as specified in [RFC3711]) that would
ordinarily be used when negotiating SRTP.
Opportunistic encryption approaches typically have no integrity
protection for the keying material in SDP. Sending SIP over TLS hop-
by-hop between user agents and any intermediaries will reduce the
prospect that active attackers can alter keys for session requests on
the wire.
4. Media Security
As there are several ways to negotiate media security with SDP, any
of which might be used with either opportunistic or comprehensive
security, further guidance to implementers is needed. In
[I-D.johnston-dispatch-osrtp], opportunistic approaches considered
include DTLS-SRTP, security descriptions [RFC4568], and ZRTP
[RFC6189]. In order to prevent men-in-the-middle from decrypting
media traffic, the "a=crypto" SDP parameter of security descriptions
requires signaling confidentiality which STIR and related
comprehensive security approaches cannot provide, so delivering keys
by value in SDP in this fashion is NOT RECOMMENDED. Both DTLS-SRTP
and ZRTP instead provide hashes which are carried in SDP, and thus
require only integrity protection rather than confidentiality.
Of DTLS-SRTP and ZRTP, only DTLS-SRTP is a Standards Track Internet
protocol. Future versions of this specification will give specific
recommendations on support for media security protocols.
Future versions of this specification will explore the issue of
multiple fingerprints appearing in the message, and offers that
include both DTLS-SRTP and ZRTP security.
5. Acknowledgments
We would like to thank YOU for contributions to this problem
statement and framework.
Peterson, et al. Expires September 22, 2016 [Page 5]
Internet-Draft RTP Security March 2016
6. IANA Considerations
This memo includes no requests to the IANA.
7. Security Considerations
This document describes the security features that provide media
sessions established with SIP with confidentiality, integrity, and
authentication.
8. Informative References
[I-D.ietf-stir-rfc4474bis]
Peterson, J., Jennings, C., Rescorla, E., and C. Wendt,
"Authenticated Identity Management in the Session
Initiation Protocol (SIP)", draft-ietf-stir-rfc4474bis-07
(work in progress), February 2016.
[I-D.johnston-dispatch-osrtp]
Johnston, A., Aboba, B., Hutton, A., Liess, L., and T.
Thomas, "An Opportunistic Approach for Secure Real-time
Transport Protocol (OSRTP)", draft-johnston-dispatch-
osrtp-02 (work in progress), February 2016.
[I-D.kaplan-mmusic-best-effort-srtp]
Audet, F. and H. Kaplan, "Session Description Protocol
(SDP) Offer/Answer Negotiation For Best-Effort Secure
Real-Time Transport Protocol", draft-kaplan-mmusic-best-
effort-srtp-01 (work in progress), October 2006.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997,
<http://www.rfc-editor.org/info/rfc2119>.
[RFC3261] Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston,
A., Peterson, J., Sparks, R., Handley, M., and E.
Schooler, "SIP: Session Initiation Protocol", RFC 3261,
DOI 10.17487/RFC3261, June 2002,
<http://www.rfc-editor.org/info/rfc3261>.
[RFC3264] Rosenberg, J. and H. Schulzrinne, "An Offer/Answer Model
with Session Description Protocol (SDP)", RFC 3264,
DOI 10.17487/RFC3264, June 2002,
<http://www.rfc-editor.org/info/rfc3264>.
Peterson, et al. Expires September 22, 2016 [Page 6]
Internet-Draft RTP Security March 2016
[RFC3323] Peterson, J., "A Privacy Mechanism for the Session
Initiation Protocol (SIP)", RFC 3323,
DOI 10.17487/RFC3323, November 2002,
<http://www.rfc-editor.org/info/rfc3323>.
[RFC3711] Baugher, M., McGrew, D., Naslund, M., Carrara, E., and K.
Norrman, "The Secure Real-time Transport Protocol (SRTP)",
RFC 3711, DOI 10.17487/RFC3711, March 2004,
<http://www.rfc-editor.org/info/rfc3711>.
[RFC4568] Andreasen, F., Baugher, M., and D. Wing, "Session
Description Protocol (SDP) Security Descriptions for Media
Streams", RFC 4568, DOI 10.17487/RFC4568, July 2006,
<http://www.rfc-editor.org/info/rfc4568>.
[RFC5124] Ott, J. and E. Carrara, "Extended Secure RTP Profile for
Real-time Transport Control Protocol (RTCP)-Based Feedback
(RTP/SAVPF)", RFC 5124, DOI 10.17487/RFC5124, February
2008, <http://www.rfc-editor.org/info/rfc5124>.
[RFC5763] Fischl, J., Tschofenig, H., and E. Rescorla, "Framework
for Establishing a Secure Real-time Transport Protocol
(SRTP) Security Context Using Datagram Transport Layer
Security (DTLS)", RFC 5763, DOI 10.17487/RFC5763, May
2010, <http://www.rfc-editor.org/info/rfc5763>.
[RFC6189] Zimmermann, P., Johnston, A., Ed., and J. Callas, "ZRTP:
Media Path Key Agreement for Unicast Secure RTP",
RFC 6189, DOI 10.17487/RFC6189, April 2011,
<http://www.rfc-editor.org/info/rfc6189>.
[RFC6919] Barnes, R., Kent, S., and E. Rescorla, "Further Key Words
for Use in RFCs to Indicate Requirement Levels", RFC 6919,
DOI 10.17487/RFC6919, April 2013,
<http://www.rfc-editor.org/info/rfc6919>.
[RFC7258] Farrell, S. and H. Tschofenig, "Pervasive Monitoring Is an
Attack", BCP 188, RFC 7258, DOI 10.17487/RFC7258, May
2014, <http://www.rfc-editor.org/info/rfc7258>.
Authors' Addresses
Peterson, et al. Expires September 22, 2016 [Page 7]
Internet-Draft RTP Security March 2016
Jon Peterson
Neustar, Inc.
1800 Sutter St Suite 570
Concord, CA 94520
US
Email: jon.peterson@neustar.biz
Eric Rescorla
Mozilla
Email: ekr@rtfm.com
Richard Barnes
Mozilla
Email: rbarnes@mozilla.com
Russ Housley
Vigilsec
Email: rhousley@vigilsec.com
Peterson, et al. Expires September 22, 2016 [Page 8]