draft-ietf-sipbrandy-rtpsec-00.txt   draft-ietf-sipbrandy-rtpsec-01.txt 
Network Working Group J. Peterson Network Working Group J. Peterson
Internet-Draft Neustar Internet-Draft Neustar
Intended status: Best Current Practice E. Rescorla Intended status: Best Current Practice E. Rescorla
Expires: March 13, 2017 R. Barnes Expires: May 4, 2017 R. Barnes
Mozilla Mozilla
R. Housley R. Housley
Vigilsec Vigilsec
September 9, 2016 October 31, 2016
Best Practices for Securing RTP Media Signaled with SIP Best Practices for Securing RTP Media Signaled with SIP
draft-ietf-sipbrandy-rtpsec-00.txt draft-ietf-sipbrandy-rtpsec-01.txt
Abstract Abstract
Although the Session Initiation Protocol (SIP) includes a suite of Although the Session Initiation Protocol (SIP) includes a suite of
security services that has been expanded by numerous specifications security services that has been expanded by numerous specifications
over the years, there is no single place that explains how to use SIP over the years, there is no single place that explains how to use SIP
to establish confidential media sessions. Additionally, existing to establish confidential media sessions. Additionally, existing
mechanisms have some feature gaps that need to be identified and mechanisms have some feature gaps that need to be identified and
resolved in order for them to address the pervasive monitoring threat resolved in order for them to address the pervasive monitoring threat
model. This specification describes best practices for negotiating model. This specification describes best practices for negotiating
skipping to change at page 1, line 43 skipping to change at page 1, line 43
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/. Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on March 13, 2017. This Internet-Draft will expire on May 4, 2017.
Copyright Notice Copyright Notice
Copyright (c) 2016 IETF Trust and the persons identified as the Copyright (c) 2016 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of (http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
skipping to change at page 2, line 27 skipping to change at page 2, line 27
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3
3. Security at the SIP and SDP layer . . . . . . . . . . . . . . 3 3. Security at the SIP and SDP layer . . . . . . . . . . . . . . 3
3.1. Comprehensive Protection . . . . . . . . . . . . . . . . 3 3.1. Comprehensive Protection . . . . . . . . . . . . . . . . 3
3.2. Opportunistic Security . . . . . . . . . . . . . . . . . 4 3.2. Opportunistic Security . . . . . . . . . . . . . . . . . 4
4. STIR Profile for Endpoint Authentication and Verification 4. STIR Profile for Endpoint Authentication and Verification
Services . . . . . . . . . . . . . . . . . . . . . . . . . . 4 Services . . . . . . . . . . . . . . . . . . . . . . . . . . 4
4.1. Credentials . . . . . . . . . . . . . . . . . . . . . . . 5 4.1. Credentials . . . . . . . . . . . . . . . . . . . . . . . 5
4.2. Anonymous Communications . . . . . . . . . . . . . . . . 6 4.2. Anonymous Communications . . . . . . . . . . . . . . . . 6
4.3. Connected Identity Usage . . . . . . . . . . . . . . . . 6 4.3. Connected Identity Usage . . . . . . . . . . . . . . . . 6
5. Media Security Protocols . . . . . . . . . . . . . . . . . . 7 4.4. Authorization Decisions . . . . . . . . . . . . . . . . . 7
6. Relayed Media and Conferencing . . . . . . . . . . . . . . . 7 4.4.1. Opportunistic STIR . . . . . . . . . . . . . . . . . 7
7. ICE and Connected Identity . . . . . . . . . . . . . . . . . 8 5. Media Security Protocols . . . . . . . . . . . . . . . . . . 8
8. Best Current Practices . . . . . . . . . . . . . . . . . . . 8 6. Relayed Media and Conferencing . . . . . . . . . . . . . . . 8
9. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 9 7. ICE and Connected Identity . . . . . . . . . . . . . . . . . 9
10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 9 8. Best Current Practices . . . . . . . . . . . . . . . . . . . 9
11. Security Considerations . . . . . . . . . . . . . . . . . . . 9 9. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 10
12. Informative References . . . . . . . . . . . . . . . . . . . 9 10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 10
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 12 11. Security Considerations . . . . . . . . . . . . . . . . . . . 10
12. Informative References . . . . . . . . . . . . . . . . . . . 10
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 13
1. Introduction 1. Introduction
The Session Initiation Protocol (SIP) [RFC3261] includes a suite of The Session Initiation Protocol (SIP) [RFC3261] includes a suite of
security services, ranging from Digest authentication for security services, ranging from Digest authentication for
authenticating entities with a shared secret, to TLS for transport authenticating entities with a shared secret, to TLS for transport
security, to S/MIME (optional) for body security. SIP is frequently security, to S/MIME (optionally) for body security. SIP is
used to establish media sessions, in particular audio or audiovisual frequently used to establish media sessions, in particular audio or
sessions, which have their own security mechanisms available, such as audiovisual sessions, which have their own security mechanisms
Secure RTP [RFC3711]. However, the practices needed to bind security available, such as Secure RTP [RFC3711]. However, the practices
at the media layer to security at the SIP layer, to provide an needed to bind security at the media layer to security at the SIP
assurance that protection is in place all the way up the stack, rely layer, to provide an assurance that protection is in place all the
on a great many external security mechanisms and practices, and way up the stack, rely on a great many external security mechanisms
require a central point of documentation to explain their optimal use and practices, and require a central point of documentation to
as a best practice. explain their optimal use as a best practice.
Revelations about widespread pervasive monitoring of the Internet Revelations about widespread pervasive monitoring of the Internet
have led to a reevaluation of the threat model for Internet have led to a reevaluation of the threat model for Internet
communications [RFC7258]. In order to maximize the use of security communications [RFC7258]. In order to maximize the use of security
features, especially of media confidentiality, opportunistic measures features, especially of media confidentiality, opportunistic measures
must often serve as a stopgap when a full suite of services cannot be 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 negotiated all the way up the stack. This document explains the
limitations that may inhibit the use of comprehensive protection, and limitations that may inhibit the use of comprehensive protection, and
provides recommendations for which external security mechanisms provides recommendations for which external security mechanisms
implementers should use to negotiate secure media with SIP. It implementers should use to negotiate secure media with SIP. It
skipping to change at page 3, line 40 skipping to change at page 3, line 40
There are two approaches to providing confidentiality for media There are two approaches to providing confidentiality for media
sessions set up with SIP: comprehensive protection and opportunistic sessions set up with SIP: comprehensive protection and opportunistic
security (as defined in [RFC7435]). security (as defined in [RFC7435]).
3.1. Comprehensive Protection 3.1. Comprehensive Protection
Comprehensive protection for media sessions established by SIP Comprehensive protection for media sessions established by SIP
requires the interaction of three protocols: SIP, the Session requires the interaction of three protocols: SIP, the Session
Description Protocol (SDP), and the Real-time Protocol, in particular Description Protocol (SDP), and the Real-time Protocol, in particular
its secure profile SRTP. Broadly, it is the responsibility of SIP to its secure profile SRTP. Broadly, it is the responsibility of SIP to
provide integrity for the media keying attributes conveyed by SDP, provide integrity protection for the media keying attributes conveyed
and those attributes will in turn identify the keys used by endpoints by SDP, and those attributes will in turn identify the keys used by
in the RTP media session that SDP negotiates. In that way, once SIP endpoints in the RTP media session(s) that SDP negotiates. In that
and SDP have exchanged the necessary information to initiate a way, once SIP and SDP have exchanged the necessary information to
session, the media endpoints will have a strong assurance that the initiate a session, media endpoints will have a strong assurance that
keys they exchange have not been tampered with by third parties, and the keys they exchange have not been tampered with by third parties,
that end-to-end confidentiality is available. and that end-to-end confidentiality is available.
Our current target mechanism for establishing the identity of the Our current target mechanism for establishing the identity of the
endpoints of a SIP session is the use of STIR endpoints of a SIP session is the use of STIR
[I-D.ietf-stir-rfc4474bis]. The STIR signature has been designed to [I-D.ietf-stir-rfc4474bis]. The STIR Identity header has been
prevent a class of impersonation attacks that are commonly used in designed to prevent a class of impersonation attacks that are
robocalling, voicemail hacking, and related threats. STIR generates commonly used in robocalling, voicemail hacking, and related threats.
a signature over certain features of SIP requests, including header
field values that contain an identity for the originator of the STIR generates a signature over certain features of SIP requests,
request, such as the From header field or P-Asserted-Identity field, including header field values that contain an identity for the
and also over the media keys in SDP if they are present. As originator of the request, such as the From header field or P-
currently defined, STIR only provides a signature over the Asserted-Identity field, and also over the media keys in SDP if they
"a=fingerprint" attribute, which is a key fingerprint utilized by are present. As currently defined, STIR only provides a signature
DTLS-SRTP [RFC5763]; consequently, STIR only offers comprehensive over the "a=fingerprint" attribute, which is a key fingerprint
protection for SIP sessions, in concert with SDP and SRTP, when DTLS- utilized by DTLS-SRTP [RFC5763]; consequently, STIR only offers
SRTP is the media security service. The underlying security object comprehensive protection for SIP sessions, in concert with SDP and
of STIR is extensible, however, and it would be possible to provide SRTP, when DTLS-SRTP is the media security service. The underlying
signatures over other SDP attributes that contain alternate keying PASSporT [I-D.ietf-stir-passport] object used by STIR is extensible,
material. A profile for using STIR to provide media confidentiality however, and it would be possible to provide signatures over other
is given in Section 4. SDP attributes that contain alternate keying material. A profile for
using STIR to provide media confidentiality is given in Section 4.
3.2. Opportunistic Security 3.2. Opportunistic Security
Work is already underway on defining approaches to opportunistic Work is already underway on defining approaches to opportunistic
media security for SIP in [I-D.johnston-dispatch-osrtp], which builds 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 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 major protocol change proposed by that draft is to signal the use of
opportunistic encryption by negotiating the AVP profile in SDP, opportunistic encryption by negotiating the AVP profile in SDP,
rather than the SAVP profile (as specified in [RFC3711]) that would rather than the SAVP profile (as specified in [RFC3711]) that would
ordinarily be used when negotiating SRTP. ordinarily be used when negotiating SRTP.
skipping to change at page 4, line 38 skipping to change at page 4, line 39
Opportunistic encryption approaches typically have no integrity Opportunistic encryption approaches typically have no integrity
protection for the keying material in SDP. Sending SIP over TLS hop- protection for the keying material in SDP. Sending SIP over TLS hop-
by-hop between user agents and any intermediaries will reduce the by-hop between user agents and any intermediaries will reduce the
prospect that active attackers can alter keys for session requests on prospect that active attackers can alter keys for session requests on
the wire. However, opportunistic confidentiality for media will the wire. However, opportunistic confidentiality for media will
prevent passive attacks of the form most common in the threat of prevent passive attacks of the form most common in the threat of
pervasive monitoring. pervasive monitoring.
4. STIR Profile for Endpoint Authentication and Verification Services 4. STIR Profile for Endpoint Authentication and Verification Services
A STIR [I-D.ietf-stir-rfc4474bis] verification service can act in STIR [I-D.ietf-stir-rfc4474bis] defines the Identity header field for
concert with an SRTP media endpoint to ensure that the key SIP, which provides a cryptographic attestation of the source of
fingerprints, as given in SDP, match the keys exchanged to establish communications. This profile assumes that a STIR verification
DTLS-SRTP. Typically, the verification service function would in service will act in concert with an SRTP media endpoint to ensure
this case be implemented in the SIP UAS, which would be composed with that the key fingerprints, as given in SDP, match the keys exchanged
the media endpoint. If the STIR authentication service or to establish DTLS-SRTP. To satisfy this condition, the verification
verification service functions are implemented at an intermediary service function would in this case be implemented in the SIP UAS,
rather than an endpoint, this introduces the possibility that the which would be composed with the media endpoint. If the STIR
intermediary could act as a man-in-the-middle, altering key authentication service or verification service functions are
fingerprints. As this attack is not in STIR's core threat model, implemented at an intermediary rather than an endpoint, this
which focuses on impersonation rather than man-in-the-middle attacks, introduces the possibility that the intermediary could act as a man
STIR offers no specific protections against it. However, it would be in the middle, altering key fingerprints. As this attack is not in
possible to build a deployment profile of STIR for media STIR's core threat model, which focuses on impersonation rather than
confidentiality which shifts these responsibilities to the endpoints man-in-the-middle attacks, STIR offers no specific protections
rather than the intermediaries. against such interference. The SIPBRANDY deployment profile of STIR
for media confidentiality thus shifts these responsibilities to the
endpoints rather than the intermediaries.
In order to be compliant with best practices for SIP media In order to be compliant with best practices for SIP media
confidentiality with comprehensive protection, user agent confidentiality with comprehensive protection, user agent
implementations MUST implement both the authentication service and implementations MUST implement both the authentication service and
verification service roles described in [I-D.ietf-stir-rfc4474bis]. verification service roles described in [I-D.ietf-stir-rfc4474bis].
STIR authentication services MUST signal their compliance with this
specification by adding the "msec" header element defined in this
specification to the PASSporT header. Implementations MUST provide
key fingerprints in SDP and the appropriate signatures over them per
[I-D.ietf-stir-passport].
When generating either an offer or an answer, compliant When generating either an offer or an answer, compliant
implementations MUST include an "a=fingerprint" attribute containing implementations MUST include an "a=fingerprint" attribute containing
the fingerprint of an appropriate key (see Section 4.1). the fingerprint of an appropriate key (see Section 4.1).
4.1. Credentials 4.1. Credentials
In order to implement the authentication service function, SIP In order to implement the authentication service function in the user
endpoints must acquire the credentials needed to sign for their own agent, SIP endpoints must acquire the credentials needed to sign for
identity. That identity is typically carried in the From header their own identity. That identity is typically carried in the From
field of a SIP request, and either contains a greenfield SIP URI header field of a SIP request, and either contains a greenfield SIP
(e.g. "sip:alice@example.com") or a telephone number, which can URI (e.g. "sip:alice@example.com") or a telephone number, which can
appear in a variety of ways (e.g. "sip:+17004561212@example.com). appear in a variety of ways (e.g.
[I-D.ietf-stir-rfc4474bis] Section 7 contains guidance for separating "sip:+17004561212@example.com;user=phone").
[I-D.ietf-stir-rfc4474bis] Section 8 contains guidance for separating
the two, and determining what sort of credential is needed to sign the two, and determining what sort of credential is needed to sign
for each. for each.
To date, few commercial certificate authorities issue certificates To date, few commercial certificate authorities issue certificates
for SIP URIs or telephone numbers. This is one reason why the STIR for SIP URIs or telephone numbers; though work is ongoing on systems
standard is architected to permit intermediaries to act as an for this purpose (such as [I-D.peterson-acme-telephone]) it is not
authentication service on behalf of an entire domain, just as in SIP mature enough to be recommended as a best practice. This is one
an proxy server can provide domain-level SIP service. While reason why the STIR standard is architected to permit intermediaries
certificate authorities that offered proof-of-possession certificates to act as an authentication service on behalf of an entire domain,
similar to those used in the email world could be offered for SIP, just as in SIP an proxy server can provide domain-level SIP service.
either for greenfield identifiers or for telephone numbers, this While certificate authorities that offered proof-of-possession
specification does not require their use. certificates similar to those used in the email world could be
offered for SIP, either for greenfield identifiers or for telephone
numbers, this specification does not require their use.
For users who do not possess such certificates, DTLS-SRTP [RFC5763] For users who do not possess such certificates, DTLS-SRTP [RFC5763]
permits the use of self-signed keys. This profile of STIR for media permits the use of self-signed keys. This profile of STIR for media
confidentiality therefore relaxes the authority requirements of confidentiality therefore relaxes the authority requirements of
[I-D.ietf-stir-rfc4474bis] to allow the use of self-signed keys for [I-D.ietf-stir-rfc4474bis] to allow the use of self-signed keys for
authentication services that are composed with user agents, by authentication services that are composed with user agents, by
generating a certificate (per the guidance of generating a certificate (per the guidance of
[I-D.ietf-stir-certificates]) with a subject corresponding to the [I-D.ietf-stir-certificates]) with a subject corresponding to the
user's identity. Such a credential could be used for trust on first user's identity. Such a credential could be used for trust on first
use (see [RFC7435]) by relying parties. Note that relying parties use (see [RFC7435]) by relying parties. Note that relying parties
skipping to change at page 6, line 32 skipping to change at page 6, line 39
RECOMMENDS using one-time self-signed certificates for anonymous RECOMMENDS using one-time self-signed certificates for anonymous
communications, with a subjectAltName of communications, with a subjectAltName of
"sip:anonymous@anonymous.invalid". After a session is terminated, "sip:anonymous@anonymous.invalid". After a session is terminated,
the certificate should be discarded, and a new one, with new keying the certificate should be discarded, and a new one, with new keying
material, should be generated before each future anonymous call. As material, should be generated before each future anonymous call. As
with self-signed certificates, relying parties SHOULD NOT use with self-signed certificates, relying parties SHOULD NOT use
certificate revocation mechanisms or real-time certificate certificate revocation mechanisms or real-time certificate
verification systems for anonymous certificates as they will not verification systems for anonymous certificates as they will not
increase confidence in the certificate. increase confidence in the certificate.
Note that when using one-time anonymous self-signed certificates, any
man in the middle could strip the Identity header and replace it with
one signed by its own one-time certificate, changing the "mkey"
parameters of PASSporT and any "a=fingerprint" attributes in SDP as
it chooses. This signature only provides protection against non-
Identity aware entities that might modify SDP without altering the
PASSporT conveyed in the Identity header.
4.3. Connected Identity Usage 4.3. Connected Identity Usage
STIR [I-D.ietf-stir-rfc4474bis] provides integrity protection for the STIR [I-D.ietf-stir-rfc4474bis] provides integrity protection for the
SDP bodies of SIP requests, but not SIP responses. When a session is SDP bodies of SIP requests, but not SIP responses. When a session is
established, therefore, any SDP body carried by a 200 class response established, therefore, any SDP body carried by a 200 class response
in the backwards direction will not be protected by an authentication in the backwards direction will not be protected by an authentication
service and cannot be verified. Thus, sending a secured SDP body in service and cannot be verified. Thus, sending a secured SDP body in
the backwards direction will require an extra RTT, typically a the backwards direction will require an extra RTT, typically a
request sent in the backwards direction. request sent in the backwards direction.
skipping to change at page 7, line 12 skipping to change at page 7, line 28
direction MUST be sent during dialog establishment, following the direction MUST be sent during dialog establishment, following the
receipt of a PRACK after a provisional 1xx response. receipt of a PRACK after a provisional 1xx response.
For use with this STIR Profile for media confidentiality, the UAS For use with this STIR Profile for media confidentiality, the UAS
that responds to the INVITE request MUST act as an authentication that responds to the INVITE request MUST act as an authentication
service for the UPDATE sent in the backwards direction. service for the UPDATE sent in the backwards direction.
The use of RFC4916 has some further interactions with ICE; see The use of RFC4916 has some further interactions with ICE; see
Section 7. Section 7.
4.4. Authorization Decisions
[I-D.ietf-stir-rfc4474bis] grants STIR verification services a great
deal of latitude when making authorization decisions based on the
presence of the Identity header field. It is largely a matter of
local policy whether an endpoint rejects a call based on absence of
an Identity header field, or even the presence of a header that fails
an integrity check against the request.
For the purposes of this STIR profile,
4.4.1. Opportunistic STIR
When the PASSporT object used by STIR contains the "mkey" attribute,
which protects the "a=fingerprint" attributes of SDP, STIR validation
will consequently fail when those attributes have been removed or
altered in transit. It would however be possible to convey with a
PASSporT attribute that the sender of an Identity-protected request
is using security on a best-effort basis, and that the originator of
the call would still like the call to connect even if it is not
possible to establish end-to-end confidentiality. In effect, this
would allow this profile of STIR for media confidentiality to behave
opportunistically.
5. Media Security Protocols 5. Media Security Protocols
As there are several ways to negotiate media security with SDP, any As there are several ways to negotiate media security with SDP, any
of which might be used with either opportunistic or comprehensive of which might be used with either opportunistic or comprehensive
protection, further guidance to implementers is needed. In protection, further guidance to implementers is needed. In
[I-D.johnston-dispatch-osrtp], opportunistic approaches considered [I-D.johnston-dispatch-osrtp], opportunistic approaches considered
include DTLS-SRTP, security descriptions [RFC4568], and ZRTP include DTLS-SRTP, security descriptions [RFC4568], and ZRTP
[RFC6189]. In order to prevent men-in-the-middle from decrypting [RFC6189].
media traffic, the "a=crypto" SDP parameter of security descriptions
requires signaling confidentiality which STIR and related
comprehensive protection 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 DTLS-SRTP is the only Standards Track Internet protocol for media
protocol. For that reason, this specification REQUIRES support for security. For that reason, this specification REQUIRES support for
DTLS-SRTP, and allows support for other media security protocols DTLS-SRTP.
OPTIONALLY.
[TBD] Future versions of this specification will explore the issue of The "mkey" claim of PASSporT provides integrity protection for
multiple fingerprints appearing in the message, and offers that "a=fingerprint" attributes in SDP, including cases where multiple
include both DTLS-SRTP and ZRTP security. "a=fingerprint" attributes appear in the same SDP.
6. Relayed Media and Conferencing 6. Relayed Media and Conferencing
Providing end-to-end media confidentiality for SIP is complicated by Providing end-to-end media confidentiality for SIP is complicated by
the presence of many forms of media relays. While many media relays the presence of many forms of media relays. While many media relays
merely proxy media to a destination, others present themselves as merely proxy media to a destination, others present themselves as
media endpoints and terminate security associations before re- media endpoints and terminate security associations before re-
originating media to its destination. originating media to its destination.
Centralized conference bridges are one type of entity that typically Centralized conference bridges are one type of entity that typically
terminates a media session in order to mux media from multiple terminates a media session in order to mux media from multiple
sources and then to re-originate the muxed media to conference sources and then to re-originate the muxed media to conference
participants. In many such implementations, only hop-by-hop media participants. In many such implementations, only hop-by-hop media
confidentiality is possible. Work is ongoing to specify a means to confidentiality is possible. Work is ongoing to specify a means to
encrypt both the hop-by-hop media between a user agent and a encrypt both the hop-by-hop media between a user agent and a
centralized server as well as the end-to-end media between user centralized server as well as the end-to-end media between user
agents. As this is the best practice for supporting agents, but is not sufficiently mature at this time to make a
[I-D.ietf-perc-double]. recommendation for a best practice here. Those protocols are
expected to identify their own best practice recommendations as they
mature.
Another class of entities that might relay SIP media are back-to-back Another class of entities that might relay SIP media are back-to-back
user agents (B2BUAs). If a B2BUA follows the guidance in [RFC7879], user agents (B2BUAs). If a B2BUA follows the guidance in [RFC7879],
it may be possible for those devices to act as media relays while it may be possible for those devices to act as media relays while
still permitting end-to-end confidentiality between user agents. still permitting end-to-end confidentiality between user agents.
Ultimately, if an endpoint can decrypt media it receives, then that Ultimately, if an endpoint can decrypt media it receives, then that
endpoint can forward the decrypted media without the knowledge or endpoint can forward the decrypted media without the knowledge or
consent of the media's originator. No media confidentiality consent of the media's originator. No media confidentiality
mechanism can protect against these sorts of relayed disclosures, or mechanism can protect against these sorts of relayed disclosures, or
skipping to change at page 8, line 50 skipping to change at page 9, line 38
recipients of media flows have consented to receive such flows. recipients of media flows have consented to receive such flows.
Implementations of this specification MUST implement the STUN usage Implementations of this specification MUST implement the STUN usage
for consent freshness defined in [RFC7675]. for consent freshness defined in [RFC7675].
8. Best Current Practices 8. Best Current Practices
The following are the best practices for SIP user agents to provide The following are the best practices for SIP user agents to provide
media confidentiality for SIP sessions. media confidentiality for SIP sessions.
Implementations MUST support the STIR endpoint profile given in Implementations MUST support the STIR endpoint profile given in
Section 4. Section 4, and signal that in PASSporT with the "msec" header
element.
Implementations MUST support DTLS-SRTP for key-management, as Implementations MUST support DTLS-SRTP for key-management, as
described in Section 5. described in Section 5.
Implementations MUST support the ICE, and the STUN consent freshness Implementations MUST support the ICE, and the STUN consent freshness
mechanism, as specified in Section 7. mechanism, as specified in Section 7.
Implementations MUST support the PERC "double" mechanism, as
specifies in Section 6.
9. Acknowledgments 9. Acknowledgments
We would like to thank Adam Roach, Andrew Hutton, and Ben Campbell We would like to thank Adam Roach, Andrew Hutton, and Ben Campbell
for contributions to this problem statement and framework. for contributions to this problem statement and framework.
10. IANA Considerations 10. IANA Considerations
This memo includes no requests to the IANA. This specification defines a new values for the PASSporT Type
registry called "msec," and the IANA is requested to add that to the
registry with a value pointing to [RFCThis].
11. Security Considerations 11. Security Considerations
This document describes the security features that provide media This document describes the security features that provide media
sessions established with SIP with confidentiality, integrity, and sessions established with SIP with confidentiality, integrity, and
authentication. authentication.
12. Informative References 12. Informative References
[I-D.ietf-ice-rfc5245bis] [I-D.ietf-ice-rfc5245bis]
skipping to change at page 9, line 43 skipping to change at page 10, line 36
Connectivity Establishment (ICE): A Protocol for Network Connectivity Establishment (ICE): A Protocol for Network
Address Translator (NAT) Traversal", draft-ietf-ice- Address Translator (NAT) Traversal", draft-ietf-ice-
rfc5245bis-04 (work in progress), June 2016. rfc5245bis-04 (work in progress), June 2016.
[I-D.ietf-mmusic-trickle-ice-sip] [I-D.ietf-mmusic-trickle-ice-sip]
Ivov, E., Stach, T., Marocco, E., and C. Holmberg, "A Ivov, E., Stach, T., Marocco, E., and C. Holmberg, "A
Session Initiation Protocol (SIP) usage for Trickle ICE", Session Initiation Protocol (SIP) usage for Trickle ICE",
draft-ietf-mmusic-trickle-ice-sip-05 (work in progress), draft-ietf-mmusic-trickle-ice-sip-05 (work in progress),
August 2016. August 2016.
[I-D.ietf-perc-double]
Jennings, C., Jones, P., and A. Roach, "SRTP Double
Encryption Procedures", draft-ietf-perc-double-01 (work in
progress), July 2016.
[I-D.ietf-stir-certificates] [I-D.ietf-stir-certificates]
Peterson, J. and S. Turner, "Secure Telephone Identity Peterson, J. and S. Turner, "Secure Telephone Identity
Credentials: Certificates", draft-ietf-stir- Credentials: Certificates", draft-ietf-stir-
certificates-07 (work in progress), July 2016. certificates-10 (work in progress), October 2016.
[I-D.ietf-stir-passport]
Wendt, C. and J. Peterson, "Personal Assertion Token
(PASSporT)", draft-ietf-stir-passport-10 (work in
progress), October 2016.
[I-D.ietf-stir-rfc4474bis] [I-D.ietf-stir-rfc4474bis]
Peterson, J., Jennings, C., Rescorla, E., and C. Wendt, Peterson, J., Jennings, C., Rescorla, E., and C. Wendt,
"Authenticated Identity Management in the Session "Authenticated Identity Management in the Session
Initiation Protocol (SIP)", draft-ietf-stir-rfc4474bis-11 Initiation Protocol (SIP)", draft-ietf-stir-rfc4474bis-14
(work in progress), August 2016. (work in progress), October 2016.
[I-D.johnston-dispatch-osrtp] [I-D.johnston-dispatch-osrtp]
Johnston, A., Ph.D., D., Hutton, A., Liess, L., and T. Johnston, A., Ph.D., D., Hutton, A., Liess, L., and T.
Stach, "An Opportunistic Approach for Secure Real-time Stach, "An Opportunistic Approach for Secure Real-time
Transport Protocol (OSRTP)", draft-johnston-dispatch- Transport Protocol (OSRTP)", draft-johnston-dispatch-
osrtp-02 (work in progress), February 2016. osrtp-02 (work in progress), February 2016.
[I-D.kaplan-mmusic-best-effort-srtp] [I-D.kaplan-mmusic-best-effort-srtp]
Audet, F. and H. Kaplan, "Session Description Protocol Audet, F. and H. Kaplan, "Session Description Protocol
(SDP) Offer/Answer Negotiation For Best-Effort Secure (SDP) Offer/Answer Negotiation For Best-Effort Secure
Real-Time Transport Protocol", draft-kaplan-mmusic-best- Real-Time Transport Protocol", draft-kaplan-mmusic-best-
effort-srtp-01 (work in progress), October 2006. effort-srtp-01 (work in progress), October 2006.
[I-D.peterson-acme-telephone]
Peterson, J. and R. Barnes, "ACME Identifiers and
Challenges for Telephone Numbers", draft-peterson-acme-
telephone-00 (work in progress), October 2016.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997, DOI 10.17487/RFC2119, March 1997,
<http://www.rfc-editor.org/info/rfc2119>. <http://www.rfc-editor.org/info/rfc2119>.
[RFC3261] Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston, [RFC3261] Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston,
A., Peterson, J., Sparks, R., Handley, M., and E. A., Peterson, J., Sparks, R., Handley, M., and E.
Schooler, "SIP: Session Initiation Protocol", RFC 3261, Schooler, "SIP: Session Initiation Protocol", RFC 3261,
DOI 10.17487/RFC3261, June 2002, DOI 10.17487/RFC3261, June 2002,
<http://www.rfc-editor.org/info/rfc3261>. <http://www.rfc-editor.org/info/rfc3261>.
 End of changes. 25 change blocks. 
104 lines changed or deleted 149 lines changed or added

This html diff was produced by rfcdiff 1.45. The latest version is available from http://tools.ietf.org/tools/rfcdiff/