rfc-5124

Extended Secure RTP Profile for Real-time Transport Control Protocol (RTCP)-Based Feedback (RTP/SAVPF)

J. Ott, E. Carrara
date2008-02 streamIETF arearai wgavt statusPROPOSED STANDARD pages18 canonicalhttps://www.rfc-editor.org/rfc/rfc5124 doi10.17487/RFC5124
An RTP profile (SAVP) for secure real-time communications and another profile (AVPF) to provide timely feedback from the receivers to a sender are defined in RFC 3711 and RFC 4585, respectively. This memo specifies the combination of both profiles to enable secure RTP communications with feedback. [STANDARDS-TRACK]

Extracted elements (20)

design-rationale §1

SAVP and AVPF are largely orthogonal profiles, making their combination in SAVPF mostly straightforward without requiring new sophisticated algorithms. SAVPF simply layers AVPF timing and feedback packet formats on top of SAVP's SRTP encryption and integrity protection.

rtp, realtime, security

design-rationale §2.3

SRTCP adds at least 10–20 bytes (14 bytes by default) of overhead per RTCP packet, increasing average RTCP packet size and thereby reducing the frequency at which timely feedback can be provided under AVPF timing rules. Application designers must account for this by adjusting 'avg_rtcp_size' to maintain RTCP bandwidth shares.

rtp, realtime, security

interoperability-note §4

RTP entities using SAVP and SAVPF MAY be mixed in a single RTP session. The interworking considerations defined in Section 5 of RFC 4585 apply. However, mixing secure (SAVP/SAVPF) and insecure (AVP/AVPF) profiles in the same RTP session is prohibited.

rtp, realtime

normative-requirement §3.3.1 SHOULD NOT

An offer SHOULD NOT include both a secure alternative (SAVP or SAVPF) and an insecure alternative (AVP or AVPF) in the same offer, as this may enable bidding-down attacks. If both are offered (e.g., for best-effort SRTP), the negotiation signaling MUST be protected appropriately.

rtp, realtime, security

normative-requirement §4 MUST NOT

AVP/AVPF (plain RTP) and SAVP/SAVPF (SRTP-based) MUST NOT be mixed in the same RTP session, since SRTP and plain RTP are not meant to interoperate.

rtp, realtime, security

normative-requirement §3.3.4 MUST NOT

For announced sessions (SAP, web, email) with no interactive negotiation, incompatible profiles (secure and insecure) MUST NOT be specified as alternatives. For negotiated sessions, one profile MUST be chosen from among offered alternatives.

rtp, realtime, security

normative-requirement §2.1 MUST

For SAVPF, all RTCP packets MUST be encapsulated as defined in Section 3.4 of RFC 3711 (SRTP).

rtp, realtime, security

normative-requirement §3.3.1 MUST

If a media description in an offer uses SAVPF and the answerer does not support SAVPF, the media session MUST be rejected. Conversely, if the answerer wants SAVPF but the offer does not use it, the answerer MUST also reject the session and MAY provide a counter-offer.

rtp, realtime

normative-requirement §3.3.2 MUST

In RTSP-based negotiation, the RTSP client MUST select exactly one profile per media stream in the SETUP request, indicating the chosen RTP profile and the full server transport address in the Transport header. The server's response MUST confirm this profile selection or refuse the SETUP.

rtp, realtime

normative-requirement §3.3.1 SHOULD

In SDP offer/answer negotiation, the four profiles AVP, AVPF, SAVP, and SAVPF are mutually exclusive for a given media description. An offerer capable of supporting more than one profile SHOULD offer all acceptable alternatives, listed in order of preference, preferring secure profiles over non-secure ones.

rtp, realtime, security

normative-requirement §2 MUST

The average RTCP packet size calculation done by the AVPF layer for timing purposes MUST take into account the fields added by the SAVP layer (i.e., the SRTCP overhead). This is done by adjusting the RTCP variable 'avg_rtcp_size' to reflect the size of SRTCP packets.

rtp, realtime

normative-requirement §2 MUST NOT

The encryption prefix MUST NOT be used within the SAVPF profile. It is not used in SAVP, as it is only applicable to the encryption method specified in RFC 3550.

rtp, realtime, security

normative-requirement §3.3.2 MUST

When using SDP key management (RFC 4567) with a secure profile in RTSP, the KeyMgmt header MUST be included in the appropriate RTSP messages. After choosing one secure profile in SETUP, only the KeyMgmt header for the chosen profile MUST be provided.

rtp, realtime, security

protocol-element §2

SAVPF is a new RTP profile that combines SAVP (Secure RTP, RFC 3711) and AVPF (Extended RTP Profile for RTCP-Based Feedback, RFC 4585), enabling secure RTP communications with timely RTCP feedback. SAVP forms an intermediate layer between AVPF and the transport layer, with AVPF replacing the upper AVP layer.

rtp, realtime, security

protocol-element §3.1

The SDP profile identifier for the combined secure feedback profile is 'RTP/SAVPF'. All SDP attributes defined for RTP/SAVP and RTP/AVPF are valid for RTP/SAVPF.

rtp, realtime

registry §6

RFC 5124 registers the SDP protocol ('proto') value 'RTP/SAVPF' (Long form: 'Secure RTP Profile with RTCP-based Feedback') as a media-level-only SDP attribute with the Session Description Protocol registries.

rtp, realtime, registry

security-consideration §5 MUST NOT

A master key MUST NOT be shared among different RTP sessions unless the SSRCs used are unique across all RTP streams sharing the same master key, to avoid two-time pad (keystream reuse). When 2^48 SRTP packets or 2^31 SRTCP packets have been secured with the same key, key management MUST be called to provide new master keys or the session MUST be terminated.

rtp, realtime, security, crypto

security-consideration §5

Applying the SAVPF profile implies mandatory integrity protection on RTCP. While this prevents false packets from non-members, it does not prevent a malicious legitimate member from acting improperly within the session.

rtp, realtime, security

security-consideration §5 MUST

Mixing secure and insecure media sessions across different RTP sessions may reveal information to third parties. The decision to mix them MUST be in line with a local security policy that specifies acceptable combinations (e.g., whether an unprotected audio stream alongside a protected video stream is acceptable).

rtp, realtime, security

security-consideration §5

SAVPF inherits all security properties from SAVP (RFC 3711) and does not add or remove any security services. Offering secure and insecure profiles simultaneously may enable bidding-down attacks and SHOULD NOT be done. If confidentiality or integrity is required, only SAVP/SAVPF alternatives should be offered unless other security mechanisms are in place.

rtp, realtime, security