<?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.39 (Ruby 3.0.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-davis-mmusic-srtp-assurance-00" category="std" consensus="true" submissionType="IETF" updates="4568" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.18.0 -->
  <front>
    <title abbrev="SRTP Assurance">SDP Security Assurance for Secure Real-time Transport Protocol (SRTP)</title>
    <seriesInfo name="Internet-Draft" value="draft-davis-mmusic-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>
    <workgroup>mmusic</workgroup>
    <abstract>
      <?line 55?>
<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 62?>

<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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
AA==

-->

</rfc>
