<?xml version='1.0' encoding='utf-8'?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" version="3" category="bcp" consensus="true" docName="draft-ietf-sipbrandy-rtpsec-08" indexInclude="true" ipr="trust200902" number="8862" prepTime="2021-01-18T14:18:08" scripts="Common,Latin" sortRefs="true" submissionType="IETF" symRefs="true" tocDepth="4" tocInclude="true" xml:lang="en">
  <link href="https://datatracker.ietf.org/doc/draft-ietf-sipbrandy-rtpsec-08" rel="prev"/>
  <link href="https://dx.doi.org/10.17487/rfc8862" rel="alternate"/>
  <link href="urn:issn:2070-1721" rel="alternate"/>
  <front>
    <title abbrev="RTP Security">Best Practices for Securing RTP Media Signaled with SIP</title>
    <seriesInfo name="RFC" value="8862" stream="IETF"/>
    <seriesInfo name="BCP" value="228" stream="IETF"/>
    <author initials="J." surname="Peterson" fullname="Jon Peterson">
      <organization abbrev="Neustar" showOnFrontPage="true">Neustar, Inc.</organization>
      <address>
        <email>jon.peterson@team.neustar</email>
      </address>
    </author>
    <author fullname="Richard Barnes" initials="R." surname="Barnes">
      <organization showOnFrontPage="true">Cisco</organization>
      <address>
        <email>rlb@ipv.sx</email>
      </address>
    </author>
    <author fullname="Russ Housley" initials="R." surname="Housley">
      <organization abbrev="Vigil Security" showOnFrontPage="true">Vigil Security, LLC</organization>
      <address>
        <email>housley@vigilsec.com</email>
      </address>
    </author>
    <date month="01" year="2021"/>
    <keyword>SIP</keyword>
    <keyword>RTP</keyword>
    <keyword>security</keyword>
    <abstract pn="section-abstract">
      <t indent="0" pn="section-abstract-1">
          Although the Session Initiation Protocol (SIP) includes a suite of security services that has been expanded by numerous specifications over the years, there is no single place that explains how to use SIP to establish confidential media sessions. Additionally, existing mechanisms have some feature gaps that need to be identified and resolved in order for them to address the pervasive monitoring threat model. This specification describes best practices for negotiating confidential media with SIP, including a comprehensive protection solution that binds the media layer to SIP layer identities. 
      </t>
    </abstract>
    <boilerplate>
      <section anchor="status-of-memo" numbered="false" removeInRFC="false" toc="exclude" pn="section-boilerplate.1">
        <name slugifiedName="name-status-of-this-memo">Status of This Memo</name>
        <t indent="0" pn="section-boilerplate.1-1">
            This memo documents an Internet Best Current Practice.
        </t>
        <t indent="0" pn="section-boilerplate.1-2">
            This document is a product of the Internet Engineering Task Force
            (IETF).  It represents the consensus of the IETF community.  It has
            received public review and has been approved for publication by
            the Internet Engineering Steering Group (IESG).  Further information
            on BCPs is available in Section 2 of RFC 7841.
        </t>
        <t indent="0" pn="section-boilerplate.1-3">
            Information about the current status of this document, any
            errata, and how to provide feedback on it may be obtained at
            <eref target="https://www.rfc-editor.org/info/rfc8862" brackets="none"/>.
        </t>
      </section>
      <section anchor="copyright" numbered="false" removeInRFC="false" toc="exclude" pn="section-boilerplate.2">
        <name slugifiedName="name-copyright-notice">Copyright Notice</name>
        <t indent="0" pn="section-boilerplate.2-1">
            Copyright (c) 2021 IETF Trust and the persons identified as the
            document authors. All rights reserved.
        </t>
        <t indent="0" pn="section-boilerplate.2-2">
            This document is subject to BCP 78 and the IETF Trust's Legal
            Provisions Relating to IETF Documents
            (<eref target="https://trustee.ietf.org/license-info" brackets="none"/>) in effect on the date of
            publication of this document. Please review these documents
            carefully, as they describe your rights and restrictions with
            respect to this document. Code Components extracted from this
            document must include Simplified BSD License text as described in
            Section 4.e of the Trust Legal Provisions and are provided without
            warranty as described in the Simplified BSD License.
        </t>
      </section>
    </boilerplate>
    <toc>
      <section anchor="toc" numbered="false" removeInRFC="false" toc="exclude" pn="section-toc.1">
        <name slugifiedName="name-table-of-contents">Table of Contents</name>
        <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1">
          <li pn="section-toc.1-1.1">
            <t indent="0" keepWithNext="true" pn="section-toc.1-1.1.1"><xref derivedContent="1" format="counter" sectionFormat="of" target="section-1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-introduction">Introduction</xref></t>
          </li>
          <li pn="section-toc.1-1.2">
            <t indent="0" keepWithNext="true" pn="section-toc.1-1.2.1"><xref derivedContent="2" format="counter" sectionFormat="of" target="section-2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-terminology">Terminology</xref></t>
          </li>
          <li pn="section-toc.1-1.3">
            <t indent="0" keepWithNext="true" pn="section-toc.1-1.3.1"><xref derivedContent="3" format="counter" sectionFormat="of" target="section-3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-security-at-the-sip-and-sdp">Security at the SIP and SDP Layer</xref></t>
          </li>
          <li pn="section-toc.1-1.4">
            <t indent="0" pn="section-toc.1-1.4.1"><xref derivedContent="4" format="counter" sectionFormat="of" target="section-4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-stir-profile-for-endpoint-a">STIR Profile for Endpoint Authentication and Verification Services</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.4.2">
              <li pn="section-toc.1-1.4.2.1">
                <t indent="0" pn="section-toc.1-1.4.2.1.1"><xref derivedContent="4.1" format="counter" sectionFormat="of" target="section-4.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-credentials">Credentials</xref></t>
              </li>
              <li pn="section-toc.1-1.4.2.2">
                <t indent="0" pn="section-toc.1-1.4.2.2.1"><xref derivedContent="4.2" format="counter" sectionFormat="of" target="section-4.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-anonymous-communications">Anonymous Communications</xref></t>
              </li>
              <li pn="section-toc.1-1.4.2.3">
                <t indent="0" pn="section-toc.1-1.4.2.3.1"><xref derivedContent="4.3" format="counter" sectionFormat="of" target="section-4.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-connected-identity-usage">Connected Identity Usage</xref></t>
              </li>
              <li pn="section-toc.1-1.4.2.4">
                <t indent="0" pn="section-toc.1-1.4.2.4.1"><xref derivedContent="4.4" format="counter" sectionFormat="of" target="section-4.4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-authorization-decisions">Authorization Decisions</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.5">
            <t indent="0" pn="section-toc.1-1.5.1"><xref derivedContent="5" format="counter" sectionFormat="of" target="section-5"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-media-security-protocols">Media Security Protocols</xref></t>
          </li>
          <li pn="section-toc.1-1.6">
            <t indent="0" pn="section-toc.1-1.6.1"><xref derivedContent="6" format="counter" sectionFormat="of" target="section-6"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-relayed-media-and-conferenc">Relayed Media and Conferencing</xref></t>
          </li>
          <li pn="section-toc.1-1.7">
            <t indent="0" pn="section-toc.1-1.7.1"><xref derivedContent="7" format="counter" sectionFormat="of" target="section-7"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-ice-and-connected-identity">ICE and Connected Identity</xref></t>
          </li>
          <li pn="section-toc.1-1.8">
            <t indent="0" pn="section-toc.1-1.8.1"><xref derivedContent="8" format="counter" sectionFormat="of" target="section-8"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-best-current-practices">Best Current Practices</xref></t>
          </li>
          <li pn="section-toc.1-1.9">
            <t indent="0" pn="section-toc.1-1.9.1"><xref derivedContent="9" format="counter" sectionFormat="of" target="section-9"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-iana-considerations">IANA Considerations</xref></t>
          </li>
          <li pn="section-toc.1-1.10">
            <t indent="0" pn="section-toc.1-1.10.1"><xref derivedContent="10" format="counter" sectionFormat="of" target="section-10"/>. <xref derivedContent="" format="title" sectionFormat="of" target="name-security-considerations">Security Considerations</xref></t>
          </li>
          <li pn="section-toc.1-1.11">
            <t indent="0" pn="section-toc.1-1.11.1"><xref derivedContent="11" format="counter" sectionFormat="of" target="section-11"/>. <xref derivedContent="" format="title" sectionFormat="of" target="name-references">References</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.11.2">
              <li pn="section-toc.1-1.11.2.1">
                <t indent="0" pn="section-toc.1-1.11.2.1.1"><xref derivedContent="11.1" format="counter" sectionFormat="of" target="section-11.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-normative-references">Normative References</xref></t>
              </li>
              <li pn="section-toc.1-1.11.2.2">
                <t indent="0" pn="section-toc.1-1.11.2.2.1"><xref derivedContent="11.2" format="counter" sectionFormat="of" target="section-11.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-informative-references">Informative References</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.12">
            <t indent="0" pn="section-toc.1-1.12.1"><xref derivedContent="" format="none" sectionFormat="of" target="section-appendix.a"/><xref derivedContent="" format="title" sectionFormat="of" target="name-acknowledgements">Acknowledgements</xref></t>
          </li>
          <li pn="section-toc.1-1.13">
            <t indent="0" pn="section-toc.1-1.13.1"><xref derivedContent="" format="none" sectionFormat="of" target="section-appendix.b"/><xref derivedContent="" format="title" sectionFormat="of" target="name-authors-addresses">Authors' Addresses</xref></t>
          </li>
        </ul>
      </section>
    </toc>
  </front>
  <middle>
    <section numbered="true" toc="include" removeInRFC="false" pn="section-1">
      <name slugifiedName="name-introduction">Introduction</name>
      <t indent="0" pn="section-1-1">
        The <xref target="RFC3261" format="default" sectionFormat="of" derivedContent="RFC3261">Session Initiation
        Protocol (SIP)</xref> includes a suite of security services, including
        Digest Authentication <xref target="RFC7616" format="default" sectionFormat="of" derivedContent="RFC7616"/> for authenticating
        entities with a shared secret, TLS <xref target="RFC8446" format="default" sectionFormat="of" derivedContent="RFC8446"/> for
        transport security, and (optionally) S/MIME <xref target="RFC8551" format="default" sectionFormat="of" derivedContent="RFC8551"/>
        for body security. SIP is frequently used to establish media sessions -- in
        particular, audio or audiovisual sessions, which have their own
        security mechanisms available, such as <xref target="RFC3711" format="default" sectionFormat="of" derivedContent="RFC3711">the Secure Real-time Transport Protocol (SRTP)</xref>. However, the practices needed to bind security at the media layer to security at the SIP layer, to provide an assurance that protection is in place all the way up the stack, rely on a great many external security mechanisms and practices. This document provides documentation to explain their optimal use as a best practice.
      </t>
      <t indent="0" pn="section-1-2">
        Revelations about widespread pervasive monitoring of the Internet have led to a greater desire to protect Internet communications <xref target="RFC7258" format="default" sectionFormat="of" derivedContent="RFC7258"/>. In order to maximize the use of security features, especially of media confidentiality, opportunistic measures serve as a stopgap when a full suite of services cannot be negotiated all the way up the stack. Opportunistic media security for SIP is described in <xref target="RFC8643" format="default" sectionFormat="of" derivedContent="RFC8643"/>, which builds on the prior efforts of <xref target="I-D.kaplan-mmusic-best-effort-srtp" format="default" sectionFormat="of" derivedContent="Best-Effort-SRTP"/>. With opportunistic encryption, there is an attempt to negotiate the use of encryption, but if the negotiation fails, then cleartext is used. Opportunistic encryption approaches typically have no integrity protection for the keying material.
      </t>
      <t indent="0" pn="section-1-3">
        This document contains the SIP Best-practice Recommendations Against
        Network Dangers to privacY (SIPBRANDY) profile of Secure Telephone
 Identity Revisited (STIR) <xref target="RFC8224" format="default" sectionFormat="of" derivedContent="RFC8224"/> for media
 confidentiality, providing a comprehensive security solution for SIP media
 that includes integrity protection for keying material and offers
 application-layer assurance that media confidentiality is in place.
 Various specifications that User Agents (UAs) must implement to support media
 confidentiality are given in the sections below; a summary of the best
 current practices appears in <xref target="bcp" format="default" sectionFormat="of" derivedContent="Section 8"/>.
      </t>
    </section>
    <section anchor="sec-2" numbered="true" toc="include" removeInRFC="false" pn="section-2">
      <name slugifiedName="name-terminology">Terminology</name>
      <t indent="0" pn="section-2-1">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" format="default" sectionFormat="of" derivedContent="RFC2119"/>
        <xref target="RFC8174" format="default" sectionFormat="of" derivedContent="RFC8174"/> when, and only when, they appear in all
      capitals, as shown here.</t>
    </section>
    <section numbered="true" toc="include" removeInRFC="false" pn="section-3">
      <name slugifiedName="name-security-at-the-sip-and-sdp">Security at the SIP and SDP Layer</name>
      <t indent="0" pn="section-3-1">
        There are two approaches to providing confidentiality for media sessions set up with SIP: comprehensive protection and opportunistic security (as defined in <xref target="RFC7435" format="default" sectionFormat="of" derivedContent="RFC7435"/>). This document only addresses comprehensive protection.
      </t>
      <t indent="0" pn="section-3-2">
        Comprehensive protection for media sessions established by SIP
        requires the interaction of three protocols: the <xref target="RFC3261" format="default" sectionFormat="of" derivedContent="RFC3261">Session Initiation
   Protocol (SIP)</xref>, the <xref target="RFC4566" format="default" sectionFormat="of" derivedContent="RFC4566">Session Description Protocol (SDP)</xref>, and the
        <xref target="RFC3550" format="default" sectionFormat="of" derivedContent="RFC3550">Real-time Transport Protocol
        (RTP)</xref> -- in particular, its secure profile <xref target="RFC3711" format="default" sectionFormat="of" derivedContent="RFC3711">SRTP</xref>. Broadly, it is the responsibility of SIP to provide integrity protection for the media keying attributes conveyed by SDP, and those attributes will in turn identify the keys used by endpoints in the RTP media session(s) that SDP negotiates.
      </t>
      <t indent="0" pn="section-3-3">
        Note that this framework does not apply to keys that also require confidentiality protection in the signaling layer, such as the SDP "k=" line, which <bcp14>MUST NOT</bcp14> be used in conjunction with this profile.
      </t>
      <t indent="0" pn="section-3-4">
        In that way, once SIP and SDP have exchanged the necessary information to initiate a session, media endpoints will have a strong assurance that the keys they exchange have not been tampered with by third parties and that end-to-end confidentiality is available.
      </t>
      <t indent="0" pn="section-3-5">
        To establish the identity of the endpoints of a SIP session, this
        specification uses <xref target="RFC8224" format="default" sectionFormat="of" derivedContent="RFC8224">STIR</xref>. The STIR Identity header has been
        designed to prevent a class of impersonation attacks that are commonly
        used in robocalling, voicemail hacking, and related threats. STIR
        generates a signature over certain features of SIP requests, including
        header field values that contain an identity for the originator of the
        request, such as the From header field or P‑Asserted-Identity
        field, and also over the media keys in SDP if they are present. As
        currently defined, STIR provides a signature over the "a=fingerprint"
        attribute, which is a fingerprint of the key used by <xref target="RFC5763" format="default" sectionFormat="of" derivedContent="RFC5763">DTLS-SRTP</xref>; consequently, STIR
        only offers comprehensive protection for SIP sessions in concert with
        SDP and SRTP when DTLS-SRTP is the media security service. The
        underlying <xref target="RFC8225" format="default" sectionFormat="of" derivedContent="RFC8225">Personal Assertion
   Token (PASSporT) object</xref> used by STIR is extensible, however, and it would be possible to provide signatures over other SDP attributes that contain alternate keying material. A profile for using STIR to provide media confidentiality is given in <xref target="stirprof" format="default" sectionFormat="of" derivedContent="Section 4"/>.
      </t>
    </section>
    <section anchor="stirprof" numbered="true" toc="include" removeInRFC="false" pn="section-4">
      <name slugifiedName="name-stir-profile-for-endpoint-a">STIR Profile for Endpoint Authentication and Verification Services</name>
      <t indent="0" pn="section-4-1">
        <xref target="RFC8224" format="default" sectionFormat="of" derivedContent="RFC8224">STIR</xref> defines the Identity header field for SIP, which provides a cryptographic attestation of the source of communications. This document includes a profile of STIR, called the SIPBRANDY profile, where the STIR verification service will act in concert with an SRTP media endpoint to ensure that the key fingerprints, as given in SDP, match the keys exchanged to establish DTLS-SRTP. To satisfy this condition, the verification service function would in this case be implemented in the SIP User Agent Server (UAS), which would be composed with the media endpoint. If the STIR authentication service or verification service functions are implemented at an intermediary rather than an endpoint, this introduces the possibility that the intermediary could act as a man in the middle, altering key fingerprints. As this attack is not in STIR's core threat model, which focuses on impersonation rather than man-in-the-middle attacks, STIR offers no specific protections against such interference. 
      </t>
      <t indent="0" pn="section-4-2">
        The SIPBRANDY profile for media confidentiality thus shifts these responsibilities to the endpoints rather than the intermediaries. While intermediaries <bcp14>MAY</bcp14> provide the verification service function of STIR for SIPBRANDY transactions, the verification needs to be repeated at the endpoint to obtain end-to-end assurance. Intermediaries supporting this specification <bcp14>MUST NOT</bcp14> block or otherwise redirect calls if they do not trust the signing credential. The SIPBRANDY profile is based on an end-to-end trust model, so it is up to the endpoints to determine if they support signing credentials, not intermediaries.
      </t>
      <t indent="0" pn="section-4-3">
        In order to be compliant with best practices for SIP media confidentiality with comprehensive protection, UA implementations <bcp14>MUST</bcp14> implement both the authentication service and verification service roles described in <xref target="RFC8224" format="default" sectionFormat="of" derivedContent="RFC8224"/>. STIR authentication services <bcp14>MUST</bcp14> signal their compliance with this specification by including the "msec" claim defined in this specification to the PASSporT payload. Implementations <bcp14>MUST</bcp14> provide key fingerprints in SDP and the appropriate signatures over them as specified in <xref target="RFC8225" format="default" sectionFormat="of" derivedContent="RFC8225"/>.
      </t>
      <t indent="0" pn="section-4-4">
        When generating either an offer or an answer <xref target="RFC3264" format="default" sectionFormat="of" derivedContent="RFC3264"/>, compliant implementations <bcp14>MUST</bcp14> include an "a=fingerprint" attribute containing the fingerprint of an appropriate key (see <xref target="stircred" format="default" sectionFormat="of" derivedContent="Section 4.1"/>).
      </t>
      <section anchor="stircred" numbered="true" toc="include" removeInRFC="false" pn="section-4.1">
        <name slugifiedName="name-credentials">Credentials</name>
        <t indent="0" pn="section-4.1-1">
        In order to implement the authentication service function in the UA,
        SIP endpoints will need to acquire the credentials needed to
        sign for their own identity. That identity is typically carried in the
        From header field of a SIP request and contains either a greenfield
        SIP URI (e.g., "sip:alice@example.com") or a telephone number (which
        can appear in a variety of ways, e.g., "sip:+17004561212@example.com;user=phone"). <xref target="RFC8224" sectionFormat="of" section="8" format="default" derivedLink="https://rfc-editor.org/rfc/rfc8224#section-8" derivedContent="RFC8224"/> contains guidance for separating the two and determining what sort of credential is needed to sign for each.
        </t>
        <t indent="0" pn="section-4.1-2">
        To date, few commercial certification authorities (CAs) issue
        certificates for SIP URIs or telephone numbers; though work is ongoing
        on systems for this purpose (such as <xref target="I-D.ietf-acme-authority-token" format="default" sectionFormat="of" derivedContent="ACME-Auth-Token"/>), it is not
        yet mature enough to be recommended as a best practice. This is one
        reason why STIR permits intermediaries to act as an authentication
        service on behalf of an entire domain, just as in SIP a proxy server
        can provide domain-level SIP service. While CAs that offer
        proof-of-possession certificates similar to those used for email could
        be offered for SIP -- for either greenfield identifiers or telephone
        numbers -- this specification does not require their use. 
        </t>
        <t indent="0" pn="section-4.1-3">
        For users who do not possess such certificates, <xref target="RFC5763" format="default" sectionFormat="of" derivedContent="RFC5763">DTLS-SRTP</xref> permits the use of self-signed
        public keys. The profile of STIR in this document, called the
        SIPBRANDY profile, employs the more relaxed authority
        requirements of <xref target="RFC8224" format="default" sectionFormat="of" derivedContent="RFC8224"/> to allow the
        use of self-signed public keys for authentication services that are
        composed with UAs, by generating a certificate (per the
        guidance in <xref target="RFC8226" format="default" sectionFormat="of" derivedContent="RFC8226"/>) with a subject
        corresponding to the user's identity. To obtain comprehensive protection with a self-signed certificate, some out-of-band verification is needed as well. Such a credential could be used for trust on first use (see <xref target="RFC7435" format="default" sectionFormat="of" derivedContent="RFC7435"/>) by relying parties. Note that relying parties <bcp14>SHOULD NOT</bcp14> use certificate revocation mechanisms or real-time certificate verification systems for self-signed certificates, as they will not increase confidence in the certificate. 
        </t>
        <t indent="0" pn="section-4.1-4">
        Users who wish to remain anonymous can instead generate self-signed certificates as described in <xref target="anon" format="default" sectionFormat="of" derivedContent="Section 4.2"/>.
        </t>
        <t indent="0" pn="section-4.1-5">
        Generally speaking, without access to out-of-band information about which certificates were issued to whom, it will be very difficult for relying parties to ascertain whether or not the signer of a SIP request is genuinely an "endpoint". Even the term "endpoint" is a problematic one, as SIP UAs can be composed in a variety of architectures and may not be devices under direct user control. While it is possible that techniques based on certificate transparency <xref target="RFC6962" format="default" sectionFormat="of" derivedContent="RFC6962"/> or similar practices could help UAs to recognize one another's certificates, those operational systems will need to ramp up with the CAs that issue credentials to end-user devices going forward.
        </t>
      </section>
      <section anchor="anon" numbered="true" toc="include" removeInRFC="false" pn="section-4.2">
        <name slugifiedName="name-anonymous-communications">Anonymous Communications</name>
        <t indent="0" pn="section-4.2-1">
        In some cases, the identity of the initiator of a SIP session may be withheld due to user or provider policy. Following the recommendations of <xref target="RFC3323" format="default" sectionFormat="of" derivedContent="RFC3323"/>, this may involve using an identity such as "anonymous@anonymous.invalid" in the identity fields of a SIP request. <xref target="RFC8224" format="default" sectionFormat="of" derivedContent="RFC8224"/> does not currently permit authentication services to sign for requests that supply this identity. It does, however, permit signing for valid domains, such as "anonymous@example.com", as a way of implementing an anonymization service as specified in <xref target="RFC3323" format="default" sectionFormat="of" derivedContent="RFC3323"/>.
        </t>
        <t indent="0" pn="section-4.2-2">
        Even for anonymous sessions, providing media confidentiality and
        partial SDP integrity is still desirable. One-time self-signed
        certificates for anonymous communications <bcp14>SHOULD</bcp14>
        include a subjectAltName of "sip:anonymous@anonymous.invalid".
 After a session is terminated, the
        certificate <bcp14>SHOULD</bcp14> be discarded, and a new one, with
        fresh keying material, <bcp14>SHOULD</bcp14> be generated before each
        future anonymous call. As with self-signed certificates, relying
        parties <bcp14>SHOULD NOT</bcp14> use certificate revocation
        mechanisms or real-time certificate verification systems for anonymous
        certificates, as they will not increase confidence in the
        certificate. 
        </t>
        <t indent="0" pn="section-4.2-3">
        Note that when using one-time anonymous self-signed certificates, any
        man in the middle could strip the Identity header and replace it with
        one signed by its own one-time certificate, changing the "mky"
        parameters of PASSporT and any "a=fingerprint" attributes in SDP as it
        chooses. This signature only provides protection against non‑Identity-aware entities that might modify SDP without altering the PASSporT conveyed in the Identity header.
        </t>
      </section>
      <section anchor="stirconnect" numbered="true" toc="include" removeInRFC="false" pn="section-4.3">
        <name slugifiedName="name-connected-identity-usage">Connected Identity Usage</name>
        <t indent="0" pn="section-4.3-1">
        <xref target="RFC8224" format="default" sectionFormat="of" derivedContent="RFC8224">STIR</xref> provides integrity
        protection for the fingerprint attributes in SIP request bodies but
        not SIP responses. When a session is established, therefore, any SDP body carried by a 200‑class response in the backwards direction will not be protected by an authentication service and cannot be verified. Thus, sending a secured SDP body in the backwards direction will require an extra RTT, typically a request sent in the backwards direction. 
        </t>
        <t indent="0" pn="section-4.3-2">
        <xref target="RFC4916" format="default" sectionFormat="of" derivedContent="RFC4916"/> explored the problem of providing "connected
        identity" to implementations of <xref target="RFC4474" format="default" sectionFormat="of" derivedContent="RFC4474"/> (which is obsoleted by <xref target="RFC8224" format="default" sectionFormat="of" derivedContent="RFC8224"/>);
        <xref target="RFC4916" format="default" sectionFormat="of" derivedContent="RFC4916"/> uses a provisional or
        mid-dialog UPDATE request in the backwards (reverse) direction to
        convey an Identity header field for the recipient of an INVITE. The
        procedures in <xref target="RFC4916" format="default" sectionFormat="of" derivedContent="RFC4916"/> are largely compatible with the
        revision of the Identity header in <xref target="RFC8224" format="default" sectionFormat="of" derivedContent="RFC8224"/>.
        However, the following need to be considered:
        </t>
        <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-4.3-3">
          <li pn="section-4.3-3.1">
        The UPDATE carrying signed SDP with a fingerprint in the backwards
        direction needs to be sent during dialog establishment, following the
        receipt of a Provisional Response Acknowledgement (PRACK) after a provisional 1xx response. 
        </li>
          <li pn="section-4.3-3.2">
        For use with this SIPBRANDY profile for media confidentiality, the UAS that responds to the INVITE request needs to act as an authentication service for the UPDATE sent in the backwards direction.
        </li>
          <li pn="section-4.3-3.3">
        Per the text in <xref target="RFC4916" sectionFormat="of" section="4.4.1" format="default" derivedLink="https://rfc-editor.org/rfc/rfc4916#section-4.4.1" derivedContent="RFC4916"/> regarding the receipt at a User Agent Client (UAC)
	of error code 428, 436, 437, or 438 in response to a mid-dialog
	request, it is <bcp14>RECOMMENDED</bcp14> that the dialog be treated as terminated. However, <xref target="RFC8224" sectionFormat="of" section="6.1.1" format="default" derivedLink="https://rfc-editor.org/rfc/rfc8224#section-6.1.1" derivedContent="RFC8224"/>
 allows the retransmission of requests with repairable error conditions. In particular, an authentication service might retry a mid-dialog rather than treating the dialog as terminated, although only one such retry is permitted.
        </li>
          <li pn="section-4.3-3.4">
        Note that the examples in <xref target="RFC4916" format="default" sectionFormat="of" derivedContent="RFC4916"/>
        are based on <xref target="RFC4474" format="default" sectionFormat="of" derivedContent="RFC4474"/>
        and will not match signatures using <xref target="RFC8224" format="default" sectionFormat="of" derivedContent="RFC8224"/>.
        </li>
        </ul>
        <t indent="0" pn="section-4.3-4">
        Future work may be done to revise <xref target="RFC4916" format="default" sectionFormat="of" derivedContent="RFC4916"/> for STIR; that work should take into account any
        impacts on the SIPBRANDY profile described in this document. The use
        of <xref target="RFC4916" format="default" sectionFormat="of" derivedContent="RFC4916"/> has some further
        interactions with Interactive Connectivity Establishment (ICE) <xref target="RFC8445" format="default" sectionFormat="of" derivedContent="RFC8445"/>; see <xref target="ice" format="default" sectionFormat="of" derivedContent="Section 7"/>.
        </t>
      </section>
      <section anchor="authz" numbered="true" toc="include" removeInRFC="false" pn="section-4.4">
        <name slugifiedName="name-authorization-decisions">Authorization Decisions</name>
        <t indent="0" pn="section-4.4-1">
        <xref target="RFC8224" format="default" sectionFormat="of" derivedContent="RFC8224"/> grants STIR verification
        services a great deal of latitude when making authorization decisions
        based on the presence of the Identity header field. It is largely a
        matter of local policy whether an endpoint rejects a call based on the
        absence of an Identity header field, or even the presence of a header that fails an integrity check against the request.
        </t>
        <t indent="0" pn="section-4.4-2">
        For this SIPBRANDY profile of STIR, however, a compliant verification service that receives a dialog-forming SIP request containing an Identity header with a PASSporT type of "msec", after validating the request per the steps described in <xref target="RFC8224" sectionFormat="of" section="6.2" format="default" derivedLink="https://rfc-editor.org/rfc/rfc8224#section-6.2" derivedContent="RFC8224"/>, <bcp14>MUST</bcp14> reject the request if there is any failure in that validation process with the appropriate status code per <xref target="RFC8224" sectionFormat="of" section="6.2.2" format="default" derivedLink="https://rfc-editor.org/rfc/rfc8224#section-6.2.2" derivedContent="RFC8224"/>. If the request is valid, then if a terminating user accepts the request, it <bcp14>MUST</bcp14> then follow the steps in <xref target="stirconnect" format="default" sectionFormat="of" derivedContent="Section 4.3"/> to act as an authentication service and send a signed request with the "msec" PASSporT type in its Identity header as well, in order to enable end‑to-end bidirectional confidentiality.
        </t>
        <t indent="0" pn="section-4.4-3">
        For the purposes of this profile, the "msec" PASSporT type can be used
        by authentication services in one of two ways: as a mandatory request
        for media security or as a merely opportunistic request for media
        security. As any verification service that receives an Identity header
        field in a SIP request with an unrecognized PASSporT type will simply
        ignore that Identity header, an authentication service will know
        whether or not the terminating side supports "msec" based on whether
        or not its UA receives a signed request in the backwards direction per
        <xref target="stirconnect" format="default" sectionFormat="of" derivedContent="Section 4.3"/>. If no such requests are
        received, the UA may do one of two things: shut down the dialog, if
        the policy of the UA requires that "msec" be supported by the
        terminating side for this dialog; or, if policy permits (e.g., an
        explicit acceptance by the user), allow the dialog to continue without
        media security.
        </t>
      </section>
    </section>
    <section anchor="mediasec" numbered="true" toc="include" removeInRFC="false" pn="section-5">
      <name slugifiedName="name-media-security-protocols">Media Security Protocols</name>
      <t indent="0" pn="section-5-1">
        As there are several ways to negotiate media security with SDP, any of which might be used with either opportunistic or comprehensive protection, further guidance to implementers is needed. In <xref target="RFC8643" format="default" sectionFormat="of" derivedContent="RFC8643"/>, opportunistic approaches considered include DTLS-SRTP, <xref target="RFC4568" format="default" sectionFormat="of" derivedContent="RFC4568">security descriptions</xref>, and <xref target="RFC6189" format="default" sectionFormat="of" derivedContent="RFC6189">ZRTP</xref>. 
      </t>
      <t indent="0" pn="section-5-2">
        Support for DTLS-SRTP is <bcp14>REQUIRED</bcp14> by this specification.
      </t>
      <t indent="0" pn="section-5-3">
        The "mky" claim of PASSporT provides integrity protection for "a=fingerprint" attributes in SDP, including cases where multiple "a=fingerprint" attributes appear in the same SDP.
      </t>
    </section>
    <section anchor="relay" numbered="true" toc="include" removeInRFC="false" pn="section-6">
      <name slugifiedName="name-relayed-media-and-conferenc">Relayed Media and Conferencing</name>
      <t indent="0" pn="section-6-1">
        Providing end-to-end media confidentiality for SIP is complicated by the presence of many forms of media relays. While many media relays merely proxy media to a destination, others present themselves as media endpoints and terminate security associations before re‑originating media to its destination.
      </t>
      <t indent="0" pn="section-6-2">
        Centralized conference bridges are one type of entity that typically
        terminates a media session in order to mux media from multiple sources
        and then to re-originate the muxed media to conference
        participants. In many such implementations, only hop-by-hop media
        confidentiality is possible. Work is ongoing to specify a means to
        encrypt both (1) the hop-by-hop media between a UA and a
        centralized server and (2) the end-to-end media between UAs,
        but it is not sufficiently mature at this time to become a best practice. Those protocols are expected to identify their own best-practice recommendations as they mature.
      </t>
      <t indent="0" pn="section-6-3">
        Another class of entities that might relay SIP media are Back-to-Back
        User Agents (B2BUAs). If a B2BUA follows the guidance in <xref target="RFC7879" format="default" sectionFormat="of" derivedContent="RFC7879"/>, it may be possible for B2BUAs
        to act as media relays while still permitting end-to-end
        confidentiality between UAs.
      </t>
      <t indent="0" pn="section-6-4">
        Ultimately, if an endpoint can decrypt media it receives, then that
        endpoint can forward the decrypted media without the knowledge or
        consent of the media's originator. No media confidentiality mechanism
        can protect against these sorts of relayed disclosures or against a
        legitimate endpoint that can legitimately decrypt media and record a copy to be sent
        elsewhere (see <xref target="RFC7245" format="default" sectionFormat="of" derivedContent="RFC7245"/>).
      </t>
    </section>
    <section anchor="ice" numbered="true" toc="include" removeInRFC="false" pn="section-7">
      <name slugifiedName="name-ice-and-connected-identity">ICE and Connected Identity</name>
      <t indent="0" pn="section-7-1">
        Providing confidentiality for media with comprehensive protection requires careful timing of when media streams should be sent and when a user interface should signify that confidentiality is in place.
      </t>
      <t indent="0" pn="section-7-2">
        In order to best enable end-to-end connectivity between UAs and to
        avoid media relays as much as possible, implementations of this
        specification <bcp14>MUST</bcp14> support ICE <xref target="RFC8445" format="default" sectionFormat="of" derivedContent="RFC8445"/> <xref target="RFC8839" format="default" sectionFormat="of" derivedContent="RFC8839"/>. To speed up call
        establishment, it is <bcp14>RECOMMENDED</bcp14> that implementations
        support Trickle ICE <xref target="RFC8838" format="default" sectionFormat="of" derivedContent="RFC8838"/> <xref target="RFC8840" format="default" sectionFormat="of" derivedContent="RFC8840"/>. 
      </t>
      <t indent="0" pn="section-7-3">
        Note that in the comprehensive protection case, the use of connected identity <xref target="RFC4916" format="default" sectionFormat="of" derivedContent="RFC4916"/> with ICE implies that the answer containing the key fingerprints, and thus the STIR signature, will come in an UPDATE sent in the backwards direction, a provisional response, and a PRACK, rather than in any earlier SDP body. Only at such a time as that UPDATE is received will the media keys be considered exchanged in this case.
      </t>
      <t indent="0" pn="section-7-4">
        Similarly, in order to prevent, or at least mitigate, the
        denial-of-service attack described in <xref target="RFC8445" sectionFormat="of" section="19.5.1" format="default" derivedLink="https://rfc-editor.org/rfc/rfc8445#section-19.5.1" derivedContent="RFC8445"/>, this specification incorporates
        best practices for ensuring that recipients of media flows have
        consented to receive such flows. Implementations of this specification
        <bcp14>MUST</bcp14> implement the Session Traversal Utilities for NAT (STUN) usage for consent freshness defined in <xref target="RFC7675" format="default" sectionFormat="of" derivedContent="RFC7675"/>.
      </t>
    </section>
    <section anchor="bcp" numbered="true" toc="include" removeInRFC="false" pn="section-8">
      <name slugifiedName="name-best-current-practices">Best Current Practices</name>
      <t indent="0" pn="section-8-1">
        The following are the best practices for SIP UAs to provide media confidentiality for SIP sessions.
      </t>
      <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-8-2">
        <li pn="section-8-2.1">Implementations <bcp14>MUST</bcp14> support the SIPBRANDY
        profile as defined in <xref target="stirprof" format="default" sectionFormat="of" derivedContent="Section 4"/> and
        signal such support in PASSporT via the "msec" header element.
</li>
        <li pn="section-8-2.2">Implementations <bcp14>MUST</bcp14> follow the authorization
        decision behavior described in <xref target="authz" format="default" sectionFormat="of" derivedContent="Section 4.4"/>.</li>
        <li pn="section-8-2.3">Implementations <bcp14>MUST</bcp14> support DTLS-SRTP for
        management of keys, as described in <xref target="mediasec" format="default" sectionFormat="of" derivedContent="Section 5"/>.</li>
        <li pn="section-8-2.4">Implementations <bcp14>MUST</bcp14> support ICE and the STUN
        consent freshness mechanism, as specified in <xref target="ice" format="default" sectionFormat="of" derivedContent="Section 7"/>.</li>
      </ul>
    </section>
    <section anchor="IANA" numbered="true" toc="include" removeInRFC="false" pn="section-9">
      <name slugifiedName="name-iana-considerations">IANA Considerations</name>
      <t indent="0" pn="section-9-1">
    This specification defines a new value for the "Personal Assertion Token
    (PASSporT) Extensions" registry called "msec". IANA has added
    the entry to the registry with a value pointing to this document.
      </t>
    </section>
    <section anchor="Security" numbered="true" toc="include" removeInRFC="false" pn="section-10">
      <name slugifiedName="name-security-considerations">Security Considerations</name>
      <t indent="0" pn="section-10-1">
    This document describes the security features that provide media sessions established with SIP with confidentiality, integrity, and authentication.
      </t>
    </section>
  </middle>
  <back>
    <displayreference target="I-D.ietf-acme-authority-token" to="ACME-Auth-Token"/>
    <displayreference target="I-D.kaplan-mmusic-best-effort-srtp" to="Best-Effort-SRTP"/>
    <references pn="section-11">
      <name slugifiedName="name-references">References</name>
      <references pn="section-11.1">
        <name slugifiedName="name-normative-references">Normative References</name>
        <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119" quoteTitle="true" derivedAnchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author initials="S." surname="Bradner" fullname="S. Bradner">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="1997" month="March"/>
            <abstract>
              <t indent="0">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="RFC3261" target="https://www.rfc-editor.org/info/rfc3261" quoteTitle="true" derivedAnchor="RFC3261">
          <front>
            <title>SIP: Session Initiation Protocol</title>
            <author initials="J." surname="Rosenberg" fullname="J. Rosenberg">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="H." surname="Schulzrinne" fullname="H. Schulzrinne">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="G." surname="Camarillo" fullname="G. Camarillo">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="A." surname="Johnston" fullname="A. Johnston">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="J." surname="Peterson" fullname="J. Peterson">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="R." surname="Sparks" fullname="R. Sparks">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="M." surname="Handley" fullname="M. Handley">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="E." surname="Schooler" fullname="E. Schooler">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2002" month="June"/>
            <abstract>
              <t indent="0">This document describes Session Initiation Protocol (SIP), an application-layer control (signaling) protocol for creating, modifying, and terminating sessions with one or more participants.  These sessions include Internet telephone calls, multimedia distribution, and multimedia conferences.  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3261"/>
          <seriesInfo name="DOI" value="10.17487/RFC3261"/>
        </reference>
        <reference anchor="RFC3264" target="https://www.rfc-editor.org/info/rfc3264" quoteTitle="true" derivedAnchor="RFC3264">
          <front>
            <title>An Offer/Answer Model with Session Description Protocol (SDP)</title>
            <author initials="J." surname="Rosenberg" fullname="J. Rosenberg">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="H." surname="Schulzrinne" fullname="H. Schulzrinne">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2002" month="June"/>
            <abstract>
              <t indent="0">This document defines a mechanism by which two entities can make use of the Session Description Protocol (SDP) to arrive at a common view of a multimedia session between them.  In the model, one participant offers the other a description of the desired session from their perspective, and the other participant answers with the desired session from their perspective.  This offer/answer model is most useful in unicast sessions where information from both participants is needed for the complete view of the session.  The offer/answer model is used by protocols like the Session Initiation Protocol (SIP).  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3264"/>
          <seriesInfo name="DOI" value="10.17487/RFC3264"/>
        </reference>
        <reference anchor="RFC3323" target="https://www.rfc-editor.org/info/rfc3323" quoteTitle="true" derivedAnchor="RFC3323">
          <front>
            <title>A Privacy Mechanism for the Session Initiation Protocol (SIP)</title>
            <author initials="J." surname="Peterson" fullname="J. Peterson">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2002" month="November"/>
          </front>
          <seriesInfo name="RFC" value="3323"/>
          <seriesInfo name="DOI" value="10.17487/RFC3323"/>
        </reference>
        <reference anchor="RFC3550" target="https://www.rfc-editor.org/info/rfc3550" quoteTitle="true" derivedAnchor="RFC3550">
          <front>
            <title>RTP: A Transport Protocol for Real-Time Applications</title>
            <author initials="H." surname="Schulzrinne" fullname="H. Schulzrinne">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="S." surname="Casner" fullname="S. Casner">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="R." surname="Frederick" fullname="R. Frederick">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="V." surname="Jacobson" fullname="V. Jacobson">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2003" month="July"/>
            <abstract>
              <t indent="0">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="RFC3711" target="https://www.rfc-editor.org/info/rfc3711" quoteTitle="true" derivedAnchor="RFC3711">
          <front>
            <title>The Secure Real-time Transport Protocol (SRTP)</title>
            <author initials="M." surname="Baugher" fullname="M. Baugher">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="D." surname="McGrew" fullname="D. McGrew">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="M." surname="Naslund" fullname="M. Naslund">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="E." surname="Carrara" fullname="E. Carrara">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="K." surname="Norrman" fullname="K. Norrman">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2004" month="March"/>
            <abstract>
              <t indent="0">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="RFC4566" target="https://www.rfc-editor.org/info/rfc4566" quoteTitle="true" derivedAnchor="RFC4566">
          <front>
            <title>SDP: Session Description Protocol</title>
            <author initials="M." surname="Handley" fullname="M. Handley">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="V." surname="Jacobson" fullname="V. Jacobson">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="C." surname="Perkins" fullname="C. Perkins">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2006" month="July"/>
            <abstract>
              <t indent="0">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.  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4566"/>
          <seriesInfo name="DOI" value="10.17487/RFC4566"/>
        </reference>
        <reference anchor="RFC4568" target="https://www.rfc-editor.org/info/rfc4568" quoteTitle="true" derivedAnchor="RFC4568">
          <front>
            <title>Session Description Protocol (SDP) Security Descriptions for Media Streams</title>
            <author initials="F." surname="Andreasen" fullname="F. Andreasen">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="M." surname="Baugher" fullname="M. Baugher">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="D." surname="Wing" fullname="D. Wing">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2006" month="July"/>
            <abstract>
              <t indent="0">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="RFC4916" target="https://www.rfc-editor.org/info/rfc4916" quoteTitle="true" derivedAnchor="RFC4916">
          <front>
            <title>Connected Identity in the Session Initiation Protocol (SIP)</title>
            <author initials="J." surname="Elwell" fullname="J. Elwell">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2007" month="June"/>
            <abstract>
              <t indent="0">This document provides a means for a Session Initiation Protocol (SIP) User Agent (UA) that receives a dialog-forming request to supply its identity to the peer UA by means of a request in the reverse direction, and for that identity to be signed by an Authentication Service.  Because of retargeting of a dialog-forming request (changing the value of the Request-URI), the UA that receives it (the User Agent Server, UAS) can have a different identity from that in the To header field.  The same mechanism can be used to indicate a change of identity during a dialog, e.g., because of some action in the Public Switched Telephone Network (PSTN) behind a gateway.  This document normatively updates RFC 3261 (SIP).  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4916"/>
          <seriesInfo name="DOI" value="10.17487/RFC4916"/>
        </reference>
        <reference anchor="RFC5763" target="https://www.rfc-editor.org/info/rfc5763" quoteTitle="true" derivedAnchor="RFC5763">
          <front>
            <title>Framework for Establishing a Secure Real-time Transport Protocol (SRTP) Security Context Using Datagram Transport Layer Security (DTLS)</title>
            <author initials="J." surname="Fischl" fullname="J. Fischl">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="H." surname="Tschofenig" fullname="H. Tschofenig">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="E." surname="Rescorla" fullname="E. Rescorla">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2010" month="May"/>
            <abstract>
              <t indent="0">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="RFC7258" target="https://www.rfc-editor.org/info/rfc7258" quoteTitle="true" derivedAnchor="RFC7258">
          <front>
            <title>Pervasive Monitoring Is an Attack</title>
            <author initials="S." surname="Farrell" fullname="S. Farrell">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="H." surname="Tschofenig" fullname="H. Tschofenig">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2014" month="May"/>
            <abstract>
              <t indent="0">Pervasive monitoring is a technical attack that should be mitigated in the design of IETF protocols, where possible.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="188"/>
          <seriesInfo name="RFC" value="7258"/>
          <seriesInfo name="DOI" value="10.17487/RFC7258"/>
        </reference>
        <reference anchor="RFC7675" target="https://www.rfc-editor.org/info/rfc7675" quoteTitle="true" derivedAnchor="RFC7675">
          <front>
            <title>Session Traversal Utilities for NAT (STUN) Usage for Consent Freshness</title>
            <author initials="M." surname="Perumal" fullname="M. Perumal">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="D." surname="Wing" fullname="D. Wing">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="R." surname="Ravindranath" fullname="R. Ravindranath">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="T." surname="Reddy" fullname="T. Reddy">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="M." surname="Thomson" fullname="M. Thomson">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2015" month="October"/>
            <abstract>
              <t indent="0">To prevent WebRTC applications, such as browsers, from launching attacks by sending traffic to unwilling victims, periodic consent to send needs to be obtained from remote endpoints.</t>
              <t indent="0">This document describes a consent mechanism using a new Session Traversal Utilities for NAT (STUN) usage.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7675"/>
          <seriesInfo name="DOI" value="10.17487/RFC7675"/>
        </reference>
        <reference anchor="RFC7879" target="https://www.rfc-editor.org/info/rfc7879" quoteTitle="true" derivedAnchor="RFC7879">
          <front>
            <title>DTLS-SRTP Handling in SIP Back-to-Back User Agents</title>
            <author initials="R." surname="Ravindranath" fullname="R. Ravindranath">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="T." surname="Reddy" fullname="T. Reddy">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="G." surname="Salgueiro" fullname="G. Salgueiro">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="V." surname="Pascual" fullname="V. Pascual">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="P." surname="Ravindran" fullname="P. Ravindran">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2016" month="May"/>
            <abstract>
              <t indent="0">Session Initiation Protocol (SIP) Back-to-Back User Agents (B2BUAs) exist on the signaling and media paths between the endpoints.  This document describes the behavior of B2BUAs when Secure Real-time Transport (SRTP) security context is set up with the Datagram Transport Layer Security (DTLS) protocol.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7879"/>
          <seriesInfo name="DOI" value="10.17487/RFC7879"/>
        </reference>
        <reference anchor="RFC8174" target="https://www.rfc-editor.org/info/rfc8174" quoteTitle="true" derivedAnchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author initials="B." surname="Leiba" fullname="B. Leiba">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2017" month="May"/>
            <abstract>
              <t indent="0">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>
        <reference anchor="RFC8224" target="https://www.rfc-editor.org/info/rfc8224" quoteTitle="true" derivedAnchor="RFC8224">
          <front>
            <title>Authenticated Identity Management in the Session Initiation Protocol (SIP)</title>
            <author initials="J." surname="Peterson" fullname="J. Peterson">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="C." surname="Jennings" fullname="C. Jennings">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="E." surname="Rescorla" fullname="E. Rescorla">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="C." surname="Wendt" fullname="C. Wendt">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2018" month="February"/>
            <abstract>
              <t indent="0">The baseline security mechanisms in the Session Initiation Protocol (SIP) are inadequate for cryptographically assuring the identity of the end users that originate SIP requests, especially in an interdomain context.  This document defines a mechanism for securely identifying originators of SIP requests.  It does so by defining a SIP header field for conveying a signature used for validating the identity and for conveying a reference to the credentials of the signer.</t>
              <t indent="0">This document obsoletes RFC 4474.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8224"/>
          <seriesInfo name="DOI" value="10.17487/RFC8224"/>
        </reference>
        <reference anchor="RFC8225" target="https://www.rfc-editor.org/info/rfc8225" quoteTitle="true" derivedAnchor="RFC8225">
          <front>
            <title>PASSporT: Personal Assertion Token</title>
            <author initials="C." surname="Wendt" fullname="C. Wendt">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="J." surname="Peterson" fullname="J. Peterson">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2018" month="February"/>
            <abstract>
              <t indent="0">This document defines a method for creating and validating a token that cryptographically verifies an originating identity or, more generally, a URI or telephone number representing the originator of personal communications.  The Personal Assertion Token, PASSporT, is cryptographically signed to protect the integrity of the identity of the originator and to verify the assertion of the identity information at the destination.  The cryptographic signature is defined with the intention that it can confidently verify the originating persona even when the signature is sent to the destination party over an insecure channel.  PASSporT is particularly useful for many personal-communications applications over IP networks and other multi-hop interconnection scenarios where the originating and destination parties may not have a direct trusted relationship.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8225"/>
          <seriesInfo name="DOI" value="10.17487/RFC8225"/>
        </reference>
        <reference anchor="RFC8226" target="https://www.rfc-editor.org/info/rfc8226" quoteTitle="true" derivedAnchor="RFC8226">
          <front>
            <title>Secure Telephone Identity Credentials: Certificates</title>
            <author initials="J." surname="Peterson" fullname="J. Peterson">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="S." surname="Turner" fullname="S. Turner">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2018" month="February"/>
            <abstract>
              <t indent="0">In order to prevent the impersonation of telephone numbers on the Internet, some kind of credential system needs to exist that cryptographically asserts authority over telephone numbers.  This document describes the use of certificates in establishing authority over telephone numbers, as a component of a broader architecture for managing telephone numbers as identities in protocols like SIP.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8226"/>
          <seriesInfo name="DOI" value="10.17487/RFC8226"/>
        </reference>
        <reference anchor="RFC8445" target="https://www.rfc-editor.org/info/rfc8445" quoteTitle="true" derivedAnchor="RFC8445">
          <front>
            <title>Interactive Connectivity Establishment (ICE): A Protocol for Network Address Translator (NAT) Traversal</title>
            <author initials="A." surname="Keranen" fullname="A. Keranen">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="C." surname="Holmberg" fullname="C. Holmberg">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="J." surname="Rosenberg" fullname="J. Rosenberg">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2018" month="July"/>
            <abstract>
              <t indent="0">This document describes a protocol for Network Address Translator (NAT) traversal for UDP-based communication.  This protocol is called Interactive Connectivity Establishment (ICE).  ICE makes use of the Session Traversal Utilities for NAT (STUN) protocol and its extension, Traversal Using Relay NAT (TURN).</t>
              <t indent="0">This document obsoletes RFC 5245.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8445"/>
          <seriesInfo name="DOI" value="10.17487/RFC8445"/>
        </reference>
        <reference anchor="RFC8446" target="https://www.rfc-editor.org/info/rfc8446" quoteTitle="true" derivedAnchor="RFC8446">
          <front>
            <title>The Transport Layer Security (TLS) Protocol Version 1.3</title>
            <author initials="E." surname="Rescorla" fullname="E. Rescorla">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2018" month="August"/>
            <abstract>
              <t indent="0">This document specifies version 1.3 of the Transport Layer Security (TLS) protocol.  TLS allows client/server applications to communicate over the Internet in a way that is designed to prevent eavesdropping, tampering, and message forgery.</t>
              <t indent="0">This document updates RFCs 5705 and 6066, and obsoletes RFCs 5077, 5246, and 6961.  This document also specifies new requirements for TLS 1.2 implementations.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8446"/>
          <seriesInfo name="DOI" value="10.17487/RFC8446"/>
        </reference>
        <reference anchor="RFC8838" target="https://www.rfc-editor.org/info/rfc8838" quoteTitle="true" derivedAnchor="RFC8838">
          <front>
            <title>Trickle ICE: Incremental Provisioning of Candidates for the Interactive Connectivity Establishment (ICE) Protocol</title>
            <author initials="E" surname="Ivov" fullname="Emil Ivov">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="J" surname="Uberti" fullname="Justin Uberti">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="P" surname="Saint-Andre" fullname="Peter Saint-Andre">
              <organization showOnFrontPage="true"/>
            </author>
            <date month="January" year="2021"/>
          </front>
          <seriesInfo name="RFC" value="8838"/>
          <seriesInfo name="DOI" value="10.17487/RFC8838"/>
        </reference>
        <reference anchor="RFC8839" target="https://www.rfc-editor.org/info/rfc8839" quoteTitle="true" derivedAnchor="RFC8839">
          <front>
            <title>Session Description Protocol (SDP) Offer/Answer Procedures for Interactive Connectivity Establishment (ICE)</title>
            <author initials="M" surname="Petit-Huguenin" fullname="Marc Petit-Huguenin">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="S" surname="Nandakumar" fullname="Suhas Nandakumar">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="C" surname="Holmberg" fullname="Christer Holmberg">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="A" surname="Keränen" fullname="Ari Keränen">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="R" surname="Shpount" fullname="Roman Shpount">
              <organization showOnFrontPage="true"/>
            </author>
            <date month="January" year="2021"/>
          </front>
          <seriesInfo name="RFC" value="8839"/>
          <seriesInfo name="DOI" value="10.17487/RFC8839"/>
        </reference>
        <reference anchor="RFC8840" target="https://www.rfc-editor.org/info/rfc8840" quoteTitle="true" derivedAnchor="RFC8840">
          <front>
            <title>A Session Initiation Protocol (SIP) Usage for Incremental Provisioning of Candidates for the Interactive Connectivity Establishment (Trickle ICE)</title>
            <author initials="E" surname="Ivov" fullname="Emil Ivov">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="T" surname="Stach" fullname="Thomas Stach">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="E" surname="Marocco" fullname="Enrico Marocco">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="C" surname="Holmberg" fullname="Christer Holmberg">
              <organization showOnFrontPage="true"/>
            </author>
            <date month="January" year="2021"/>
          </front>
          <seriesInfo name="RFC" value="8840"/>
          <seriesInfo name="DOI" value="10.17487/RFC8840"/>
        </reference>
      </references>
      <references pn="section-11.2">
        <name slugifiedName="name-informative-references">Informative References</name>
        <reference anchor="I-D.ietf-acme-authority-token" quoteTitle="true" target="https://tools.ietf.org/html/draft-ietf-acme-authority-token-05" derivedAnchor="ACME-Auth-Token">
          <front>
            <title>ACME Challenges Using an Authority Token</title>
            <author initials="J" surname="Peterson" fullname="Jon Peterson">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="M" surname="Barnes" fullname="Mary Barnes">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="D" surname="Hancock" fullname="David Hancock">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="C" surname="Wendt" fullname="Chris Wendt">
              <organization showOnFrontPage="true"/>
            </author>
            <date month="March" day="9" year="2020"/>
            <abstract>
              <t indent="0">Some proposed extensions to the Automated Certificate Management Environment (ACME) rely on proving eligibility for certificates through consulting an external authority that issues a token according to a particular policy.  This document specifies a generic Authority Token challenge for ACME which supports subtype claims for different identifiers or namespaces that can be defined separately for specific applications.</t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-acme-authority-token-05"/>
          <format type="TXT" target="http://www.ietf.org/internet-drafts/draft-ietf-acme-authority-token-05.txt"/>
          <refcontent>Work in Progress</refcontent>
        </reference>
        <reference anchor="I-D.kaplan-mmusic-best-effort-srtp" quoteTitle="true" target="https://tools.ietf.org/html/draft-kaplan-mmusic-best-effort-srtp-01" derivedAnchor="Best-Effort-SRTP">
          <front>
            <title>Session Description Protocol (SDP) Offer/Answer Negotiation For Best-Effort Secure Real-Time Transport Protocol</title>
            <author initials="H" surname="Kaplan" fullname="Hadriel Kaplan">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="F" surname="Audet" fullname="Francois Audet">
              <organization showOnFrontPage="true"/>
            </author>
            <date month="October" day="25" year="2006"/>
            <abstract>
              <t indent="0">This document defines the requirements and a proposed solution for an SDP Offer/Answer exchange model for negotiating best-effort SRTP keys, i.e., in a backward-compatible manner with non-SRTP devices. The proposed solution is a trivial interpretation of the usage of the profile and the usage of SDP indication of [sdesc] and [kmgmt].</t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-kaplan-mmusic-best-effort-srtp-01"/>
          <format type="TXT" target="http://www.ietf.org/internet-drafts/draft-kaplan-mmusic-best-effort-srtp-01.txt"/>
          <refcontent>Work in Progress</refcontent>
        </reference>
        <reference anchor="RFC4474" target="https://www.rfc-editor.org/info/rfc4474" quoteTitle="true" derivedAnchor="RFC4474">
          <front>
            <title>Enhancements for Authenticated Identity Management in the Session Initiation Protocol (SIP)</title>
            <author initials="J." surname="Peterson" fullname="J. Peterson">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="C." surname="Jennings" fullname="C. Jennings">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2006" month="August"/>
            <abstract>
              <t indent="0">The existing security mechanisms in the Session Initiation Protocol (SIP) are inadequate for cryptographically assuring the identity of the end users that originate SIP requests, especially in an interdomain context.  This document defines a mechanism for securely identifying originators of SIP messages.  It does so by defining two new SIP header fields, Identity, for conveying a signature used for validating the identity, and Identity-Info, for conveying a reference to the certificate of the signer.  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4474"/>
          <seriesInfo name="DOI" value="10.17487/RFC4474"/>
        </reference>
        <reference anchor="RFC6189" target="https://www.rfc-editor.org/info/rfc6189" quoteTitle="true" derivedAnchor="RFC6189">
          <front>
            <title>ZRTP: Media Path Key Agreement for Unicast Secure RTP</title>
            <author initials="P." surname="Zimmermann" fullname="P. Zimmermann">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="A." surname="Johnston" fullname="A. Johnston" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="J." surname="Callas" fullname="J. Callas">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2011" month="April"/>
            <abstract>
              <t indent="0">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="RFC6962" target="https://www.rfc-editor.org/info/rfc6962" quoteTitle="true" derivedAnchor="RFC6962">
          <front>
            <title>Certificate Transparency</title>
            <author initials="B." surname="Laurie" fullname="B. Laurie">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="A." surname="Langley" fullname="A. Langley">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="E." surname="Kasper" fullname="E. Kasper">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2013" month="June"/>
            <abstract>
              <t indent="0">This document describes an experimental protocol for publicly logging the existence of Transport Layer Security (TLS) certificates as they are issued or observed, in a manner that allows anyone to audit certificate authority (CA) activity and notice the issuance of suspect certificates as well as to audit the certificate logs themselves.  The intent is that eventually clients would refuse to honor certificates that do not appear in a log, effectively forcing CAs to add all issued certificates to the logs.</t>
              <t indent="0">Logs are network services that implement the protocol operations for submissions and queries that are defined in this document.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6962"/>
          <seriesInfo name="DOI" value="10.17487/RFC6962"/>
        </reference>
        <reference anchor="RFC7245" target="https://www.rfc-editor.org/info/rfc7245" quoteTitle="true" derivedAnchor="RFC7245">
          <front>
            <title>An Architecture for Media Recording Using the Session Initiation Protocol</title>
            <author initials="A." surname="Hutton" fullname="A. Hutton" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="L." surname="Portman" fullname="L. Portman" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="R." surname="Jain" fullname="R. Jain">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="K." surname="Rehor" fullname="K. Rehor">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2014" month="May"/>
            <abstract>
              <t indent="0">Session recording is a critical requirement in many communications environments such as call centers and financial trading.  In some of these environments, all calls must be recorded for regulatory, compliance, and consumer protection reasons.  Recording of a session is typically performed by sending a copy of a media stream to a recording device.  This document describes architectures for deploying session recording solutions in an environment that is based on the Session Initiation Protocol (SIP).</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7245"/>
          <seriesInfo name="DOI" value="10.17487/RFC7245"/>
        </reference>
        <reference anchor="RFC7435" target="https://www.rfc-editor.org/info/rfc7435" quoteTitle="true" derivedAnchor="RFC7435">
          <front>
            <title>Opportunistic Security: Some Protection Most of the Time</title>
            <author initials="V." surname="Dukhovni" fullname="V. Dukhovni">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2014" month="December"/>
            <abstract>
              <t indent="0">This document defines the concept "Opportunistic Security" in the context of communications protocols.  Protocol designs based on Opportunistic Security use encryption even when authentication is not available, and use authentication when possible, thereby removing barriers to the widespread use of encryption on the Internet.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7435"/>
          <seriesInfo name="DOI" value="10.17487/RFC7435"/>
        </reference>
        <reference anchor="RFC7616" target="https://www.rfc-editor.org/info/rfc7616" quoteTitle="true" derivedAnchor="RFC7616">
          <front>
            <title>HTTP Digest Access Authentication</title>
            <author initials="R." surname="Shekh-Yusef" fullname="R. Shekh-Yusef" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="D." surname="Ahrens" fullname="D. Ahrens">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="S." surname="Bremer" fullname="S. Bremer">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2015" month="September"/>
            <abstract>
              <t indent="0">The Hypertext Transfer Protocol (HTTP) provides a simple challenge- response authentication mechanism that may be used by a server to challenge a client request and by a client to provide authentication information.  This document defines the HTTP Digest Authentication scheme that can be used with the HTTP authentication mechanism.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7616"/>
          <seriesInfo name="DOI" value="10.17487/RFC7616"/>
        </reference>
        <reference anchor="RFC8551" target="https://www.rfc-editor.org/info/rfc8551" quoteTitle="true" derivedAnchor="RFC8551">
          <front>
            <title>Secure/Multipurpose Internet Mail Extensions (S/MIME) Version 4.0 Message Specification</title>
            <author initials="J." surname="Schaad" fullname="J. Schaad">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="B." surname="Ramsdell" fullname="B. Ramsdell">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="S." surname="Turner" fullname="S. Turner">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2019" month="April"/>
            <abstract>
              <t indent="0">This document defines Secure/Multipurpose Internet Mail Extensions (S/MIME) version 4.0.  S/MIME provides a consistent way to send and receive secure MIME data.  Digital signatures provide authentication, message integrity, and non-repudiation with proof of origin. Encryption provides data confidentiality.  Compression can be used to reduce data size.  This document obsoletes RFC 5751.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8551"/>
          <seriesInfo name="DOI" value="10.17487/RFC8551"/>
        </reference>
        <reference anchor="RFC8643" target="https://www.rfc-editor.org/info/rfc8643" quoteTitle="true" derivedAnchor="RFC8643">
          <front>
            <title>An Opportunistic Approach for Secure Real-time Transport Protocol (OSRTP)</title>
            <author initials="A." surname="Johnston" fullname="A. Johnston">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="B." surname="Aboba" fullname="B. Aboba">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="A." surname="Hutton" fullname="A. Hutton">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="R." surname="Jesske" fullname="R. Jesske">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="T." surname="Stach" fullname="T. Stach">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2019" month="August"/>
            <abstract>
              <t indent="0">Opportunistic Secure Real-time Transport Protocol (OSRTP) is an implementation of the Opportunistic Security mechanism, as defined in RFC 7435, applied to the Real-time Transport Protocol (RTP).  OSRTP allows encrypted media to be used in environments where support for encryption is not known in advance and is not required.  OSRTP does not require Session Description Protocol (SDP) extensions or features and is fully backwards compatible with existing implementations using encrypted and authenticated media and implementations that do not encrypt or authenticate media packets.  OSRTP is not specific to any key management technique for Secure RTP (SRTP).  OSRTP is a transitional approach useful for migrating existing deployments of real-time communications to a fully encrypted and authenticated state.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8643"/>
          <seriesInfo name="DOI" value="10.17487/RFC8643"/>
        </reference>
      </references>
    </references>
    <section anchor="Acknowledgements" numbered="false" toc="include" removeInRFC="false" pn="section-appendix.a">
      <name slugifiedName="name-acknowledgements">Acknowledgements</name>
      <t indent="0" pn="section-appendix.a-1">
    We thank <contact fullname="Eric Rescorla"/>, <contact fullname="Adam     Roach"/>, <contact fullname="Andrew Hutton"/>, and <contact fullname="Ben     Campbell"/> for contributions to this problem statement and framework.  We
    thank <contact fullname="Liang Xia"/> and <contact fullname="Alissa Cooper"/> for their careful review.
      </t>
    </section>
    <section anchor="authors-addresses" numbered="false" removeInRFC="false" toc="include" pn="section-appendix.b">
      <name slugifiedName="name-authors-addresses">Authors' Addresses</name>
      <author initials="J." surname="Peterson" fullname="Jon Peterson">
        <organization abbrev="Neustar" showOnFrontPage="true">Neustar, Inc.</organization>
        <address>
          <email>jon.peterson@team.neustar</email>
        </address>
      </author>
      <author fullname="Richard Barnes" initials="R." surname="Barnes">
        <organization showOnFrontPage="true">Cisco</organization>
        <address>
          <email>rlb@ipv.sx</email>
        </address>
      </author>
      <author fullname="Russ Housley" initials="R." surname="Housley">
        <organization abbrev="Vigil Security" showOnFrontPage="true">Vigil Security, LLC</organization>
        <address>
          <email>housley@vigilsec.com</email>
        </address>
      </author>
    </section>
  </back>
</rfc>
