Internet DRAFT - draft-cheng-avtcore-srtp-cloud
draft-cheng-avtcore-srtp-cloud
Network Working Group Y. Cheng
Internet-Draft J. Mattsson
Intended status: Standards Track M. Naslund
Expires: September 10, 2015 Ericsson
March 9, 2015
Secure Real-time Transport Protocol (SRTP) for Cloud Services
draft-cheng-avtcore-srtp-cloud-00
Abstract
In order to support use cases when two or more end-points communicate
via one (or more) cloud service (e.g. virtualized cloud-based
conferencing) that are not trusted to access the media content, this
document describes the use of so called end-to-end (inner) and hop-
by-hop (outer) cryptographic transforms within the Secure Real-time
Transport Protocol (SRTP). One of the main aspects of the transforms
is to make the confidentiality and message authentication independent
of the RTP header. Another central aspect is to enable
identification of the cryptographic contexts (keys etc.). Besides
the security of the end-points, also trust assumptions regarding the
cloud services are addressed.
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 10, 2015.
Copyright Notice
Copyright (c) 2015 IETF Trust and the persons identified as the
document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents
Cheng, et al. Expires September 10, 2015 [Page 1]
Internet-Draft SRTP Cloud March 2015
(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 . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1. Scope of this Document . . . . . . . . . . . . . . . . . 4
1.2. Conventions used in this Document . . . . . . . . . . . . 4
2. SRTP Cloud Overview . . . . . . . . . . . . . . . . . . . . . 5
2.1. Overview . . . . . . . . . . . . . . . . . . . . . . . . 5
2.2. SRTP Cloud Cryptographic Contexts . . . . . . . . . . . . 6
2.3. SRTP Cloud Packet Format . . . . . . . . . . . . . . . . 7
2.4. Replay Protection . . . . . . . . . . . . . . . . . . . . 7
3. SRTP Cloud Specification . . . . . . . . . . . . . . . . . . 8
3.1. The Cloud Extension . . . . . . . . . . . . . . . . . . . 8
3.2. Terminology . . . . . . . . . . . . . . . . . . . . . . . 8
3.3. Trust Model . . . . . . . . . . . . . . . . . . . . . . . 8
3.4. SRTP Cloud Packet Format . . . . . . . . . . . . . . . . 10
3.5. Extension of the SRTP Cryptographic Context . . . . . . . 12
3.5.1. Definition of e2e Context . . . . . . . . . . . . . . 13
3.5.2. Identification of e2e Context . . . . . . . . . . . . 13
3.6. SRTP Cloud Processing . . . . . . . . . . . . . . . . . . 14
3.6.1. Sender . . . . . . . . . . . . . . . . . . . . . . . 14
3.6.2. Middlebox . . . . . . . . . . . . . . . . . . . . . . 15
3.6.3. Receiver . . . . . . . . . . . . . . . . . . . . . . 16
3.7. Use of SRTCP with SRTP Cloud . . . . . . . . . . . . . . 17
3.8. Cryptographic Transforms . . . . . . . . . . . . . . . . 18
3.8.1. Pre-Defined e2e Transforms . . . . . . . . . . . . . 18
3.8.2. Session Key Derivation . . . . . . . . . . . . . . . 18
3.8.3. Default Transforms . . . . . . . . . . . . . . . . . 19
3.8.4. SRTP Cloud Default Parameters . . . . . . . . . . . . 19
3.8.5. Adding Future e2e Transforms . . . . . . . . . . . . 19
4. Security Considerations . . . . . . . . . . . . . . . . . . . 20
4.1. General . . . . . . . . . . . . . . . . . . . . . . . . . 20
4.2. Keystream Reuse . . . . . . . . . . . . . . . . . . . . . 20
4.3. Authentication and Authorization . . . . . . . . . . . . 21
4.4. Replay Protection . . . . . . . . . . . . . . . . . . . . 21
4.5. Key Management Considerations . . . . . . . . . . . . . . 21
4.6. Privacy . . . . . . . . . . . . . . . . . . . . . . . . . 22
4.7. RTCP Considerations . . . . . . . . . . . . . . . . . . . 22
4.8. Malicious middleboxes . . . . . . . . . . . . . . . . . . 22
5. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 23
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 23
Cheng, et al. Expires September 10, 2015 [Page 2]
Internet-Draft SRTP Cloud March 2015
7. References . . . . . . . . . . . . . . . . . . . . . . . . . 23
7.1. Normative References . . . . . . . . . . . . . . . . . . 23
7.2. Informative References . . . . . . . . . . . . . . . . . 23
Appendix A. Use Cases . . . . . . . . . . . . . . . . . . . . . 24
A.1. Problem Statement . . . . . . . . . . . . . . . . . . . . 24
A.2. Security Requirements . . . . . . . . . . . . . . . . . . 24
A.3. Problems with SRTP in Cloud Based Scenarios . . . . . . . 26
A.4. Design Rationale . . . . . . . . . . . . . . . . . . . . 26
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 27
1. Introduction
The Secure Real-time Transport Protocol (SRTP) [RFC3711] is a profile
of RTP, which can provide confidentiality, message authentication,
and replay protection to the RTP traffic and to the RTP Control
Protocol (RTCP). The basic SRTP profile in [RFC3711] addresses real-
time end-to-end use cases, and does not consider use cases where a
sender delivers media to one or more receivers via a cloud-based
service. One typical example of such use cases is multi-party
conferencing, where a middlebox (conference server) forwards media
received from one participant to all other participants. Figure 1
below shows a conference with four participants.
+---+ +------------+ +---+
| A |<---->| |<---->| B |
+---+ | | +---+
| Middlebox |
+---+ | | +---+
| C |<---->| |<---->| D |
+---+ +------------+ +---+
Figure 1: Multi-party conference with a middlebox
The cloud based middlebox is typically considered as semi-trusted,
meaning that the middlebox will deliver media as requested, but it
cannot be excluded that the middlebox will also try to extract the
information in the media(e.g. infringement of copyrighted content,
legal or illegal intercept). The reason to not use a fully trusted
middlebox is mainly cost and convenience, the same forces that drives
out-sourcing and cloud computing. The trust model will be made more
formal later in this document. What causes problems for standard
end-to-end SRTP in these settings is its dependence on the actual RTP
transport parameters which will differ when RTP is used on different
hops, i.e., sender-middlebox and middlebox-receiver.
SRTP is a framework that allows new security functions and new
transforms to be added and this document defines extensions to SRTP
to meet the additional use cases considered. One of the main aspects
Cheng, et al. Expires September 10, 2015 [Page 3]
Internet-Draft SRTP Cloud March 2015
of the transform is to make the confidentiality and message
authentication independent of the RTP header. This allows for end-
to-end protection to be achieved also when cloud based middleboxes
assign values to the RTP headers, independently on each hop.
Another aspect is that identification of the cryptographic context
(keys etc.) between the end-points must be extended, as the
parameters used in [RFC3711] are available only during transport of
RTP packets over a "hop". For instance, [RFC3711] specifies that the
receiver's IP address shall be part of the context identifier, but
this value may of course not be known to the sender when
communicating messages via a cloud based middlebox. One may also
want to avoid using IP address as context identifier due to privacy
considerations. Another part of the cryptographic context identifier
is the SSRC, which may be modified by middleboxes.
While there certainly are differences between this document and
[RFC3711] on mechanism level, it is worth noticing that the kind of
extensions defined herein are conceptually almost identical to the
SRTP extensions previously defined in [RFC4383], which adds source
origin authentication support to SRTP. Moreover, as far as the
cryptographic processing is concerned, the cloud based middleboxes
may use [RFC3711] compliant processing and changes in cryptographic
processing are thus only needed in the end-points.
1.1. Scope of this Document
The scope of this document is to specify extensions to SRTP
(parameters, processing, and cryptographic transforms) to support use
cases where a cloud based middlebox is involved and to describe the
associated trust model.
The existence of cloud based middlebox implies a different trust
model than that originally considered when designing SRTP. This
manifests itself in terms of the need to ensure only authorized
access to the different cryptographic keys involved, i.e. the
extensions defined herein MUST have support from some key management
scheme. Similar to the original SRTP specification, the actual
definition of the key management solution is out of scope of this
document.
1.2. Conventions used in this Document
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 [RFC2119].
Definitions:
Cheng, et al. Expires September 10, 2015 [Page 4]
Internet-Draft SRTP Cloud March 2015
DoS: Denial of service
e2e: end-to-end
hbh: hop-by-hop
2. SRTP Cloud Overview
2.1. Overview
A high-level description of the proposed new SRTP functionality is as
follows: The first step is to perform a transport independent media
protection operation. The coverage of this transform is the RTP
payload only. This operation is done with an Authenticated
Encryption with Associated Data (AEAD) transform. The media
protection should rely on two explicit values for cryptographic
synchronization, the Packet Unique Value (PUV) and the SRTP Source
(SSS), which are included and forwarded in the payload.
After the steps making up the transport independent media protection
have been performed, the protection processing proceeds as currently
defined by [RFC3711], which results in the addition of the required
transport protection.
Keying for transport protection is performed as described in
[RFC3711] and uses the SRTP internal key derivation function. The
key derivation function operates on a master key and a master salt,
where the master key (and salt) is here denoted hbh key (and hbh
salt).
The keying for the media protection is defined in an equivalent way,
producing keying material for the media transform. The e2e keying
material is based on another master key, the e2e key, which is
independent of the hbh key. Also for the e2e context, a master salt
(e2e salt) is defined. The key derivations used to derive the e2e
keying material could preferable use the key derivation function
defined in [RFC3711].
Note that with the approach taken, only the media protection
endpoints will have to implement the handling of two security
contexts. One of the defined transforms of [RFC3711] is used for the
transport protection (using the hbh key). A cloud middlebox should
be able to reuse a [RFC3711] compliant implementation of SRTP to
first receive and then resend the media.
For RTCP, the solution principles described for RTP applies.
However, the main applications for RTCP in a multi-party conference
is to both control the traffic over one hop, as well as performing
Cheng, et al. Expires September 10, 2015 [Page 5]
Internet-Draft SRTP Cloud March 2015
conference media control [RFC5104], which means that e2e encryption
cannot be applied in general. However, note that there are RTCP
application messages, which might benefit from having e2e integrity
protection.
2.2. SRTP Cloud Cryptographic Contexts
SRTP maintains a cryptographic context, containing master key(s),
cryptographic transforms, etc., for the associated SRTP session.
Exactly how the parameters in the cryptographic context are agreed
upon is a session setup issue and out of scope of SRTP. SRTP assumes
that a cryptographic context or rather the master key therein, is
shared only between mutually trusted parties.
e2e context (media protection)
<----------------------------------------------->
+---+ +---+ +---+
| S | | M | | R |
+---+ +---+ +---+
<----------------------> <---------------------->
hbh context 1 hbh context 2
(transport protection) (transport protection)
Figure 2: Context sharing (Sender, Middlebox, Receiver)
Note that in Figure 2, R represents multiple receivers in the case of
multi-party conferencing. Also M may represent several cascading
middleboxes.
The SRTP cryptographic context concept is reusable for the proposed
solution. Conceptually, the originator and the intended end-
receiver(s) share an e2e media security context, while a hbh
transport security context is shared by an endpoint and an
intermediary or by two intermediaries, see Figure 2.
The master key(s) in the e2e context MUST be cryptographically
independent of, and MUST NOT be deducible from, the master key of any
hbh context. The key management protocol(s) used MUST therefore be
able to negotiate keys satisfying these requirements.
The identification of the hbh context is as defined in [RFC3711],
while the used e2e context is implicitly identified in the session
setup.
A sender will use two cryptographic contexts: an e2e context used for
payload protection to the end-receiver(s), and a hbh context used to
secure the SRTP transport to the (first) intermediary. Similarly,
the end-receiver(s) will use two contexts. An intermediary node
Cheng, et al. Expires September 10, 2015 [Page 6]
Internet-Draft SRTP Cloud March 2015
however, will only use one standard SRTP context for each session.
In other words, an e2e context is used to achieve transport
independent media protection, and an hbh context is similarly used to
achieve transport protection.
For both e2e and hbh contexts, it is assumed that cryptographic
context parameters, such as master key and salt (if needed) are
included. From these, session keys/salts are derived similarly to
[RFC3711].
2.3. SRTP Cloud Packet Format
The packet format is composed of an "inner" e2e (sender-receiver)
part embedded in an "outer" hbh (sender-middlebox or middlebox-
receiver) part.
The SRTP Cloud packet format looks approximately like Figure 3
+------------+-------------------+-----+-----+-----+-----+
| hbh | e2e | e2e | e2e | hbh | hbh |
| RTP Header | Protected Payload | PUV | SSS | MKI | MAC |
+------------+-------------------+-----+-----+-----+-----+
Figure 3: SRTP Cloud packet format
The additional fields added by the inner e2e security processing are:
o SSS: SRTP Source is a value used by the e2e transform as an
identifier for the source within a e2e session. Thus, SSS MUST be
unique for all sources within the session.
o PUV: Packet Unique Value for the e2e transform. The PUV shall be
unique for each e2e protected payload being generated by a source
within a e2e session.
The RTP header, hbh MAC, and hbh MKI are in one-to-one correspondence
with respective fields of [RFC3711] and will not be discussed
further.
2.4. Replay Protection
When the RTP data is hbh transport protected between server and
receiver, replay protection on the transport level is provided as the
hbh protection offers the same security features as [RFC3711]. It is
assumed that the server is trusted not to attempt replay of data on
media level, unless the user requests it and thus, this is in line
with the trust model.
Cheng, et al. Expires September 10, 2015 [Page 7]
Internet-Draft SRTP Cloud March 2015
It is possible to implement replay protection on the media level for
e2e transforms when the PUV is a counter. This has to be done on the
application layer for the applications that requires it.
3. SRTP Cloud Specification
3.1. The Cloud Extension
The Cloud extension consists of a new packet format (Section 3.4), an
extended cryptographic context concept (Section 3.5), and new SRTP
processing at sender/receiver (Section 3.6). Considering only the
cryptographic processing, cloud based middleboxes are compatible with
[RFC3711], and the necessary additional processing is defined in
Section 3.6.2. Senders/receivers need to support new cryptographic
transforms (see Section 3.8).
3.2. Terminology
An e2e session is defined as the set of e2e protected data produced
under a single e2e context (a security association between sender and
the ultimate receiver(s), see Section 3.5.1 for the exact definition
of e2e context). A e2e session may comprise several sources, i.e.
several distinct logical e2e media streams to be protected by the
same e2e context.
A hbh session is defined as the set of hbh protected data produced
under a single hbh context (a security association between two
entities, see Section 3.5 for the exact definition of hbh context).
The cryptographic transforms, keys, etc., used for the e2e and hbh
protection, respectively, are denoted e2e transform, hbh transform,
e2e key, hbh key, etc.
Throughout the specification all protocol data fields are assumed to
be byte aligned, i.e. all defined bit-sizes SHALL be multiples of 8.
3.3. Trust Model
For the purpose of this document we use the following definitions:
A is said to trust B with information I, if A is willing to share I
with B. In the sequel we will simply say that A trusts B.
A is said to have sender-semi-trust in B if A considers B to be
"honest-but-curious" in the following sense. A trust B to maintain
information I provided by A, and (later) redistribute it to the
intended recipients as specified by A (parties that A trust with I).
However, A does not trust that B will not also try to extract the
Cheng, et al. Expires September 10, 2015 [Page 8]
Internet-Draft SRTP Cloud March 2015
information I for him/herself and/or to attempt to distribute I also
to other parties, e.g. parties that A does not trust with I.
A is similarly said to have receiver-semi-trust in B, if A trusts B
to maintain information intended for A and to (later) distribute this
information to A if and only if A so requests. However, A does not
trust that B will not also attempt to distribute the information to
other parties and/or try to extract it him/herself.
When it is obvious from the context (or irrelevant) we shall omit the
directivity (sender/receiver) and simply say that A semi-trusts B.
Figure 4 shows the assumed trust model in terms of previous
definitions.
In practice, the model means that
o S trusts R,
o S semi-trusts M to deliver information to R, and,
o R semi-trusts M to forward any information intended for R.
Trust
-------------------------------------------->
+---+ +---+ +---+
| S | | M | | R |
+---+ +---+ +---+
---------------------> <---------------------
Sender-semi-trust Receiver-semi-trust
Figure 4: Trust Model (Sender, Middlebox, Receiver)
Note in the case of multi-party conferencing R represents multiple
receivers.
As noted in the use cases above, S may be more concerned with who
gets access to the information than R is. Still, this trust model,
assuming a bare minimum of sender- and receiver-semi-trust as defined
above, has been chosen since it is a simple trust model and seems to
apply (qualitatively) as a common denominator for all the use cases
where a cloud based middlebox is involved. Note also that the trust
between S and R may often be mutual, but we do not require this.
M does not need to trust either of S or R. However, the trust model
also assumes the existence of other parties (not shown) that are not
trusted by any of S, M, or R, and which may attempt to intervene with
the communication between them and the services provided by M. Thus,
Cheng, et al. Expires September 10, 2015 [Page 9]
Internet-Draft SRTP Cloud March 2015
depending on the application and the security requirements,
authentication of S and R may be needed by some middleboxes in order
to detect impersonation and prevent unauthorized access.
When there are several middleboxes in the path between S and R, it is
necessary to assume that the middleboxes semi-trust each other, at
least in a transitive sense. Also, we may then have a situation
where S and R does not (directly) semi-trust a common M.
3.4. SRTP Cloud Packet Format
Figure 5 illustrates the format of the SRTP packet with the Cloud
extension.
The packet format is composed of an "inner" e2e (sender-receiver)
part embedded in an "outer" hbh (sender-middlebox or middlebox-
receiver) part.
The e2e protected portion provides e2e encryption and authentication
of the payload, RTP padding, and RTP pad count. The e2e protected
portion also defines two new fields (PUV and SSS) for cryptographic
synchronization. These two fields, together with the padding flag P
in the RTP header, are e2e authenticated.
Cheng, et al. Expires September 10, 2015 [Page 10]
Internet-Draft SRTP Cloud March 2015
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+<---+
|V=2|P|X| CC |M| PT | sequence number | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |
| timestamp | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |
| synchronization source (SSRC) identifier | |
+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+ |
| contributing source (CSRC) identifiers | |
| .... | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |
| RTP extension (OPTIONAL) | |
+>+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+<-+ |
| | payload ... | | |
| | +-------------------------------+ | |
| | | RTP padding | RTP pad count | | |
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |
| ~ e2e PUV (MANDATORY) ~ | |
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |
| ~ e2e SSS (OPTIONAL) ~ | |
+>+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+<-+-+
| ~ hbh MKI (OPTIONAL) ~ | |
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |
| ~ hbh MAC (RECOMMENDED) ~ | |
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |
| | |
+-- hbh Encrypted Portion e2e Protected Portion ---+ |
|
hbh Authenticated Portion -----+
Figure 5: The format of the SRTP Cloud packet.
Default e2e transforms, which provide both encryption and
authentication, and which SHALL be supported are defined in
Section 3.8.3.
The e2e protected portion is opaque from the cloud based middlebox
point-of-view.
Thus, by treating the inner e2e protected portion as the (hbh)
"encrypted portion" of [RFC3711], the overall SRTP Cloud packet
format conforms to standard [RFC3711] compliant SRTP. (Note that the
additional fields added in the inner e2e part could just as well have
been added by a new transform defined for SRTP, e.g. padding and/or
crypto synch fields.) Hence, the hbh MAC and hbh MKI are in one-to-
one correspondence with the MAC and MKI of [RFC3711] and will not be
discussed further.
Cheng, et al. Expires September 10, 2015 [Page 11]
Internet-Draft SRTP Cloud March 2015
The additional fields added by the inner e2e security processing are:
o SSS: SRTP Source is a value used by the SRTP Cloud transform as an
identifier for the source within an e2e session. Thus, SSS MUST
be unique for all sources within the e2e session. Since there may
be only one such source, the SSS field is OPTIONAL and of
configurable length. SSS resembles the SSRC usage in RTP/SRTP in
the sense that it ensures that two-time pads do not occur under
the same e2e master key, see Sections 3.8 and 4.2. The
implementation of the necessary anti-collision mechanism is
outside the scope of this specification. The format is
implementation specific, but the values 0, 1, 2, ..., n-1 MAY be
used if there are n sources.
o PUV: Packet Unique Value for the e2e transform. PUV is transform
dependent, of configurable length, and MANDATORY. The format is
transform dependent and security aspects need to be considered
when defining the format, see Sections 4.2 and 4.4. For a given
e2e session and source, the PUV SHALL be unique for each generated
e2e protected portion. The PUV is used as input to the IV
formation for the e2e authenticated encryption transform.
Parameters which are configurable have default values (see
Section 3.8.4), and are otherwise negotiated during e2e/hbh session
establishment, agreed upon out of band, or hard coded for a specific
application. The new fields are of configurable length for maximum
data compactness (see Table 3.1).
Field SRTP Counterpart Typical Size (bytes)
----------------------------------------------------------------
PUV SRTP Index 3
SSS SSRC (IV formation) 0-1
----------------------------------------------------------------
Total 3-4
Table 3.1: Additional parameters
3.5. Extension of the SRTP Cryptographic Context
A SRTP Cloud cryptographic context SHALL consist of two main parts.
1. A hbh context. The hbh context SHALL be an SRTP cryptographic
context conforming to [RFC3711] and SHALL be used for the hbh
protection between sender and middlebox, between middlebox and
receiver, or, between two middleboxes. The hbh context SHALL
thus be identified by the <SSRC, destination network address,
destination port number> triplet exactly as defined in [RFC3711].
Cheng, et al. Expires September 10, 2015 [Page 12]
Internet-Draft SRTP Cloud March 2015
2. An e2e context: this part of the context is defined below and
SHALL be used for the e2e protection between sender and
receiver(s).
3.5.1. Definition of e2e Context
The e2e context SHALL contain the following e2e transform independent
parameters.
o an identifier for the e2e authenticated encryption algorithm,
i.e., the AEAD cipher, see Section 3.8.3 for the default e2e
transform specification,
o an identifier for the e2e pseudo-random function,
o an e2e master key, which MUST be random and secret to all except
sender and receiver(s). The e2e master key MUST be
cryptographically independent of any hbh key,
o an e2e master salt. Use of e2e master salt is strongly
RECOMMENDED. This value, when used, MUST be random, but MAY be
public.
o non-negative integers n_e, and n_s determining the length of the
e2e session key for authenticated encryption and the e2e session
salt.
o non-negative integers n_PUV, and n_SSS determining the length of
the PUV, and SSS fields, respectively.
There may also be need to include e2e transform dependent parameters,
see Section 3.8.4 for the parameters associated with the default e2e
transforms.
Observe that there is no replay protection data in the e2e context,
see Section 3.6.3.1. Also note that unlike [RFC3711] cryptographic
contexts, the e2e context SHALL only contain parameters for RTP
protection, and SHALL NOT contain parameters for RTCP protection, see
Section 3.7.
Only end-points need to support e2e contexts, i.e. senders and
receivers.
3.5.2. Identification of e2e Context
The e2e context SHALL be identified by out-of-band (outside the SRTP
Cloud Packet) and in-band (in the SRTP Cloud Packet) signaling.
Cheng, et al. Expires September 10, 2015 [Page 13]
Internet-Draft SRTP Cloud March 2015
3.5.2.1. Out-of-band Signaling
The e2e context MAY be identified by simply transferring the entire
context out-of-band (e.g. in the SIP signaling). Only half-roundtrip
key management protocols can be used and the e2e context MUST be e2e
protected so that middleboxes or other unauthorized entities cannot
access or modify it.
e2e context e2e context
SIP +---------------------------+ +---------------------------+
| v | v
+---+ +---+ +---+
SRTP | S |----------------------->| M |----------------------->| R |
+---+ +---+ +---+
Figure 6: Transferring the entire e2e context via the middlebox
3.5.2.2. In-band Signaling
The in-band context identification is similar to that of [RFC3711]
and SHALL be defined as follows. The e2e context is uniquely
identified by the triplet context identifier:
<SSS, destination network address, destination port number>
The e2e context is here implicit from the triplet. Just like in
[RFC3711] the entire triplet MAY not be needed to uniquely identify
the e2e context. In the case of multi-party conferencing where there
are multiple receivers, SSS alone identifies the e2e context.
3.6. SRTP Cloud Processing
In what follows, it is assumed that the sender and receiver(s) agree
out-of-band on the e2e cryptographic context.
It is similarly assumed that sender-middlebox and middlebox-receiver,
respectively, agree on the hbh cryptographic context.
3.6.1. Sender
The sender SHALL first, out-of-band, establish the necessary hbh
context parameters with the middlebox as discussed above. The rest
of sender's processing is identical to [RFC3711] with the following
exceptions and extensions.
S1 In analogy with step 1 of [RFC3711], the sender SHALL determine
both the hbh context and the e2e context as discussed in
Cheng, et al. Expires September 10, 2015 [Page 14]
Internet-Draft SRTP Cloud March 2015
Section 3.5. Next, and prior to performing step 2 of [RFC3711],
the sender SHALL perform step S2-S4 as defined below.
S2 The sender SHALL from the e2e master key and master salt derive
the e2e session key/salt as described in Section 3.8.2.
S3 The sender SHALL next apply the e2e transform as described in
Section 3.8.3.
S4 The sender SHALL then form the e2e protected portion of the SRTP
Cloud packet by concatenating the result of S3, the PUV, and the
SSS.
The rest of the sender's processing conforms to [RFC3711], steps 2-8,
by treating the result of S5 as the part to be encrypted ("encrypted
portion" of [RFC3711]) and using the hbh context.
3.6.2. Middlebox
Middleboxes do not have access to the e2e contexts and may even be
unaware of their definition. Hence, "context" in this section refers
to standard [RFC3711] cryptographic contexts, which in turn agrees
with the hbh contexts defined herein.
Generally, the middlebox SHALL first, out-of-band, establish the
necessary hbh context parameters with the source or destination.
3.6.2.1. Acting as Receiver
MR1 When receiving media from a sender, the middlebox SHALL retrieve
the correct context and process the packet exactly according to
the receiver behavior of [RFC3711].
MR2 The middlebox SHALL store sufficient information to later be
able to map the correct content to the intended receiver, e.g.
e2e context, or the intended receiver's identity (ID). ID
format and usage is otherwise out of scope for this
specification, but could, e.g., be retrieved during the session
establishment.
MR3 The middlebox SHALL store information sufficient to later
reconstruct the e2e protected portion of the packets
(corresponding to Figure 5) and to allow the receiver to
uniquely identify the correct e2e context, e.g. by storing the
the e2e context. Note that header information (e.g. P, M, PT,
and timestamp) is needed for rendering and information from RTCP
SR is used for synchronization between streams e.g. in a
Cheng, et al. Expires September 10, 2015 [Page 15]
Internet-Draft SRTP Cloud March 2015
multimedia video/audio session. Such information also has to be
stored by the middlebox.
3.6.2.2. Acting as Sender
MS1 When forwarding media to the receiver, the middlebox SHALL
retrieve the correct hbh context as specified in [RFC3711].
MS2 The e2e protected portion SHALL be used as the payload.
MS3 An RTP Header SHALL be formed with the P and M fields identical
to when the payload was stored. The PT field must refer to a PT
definition that is equivalent to the one received. The original
timestamp MAY be used. The SEQ and SSRC SHOULD be defined
strictly on hbh basis.
MS4 The middlebox SHALL then concatenate the payload from MS2 with
the RTP header from MS3 and process the packet exactly according
to the sender behavior of [RFC3711] using the retrieved context.
As noted above, certain information from RTCP messages,
originating from the sender (e.g. RTCP SRs), may also need to
be forwarded (and sometimes modified as discussed in
Section 4.6). These (and other RTCP messages) SHALL be
processed according to the SRTCP specification of [RFC3711].
3.6.2.3. Multiple Middleboxes
When more than one middlebox is present, we consider a pair of
adjacent middleboxes M1 and M2, where M1 forwards media to M2.
M1 SHALL act as a middlebox sender (Section 3.6.2.2) treating M2 as a
receiver. M2 SHALL act as a middlebox receiver (Section 3.6.2.1)
treating M1 as a sender.
3.6.3. Receiver
R1 The receiver SHALL first, out-of-band, establish the necessary
hbh context parameters with the middlebox.
R2 Step 1 to 8 of [RFC3711] SHALL then be applied, using the hbh
context to perform hbh processing.
The remainder of the processing concerns the e2e protection. The
result after performing the hbh authentication check and decryption
as described above MAY be stored at the receiver for later
application of the e2e processing. If so, the receiver MUST store
the e2e protected portion in order to be able to perform the further
steps as described below.
Cheng, et al. Expires September 10, 2015 [Page 16]
Internet-Draft SRTP Cloud March 2015
R3 The receiver SHALL next determine the e2e context as discussed in
Section 3.5.2.
R4 The receiver SHALL derive the e2e session encryption key as
described in Section 3.8.2 using the e2e master key and salt.
R5 The receiver SHALL verify authentication and decrypt the e2e
protected portion as specified by the e2e transform(s), see
Section 3.8.3. If the result of authentication is "FAILURE", the
packet MUST be discarded from further processing and the event
SHOULD be logged. Note that there is no replay protection for
the e2e context (see Section 4.4).
R6 The receiver removes PUV, and SSS as appropriate.
3.6.3.1. Replay Protection
For reasons discussed in Appendix A, it is in general not meaningful
or desirable to provide application independent replay protection for
the e2e part. Some of the identified use cases make this clear by
having a requirement that the receiver should be able to jump back/
forward in the e2e media stream. See Section 4.4 for security
considerations.
3.7. Use of SRTCP with SRTP Cloud
SRTCP protection SHALL be provided hbh, conforming to [RFC3711], and
SHALL NOT be provided e2e, as this covers most/all use cases
currently identified. Protecting e.g. the synchronization
information e2e would prevent use cases where several stored streams
are spliced together. Further RFCs may specify additional e2e
functionality for SRTCP Cloud.
As noted, it may still be needed to forward information from some of
the inbound RTCP messages (e.g. RTCP SR and APP). Note that if
several stored streams are spliced together, the timestamps and
therefore also the synchronization information has to be modified.
Also note that it may in general not be possible for the middlebox to
reproduce RTCP reports accurately reflecting the ongoing hbh session.
For instance, since the e2e encryption hides any possible RTP
padding, there may be a discrepancy between sender's byte counts on
the S-M and M-R links, respectively. After decryption at R, however,
the correct values will be possible to reconstruct.
Cheng, et al. Expires September 10, 2015 [Page 17]
Internet-Draft SRTP Cloud March 2015
3.8. Cryptographic Transforms
We define a set of pre-defined SRTP Cloud e2e transforms. Note that
middleboxes do not need to support any cryptographic transform
outside what is already defined in [RFC3711]. The hbh protection may
reuse any of the existing SRTP transforms such as those defined in
the original specification [RFC3711], or, transforms that have been
added later. The e2e protection may use the transforms defined in
Section 3.8.1, or, transforms that have been added later (see
Section 3.8.5).
3.8.1. Pre-Defined e2e Transforms
For e2e protection we use Authenticated Encryption with Associated
Data (AEAD) algorithms. Specifically, the AES-GCM (AES Galois/
Counter Mode) transforms as specified in
[I-D.ietf-avtcore-srtp-aes-gcm] are used as the pre-defined e2e
cryptographic transforms, with the following modifications.
Instead of forming the initialization vector as specified in
Section 9.1 of [I-D.ietf-avtcore-srtp-aes-gcm], the IV SHALL be
formed by first concatenating 2-octets of zeroes, a 4-octet SSS (the
original SSS padded with as many leading zeros as needed) and a
6-octet PUV (the original PUV padded with as many leading zeros as
needed). The resulting 12-octet value is then bitwise-XORed to the
12-octet session salt to form the 12-octet IV.
SSS and PUV are the SSS/PUV fields from the packet. The PUV is a
counter, initially set to zero and then increasing by one (1) for
each packet. The maximum allowed size of the PUV for AES-GCM SHALL
be 48 bits. If the SSS field is not present, the value 0 (zero)
SHALL be used. The maximum allowed size of the SSS for AES-GCM SHALL
be 32 bits.
The associated data specified in Section 9.2 of
[I-D.ietf-avtcore-srtp-aes-gcm] is redefined as:
Associated Data: The padding flag P (1 bit), PUV (n_PUV bits) and SSS
(if used, n_SSS bits)
3.8.2. Session Key Derivation
For the hbh security processing, session key derivation SHALL be done
exactly as in [RFC3711] using the hbh master key and salt.
For the e2e security processing the key derivation is also identical
to [RFC3711] with the following exceptions
Cheng, et al. Expires September 10, 2015 [Page 18]
Internet-Draft SRTP Cloud March 2015
o The e2e master key and salt, SHALL be used together with the
defined labels of [RFC3711] for derivation of the different keys.
o The key derivation rate SHALL be zero.
3.8.3. Default Transforms
The default hbh encryption transform SHALL be the NULL encryption
algorithm, the default hbh authentication transform SHALL be HMAC-
SHA1, and the default hbh pseudo-random function SHALL be AES-CM.
The transforms are defined in Sections 4.1.1, 4.2.1, and 4.3.3 of
[RFC3711].
The default e2e cryptographic transforms SHALL be AES-GCM as defined
in Section 3.8.1. The default e2e pseudo-random function SHALL be
AES-CM as defined in [RFC3711], Section 4.3.3.
3.8.4. SRTP Cloud Default Parameters
The default hbh parameters SHALL be identical to [RFC3711].
The default e2e parameters for master and session key lengths are the
same as in [RFC3711] with the differences in transform definition as
defined above and the following additional exception.
o Replay window size: N/A (or 0).
We also add the following additional bit-length parameters:
parameter | min | default
----------+-----+--------
n_PUV | 16 | 24
n_SSS | 0 | 0
Table 3.2: Additional parameters
3.8.5. Adding Future e2e Transforms
Adding transforms for the hbh protection SHALL follow the existing
guidelines of [RFC3711]. Indeed, any current (or future, as far as
we can see) transform specification for SRTP is applicable for usage
with the hbh protection.
To add an e2e transform, the accompanying specification MUST, besides
specifying the cryptographic operations, define the format and usage
of the PUV field and, if used, for the SSS field and any possible
additional field, e.g. padding.
Cheng, et al. Expires September 10, 2015 [Page 19]
Internet-Draft SRTP Cloud March 2015
4. Security Considerations
4.1. General
Though it may seem that there are quite a few differences between the
cryptography and key management used in [RFC3711] and the
corresponding functions defined here, the differences are actually
smaller than one may think and the security considerations turn out
to be essentially equivalent.
As noted, a problem of SRTP in applications with cloud based
middlebox is the transforms' dependence of the SSRC. The SSRC is
part of IV formation and crypto context identification in [RFC3711].
In this specification two new in-band parameters, PUV and SSS, are
specified. Note that SSS is used in exactly the same way the SSRC is
used in [RFC3711]: IV formation. Basically, one can think of the SSS
as the e2e source identifier. The SSS is e2e protected.
4.2. Keystream Reuse
A main concern of [RFC3711] is to avoid keystream reuse. This
concern is present also here. The currently defined encryption
transforms are additive stream ciphers, which are sensitive to
keystream reuse. It is therefore RECOMMENDED that each session
utilizes random and cryptographically independent e2e and hbh keys.
When sender and receiver share an e2e master key it may be convenient
to reuse the key for several e2e sessions/messages via the middlebox.
Another situation when key reuse may be beneficial is if sender and
receiver use the middlebox in a "chat-like" fashion (with bi-
directional communication using the same e2e master key in both
directions). In this case there may be a risk that a message in one
direction (e.g. "A-to-B") reuses keystream of some message in the
other direction ("B-to-A"). For the predefined e2e encryption
transform such reuse will only be secure if the sender and receiver
keep state to prohibit reuse of IVs.
Unique IVs MAY be assured by putting requirement on the
implementation of the sender to ensure that unique SSS values are
used each time the same e2e master key is reused. For the
bidirectional case (as well as for the more general case where a
group key is used as e2e master key), some out-of-band signaling that
assures that end-points use distinct SSSs is, as mentioned, REQUIRED.
The situation is essentially equivalent to that of SRTP. As noted in
the security considerations of [RFC3711], keys may be reused (with
the predefined transforms) if (and only if) unique SSRC values can be
Cheng, et al. Expires September 10, 2015 [Page 20]
Internet-Draft SRTP Cloud March 2015
guaranteed. Due to the risks of misuse, reuse of master keys between
sessions is, just as in [RFC3711], therefore NOT RECOMMENDED.
4.3. Authentication and Authorization
For reasons already discussed, it is RECOMMENDED that middleboxes
authorize senders and receivers (typically involving authentication)
before accepting/forwarding messages. While the content is protected
by keys supposedly only known to the receiver(s), this provides extra
protection if the e2e keys have fallen into the wrong hands and it
also avoids that the middlebox wastes resources, responding to
spoofed requests. It is also RECOMMENDED to have e2e authentication
between sender and receiver(s), which is achieved by applying
authentication/integrity to the e2e protected portion.
4.4. Replay Protection
Replay protection is provided on an hbh basis by use of an hbh
transform including message authentication. It is RECOMMENDED to use
hbh message authentication as it protects from outsiders attempting
to change the order of packets.
Since some scenarios considered makes it reasonable to expect that
the receiver may wish to jump (fast-forward or rewind) in the e2e
protected media flow, it is not meaningful to strictly enforce replay
protection on an e2e basis. Note however that our trust model
assumes that the middleboxes are trusted enough not to attempt to
replay or reorder media unless the receiver so requests.
It is however still possible (and RECOMMENDED) to provide e2e
authentication of the packets in combination with inclusion of a
sequence number in the PUV (as the default e2e transform does). It
then becomes infeasible even for the middlebox to fake the relative
association between a particular packet and its sequence number.
This means that the receiver will be able to detect a replay that
occurs without the receiver actually having requested it.
4.5. Key Management Considerations
Key management is outside the scope of this specification which is an
intentional design choice in order not to introduce any dependency on
using a specific key management scheme. Nevertheless, some
considerations need to be highlighted and taken into account when
deploying this specification in practice.
To implement the targeted trust model, the main concern is that the
e2e keys MUST be independent from the hbh keys. In other words
Cheng, et al. Expires September 10, 2015 [Page 21]
Internet-Draft SRTP Cloud March 2015
knowledge of any hbh key MUST NOT reveal non-trivial information
about any e2e key.
This can be achieved by ensuring that key management for hbh and e2e
protection is carried out independently using fresh, random and
independent keys each time. This is the RECOMMENDED approach.
Another alternative which may be attractive in some cases is to use
the slightly weaker notion of cryptographic independence. Here, the
hbh keys MAY be derived from the e2e keys by applying a sufficiently
strong pseudo-random function.
Even if hbh keys are random and independent each time, it is still
RECOMMENDED that e2e keys are not cached/reused (see Section 4.2 for
discussion on keystream reuse).
4.6. Privacy
In order for a cloud based middlebox to deliver the correct media
(produced with the correct e2e context) to the receiver(s), some
applications may choose to store information regarding the identity
of the sender and will be able to deduce the communication taking
part between the two.
To enhance privacy, senders/receivers may use agreed pseudonyms or
other similar Privacy Enhancing Techniques (PET)s. Complete
anonymity may be in conflict with the requirement that the middlebox
needs protection from flooding by garbage or other forms of unwanted
traffic.
4.7. RTCP Considerations
As specified, RTCP is only protected on hbh basis. This is motivated
by the assumption that a middlebox indeed is a true store-and-
forward entity (as opposed to performing a more intelligent
function). The inbound/outbound RTP sessions are then different and
RTCP then reports only on the current RTP session. As noted though,
it may still be useful to forward e.g. (modified) sender reports to
the receiver using hbh RTCP protection.
4.8. Malicious middleboxes
Middleboxes are semi-trusted which implies that they are assumed to
(at least) forward data as requested by the sender/receiver.
Malicious middleboxes therefore falls outside the trust model.
Nevertheless, even if a middlebox is malicious beyond our
assumptions, such attacks will only have DoS effects if e2e
authentication is used (RECOMMENDED) and could as easily have been
Cheng, et al. Expires September 10, 2015 [Page 22]
Internet-Draft SRTP Cloud March 2015
done by some other party (non-middlebox). If hbh authentication is
used (RECOMMENDED), it can even be detected that it is the middlebox
that modified the e2e protected part.
By modifying RTCP, a malicious middleboxes could perform attacks that
are not detected but which would be detected if done by some other
party (non-middlebox). By incorrectly altering RTCP SR packets, a
malicious middlebox could forward only parts of messages or mess with
the synchronization information without being detected. However, for
the intended use cases, there seems to be no gain to the middlebox
owner (typically a cloud service provider or network operator) to
perform such attacks to its paying customers.
5. Acknowledgements
The authors would like to give special thanks to Magnus Westerlund
for his valuable comments and feedback.
6. IANA Considerations
To signal that the new transforms are used, each relevant key
management protocol needs to register the new transforms including
numbering scheme and syntax with IANA.
7. References
7.1. Normative References
[I-D.ietf-avtcore-srtp-aes-gcm]
McGrew, D. and K. Igoe, "AES-GCM and AES-CCM Authenticated
Encryption in Secure RTP (SRTP)", draft-ietf-avtcore-srtp-
aes-gcm-14 (work in progress), July 2014.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC3711] Baugher, M., McGrew, D., Naslund, M., Carrara, E., and K.
Norrman, "The Secure Real-time Transport Protocol (SRTP)",
RFC 3711, March 2004.
7.2. Informative References
[RFC4383] Baugher, M. and E. Carrara, "The Use of Timed Efficient
Stream Loss-Tolerant Authentication (TESLA) in the Secure
Real-time Transport Protocol (SRTP)", RFC 4383, February
2006.
Cheng, et al. Expires September 10, 2015 [Page 23]
Internet-Draft SRTP Cloud March 2015
[RFC5104] Wenger, S., Chandra, U., Westerlund, M., and B. Burman,
"Codec Control Messages in the RTP Audio-Visual Profile
with Feedback (AVPF)", RFC 5104, February 2008.
Appendix A. Use Cases
A.1. Problem Statement
We consider RTP communication solutions that include semi-trusted
middleboxes, i.e. middleboxes that should not have access to
cleartext media, but still should be able to have access to other
data in order to retransmit media according to RTP standard
procedures. Below, we provide some use cases where S, M, and R refer
to Sender, Middlebox, and Receiver. For each use case, we comment on
aspects of the trust-model defined above.
Cloud based conferencing: A conference participant (S) talks to other
participants (R) via a conference bridge (M) that is hosted in the
cloud. Since the participants have no control over the cloud
environment which might be under pervasive monitoring, S and R do not
want the content of their communications to be disclosed to M. M is
only trusted to be a forwarder of (encrypted) media.
Caching Protected Media in the Network: A content provider (S)
broadcasts high value encrypted media (e.g. Internet Protocol
Television (IPTV), and radio) to clients (R). A network node (M) is
enhancing distribution by caching of the media, but is not trusted by
the content provider and has therefore no access to the encryption
keys. A client that missed the beginning of a program might stream
the media from the network cache instead of listening to the
broadcast. Due to the trust model where the content provider only
trusts the clients, the media needs to be e2e protected.
Nevertheless, the media also needs to be hbh integrity protected to
protect against denial-of-service (DoS) attacks.
The typical use case is thus to require that media is (at least)
confidentiality protected end-to-end (e2e) between the sender and the
receiver. At the same time the communication should be protected
hop-by-hop (hbh) to prevent malicious users from performing denial of
service attacks by sending bogus data to middleboxes or replaying
previous packets.
A.2. Security Requirements
The security requirements for SRTP Cloud are:
o Transport independent media protection
Cheng, et al. Expires September 10, 2015 [Page 24]
Internet-Draft SRTP Cloud March 2015
It SHALL be possible to have media protection that is independent
of RTP parameters.
To allow retransmission of received protected media, a transform
for protecting the RTP payload that is independent of RTP
transport parameters is needed.
The media protection MUST cover both message authentication and
confidentiality protection.
It SHALL be possible to protect several e2e protected media
streams with a single e2e context.
o Media source authentication
It SHALL be possible to provide e2e source authentication of the
media stream.
In a group setting, source authentication is here meant to ensure
that the message originated from a member of the group. This
requirement is fulfilled if media has authentication protection in
a transport independent manner.
o Support of playback of protected media streams
A client SHALL be able to do random seek in a protected media
stream.
Note that as playback functions like retransmission and random
seek capability are features in the described use cases, replay
protection cannot be required for transport independent media
protection.
o Transport protection
It SHALL be possible to provide transport protection that is
independent of the media protection.
The transport protection MUST be able to provide confidentiality,
authentication, and replay protection for RTP and at least
authentication and replay protection for RTCP.
This requirement maps well against SRTP as of [RFC3711].
Transport protection is also a means to provide replay protection
of the media on a hop-by-hop basis.
o Separation of security contexts
Cheng, et al. Expires September 10, 2015 [Page 25]
Internet-Draft SRTP Cloud March 2015
It MUST be possible to have independent security contexts for the
transport independent media protection and the transport
protection.
This means in particular that there has to be two distinct master
keys, one for e2e media protection and one for hbh transport
protection.
A.3. Problems with SRTP in Cloud Based Scenarios
It would be desirable to be able to offer use of SRTP as a general,
lightweight mechanism to achieve the above type of protection, but
trying to do so reveals two main problems.
The first problem is due to the fact that RTP streams received and
later resent by an middlebox in general are independent; received
SRTP-encrypted payloads cannot just be retransmitted as a new SSRC is
most likely used when retransmitting. And if several recorded
streams are spliced together, an offset must be added to the SEQ and
timestamp so that they form a continuous sequence. This in
particular implies that SRTP with currently defined transforms cannot
be applied end-to-end as they depend on the RTP header.
The second problem is that in order to provide both e2e and hbh
protection, two independent security contexts with associated
protection mechanisms have to coexist; a feature unavailable in SRTP
as currently specified. While it is not too difficult to imagine how
two contexts in place of one might be used, a problem arises when
specifying how the e2e part of the context should be identified and
signaled, as current SRTP context definition rests on parameters
which are not constant end-to-end in the scenario where a middlebox
is involved, namely SSRC and receiver's IP address and port.
The SRTP extensions defined in this document address these problems.
A.4. Design Rationale
As noted above, different use cases may have slightly different
security requirements and trust levels and there may be many
different possibilities to extend SRTP in different directions to
handle a specific use case (or some subset of use cases). For
example, the problems related to the most basic trust model extension
(need to provide confidentiality e2e and integrity hbh) are due to
the fact that in SRTP, parties always know both the encryption key
and the authentication key. This could be addressed (mainly) by just
separating encryption and authentication keys (i.e. modifying SRTP
key derivation and cryptographic context). However, the solution
Cheng, et al. Expires September 10, 2015 [Page 26]
Internet-Draft SRTP Cloud March 2015
would then become severely limited, e.g. it would not support pre-
encryption of data or re-transmission of stored data. Similarly, as
will be seen below, SRTP Cloud adds some additional in-band data
fields, though some use cases above could probably be handled without
them. Again, the solution would be limited to these use-cases and
would then not allow e.g. the secure fast-forward/rewind use cases,
which requires in-band synchronization data. By making the added
fields optional, it is possible to support these features as needed,
yet keeping bandwidth low when such features are not needed.
Another approach would be to use some already defined standard like
S/MIME or OpenPGP, which are mostly used for secure email. This
works well when the entire message is e2e protected and transferred
as a file from sender to middlebox and from middlebox to receiver,
but it does not support streaming. Another drawback is that both S/
MIME and OpenPGP require the use of public keys. Protecting each RTP
packet with both SRTP, and S/MIME or OpenPGP would support streaming
but would add significant overhead. Use of (D)TLS or IPsec is
clearly ruled out since it would only provide hbh protection.
This specification is rather based on
- identifying the common denominator(s) to the cloud based middlebox
problems, captured in the trust model and requirements of
Section 3.2
- proposing a single extension of the SRTP framework (see
Section 4.1) powerful enough to handle all foreseen middlebox use
cases, which, by
- simple configuration of the extended framework (Section 4.3) can
be adopted to support the requirements of the specific use case at
hand.
Considering that the impacts of the present specification on SRTP are
very similar to those of [RFC4383], there does not appear to be any
disadvantage in having a single extension compared to having per-
use-case extensions.
Authors' Addresses
Yi Cheng
Ericsson AB
SE-164 80 Stockholm
Sweden
Phone: +46 10 71 17 589
Email: yi.cheng@ericsson.com
Cheng, et al. Expires September 10, 2015 [Page 27]
Internet-Draft SRTP Cloud March 2015
John Mattsson
Ericsson AB
SE-164 80 Stockholm
Sweden
Phone: +46 10 71 43 501
Email: john.mattsson@ericsson.com
Mats Naslund
Ericsson AB
SE-164 80 Stockholm
Sweden
Phone: +46 10 71 33 739
Email: mats.naslund@ericsson.com
Cheng, et al. Expires September 10, 2015 [Page 28]