<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.6.35 (Ruby 3.0.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-davis-valverde-srtp-assurance-00" category="std" consensus="true" submissionType="IETF" updates="4568" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.17.4 -->
  <front>
    <title abbrev="SRTP Assurance">SDP Security Assurance for Secure Real-time Transport Protocol (SRTP)</title>
    <seriesInfo name="Internet-Draft" value="draft-davis-valverde-srtp-assurance-00"/>
    <author initials="K. R." surname="Davis" fullname="Kyzer R. Davis">
      <organization>Cisco Systems</organization>
      <address>
        <email>kydavis@cisco.com</email>
      </address>
    </author>
    <author initials="E." surname="Valverde" fullname="Esteban Valverde">
      <organization>Cisco Systems</organization>
      <address>
        <email>jovalver@cisco.com</email>
      </address>
    </author>
    <author initials="G." surname="Salgueiro" fullname="Gonzalo Salgueiro">
      <organization>Cisco Systems</organization>
      <address>
        <email>gsalguei@cisco.com</email>
      </address>
    </author>
    <date year="2023"/>
    <area>ART</area>
    <abstract>
      <?line 54?>
<t>This document specifies additional cryptographic attributes for signaling additional Secure Real-time Transport Protocol (SRTP) cryptographic context information via the Session Description Protocol (SDP)
in alongside those defined by RFC4568.</t>
      <t>The SDP extension defined in this document address situations where the receiver needs to quickly and robustly synchronize with a given sender.
The mechanism also enhances SRTP operation in cases where there is a risk of losing sender-receiver synchronization.</t>
    </abstract>
  </front>
  <middle>
    <?line 61?>

<section anchor="introduction">
      <name>Introduction</name>
      <section anchor="Problem">
        <name>Problem Statement</name>
        <t>While <xref target="RFC4568"/> provides most of the information required to instantiate an SRTP cryptographic context for RTP Packets, 
the state of a few crucial items in the SRTP cryptographic context are missing.
One such item is the Rollover Counter (ROC) defined by Section 3.2.1 <xref target="RFC3711"/>
which is not signaled in any packet across the wire and shared between applications.</t>
        <t>The ROC is one item that is used to create the SRTP Packet Index along with the the <xref target="RFC3550"/> transmitted sequence numbers for a given synchronization sources (SSRC).
The Packet index is integral to the encryption, decryption and authentication process of SRTP key streams.
Failure to synchronize the value properly at any point in the SRTP media exchange leads to encryption or decryption failures, degraded user experience 
and at cross-vendor interoperability issues with many hours of engineering time spent debugging a value that is never negotiated on the wire 
(and oftentimes not even logged in application logs.)</t>
        <t>The current method of ROC handling is to instantiate a new media stream's cryptographic context at 0 as per Section 3.3.1 of <xref target="RFC3711"/>. 
Then track the state ROC for a given cryptographic context as the time continues on and the stream progresses.</t>
        <t>When joining ongoing streams, resuming held/transferred streams, or devices without embedded application logic for clustering/high availability where a given cryptographic context is resumed; 
without any explicit signaling about the ROC state, devices must make an educated guess as defined by Section 3.3.1 of <xref target="RFC3711"/>.
The method specially estimates the received ROC by calculating ROC-1, ROC, ROC+1 to see which performs a successful decrypt.
While this may work on paper, this process usually only done at the initial instantiation of a cryptographic context rather than at later points later during the session.
Instead many applications take the easy route and set the value at 0 as if this is a new stream.
While technically true from that receivers perspective, the sender of this stream may be encrypting packets with a ROC greater than 0.
Further this does not cover scenarios where the ROC is greater than +1.</t>
        <t>Where possible the ROC state (and the rest of the cryptographic context) is usually synced across clustered devices or high availability pairs via proprietary methods rather than open standards.</t>
        <t>These problems detailed technically above lead to a few very common scenarios where the ROC may become out of sync. 
These are are briefly detailed below with the focus on the ROC Value.</t>
        <t>Joining an ongoing session:</t>
        <ul spacing="compact">
          <li>When a receiver joins an ongoing session, such as a broadcast conference, there is no signaling method which can quickly allow the new participant to know the state of the ROC assuming the state of the stream is shared across all participants.</li>
        </ul>
        <t>Hold/Resume, Transfer Scenarios:</t>
        <ul spacing="compact">
          <li>A session is created between sender A and receiver B. ROC is instantiated at 0 normally and continues as expected.</li>
          <li>At some point the receiver is put on hold while the sender is connected to some other location such as music on hold or another party altogether.</li>
          <li>At some future point the receiver is reconnected to the sender and the original session is resumed.</li>
          <li>The sender may re-assume the original cryptographic context rather rather than create one net new.</li>
          <li>Here if the sender starts the stream from the last observed sequence number the receiver observed the ROC will be in sync.</li>
          <li>However there are scenarios where the sender may have been transmitting packets on the previous cryptographic context and if a ROC increment occurred; the receiver would never know. This can lead to problems when the streams are reconnected as the ROC is now out of sync between both parties.</li>
          <li>A similar scenario was brought up in Appendix A of <xref target="RFC4568"/> "Scenario B" and "Problem 3" of the summary within this section.</li>
          <li>Further, a sender may be transferred to some upstream device transparently to them. If the sender does not reset their cryptographic context that new receiver will now be out of sync with possible ROC values.</li>
        </ul>
        <t>Application Failover (without stateful syncs):</t>
        <ul spacing="compact">
          <li>In this scenario a cryptographic context was was created with Device A and B of a high availability pair.</li>
          <li>An SRTP stream was created and ROC of 0 was created and media streamed from the source towards Device A.</li>
          <li>Time continues and the sequence wraps from 65535 to 0 and the ROC is incremented to 1.</li>
          <li>Both the sender and device A are tracking this locally and the encrypt/decrypt process proceeds normally.</li>
          <li>Unfortunate network conditions arise and Device B must assume sessions of Device A transparently.</li>
          <li>Without any proprietary syncing logic between Device A and B which disclose the state of the ROC, Device B will likely instantiate the ROC at 0.</li>
          <li>Alternatively Device B may try to renegotiate the stream over the desired signaling protocol however this does not ensure the remote sender will change their cryptographic context and reset the ROC to 0.</li>
          <li>The transparent nature of the upstream failover means the local application will likely proceed using ROC 1 while upstream receiver has no method of knowing ROC 1 is the current value.</li>
        </ul>
        <t>Secure SIPREC Recording:</t>
        <ul spacing="compact">
          <li>If a SIPREC recorder is brought into recording an ongoing session through some form of transfer or on-demand recording solution the ROC may have incremented.</li>
          <li>Without an SDP mechanism to share this information the SIPREC will be unaware of the full SRTP context required to ensure proper decrypt of media streams being monitored.</li>
        </ul>
        <t>Improper SRTP context resets:</t>
        <ul spacing="compact">
          <li>As defined by Section 3.3.1 of <xref target="RFC3711"/> an SRTP re-key <bcp14>MUST NOT</bcp14> reset the ROC within SRTP Cryptographic context.</li>
          <li>However, some applications may incorrectly use the re-key event as a trigger to reset the ROC leading to out-of-sync encrypt/decrypt operations.</li>
        </ul>
        <t>This is a problem that other SRTP Key Management protocols (MIKEY, DTLS-SRTP, EKT-SRTP) have solved but SDP Security has lagged behind in solution parity. 
For a quick comparison of all SRTP Key Management negotiations refer to <xref target="RFC7201"/> and <xref target="RFC5479"/>.</t>
      </section>
      <section anchor="prevWork">
        <name>Previous Solutions</name>
        <t>As per RFC3711, "Receivers joining an on-going session <bcp14>MUST</bcp14> be given the current ROC value using out-of-band signaling such as key-management signaling."
<xref target="RFC4771"/> aimed to solve the problem however this solution has a few technical shortcomings detailed below.</t>
        <t>First, this specifies the use of Multimedia Internet KEYing (MIKEY) defined by <xref target="RFC3830"/> as the out-of-band signaling method. 
A proper MIKEY implementation requires more overhead than is needed to convey and solve this problem.
By selecting MIKEY as the out-of-band signaling method the authors may have inadvertently inhibited significant adoption by the industry.</t>
        <t>Second, <xref target="RFC4771"/> also transforms the SRTP Packet to include the four byte value after the encrypted payload and before an optional authentication tag. 
This data about the SRTP context is unencrypted on the wire and not covered by newer SRTP encryption protocols such as <xref target="RFC6904"/> and <xref target="RFC9335"/>.
Furthermore this makes the approach incompatible with AEAD SRTP Cipher Suites which state that trimming/truncating the authentication tag weakens the security of the protocol in Section 13.2 of <xref target="RFC7714"/>.</t>
        <t>Third, this is not in line with the standard method of RTP Packet modifications. 
The proposal would have benefited greatly from being an RTP Header Extension rather than a value appended after payload. 
But even an RTP header extension proves problematic in where modern SRTP encryption such as Cryptex defined by <xref target="RFC9335"/> are applied. 
That is, the ROC is a required input to decrypt the RTP packet contents. It does not make sense to convey this data as an RTP Header Extension 
obfuscated by the very encryption it is required to decrypt.</t>
        <t>Lastly, there is no defined method for applications defined for applications to advertise the usage of this protocol via any signaling methods.</t>
        <t><xref target="RFC5159"/> also defined some SDP attributes namely the "a=SRTPROCTxRate" attribute however this does not cover other important values in the SRTP Cryptographic context and has not seen widespread implementation.</t>
        <t><xref target="RFC8870"/> solves the problem for DTLS-SRTP <xref target="RFC5763"/>/<xref target="RFC5764"/> implementations.</t>
      </section>
    </section>
    <section anchor="conventions-and-definitions">
      <name>Conventions and Definitions</name>
      <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
      <?line -18?>

</section>
    <section anchor="design">
      <name>Protocol Design</name>
      <t>A few points of note are below about this specifications relationship to other SRTP Key Management protocols or SRTP protocols as to leave no ambiguity.</t>
      <dl newline="true">
        <dt>Session Description Protocol (SDP) Security Descriptions for Media Streams:</dt>
        <dd>
          <t>The authors have chosen to avoid modifying RFC4568 a=crypto offers as to avoid backwards compatibility issues with a non-versioned protocol. 
Instead this specification adds to what is defined in SDP Security Framework <xref target="RFC4568"/> by allowing applications
to explicitly negotiate additional items from the cryptographic context such as the packet index ingredients: ROC, SSRC and Sequence Number via a new SDP Attribute.
By coupling this information with the applicable "a=crypto" offers; a receiving application can properly instantiate 
an SRTP cryptographic context at the start of a session, later in a session, after session modification or when joining an ongoing session.</t>
        </dd>
        <dt>Key Management Extensions for Session Description Protocol (SDP) and Real Time Streaming Protocol (RTSP):</dt>
        <dd>
          <t>This specifications makes no attempt to be compatible with the Key Management Extension for SDP "a=key-mgmt" defined by <xref target="RFC4567"/></t>
        </dd>
        <dt>ZRTP: Media Path Key Agreement for Unicast Secure RTP:</dt>
        <dd>
          <t>This specifications makes no attempt to be compatible with the Key Management via SDP for ZRTP "a=zrtp-hash" defined by <xref target="RFC6189"/>.</t>
        </dd>
        <dt>DTLS-SRTP, EKT-SRTP, Privacy Enhanced Conferencing items (PERC):</dt>
        <dd>
          <t>All DTLS-SRTP items including Privacy Enhanced Conferencing items (PERC) [ <xref target="RFC8723"/> and <xref target="RFC8871"/> ] are out of scope for the purposes of this specification.</t>
        </dd>
        <dt>Secure Real Time Control Protocol (SRTCP):</dt>
        <dd>
          <t>This specification is  not required by SRTCP since the packet index is carried within the SRTCP packet and does not need an out-of-band equivalent.</t>
        </dd>
        <dt>Source-Specific Media Attributes in the Session Description Protocol (SDP):</dt>
        <dd>
          <t>The authors of this specification vetted <xref target="RFC5576"/> SSRC Attribute "a=ssrc" but felt that it would require too much modification and additions to the SSRC Attribute
specification to allow unknown SSRC values and the other information which needs to be conveyed.
Further, requiring implementation of the core SSRC Attribute RFC could pose as a barrier entry and separating the two into different SDP Attributes is the better option.
An implementation <bcp14>SHOULD NOT</bcp14> send RFC5576 SSRC Attributes alongside SRTP Context SSRC Attributes. 
If both are present in SDP, a receiver <bcp14>SHOULD</bcp14> utilize prioritize the SRTP Context attributes over SSRC Attributes since these attributes will provide better SRTP cryptographic context initialization.</t>
        </dd>
        <dt>Completely Encrypting RTP Header Extensions and Contributing Sources:</dt>
        <dd>
          <t>SRTP Context is compatible with <xref target="RFC9335"/> "a=cryptex" media and session level attribute.</t>
        </dd>
      </dl>
      <section anchor="syntax">
        <name>SDP Considerations</name>
        <t>This specification introduces a new SRTP Context attribute defined as "a=srtpctx".</t>
        <t>The presence of the "a=srtpctx" attribute in the SDP (in either an offer or an answer) indicates that the endpoint is 
signaling explicit cryptographic context information and this data <bcp14>SHOULD</bcp14> be used in place of derived values such as those obtained from late binding or some other mechanism.</t>
        <t>The SRTP Context value syntax utilizes standard attribute field=value pairs separated by semi-colons as seen in <xref target="sampleBase"/>.
The implementation's goal is extendable allowing for additional vendor specific field=value pairs alongside the ones defined in this document or room for future specifications to add additional field=value pairs.</t>
        <figure anchor="sampleBase">
          <name>Base SRTP Context Syntax</name>
          <artwork><![CDATA[
a=srtpctx:<a-crypto-tag> \
  <att_field_1>=<value_1>;<att_field_1>=<att_value_2>
]]></artwork>
        </figure>
        <t>This specification specifically defines SRTP Context Attribute Fields of SSRC, ROC, and SEQ shown in <xref target="sampleSyntax"/>.</t>
        <figure anchor="sampleSyntax">
          <name>Example SRTP Context Syntax</name>
          <artwork><![CDATA[
a=srtpctx:<a-crypto-tag> \
  ssrc=<ssrc_value_hex>;roc=<roc_value_hex>;seq=<last_known_tx_seq_hex>
]]></artwork>
        </figure>
        <t>Note that long lines in this document have been broken into multiple lines using the "The Single Backslash Strategy ('')" defined by <xref target="RFC8792"/>.</t>
        <t>The formal definition of the SRTP Context Attribute, including custom extension field=value pairs is provided by the following ABNF <xref target="RFC5234"/>:</t>
        <sourcecode type="abnf"><![CDATA[
srtp-assurance = srtp-attr
                 srtp-tag
                 [srtp-ssrc";"]
                 [srtp-roc";"]
                 [srtp-seq";"]
                 [srtp-ext";"]
srtp-attr      = "a=srtpctx:"
srtp-tag       = 1*9DIGIT 1WSP 
srtp-ssrc      = "ssrc=" ("0x"1*8HEXDIG / "unknown")
srtp-roc       = "roc=" ("0x"1*4HEXDIG / "unknown")
srtp-seq       = "seq=" ("0x"1*4HEXDIG / "unknown")
srtp-ext       = 1*VCHAR "=" (1*VCHAR / "unknown")
ALPHA          = %x41-5A / %x61-7A   ; A-Z / a-z
DIGIT          = %x30-39
HEXDIG         = DIGIT / "A" / "B" / "C" / "D" / "E" / "F"
VCHAR          = %x21-7E
]]></sourcecode>
        <t>Leading 0s may be omitted and the alphanumeric hex may be upper or lowercase but at least one 0 must be present. 
Additionally the "0x" provided additional context that these values are hex and not integers.
Thus as per <xref target="sampleCompare"/> these two lines are functionally identical:</t>
        <figure anchor="sampleCompare">
          <name>Comparison with and without Leading 0s</name>
          <artwork><![CDATA[
a=srtpctx:1 ssrc=0x00845FED;roc=0x00000000;seq=0x005D
a=srtpctx:1 ssrc=0x845fed;roc=0x0;seq=0x05d
]]></artwork>
        </figure>
        <t>When SSRC, ROC, or Sequence information needs to be conveyed about a given stream, the a=srtpctx attribute is coupled with the relevant a=crypto attribute in the SDP.</t>
        <t>In <xref target="sampleAttribute"/> the sender has shares the usual cryptographic information as per a=crypto but has included 
other information such as the 32 bit SSRC, 32 bit ROC, and 16 bit Last Known Sequence number as Hex values within the a=srtpctx attribute.
Together these two attributes provide better insights as to the state of the SRTP cryptographic context from the senders perspective.</t>
        <figure anchor="sampleAttribute">
          <name>Example SRTP Context attribute</name>
          <artwork><![CDATA[
a=crypto:1 AEAD_AES_256_GCM \
  inline:3/sxOxrbg3CVDrxeaNs91Vle+wW1RvT/zJWTCUNP1i6L45S9qcstjBv+eo0=\
  |2^20|1:32
a=srtpctx:1 ssrc=0x00845FED;roc=0x0000;seq=0x0150
]]></artwork>
        </figure>
        <t>The value of "unknown" <bcp14>MAY</bcp14> be used in place of any of the fields to indicate default behavior <bcp14>SHOULD</bcp14> be utilized
by the receiving application (usually falling back to late binding or locally derived/stored cryptographic contact information for the packet index.)
The example shown in <xref target="sampleUnknown"/> indicates that only the SSRC of the stream is unknown to the sender at the time of the SDP exchange but 
values for ROC and Last Known Sequence are present. Alternatively, the attribute key and value <bcp14>MAY</bcp14> be omitted entirely.</t>
        <t>This <bcp14>MAY</bcp14> be updated via signaling at any later time but applications <bcp14>SHOULD</bcp14> ensure any offer/answer has the appropriate SRTP Context attribute.</t>
        <t>Applications <bcp14>SHOULD NOT</bcp14> include SRTP Context attribute if all three values are unknown or would be omitted.
For example, starting a new sending session instantiation or for advertising potential cryptographic attributes that are part of a new offer.</t>
        <t><xref target="sampleUnknown"/> shows that tag 1 does not have any SRTP Context parameters rather than rather an SRTP Context attribute with all three values set to "unknown".
This same example shows an unknown value carried with tag 2 and seq has been committed leaving only the ROC as a value shared with the second a=crypto tag.</t>
        <figure anchor="sampleUnknown">
          <name>Example SRTP Context with unknown mappings</name>
          <artwork><![CDATA[
a=crypto:1 AES_CM_128_HMAC_SHA1_32 \
  inline:k4x3YXkTD1TWlNL3BZpESzOFuxkBZmTo0vGa1omW
a=crypto:2 AES_CM_128_HMAC_SHA1_80 \
  inline:PS1uQCVeeCFCanVmcjkpPywjNWhcYD0mXXtxaVBR
a=srtpctx:2 ssrc=unknown;roc=0x0001
]]></artwork>
        </figure>
        <t>The tag for an SRTP Context attribute <bcp14>MUST</bcp14> follow the peer SDP Security a=crypto tag for a given media stream (m=).
The example in shown in <xref target="sampleTag"/> the sender is advertising an explicit packet index mapping for a=crypto tag 2 for the audio stream and tag 1 for the video media stream. 
Note that some SDP values have been truncated for the sake of simplicity.</t>
        <figure anchor="sampleTag">
          <name>Example crypto and SRTP Context tag mapping</name>
          <artwork><![CDATA[
c=IN IP4 192.0.0.1
m=audio 49170 RTP/SAVP 0
a=crypto:1 AES_CM_128_HMAC_SHA1_80 \
  inline:d0RmdmcmVCspeEc3QGZiNWpVLFJhQX1cfHAwJSoj|2^20|1:32
a=crypto:2 AEAD_AES_256_GCM \
  inline:HGAPy4Cedy/qumbZvpuCZSVT7rNDk8vG4TdUXp5hkyWqJCqiLRGab0KJy1g=
a=srtpctx:2 ssrc=0xBFBDD;roc=0x0001;seq=0x3039
m=video 49172 RTP/SAVP 126
a=crypto:1 AEAD_AES_128_GCM \
  inline:bQJXGzEPXJPClrd78xwALdaZDs/dLttBLfLE5Q==
a=srtpctx:1 ssrc=0xDD147C14;roc=0x0001;seq=0x3039
]]></artwork>
        </figure>
        <t>It is unlikely a sender will send SRTP Context attributes for every crypto attribute since many will be fully unknown (such as the start of a session.)
However it is theoretically possible for every a=crypto tag to have a similar a=srtpctx attribute for additional details.</t>
        <t>For scenarios where RTP Multiplexing are concerned, EKT-SRTP (<xref target="RFC8870"/>) <bcp14>MUST</bcp14> be used in lieu of SDP Security as per <xref target="RFC8872"/> Section 4.3.2.</t>
        <t>For scenarios where SDP Bundling are concerned, SRTP Context attributes follow the same bundling guidelines defined by <xref target="RFC8859"/>, section 5.7 for SDP Securities a=crypto attribute.</t>
      </section>
      <section anchor="sender">
        <name>Sender Behavior</name>
        <t>Senders utilizing SDP Security via "a=crypto" <bcp14>MUST</bcp14> make an attempt to signal any known packet index values to the peer receiver.
The exception being when all values are unknown, such as at the very start of medias stream negotiation.</t>
        <t>For best results all sending parties of a given session stream <bcp14>SHOULD</bcp14> advertise known packet index values for all media streams.
This should continue throughout the life of the session to ensure any errors or out of sync errors can be quickly corrected via new signaling methods. 
See <xref target="frequency"/> for update frequency recommendations.</t>
      </section>
      <section anchor="receiver">
        <name>Receiver Behavior</name>
        <t>Receivers <bcp14>SHOULD</bcp14> utilize the signaled information in application logic to instantiate the SRTP cryptographic context.
In the even there is no SRTP Context attributes present in SDP receivers <bcp14>MUST</bcp14> fallback to <xref target="RFC3711"/> for guesting 
the ROC and <xref target="RFC4568"/> logic for late binding to gleam the SSRC and sequence numbers.</t>
      </section>
      <section anchor="frequency">
        <name>Update Frequency</name>
        <t>Senders <bcp14>SHOULD</bcp14> provide SRTP Context SDP when SDP Crypto attributes are negotiated.
There is no explicit time or total number of packets in which a new update is required from sender to receiver.
By following natural session updates,  session changes and session liveliness checks this specification will not cause 
overcrowding on the session establishment protocol's signaling channel.</t>
      </section>
      <section anchor="extendability">
        <name>Extendability</name>
        <t>As stated in <xref target="syntax"/>, the SRTP Context SDP implementation's goal is extendability allowing for additional vendor specific field=value pairs alongside the ones defined in this document.
This ensures that a=crypto SDP security may remain compatible with future algorithms that need to signal cryptographic context information outside of what is currently specified in <xref target="RFC4568"/>.</t>
        <t>To illustrate, imagine a new example SRTP algorithm and crypto suite is created named "FOO_CHACHA20_POLY1305_SHA256" and the application needs to signal "Foo, "Bar", and "Nonce" values to properly instantiate the SRTP context.
Rather than modify a=crypto SDP security or create a new unique SDP attribute, one can simply utilize SRTP Context SDP's key=value pairs to convey the information.</t>
        <artwork><![CDATA[
a=crypto:1 FOO_CHACHA20_POLY1305_SHA256 \
  inline:1ef9a49f1f68f75f95feca6898921db8c73bfa53e71e33726c4c983069dd7d44
a=srtpctx:1 foo=1;bar=abc123;nonce=8675309
]]></artwork>
        <t>With this extendable method, all that is now required in the fictional RFC defining "FOO_CHACHA20_POLY1305_SHA256" is to include an "SDP parameters" section which details the expected "a=srtpctx" values and their usages.
This approach is similar to how Media Format Parameter Capability ("a=fmtp") is utilized in modern SDP. An example is <xref target="RFC6184"/>, Section 8.2.1 for H.264 video Media Format Parameters.</t>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>When SDP carries SRTP Context attributes additional insights are present about the SRTP cryptographic context.
Due to this an intermediary <bcp14>MAY</bcp14> be able to analyze how long a session has been active by the ROC value.</t>
      <t>Since the SRTP Context attribute is carried in plain-text (alongside existing values like the SRTP Master Key for a given session)
care <bcp14>MUST</bcp14> be taken as per the <xref target="RFC8866"/> that keying material must not be sent over unsecure channels unless the SDP can be both private (encrypted) and authenticated.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document updates the "attribute-name (formerly "att-field")" sub-registry of the "Session Description Protocol (SDP) Parameters" registry (see Section 8.2.4 of <xref target="RFC8866"/>). 
Specifically, it adds the SDP "a=srtpctx" attribute for use at the media level.</t>
      <table anchor="ianaForm">
        <name>IANA SDP Registration Form</name>
        <thead>
          <tr>
            <th align="left">Form</th>
            <th align="left">Value</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">Contact name</td>
            <td align="left">IESG</td>
          </tr>
          <tr>
            <td align="left">Contact email address</td>
            <td align="left">kydavis@cisco.com</td>
          </tr>
          <tr>
            <td align="left">Attribute name</td>
            <td align="left">srtpctx</td>
          </tr>
          <tr>
            <td align="left">Attribute value</td>
            <td align="left">srtpctx</td>
          </tr>
          <tr>
            <td align="left">Attribute syntax</td>
            <td align="left">Provided by ABNF found in <xref target="syntax"/></td>
          </tr>
          <tr>
            <td align="left">Attribute semantics</td>
            <td align="left">Provided by sub-sections of <xref target="design"/></td>
          </tr>
          <tr>
            <td align="left">Usage level</td>
            <td align="left">media</td>
          </tr>
          <tr>
            <td align="left">Charset dependent</td>
            <td align="left">No</td>
          </tr>
          <tr>
            <td align="left">Purpose</td>
            <td align="left">Provide additional insights about SRTP context information not conveyed required by a receiver to properly decrypt SRTP.</td>
          </tr>
          <tr>
            <td align="left">O/A procedures</td>
            <td align="left">SDP O/A procedures are described in <xref target="syntax"/>, specifically sections <xref target="sender"/> and <xref target="receiver"/> of this document.</td>
          </tr>
          <tr>
            <td align="left">Mux Category</td>
            <td align="left">TRANSPORT</td>
          </tr>
        </tbody>
      </table>
    </section>
    <section anchor="acknowledgements">
      <name>Acknowledgements</name>
      <t>Thanks to Paul Jones for reviewing early draft material and providing valueable feedback.</t>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references>
        <name>Normative References</name>
        <reference anchor="RFC3711">
          <front>
            <title>The Secure Real-time Transport Protocol (SRTP)</title>
            <author fullname="M. Baugher" initials="M." surname="Baugher"/>
            <author fullname="D. McGrew" initials="D." surname="McGrew"/>
            <author fullname="M. Naslund" initials="M." surname="Naslund"/>
            <author fullname="E. Carrara" initials="E." surname="Carrara"/>
            <author fullname="K. Norrman" initials="K." surname="Norrman"/>
            <date month="March" year="2004"/>
            <abstract>
              <t>This document describes the Secure Real-time Transport Protocol (SRTP), a profile of the Real-time Transport Protocol (RTP), which can provide confidentiality, message authentication, and replay protection to the RTP traffic and to the control traffic for RTP, the Real-time Transport Control Protocol (RTCP). [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3711"/>
          <seriesInfo name="DOI" value="10.17487/RFC3711"/>
        </reference>
        <reference anchor="RFC4568">
          <front>
            <title>Session Description Protocol (SDP) Security Descriptions for Media Streams</title>
            <author fullname="F. Andreasen" initials="F." surname="Andreasen"/>
            <author fullname="M. Baugher" initials="M." surname="Baugher"/>
            <author fullname="D. Wing" initials="D." surname="Wing"/>
            <date month="July" year="2006"/>
            <abstract>
              <t>This document defines a Session Description Protocol (SDP) cryptographic attribute for unicast media streams.  The attribute describes a cryptographic key and other parameters that serve to configure security for a unicast media stream in either a single message or a roundtrip exchange.  The attribute can be used with a variety of SDP media transports, and this document defines how to use it for the Secure Real-time Transport Protocol (SRTP) unicast media streams.  The SDP crypto attribute requires the services of a data security protocol to secure the SDP message. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4568"/>
          <seriesInfo name="DOI" value="10.17487/RFC4568"/>
        </reference>
        <reference anchor="RFC8859">
          <front>
            <title>A Framework for Session Description Protocol (SDP) Attributes When Multiplexing</title>
            <author fullname="S. Nandakumar" initials="S." surname="Nandakumar"/>
            <date month="January" year="2021"/>
            <abstract>
              <t>The purpose of this specification is to provide a framework for analyzing the multiplexing characteristics of Session Description Protocol (SDP) attributes when SDP is used to negotiate the usage of a single 5-tuple for sending and receiving media associated with multiple media descriptions.</t>
              <t>This specification also categorizes the existing SDP attributes based on the framework described herein.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8859"/>
          <seriesInfo name="DOI" value="10.17487/RFC8859"/>
        </reference>
        <reference anchor="RFC8866">
          <front>
            <title>SDP: Session Description Protocol</title>
            <author fullname="A. Begen" initials="A." surname="Begen"/>
            <author fullname="P. Kyzivat" initials="P." surname="Kyzivat"/>
            <author fullname="C. Perkins" initials="C." surname="Perkins"/>
            <author fullname="M. Handley" initials="M." surname="Handley"/>
            <date month="January" year="2021"/>
            <abstract>
              <t>This memo defines the Session Description Protocol (SDP).  SDP is intended for describing multimedia sessions for the purposes of session announcement, session invitation, and other forms of multimedia session initiation.  This document obsoletes RFC 4566.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8866"/>
          <seriesInfo name="DOI" value="10.17487/RFC8866"/>
        </reference>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification.  These words are often capitalized.  This document defines these words as they should be interpreted in IETF documents.  This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications.  This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
      </references>
      <references>
        <name>Informative References</name>
        <reference anchor="RFC3550">
          <front>
            <title>RTP: A Transport Protocol for Real-Time Applications</title>
            <author fullname="H. Schulzrinne" initials="H." surname="Schulzrinne"/>
            <author fullname="S. Casner" initials="S." surname="Casner"/>
            <author fullname="R. Frederick" initials="R." surname="Frederick"/>
            <author fullname="V. Jacobson" initials="V." surname="Jacobson"/>
            <date month="July" year="2003"/>
            <abstract>
              <t>This memorandum describes RTP, the real-time transport protocol.  RTP provides end-to-end network transport functions suitable for applications transmitting real-time data, such as audio, video or simulation data, over multicast or unicast network services.  RTP does not address resource reservation and does not guarantee quality-of- service for real-time services.  The data transport is augmented by a control protocol (RTCP) to allow monitoring of the data delivery in a manner scalable to large multicast networks, and to provide minimal control and identification functionality.  RTP and RTCP are designed to be independent of the underlying transport and network layers.  The protocol supports the use of RTP-level translators and mixers.  Most of the text in this memorandum is identical to RFC 1889 which it obsoletes.  There are no changes in the packet formats on the wire, only changes to the rules and algorithms governing how the protocol is used.  The biggest change is an enhancement to the scalable timer algorithm for calculating when to send RTCP packets in order to minimize transmission in excess of the intended rate when many participants join a session simultaneously. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="64"/>
          <seriesInfo name="RFC" value="3550"/>
          <seriesInfo name="DOI" value="10.17487/RFC3550"/>
        </reference>
        <reference anchor="RFC3830">
          <front>
            <title>MIKEY: Multimedia Internet KEYing</title>
            <author fullname="J. Arkko" initials="J." surname="Arkko"/>
            <author fullname="E. Carrara" initials="E." surname="Carrara"/>
            <author fullname="F. Lindholm" initials="F." surname="Lindholm"/>
            <author fullname="M. Naslund" initials="M." surname="Naslund"/>
            <author fullname="K. Norrman" initials="K." surname="Norrman"/>
            <date month="August" year="2004"/>
            <abstract>
              <t>This document describes a key management scheme that can be used for real-time applications (both for peer-to-peer communication and group communication).  In particular, its use to support the Secure Real-time Transport Protocol is described in detail.  Security protocols for real-time multimedia applications have started to appear.  This has brought forward the need for a key management solution to support these protocols. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3830"/>
          <seriesInfo name="DOI" value="10.17487/RFC3830"/>
        </reference>
        <reference anchor="RFC4567">
          <front>
            <title>Key Management Extensions for Session Description Protocol (SDP) and Real Time Streaming Protocol (RTSP)</title>
            <author fullname="J. Arkko" initials="J." surname="Arkko"/>
            <author fullname="F. Lindholm" initials="F." surname="Lindholm"/>
            <author fullname="M. Naslund" initials="M." surname="Naslund"/>
            <author fullname="K. Norrman" initials="K." surname="Norrman"/>
            <author fullname="E. Carrara" initials="E." surname="Carrara"/>
            <date month="July" year="2006"/>
            <abstract>
              <t>This document defines general extensions for Session Description Protocol (SDP) and Real Time Streaming Protocol (RTSP) to carry messages, as specified by a key management protocol, in order to secure the media. These extensions are presented as a framework, to be used by one or more key management protocols. As such, their use is meaningful only when complemented by an appropriate key management protocol.</t>
              <t>General guidelines are also given on how the framework should be used together with SIP and RTSP. The usage with the Multimedia Internet KEYing (MIKEY) key management protocol is also defined. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4567"/>
          <seriesInfo name="DOI" value="10.17487/RFC4567"/>
        </reference>
        <reference anchor="RFC4771">
          <front>
            <title>Integrity Transform Carrying Roll-Over Counter for the Secure Real-time Transport Protocol (SRTP)</title>
            <author fullname="V. Lehtovirta" initials="V." surname="Lehtovirta"/>
            <author fullname="M. Naslund" initials="M." surname="Naslund"/>
            <author fullname="K. Norrman" initials="K." surname="Norrman"/>
            <date month="January" year="2007"/>
            <abstract>
              <t>This document defines an integrity transform for Secure Real-time Transport Protocol (SRTP; see RFC 3711), which allows the roll-over counter (ROC) to be transmitted in SRTP packets as part of the authentication tag.  The need for sending the ROC in SRTP packets arises in situations where the receiver joins an ongoing SRTP session and needs to quickly and robustly synchronize.  The mechanism also enhances SRTP operation in cases where there is a risk of losing sender-receiver synchronization. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4771"/>
          <seriesInfo name="DOI" value="10.17487/RFC4771"/>
        </reference>
        <reference anchor="RFC5159">
          <front>
            <title>Session Description Protocol (SDP) Attributes for Open Mobile Alliance (OMA) Broadcast (BCAST) Service and Content Protection</title>
            <author fullname="L. Dondeti" initials="L." role="editor" surname="Dondeti"/>
            <author fullname="A. Jerichow" initials="A." surname="Jerichow"/>
            <date month="March" year="2008"/>
            <abstract>
              <t>This document provides descriptions of Session Description Protocol (SDP) attributes used by the Open Mobile Alliance's Broadcast Service and Content Protection specification.  This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5159"/>
          <seriesInfo name="DOI" value="10.17487/RFC5159"/>
        </reference>
        <reference anchor="RFC5234">
          <front>
            <title>Augmented BNF for Syntax Specifications: ABNF</title>
            <author fullname="D. Crocker" initials="D." role="editor" surname="Crocker"/>
            <author fullname="P. Overell" initials="P." surname="Overell"/>
            <date month="January" year="2008"/>
            <abstract>
              <t>Internet technical specifications often need to define a formal syntax.  Over the years, a modified version of Backus-Naur Form (BNF), called Augmented BNF (ABNF), has been popular among many Internet specifications.  The current specification documents ABNF.  It balances compactness and simplicity with reasonable representational power.  The differences between standard BNF and ABNF involve naming rules, repetition, alternatives, order-independence, and value ranges.  This specification also supplies additional rule definitions and encoding for a core lexical analyzer of the type common to several Internet specifications. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="68"/>
          <seriesInfo name="RFC" value="5234"/>
          <seriesInfo name="DOI" value="10.17487/RFC5234"/>
        </reference>
        <reference anchor="RFC5479">
          <front>
            <title>Requirements and Analysis of Media Security Management Protocols</title>
            <author fullname="D. Wing" initials="D." role="editor" surname="Wing"/>
            <author fullname="S. Fries" initials="S." surname="Fries"/>
            <author fullname="H. Tschofenig" initials="H." surname="Tschofenig"/>
            <author fullname="F. Audet" initials="F." surname="Audet"/>
            <date month="April" year="2009"/>
            <abstract>
              <t>This document describes requirements for a protocol to negotiate a security context for SIP-signaled Secure RTP (SRTP) media.  In addition to the natural security requirements, this negotiation protocol must interoperate well with SIP in certain ways.  A number of proposals have been published and a summary of these proposals is in the appendix of this document.  This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5479"/>
          <seriesInfo name="DOI" value="10.17487/RFC5479"/>
        </reference>
        <reference anchor="RFC5576">
          <front>
            <title>Source-Specific Media Attributes in the Session Description Protocol (SDP)</title>
            <author fullname="J. Lennox" initials="J." surname="Lennox"/>
            <author fullname="J. Ott" initials="J." surname="Ott"/>
            <author fullname="T. Schierl" initials="T." surname="Schierl"/>
            <date month="June" year="2009"/>
            <abstract>
              <t>The Session Description Protocol (SDP) provides mechanisms to describe attributes of multimedia sessions and of individual media streams (e.g., Real-time Transport Protocol (RTP) sessions) within a multimedia session, but does not provide any mechanism to describe individual media sources within a media stream.  This document defines a mechanism to describe RTP media sources, which are identified by their synchronization source (SSRC) identifiers, in SDP, to associate attributes with these sources, and to express relationships among sources.  It also defines several source-level attributes that can be used to describe properties of media sources. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5576"/>
          <seriesInfo name="DOI" value="10.17487/RFC5576"/>
        </reference>
        <reference anchor="RFC5763">
          <front>
            <title>Framework for Establishing a Secure Real-time Transport Protocol (SRTP) Security Context Using Datagram Transport Layer Security (DTLS)</title>
            <author fullname="J. Fischl" initials="J." surname="Fischl"/>
            <author fullname="H. Tschofenig" initials="H." surname="Tschofenig"/>
            <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>
            <date month="May" year="2010"/>
            <abstract>
              <t>This document specifies how to use the Session Initiation Protocol (SIP) to establish a Secure Real-time Transport Protocol (SRTP) security context using the Datagram Transport Layer Security (DTLS) protocol.  It describes a mechanism of transporting a fingerprint attribute in the Session Description Protocol (SDP) that identifies the key that will be presented during the DTLS handshake.  The key exchange travels along the media path as opposed to the signaling path.  The SIP Identity mechanism can be used to protect the integrity of the fingerprint attribute from modification by intermediate proxies. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5763"/>
          <seriesInfo name="DOI" value="10.17487/RFC5763"/>
        </reference>
        <reference anchor="RFC5764">
          <front>
            <title>Datagram Transport Layer Security (DTLS) Extension to Establish Keys for the Secure Real-time Transport Protocol (SRTP)</title>
            <author fullname="D. McGrew" initials="D." surname="McGrew"/>
            <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>
            <date month="May" year="2010"/>
            <abstract>
              <t>This document describes a Datagram Transport Layer Security (DTLS) extension to establish keys for Secure RTP (SRTP) and Secure RTP Control Protocol (SRTCP) flows.  DTLS keying happens on the media path, independent of any out-of-band signalling channel present. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5764"/>
          <seriesInfo name="DOI" value="10.17487/RFC5764"/>
        </reference>
        <reference anchor="RFC6184">
          <front>
            <title>RTP Payload Format for H.264 Video</title>
            <author fullname="Y.-K. Wang" initials="Y.-K." surname="Wang"/>
            <author fullname="R. Even" initials="R." surname="Even"/>
            <author fullname="T. Kristensen" initials="T." surname="Kristensen"/>
            <author fullname="R. Jesup" initials="R." surname="Jesup"/>
            <date month="May" year="2011"/>
            <abstract>
              <t>This memo describes an RTP Payload format for the ITU-T Recommendation H.264 video codec and the technically identical ISO/IEC International Standard 14496-10 video codec, excluding the Scalable Video Coding (SVC) extension and the Multiview Video Coding extension, for which the RTP payload formats are defined elsewhere. The RTP payload format allows for packetization of one or more Network Abstraction Layer Units (NALUs), produced by an H.264 video encoder, in each RTP payload. The payload format has wide applicability, as it supports applications from simple low bitrate conversational usage, to Internet video streaming with interleaved transmission, to high bitrate video-on-demand.</t>
              <t>This memo obsoletes RFC 3984. Changes from RFC 3984 are summarized in Section 14. Issues on backward compatibility to RFC 3984 are discussed in Section 15. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6184"/>
          <seriesInfo name="DOI" value="10.17487/RFC6184"/>
        </reference>
        <reference anchor="RFC6189">
          <front>
            <title>ZRTP: Media Path Key Agreement for Unicast Secure RTP</title>
            <author fullname="P. Zimmermann" initials="P." surname="Zimmermann"/>
            <author fullname="A. Johnston" initials="A." role="editor" surname="Johnston"/>
            <author fullname="J. Callas" initials="J." surname="Callas"/>
            <date month="April" year="2011"/>
            <abstract>
              <t>This document defines ZRTP, a protocol for media path Diffie-Hellman exchange to agree on a session key and parameters for establishing unicast Secure Real-time Transport Protocol (SRTP) sessions for Voice over IP (VoIP) applications.  The ZRTP protocol is media path keying because it is multiplexed on the same port as RTP and does not require support in the signaling protocol.  ZRTP does not assume a Public Key Infrastructure (PKI) or require the complexity of certificates in end devices.  For the media session, ZRTP provides confidentiality, protection against man-in-the-middle (MiTM) attacks, and, in cases where the signaling protocol provides end-to-end integrity protection, authentication.  ZRTP can utilize a Session Description Protocol (SDP) attribute to provide discovery and authentication through the signaling channel.  To provide best effort SRTP, ZRTP utilizes normal RTP/AVP (Audio-Visual Profile) profiles.  ZRTP secures media sessions that include a voice media stream and can also secure media sessions that do not include voice by using an optional digital signature.  This document is not an Internet Standards Track specification; it is published for informational purposes.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6189"/>
          <seriesInfo name="DOI" value="10.17487/RFC6189"/>
        </reference>
        <reference anchor="RFC6904">
          <front>
            <title>Encryption of Header Extensions in the Secure Real-time Transport Protocol (SRTP)</title>
            <author fullname="J. Lennox" initials="J." surname="Lennox"/>
            <date month="April" year="2013"/>
            <abstract>
              <t>The Secure Real-time Transport Protocol (SRTP) provides authentication, but not encryption, of the headers of Real-time Transport Protocol (RTP) packets. However, RTP header extensions may carry sensitive information for which participants in multimedia sessions want confidentiality. This document provides a mechanism, extending the mechanisms of SRTP, to selectively encrypt RTP header extensions in SRTP.</t>
              <t>This document updates RFC 3711, the Secure Real-time Transport Protocol specification, to require that all future SRTP encryption transforms specify how RTP header extensions are to be encrypted.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6904"/>
          <seriesInfo name="DOI" value="10.17487/RFC6904"/>
        </reference>
        <reference anchor="RFC7201">
          <front>
            <title>Options for Securing RTP Sessions</title>
            <author fullname="M. Westerlund" initials="M." surname="Westerlund"/>
            <author fullname="C. Perkins" initials="C." surname="Perkins"/>
            <date month="April" year="2014"/>
            <abstract>
              <t>The Real-time Transport Protocol (RTP) is used in a large number of different application domains and environments.  This heterogeneity implies that different security mechanisms are needed to provide services such as confidentiality, integrity, and source authentication of RTP and RTP Control Protocol (RTCP) packets suitable for the various environments.  The range of solutions makes it difficult for RTP-based application developers to pick the most suitable mechanism.  This document provides an overview of a number of security solutions for RTP and gives guidance for developers on how to choose the appropriate security mechanism.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7201"/>
          <seriesInfo name="DOI" value="10.17487/RFC7201"/>
        </reference>
        <reference anchor="RFC7714">
          <front>
            <title>AES-GCM Authenticated Encryption in the Secure Real-time Transport Protocol (SRTP)</title>
            <author fullname="D. McGrew" initials="D." surname="McGrew"/>
            <author fullname="K. Igoe" initials="K." surname="Igoe"/>
            <date month="December" year="2015"/>
            <abstract>
              <t>This document defines how the AES-GCM Authenticated Encryption with Associated Data family of algorithms can be used to provide confidentiality and data authentication in the Secure Real-time Transport Protocol (SRTP).</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7714"/>
          <seriesInfo name="DOI" value="10.17487/RFC7714"/>
        </reference>
        <reference anchor="RFC8723">
          <front>
            <title>Double Encryption Procedures for the Secure Real-Time Transport Protocol (SRTP)</title>
            <author fullname="C. Jennings" initials="C." surname="Jennings"/>
            <author fullname="P. Jones" initials="P." surname="Jones"/>
            <author fullname="R. Barnes" initials="R." surname="Barnes"/>
            <author fullname="A.B. Roach" initials="A.B." surname="Roach"/>
            <date month="April" year="2020"/>
            <abstract>
              <t>In some conferencing scenarios, it is desirable for an intermediary to be able to manipulate some parameters in Real-time Transport Protocol (RTP) packets, while still providing strong end-to-end security guarantees.  This document defines a cryptographic transform for the Secure Real-time Transport Protocol (SRTP) that uses two separate but related cryptographic operations to provide hop-by-hop and end-to-end security guarantees.  Both the end-to-end and hop-by-hop cryptographic algorithms can utilize an authenticated encryption with associated data (AEAD) algorithm or take advantage of future SRTP transforms with different properties.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8723"/>
          <seriesInfo name="DOI" value="10.17487/RFC8723"/>
        </reference>
        <reference anchor="RFC8792">
          <front>
            <title>Handling Long Lines in Content of Internet-Drafts and RFCs</title>
            <author fullname="K. Watsen" initials="K." surname="Watsen"/>
            <author fullname="E. Auerswald" initials="E." surname="Auerswald"/>
            <author fullname="A. Farrel" initials="A." surname="Farrel"/>
            <author fullname="Q. Wu" initials="Q." surname="Wu"/>
            <date month="June" year="2020"/>
            <abstract>
              <t>This document defines two strategies for handling long lines in width-bounded text content.  One strategy, called the "single backslash" strategy, is based on the historical use of a single backslash ('\') character to indicate where line-folding has occurred, with the continuation occurring with the first character that is not a space character (' ') on the next line.  The second strategy, called the "double backslash" strategy, extends the first strategy by adding a second backslash character to identify where the continuation begins and is thereby able to handle cases not supported by the first strategy.  Both strategies use a self-describing header enabling automated reconstitution of the original content.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8792"/>
          <seriesInfo name="DOI" value="10.17487/RFC8792"/>
        </reference>
        <reference anchor="RFC8870">
          <front>
            <title>Encrypted Key Transport for DTLS and Secure RTP</title>
            <author fullname="C. Jennings" initials="C." surname="Jennings"/>
            <author fullname="J. Mattsson" initials="J." surname="Mattsson"/>
            <author fullname="D. McGrew" initials="D." surname="McGrew"/>
            <author fullname="D. Wing" initials="D." surname="Wing"/>
            <author fullname="F. Andreasen" initials="F." surname="Andreasen"/>
            <date month="January" year="2021"/>
            <abstract>
              <t>Encrypted Key Transport (EKT) is an extension to DTLS (Datagram Transport Layer Security) and the Secure Real-time Transport Protocol (SRTP) that provides for the secure transport of SRTP master keys, rollover counters, and other information within SRTP.  This facility enables SRTP for decentralized conferences by distributing a common key to all of the conference endpoints.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8870"/>
          <seriesInfo name="DOI" value="10.17487/RFC8870"/>
        </reference>
        <reference anchor="RFC8871">
          <front>
            <title>A Solution Framework for Private Media in Privacy-Enhanced RTP Conferencing (PERC)</title>
            <author fullname="P. Jones" initials="P." surname="Jones"/>
            <author fullname="D. Benham" initials="D." surname="Benham"/>
            <author fullname="C. Groves" initials="C." surname="Groves"/>
            <date month="January" year="2021"/>
            <abstract>
              <t>This document describes a solution framework for ensuring that media confidentiality and integrity are maintained end to end within the context of a switched conferencing environment where Media Distributors are not trusted with the end-to-end media encryption keys.  The solution builds upon existing security mechanisms defined for the Real-time Transport Protocol (RTP).</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8871"/>
          <seriesInfo name="DOI" value="10.17487/RFC8871"/>
        </reference>
        <reference anchor="RFC8872">
          <front>
            <title>Guidelines for Using the Multiplexing Features of RTP to Support Multiple Media Streams</title>
            <author fullname="M. Westerlund" initials="M." surname="Westerlund"/>
            <author fullname="B. Burman" initials="B." surname="Burman"/>
            <author fullname="C. Perkins" initials="C." surname="Perkins"/>
            <author fullname="H. Alvestrand" initials="H." surname="Alvestrand"/>
            <author fullname="R. Even" initials="R." surname="Even"/>
            <date month="January" year="2021"/>
            <abstract>
              <t>The Real-time Transport Protocol (RTP) is a flexible protocol that can be used in a wide range of applications, networks, and system topologies.  That flexibility makes for wide applicability but can complicate the application design process.  One particular design question that has received much attention is how to support multiple media streams in RTP.  This memo discusses the available options and design trade-offs, and provides guidelines on how to use the multiplexing features of RTP to support multiple media streams.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8872"/>
          <seriesInfo name="DOI" value="10.17487/RFC8872"/>
        </reference>
        <reference anchor="RFC9335">
          <front>
            <title>Completely Encrypting RTP Header Extensions and Contributing Sources</title>
            <author fullname="J. Uberti" initials="J." surname="Uberti"/>
            <author fullname="C. Jennings" initials="C." surname="Jennings"/>
            <author fullname="S. Murillo" initials="S." surname="Murillo"/>
            <date month="January" year="2023"/>
            <abstract>
              <t>While the Secure Real-time Transport Protocol (SRTP) provides confidentiality for the contents of a media packet, a significant amount of metadata is left unprotected, including RTP header extensions and contributing sources (CSRCs). However, this data can be moderately sensitive in many applications. While there have been previous attempts to protect this data, they have had limited deployment, due to complexity as well as technical limitations.</t>
              <t>This document updates RFC 3711, the SRTP specification, and defines Cryptex as a new mechanism that completely encrypts header extensions and CSRCs and uses simpler Session Description Protocol (SDP) signaling with the goal of facilitating deployment.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9335"/>
          <seriesInfo name="DOI" value="10.17487/RFC9335"/>
        </reference>
      </references>
    </references>
  </back>
  <!-- ##markdown-source:
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

-->

</rfc>
