<?xml version='1.0' encoding='utf-8'?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" version="3" category="std" consensus="true" docName="draft-ietf-stir-passport-divert-09" indexInclude="true" ipr="trust200902" number="8946" prepTime="2021-02-12T23:23:48" scripts="Common,Latin" sortRefs="true" submissionType="IETF" symRefs="true" tocDepth="4" tocInclude="true" updates="8224" xml:lang="en">
  <link href="https://datatracker.ietf.org/doc/draft-ietf-stir-passport-divert-09" rel="prev"/>
  <link href="https://dx.doi.org/10.17487/rfc8946" rel="alternate"/>
  <link href="urn:issn:2070-1721" rel="alternate"/>
  <front>
    <title abbrev="PASSporT Diverted">Personal Assertion Token (PASSporT) Extension for Diverted Calls</title>
    <seriesInfo name="RFC" value="8946" stream="IETF"/>
    <author initials="J." surname="Peterson" fullname="Jon Peterson">
      <organization abbrev="Neustar" showOnFrontPage="true">Neustar, Inc.</organization>
      <address>
        <postal>
          <street>1800 Sutter St., Suite 570</street>
          <city>Concord</city>
          <region>CA</region>
          <code>94520</code>
          <country>United States of America</country>
        </postal>
        <email>jon.peterson@team.neustar</email>
      </address>
    </author>
    <date month="02" year="2021"/>
    <area>ART</area>
    <workgroup>STIR</workgroup>
    <keyword>SIP</keyword>
    <keyword>STIR</keyword>
    <keyword>Identity</keyword>
    <abstract pn="section-abstract">
      <t indent="0" pn="section-abstract-1">The Personal Assertion Token (PASSporT) is specified in RFC 8225 to
      convey cryptographically signed 
      information about the people involved in personal communications. This
      document extends PASSporT to include an indication that a call has been
      diverted from its original destination to a new one. This information
      can greatly improve the decisions made by verification services in call
      forwarding scenarios. Also specified here is an encapsulation mechanism
      for nesting a PASSporT within another PASSporT that assists relying
      parties in some diversion scenarios.</t>
      <t indent="0" pn="section-abstract-2">This document updates RFC 8224.</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 is an Internet Standards Track document.
        </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 Internet Standards 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/rfc8946" 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-the-div-passport-type-and-c">The "div" PASSporT Type and Claim</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-using-div-in-sip">Using "div" in SIP</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-authentication-service-beha">Authentication Service Behavior</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-verification-service-behavi">Verification Service Behavior</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-the-div-o-passport-type">The "div-o" PASSporT Type</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.5.2">
              <li pn="section-toc.1-1.5.2.1">
                <t indent="0" pn="section-toc.1-1.5.2.1.1"><xref derivedContent="5.1" format="counter" sectionFormat="of" target="section-5.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-processing-div-o-passports">Processing "div-o" PASSporTs</xref></t>
              </li>
            </ul>
          </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-definition-of-opt">Definition of "opt"</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-div-and-redirection">"div" and Redirection</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-extending-div-to-work-with-">Extending "div" to Work with Service Logic Tracking</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>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.9.2">
              <li pn="section-toc.1-1.9.2.1">
                <t indent="0" pn="section-toc.1-1.9.2.1.1"><xref derivedContent="9.1" format="counter" sectionFormat="of" target="section-9.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-json-web-token-claims-regis">JSON Web Token Claims Registrations</xref></t>
                <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.9.2.1.2">
                  <li pn="section-toc.1-1.9.2.1.2.1">
                    <t indent="0" pn="section-toc.1-1.9.2.1.2.1.1"><xref derivedContent="9.1.1" format="counter" sectionFormat="of" target="section-9.1.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-div-registration">"div" registration</xref></t>
                  </li>
                  <li pn="section-toc.1-1.9.2.1.2.2">
                    <t indent="0" pn="section-toc.1-1.9.2.1.2.2.1"><xref derivedContent="9.1.2" format="counter" sectionFormat="of" target="section-9.1.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-opt-registration">"opt" registration</xref></t>
                  </li>
                </ul>
              </li>
              <li pn="section-toc.1-1.9.2.2">
                <t indent="0" pn="section-toc.1-1.9.2.2.1"><xref derivedContent="9.2" format="counter" sectionFormat="of" target="section-9.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-passport-type-registrations">PASSporT Type Registrations</xref></t>
              </li>
            </ul>
          </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-privacy-considerations">Privacy 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-security-considerations">Security Considerations</xref></t>
          </li>
          <li pn="section-toc.1-1.12">
            <t indent="0" pn="section-toc.1-1.12.1"><xref derivedContent="12" format="counter" sectionFormat="of" target="section-12"/>. <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.12.2">
              <li pn="section-toc.1-1.12.2.1">
                <t indent="0" pn="section-toc.1-1.12.2.1.1"><xref derivedContent="12.1" format="counter" sectionFormat="of" target="section-12.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-normative-references">Normative References</xref></t>
              </li>
              <li pn="section-toc.1-1.12.2.2">
                <t indent="0" pn="section-toc.1-1.12.2.2.1"><xref derivedContent="12.2" format="counter" sectionFormat="of" target="section-12.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-informative-references">Informative References</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.13">
            <t indent="0" pn="section-toc.1-1.13.1"><xref derivedContent="Appendix A" format="default" sectionFormat="of" target="section-appendix.a"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-keys-for-examples">Keys for Examples</xref></t>
          </li>
          <li pn="section-toc.1-1.14">
            <t indent="0" pn="section-toc.1-1.14.1"><xref derivedContent="" format="none" sectionFormat="of" target="section-appendix.b"/><xref derivedContent="" format="title" sectionFormat="of" target="name-acknowledgments">Acknowledgments</xref></t>
          </li>
          <li pn="section-toc.1-1.15">
            <t indent="0" pn="section-toc.1-1.15.1"><xref derivedContent="" format="none" sectionFormat="of" target="section-appendix.c"/><xref derivedContent="" format="title" sectionFormat="of" target="name-authors-address">Author's Address</xref></t>
          </li>
        </ul>
      </section>
    </toc>
  </front>
  <middle>
    <section anchor="intro" numbered="true" toc="include" removeInRFC="false" pn="section-1">
      <name slugifiedName="name-introduction">Introduction</name>
      <t indent="0" pn="section-1-1">A Personal Assertion Token (PASSporT) <xref target="RFC8225" format="default" sectionFormat="of" derivedContent="RFC8225"/> is a token format based on the JSON
      Web Token (JWT) <xref target="RFC7519" format="default" sectionFormat="of" derivedContent="RFC7519"/> for
      conveying cryptographically signed information about the people involved
      in personal communications; it is used by the Secure Telephone Identity
      Revisited (STIR) protocol <xref target="RFC8224" format="default" sectionFormat="of" derivedContent="RFC8224"/> 
      to convey a signed assertion of the identity of the participants in
      real-time communications established via a protocol like SIP. This
      specification extends PASSporT to include an indication that a call has
      been diverted from its original destination to a new one.</t>
      <t indent="0" pn="section-1-2">Although the <xref target="RFC7340" format="default" sectionFormat="of" derivedContent="RFC7340">STIR problem
      statement</xref> is focused on preventing the impersonation of the
      caller's identity, which is a common enabler for threats such as
      robocalling and voicemail hacking on the telephone network today, it
      also provides a signature over the called number at the time that the
      authentication service sees it. As <xref target="RFC8224" sectionFormat="comma" section="12.1" format="default" derivedLink="https://rfc-editor.org/rfc/rfc8224#section-12.1" derivedContent="RFC8224"/> describes, this protection over the
      contents of the To header field is intended to prevent a class of
      cut-and-paste attacks. If Alice calls Bob, for example, Bob might
      attempt to cut and paste the Identity header field in Alice's INVITE
      into a new INVITE that Bob sends to Carol, and thus be able to fool
      Carol into thinking the call came from Alice and not Bob. With the
      signature over the To header field value, the INVITE Carol sees will
      clearly have been destined originally for Bob, and thus Carol can view
      the INVITE as suspect.</t>
      <t indent="0" pn="section-1-3">However, as <xref target="RFC8224" sectionFormat="comma" section="12.1.1" format="default" derivedLink="https://rfc-editor.org/rfc/rfc8224#section-12.1.1" derivedContent="RFC8224"/>
      points out, it is difficult for Carol to confirm or reject these
      suspicions based on the information she receives from the baseline
      PASSporT object. The common "call forwarding" service serves as a good
      example of the reality that the original called party number is not
      always the number to which a call is delivered. There are a number of
      potential ways for intermediaries to indicate that such a forwarding
      operating has taken place. The address in the To header field value of
      SIP requests is not supposed to change, according to baseline SIP
      behavior <xref target="RFC3261" format="default" sectionFormat="of" derivedContent="RFC3261"/>; instead, it is the
      Request-URI that is supposed to be updated when a call is
      retargeted. Practically speaking, however, many operational environments
      do alter the To header field. The <xref target="RFC7044" format="default" sectionFormat="of" derivedContent="RFC7044">History-Info header field</xref> was created to store
      the Request-URIs that are discarded by a call in transit. The <xref target="RFC5806" format="default" sectionFormat="of" derivedContent="RFC5806">SIP Diversion header field</xref>,
      though historic, is still used for this purpose by some operators
      today. Neither of these header fields provide any cryptographic
      assurance of secure redirection, and they both record entries for minor
      syntactical changes in URIs that do not reflect a change to the actual
      target of a call.</t>
      <t indent="0" pn="section-1-4">Therefore, this specification extends PASSporT with an explicit
      indication that the original called number in PASSporT no longer
      reflects the destination to which a call is intended to be
      delivered. For this purpose, it specifies a Divert PASSporT type ("div")
      for use in common SIP retargeting cases; it is expected that in this
      case, SIP INVITE requests will carry multiple Identity header fields,
      each containing its own PASSporT. Throughout this document, PASSporTs
      that contain a "div" element will be referred to as "div"
      PASSporTs. Verification services and the relying parties who make
      authorization decisions about communications may use this diversion
      indication to confirm that a legitimate retargeting of the call has
      taken place, rather than a cut-and-paste attack. For <xref target="RFC8816" format="default" sectionFormat="of" derivedContent="RFC8816">out-of-band use cases</xref> and
      other non-SIP applications of PASSporT, a separate "div-o" PASSporT type
      is also specified, which defines an "opt" PASSporT element for carrying
      nested PASSporTs within a PASSporT. These shall in turn be referred to
      in this document as "div-o" PASSporTs.</t>
    </section>
    <section anchor="terminology" 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 anchor="syntax" numbered="true" toc="include" removeInRFC="false" pn="section-3">
      <name slugifiedName="name-the-div-passport-type-and-c">The "div" PASSporT Type and Claim</name>
      <t indent="0" pn="section-3-1">This specification defines a <xref target="RFC8225" format="default" sectionFormat="of" derivedContent="RFC8225">PASSporT</xref> type called "div", which may be employed
      by authentication services located at retargeting entities. All "div"
      PASSporTs <bcp14>MUST</bcp14> contain a new JSON Web Token "div" claim, also specified
      in this document, which indicates a previous destination for a call
      during its routing process. When a retargeting entity receives a call
      signed with a PASSporT, it may act as an authentication service and
      create a new PASSporT containing the "div" claim to attach to the
      call.</t>
      <t indent="0" pn="section-3-2">Note that a new PASSporT is only necessary when the canonical form of
      the "dest" identifier (per the canonicalization procedures in <xref target="RFC8224" sectionFormat="comma" section="8.3" format="default" derivedLink="https://rfc-editor.org/rfc/rfc8224#section-8.3" derivedContent="RFC8224"/>) changes due to this
      retargeting. If the canonical form of the "dest" identifier is not
      changed during retargeting, then a new PASSporT with a "div" claim <bcp14>MUST NOT</bcp14> be produced.</t>
      <t indent="0" pn="section-3-3">The headers of the new PASSporTs generated by retargeting entities
      <bcp14>MUST</bcp14> include the "div" PASSporT type and an "x5u" field pointing to a
      credential that the retargeting entity controls. "div" PASSporTs <bcp14>MUST</bcp14>
      use full form instead of compact form. The new PASSporT header will look
      as follows:</t>
      <sourcecode markers="false" pn="section-3-4">
{ "typ":"passport",
  "ppt":"div",
  "alg":"ES256",
  "x5u":"https://www.example.com/cert.cer" }
</sourcecode>
      <t indent="0" pn="section-3-5">A "div" PASSporT claims set is populated with elements drawn from the
      PASSporT(s) received for a call by the retargeting entity; at a high
      level, the original identifier for the called party in the "dest" object
      will become the "div" claim in the new PASSporT. If the "dest" object of
      the original PASSporT contains multiple identifiers, because it contains
      one or more name/value pairs with an array as its value, the retargeting
      entity <bcp14>MUST</bcp14> select only one identifier from the value(s) of the "dest"
      object to occupy the value of the "div" field in the new
      PASSporT. Moreover, it <bcp14>MUST</bcp14> select an identifier that is within the
      scope of the credential that the retargeting entity will specify in the
      "x5u" of the PASSporT header (as described below).</t>
      <t indent="0" pn="section-3-6">The new target for the call selected by the retargeting entity
      becomes the value of the "dest" object of the new PASSporT. The "orig"
      object <bcp14>MUST</bcp14> be copied into the new PASSporT from the original PASSporT
      received by the retargeting entity. The retargeting entity <bcp14>SHOULD</bcp14> retain
      the "iat" object from the original PASSporT, though if in the underlying
      signaling protocol  (e.g., SIP) the retargeting entity changes the date
      and time information in the retargeted request, the new PASSporT should
      instead reflect that date and time. No other claims or extensions are to
      be copied from the original PASSporT to the "div" PASSporT.</t>
      <t indent="0" pn="section-3-7">So, for an original PASSporT claims set of the form:</t>
      <sourcecode markers="false" pn="section-3-8">
   { "dest":{"tn":["12155551213"]},
     "iat":1443208345,
     "orig":{"tn":"12155551212"} }
</sourcecode>
      <t indent="0" pn="section-3-9">If the retargeting entity is changing the target from 12155551213 to
      12155551214, the claims set of a "div" PASSporT generated by the
      retargeting entity would look as follows:</t>
      <sourcecode markers="false" pn="section-3-10">
   { "dest":{"tn":["12155551214"]},
     "div":{"tn":"121555551213"},
     "iat":1443208345,
     "orig":{"tn":"12155551212"} }
</sourcecode>
      <t indent="0" pn="section-3-11">The combined full form PASSporT (with a signature covered by the
      ES256 keys given in <xref target="keys" format="default" sectionFormat="of" derivedContent="Appendix A"/>) would look
      as follows:</t>
      <sourcecode markers="false" pn="section-3-12">
eyJhbGciOiJFUzI1NiIsInBwdCI6ImRpdiIsInR5cCI6InBhc3Nwb3J0IiwieDV1Ij \
oiaHR0cHM6Ly93d3cuZXhhbXBsZS5jb20vY2VydC5jZXIifQ.eyJkZXN0Ijp7InRuI \
jpbIjEyMTU1NTUxMjE0Il19LCJkaXYiOnsidG4iOiIxMjE1NTU1NTEyMTMifSwiaWF \
0IjoxNDQzMjA4MzQ1LCJvcmlnIjp7InRuIjoiMTIxNTU1NTEyMTIifX0.xBHWipDEE \
J8a6TsdX6xUXAnblsFiGUiAxwLiv0HLC9IICj6eG9jQd6WzeSSjHRBwxmChHhVIiMT \
SqIlk3yCNkg
</sourcecode>
      <t indent="0" pn="section-3-13">The same "div" PASSporT would result if the "dest" object of the
      original PASSporT contained an array value, such as
      {"tn":["12155551213","19995551234"]}, and the retargeting entity chose
      to retarget from the first telephone number in the array. Every "div"
      PASSporT is diverting from only one identifier.</t>
      <t indent="0" pn="section-3-14">Note that the "div" element may contain other name/value pairs than
      just a destination, including a History-Info indicator (see <xref target="hi" format="default" sectionFormat="of" derivedContent="Section 8"/>). After the PASSporT header and claims
      have been constructed, their signature is generated per the guidance in
      <xref target="RFC8225" format="default" sectionFormat="of" derivedContent="RFC8225"/> -- except for the credential
      required to sign it. While in the ordinary construction of a PASSporT,
      the credential used to sign will have authority over the identity in the
      "orig" claim (for example, a certificate with authority over the
      telephone number in "orig" per <xref target="RFC8226" format="default" sectionFormat="of" derivedContent="RFC8226"/>), for all PASSporTs using the "div" type the
      signature <bcp14>MUST</bcp14> be created with a credential with authority over the
      identity present in the "div" claim. So for the example above, where the
      original "dest" is "12155551213", the signer of the new PASSporT object
      <bcp14>MUST</bcp14> have authority over that telephone number and need not have any
      authority over the telephone number present in the "orig" claim.</t>
      <t indent="0" pn="section-3-15">Note that Identity header fields are not ordered in a SIP request,
      and in a case where there is a multiplicity of Identity header fields in
      a request, some sorting may be required to match "div" PASSporTs to
      their originals.</t>
      <t indent="0" pn="section-3-16">PASSporTs of type "div" <bcp14>MUST NOT</bcp14> contain an "opt" (see <xref target="opt" format="default" sectionFormat="of" derivedContent="Section 6"/>) element in their payload.</t>
    </section>
    <section anchor="use" numbered="true" toc="include" removeInRFC="false" pn="section-4">
      <name slugifiedName="name-using-div-in-sip">Using "div" in SIP</name>
      <t indent="0" pn="section-4-1">This section specifies SIP-specific usage for the "div" PASSporT type
      and its handling in the SIP Identity header field "ppt" parameter
      value. Other protocols using PASSporT may define behavior specific to
      their use of the "div" claim.</t>
      <section anchor="as" numbered="true" toc="include" removeInRFC="false" pn="section-4.1">
        <name slugifiedName="name-authentication-service-beha">Authentication Service Behavior</name>
        <t indent="0" pn="section-4.1-1">An authentication service only adds an Identity header field value
	containing the "div" PASSporT type to a SIP request that already
	contains at least one Identity header field value; it <bcp14>MUST NOT</bcp14> add a
	"div" PASSporT to an INVITE that contains no Identity header
	field. The retargeting entity <bcp14>SHOULD</bcp14> act as a verification service and
	validate the existing Identity header field value(s) in the request
	before proceeding; in some high-volume environments, it may instead
	put that burden of validating the chain entirely on the terminating
	verification service. As the authentication service will be adding a
	new PASSporT that refers to an original, it <bcp14>MUST NOT</bcp14> remove the
	original request's Identity header field value before forwarding.</t>
        <t indent="0" pn="section-4.1-2">As was stated in <xref target="syntax" format="default" sectionFormat="of" derivedContent="Section 3"/>, the
	authentication service <bcp14>MUST</bcp14> sign any "div" PASSporT with a credential
	that has a scope of authority covering the identity it populates in
	the "div" element value. Note that this is a significant departure
	from baseline STIR authentication service behavior, in which the
	PASSporT is signed by a credential with authority over the "orig"
	field. The "div" value reflects the URI that caused the call to be
	routed to the retargeting entity, so in ordinary operations, it would
	already be the STIR entity holding the appropriate private keying
	material for calls originating from that identity.</t>
        <t indent="0" pn="section-4.1-3">A SIP authentication service typically will derive the "dest"
	element value of a "div" PASSporT from a new Request-URI that is set
	for the SIP request before it is forwarded. Older values of the
	Request-URI may appear in header fields like Diversion or
	History-Info; this document specifies an optional interaction with
	History-Info below in <xref target="hi" format="default" sectionFormat="of" derivedContent="Section 8"/>. Note as
	well that because PASSporT operates on canonicalized telephone numbers
	and normalized URIs, many smaller changes to the syntax of identifiers
	that might be captured by other mechanisms  that record retargeting
	(like History-Info) will likely not require a "div" PASSporT.</t>
        <t indent="0" pn="section-4.1-4">When adding an Identity header field with a PASSporT claims set
	containing a "div" claim, SIP authentication services <bcp14>MUST</bcp14> also add a
	"ppt" parameter to that Identity header with a value of "div". For the
	example PASSporT given in <xref target="syntax" format="default" sectionFormat="of" derivedContent="Section 3"/>,
	the new Identity header added after retargeting might look as
	follows:</t>
        <sourcecode markers="false" pn="section-4.1-5">
Identity:eyJhbGciOiJFUzI1NiIsInBwdCI6ImRpdiIsInR5cCI6InBhc3Nwb3J0I \
iwieDV1IjoiaHR0cHM6Ly93d3cuZXhhbXBsZS5jb20vY2VydC5jZXIifQ.eyJkZXN0 \
Ijp7InRuIjpbIjEyMTU1NTUxMjE0Il19LCJkaXYiOnsidG4iOiIxMjE1NTU1NTEyMT \
MifSwiaWF0IjoxNDQzMjA4MzQ1LCJvcmlnIjp7InRuIjoiMTIxNTU1NTEyMTIifX0. \
xBHWipDEEJ8a6TsdX6xUXAnblsFiGUiAxwLiv0HLC9IICj6eG9jQd6WzeSSjHRBwxm \
ChHhVIiMTSqIlk3yCNkg; \
info=&lt;https://www.example.com/cert.cer&gt;;ppt="div"
</sourcecode>
        <t indent="0" pn="section-4.1-6">Note that in some deployments, an authentication service will need
	to generate "div" PASSporTs for a request that contains multiple
	non-"div" Identity header field values. For example, a request
	arriving at a retargeting entity might contain, in different Identity
	header fields, a baseline <xref target="RFC8224" format="default" sectionFormat="of" derivedContent="RFC8224"/>
	PASSporT and a PASSporT of type <xref target="RFC8443" format="default" sectionFormat="of" derivedContent="RFC8443">"rph"</xref> signed by a separate authority. Provided
	that these PASSporTs share the same "orig" and "dest" values, the
	retargeting entity's authentication service <bcp14>SHOULD</bcp14> generate only one
	"div" PASSporT. If the "orig" or "dest" of these PASSporTs differ,
	however, one "div" PASSporT <bcp14>SHOULD</bcp14> be generated for each non-"div"
	PASSporT. Note that this effectively creates multiple chains of "div"
	PASSporTs in a single request, which complicates the procedures that
	need to be performed at verification services.</t>
        <t indent="0" pn="section-4.1-7">Furthermore, a request may also be retargeted a second time, at
	which point the subsequent retargeting entity <bcp14>SHOULD</bcp14> generate one
	"div" PASSporT for each previous "div" PASSporT in the request that
	contains a "dest" object with the value of the current target -- but
	not for "div" PASSporTs with earlier targets. Ordinarily, the current
	target will be readily identifiable, as it will be in the last "div"
	PASSporT in each chain, and in SIP cases, it will correspond to the
	Request-URI received by the retargeting entity. Moreover, the current
	target will be an identifier that the retargeting entity possesses a
	credential to sign for, which may not be true for earlier
	targets. Ultimately, on each retargeting, the number of PASSporTs
	added to a request will be equal to the number of non-"div" PASSporTs
	that do not share the same "orig" and "dest" object values.</t>
      </section>
      <section anchor="vs" numbered="true" toc="include" removeInRFC="false" pn="section-4.2">
        <name slugifiedName="name-verification-service-behavi">Verification Service Behavior</name>
        <t indent="0" pn="section-4.2-1"><xref target="RFC8224" sectionFormat="comma" section="6.2" format="default" derivedLink="https://rfc-editor.org/rfc/rfc8224#section-6.2" derivedContent="RFC8224"/>, Step 5
	requires that specifications defining "ppt" values describe any
	additional or alternative verifier behavior. The job of a SIP
	verification service handling one or more "div" PASSporTs is very
	different from that of a traditional verification service. At a high
	level, the immediate responsibility of the verification service is to
	extract all PASSporTs from the two or more Identity header fields in a
	request, identify which are "div" PASSporTs and which are not, and
	then order and link the "div" PASSporTs to the original PASSporT(s) in
	order to build one or more chains of retargeting.</t>
        <t indent="0" pn="section-4.2-2">In order to validate a SIP request using the "div" PASSporT type, a
        verification service needs to inspect all of the valid Identity header
        field values associated with a request, as an Identity header field
        value containing "div" necessarily refers to an earlier PASSporT
        already in the message. For each "div" PASSporT, the verification
        service <bcp14>MUST</bcp14> find an earlier PASSporT that contains a
        "dest" claim with a value equivalent to the "div" claim in each "div"
        PASSporT. It is possible that this earlier PASSporT will also contain
        a "div" and that it will in turn chain to a still earlier PASSporT
        stored in a different Identity header field value. If a complete chain
        cannot be constructed, the verification service cannot complete "div"
        validation; it <bcp14>MAY</bcp14> still validate any non-"div"
        PASSporTs in the request per the normal procedures in <xref target="RFC8224" format="default" sectionFormat="of" derivedContent="RFC8224"/>. If a chain has been successfully
        constructed, the verification service extracts from the outermost
        (that is, the most recent) PASSporT in the chain a "dest" field; this
        will be a "div" PASSporT that no other "div" PASSporT in the SIP
        request refers to. Its "dest" element value will be referred to in the
        procedures that follow as the value of the "outermost "dest"
        field".</t>
        <t indent="0" pn="section-4.2-3">Ultimately, by looking at this chain of transformations and
	validating the associated signatures, the verification service will be
	able to ascertain that the appropriate parties were responsible for
	the retargeting of the call to its current destination. This can help
	the verification service to determine that the original PASSporT in
	the call was not simply used in a cut-and-paste attack and inform any
	associated authorization decisions in terms of how the call will be
	treated -- though, per <xref target="RFC8224" sectionFormat="comma" section="6.2.1" format="default" derivedLink="https://rfc-editor.org/rfc/rfc8224#section-6.2.1" derivedContent="RFC8224"/>, that decision is a matter of local policy and is
	thus outside the scope of this specification.</t>
        <t indent="0" pn="section-4.2-4">A verification service parses a chain of PASSporTs as follows:</t>
        <ol type="1" indent="adaptive" spacing="normal" start="1" pn="section-4.2-5">
          <li pn="section-4.2-5.1" derivedCounter="1.">The verification service <bcp14>MUST</bcp14> compare the value in the
	  outermost "dest" field to the target of the call. As it is
	  anticipated that SIP authentication services that create "div"
	  PASSporTs will populate the "dest" header from the retargeted
	  Request-URI (see <xref target="as" format="default" sectionFormat="of" derivedContent="Section 4.1"/>), in ordinary
	  SIP operations, the Request-URI is where verification services will
	  find the latest call target. Note, however, that after a "div"
	  PASSporT has been added to a SIP request, the Request-URI may have
	  been updated during normal call processing to an identifier that no
	  longer contains the logical destination of a call; in this case, the
	  verification service <bcp14>MAY</bcp14> compare the "dest" field to a provisioned
	  telephone number for the recipient.</li>
          <li pn="section-4.2-5.2" derivedCounter="2.">The verification service <bcp14>MUST</bcp14> validate the signature
	  over the outermost "div" PASSporT and establish that the credential
	  that signed the "div" PASSporT has the authority to attest for the
	  identifier in the "div" element of the PASSporT (per <xref target="RFC8224" sectionFormat="comma" section="6.2" format="default" derivedLink="https://rfc-editor.org/rfc/rfc8224#section-6.2" derivedContent="RFC8224"/>, Step 3).</li>
          <li pn="section-4.2-5.3" derivedCounter="3.">The verification service <bcp14>MUST</bcp14> validate that the "orig"
	  field of the innermost PASSporT of the chain (the only PASSporT in
	  the chain that will not be of PASSporT type "div") is equivalent to
	  the "orig" field of the outermost "div" PASSporT; in other words, that
	  the original calling identifier has not been altered by retargeting
	  authentication services. If the "orig" value has changed, the
	  verification service <bcp14>MUST</bcp14> treat the entire PASSporT
	  chain as invalid. The verification service <bcp14>MUST</bcp14> also
	  verify that all other "div" PASSporTs in the chain share the same
	  "orig" value. Then, the verification service validates the
	  relationship of the "orig" field to the SIP-level call signaling per
	  the guidance in <xref target="RFC8224" sectionFormat="comma" section="6.2" format="default" derivedLink="https://rfc-editor.org/rfc/rfc8224#section-6.2" derivedContent="RFC8224"/>, Step 2.</li>
          <li pn="section-4.2-5.4" derivedCounter="4.">The verification service <bcp14>MUST</bcp14> check the date freshness
	  in the outermost "div" PASSporT, per <xref target="RFC8224" sectionFormat="comma" section="6.2" format="default" derivedLink="https://rfc-editor.org/rfc/rfc8224#section-6.2" derivedContent="RFC8224"/>, Step 4. Furthermore, it is <bcp14>RECOMMENDED</bcp14>
	  that the verification service check that the "iat" field of the
	  innermost PASSporT is also within the date freshness interval;
	  otherwise, the verification service could allow attackers to replay
	  an old, stale PASSporT embedded in a fresh "div". However, note that
	  in some use cases, including certain ways that call transfers are
	  implemented, it is possible that an established call will be
	  retargeted long after it has originally been placed, and
	  verification services may want to allow a longer window for the
	  freshness of the innermost PASSporT if the call is transferred from
	  a trusted party (as an upper bound, a freshness window on the order
	  of three hours might suffice).</li>
          <li pn="section-4.2-5.5" derivedCounter="5.">The verification service <bcp14>MUST</bcp14> inspect and validate the
	  signatures on each and every PASSporT object in the chain between
	  the outermost "div" PASSporT and the innermost PASSporT. Note that
	  (per <xref target="as" format="default" sectionFormat="of" derivedContent="Section 4.1"/>) a chain may terminate at
	  more than one innermost PASSporT, in cases where a single "div" is
	  used to retarget from multiple innermost PASSporTs. Also note that
	  <xref target="RFC8224" sectionFormat="comma" section="6.2" format="default" derivedLink="https://rfc-editor.org/rfc/rfc8224#section-6.2" derivedContent="RFC8224"/>, Step 1 applies
	  to the chain validation process; if the innermost PASSporT contains
	  an unsupported "ppt", its chain <bcp14>MUST</bcp14> be ignored.</li>
        </ol>
        <t indent="0" pn="section-4.2-6">Note that the To header field is not used in the first step
	above. Optionally, the verification service <bcp14>MAY</bcp14> verify that the To
	header field value of the received SIP signaling is equal to the
	"dest" value in the innermost PASSporT; however, as has been observed
	in some deployments, the original To header field value may be altered
	by intermediaries to reflect changes of target. Deployments that
	change the original To header field value to conceal the original
	destination of the call from the ultimate recipient should note that
	the original destination of a call may be preserved in the innermost
	PASSporT. Future work on "div" might explore methods to implement that
	sort of policy while retaining a secure chain of redirection.</t>
      </section>
    </section>
    <section anchor="divo" numbered="true" toc="include" removeInRFC="false" pn="section-5">
      <name slugifiedName="name-the-div-o-passport-type">The "div-o" PASSporT Type</name>
      <t indent="0" pn="section-5-1">This specification defines a "div-o" PASSporT type that uses the
      "div" claim element in conjunction with the <xref target="opt" format="default" sectionFormat="of" derivedContent="Section 6">"opt"</xref> claim element. As is the case with "div"
      PASSporT type, a "div-o" PASSporT is created by an authentication
      service acting for a retargeting entity, but instead of generating a
      separate "div" PASSporT to be conveyed alongside an original PASSporT,
      the authentication service in this case embeds the original PASSporT
      inside the "opt" element of the "div-o" PASSporT.	The "div-o" extension
      is designed for use in non-SIP or gatewayed SIP environments where the
      conveyance of PASSporTs in separate Identity header fields in
      impossible, such as <xref target="RFC8816" format="default" sectionFormat="of" derivedContent="RFC8816">out-of-band STIR scenarios</xref>.</t>
      <t indent="0" pn="section-5-2">The syntax of "div-o" PASSporTs is very similar to "div". A "div-o"
      PASSporT header object might look as follows:</t>
      <sourcecode markers="false" pn="section-5-3">
{ "typ":"passport",
  "ppt":"div-o",
  "alg":"ES256",
  "x5u":"https://www.example.com/cert.cer" }
</sourcecode>
      <t indent="0" pn="section-5-4">Whereas a "div" PASSporT claims set contains only the "orig", "dest",
      "iat", and "div" elements, the "div-o" additionally <bcp14>MUST</bcp14> contain an
      "opt" element (see <xref target="opt" format="default" sectionFormat="of" derivedContent="Section 6"/>), which
      encapsulates the full form of the previous PASSporT from which the call
      was retargeted, triggering the generation of this "div-o". The format of
      the "opt" element is identical to the encoded PASSporT format given in
      <xref target="RFC8225" sectionFormat="of" section="A" format="default" derivedLink="https://rfc-editor.org/rfc/rfc8225#appendix-A" derivedContent="RFC8225"/>.</t>
      <t indent="0" pn="section-5-5">So, for an original PASSporT claims set of the form:</t>
      <sourcecode markers="false" pn="section-5-6">
   { "orig":{"tn":"12155551212"},
     "dest":{"tn":["12155551213"]},
     "iat":1443208345 }
</sourcecode>
      <t indent="0" pn="section-5-7">If the retargeting entity is changing the target from 12155551213 to
      12155551214, the new PASSporT claims set for "div-o" would look as
      follows:</t>
      <sourcecode markers="false" pn="section-5-8">
 { "orig":{"tn":"12155551212"},
   "dest":{"tn":["12155551214"]},
   "iat":1443208345,
   "div":{"tn":"121555551213"},
   "opt":"eyJhbGciOiJFUzI1NiIsInR5cCI6InBhc3Nwb3J0IiwieDV1IjoiaHR0c \
   HM6Ly93d3cuZXhhbXBsZS5jb20vY2VydC5jZXIifQ.eyJkZXN0Ijp7InRuIjpbIj \
   EyMTU1NTUxMjEzIl19LCJpYXQiOjE0NDMyMDgzNDUsIm9yaWciOnsidG4iOiIxMj \
   E1NTU1MTIxMiJ9fQ.1bEzkzcNbKvgz4QoMx0_DJ2T8qFMDC1sPqHPXl1WvbauzRJ \
   RvYlZqQ0qgGTlS8tJ_wXjVe07Z3wvDrdApHhhYw" }
</sourcecode>
      <t indent="0" pn="section-5-9">While in ordinary operations, it is not expected that SIP would carry
      a "div-o" PASSporT, it might be possible in some gatewaying
      scenarios. The resulting full form Identity header field with a "div-o"
      PASSporT would look as follows:</t>
      <sourcecode markers="false" pn="section-5-10">
Identity:eyJhbGciOiJFUzI1NiIsInBwdCI6ImRpdi1vIiwidHlwIjoicGFzc3Bvc \
nQiLCJ4NXUiOiJodHRwczovL3d3dy5leGFtcGxlLmNvbS9jZXJ0LmNlciJ9.eyJkZX \
N0Ijp7InRuIjoiMTIxNTU1NTEyMTQifSwiZGl2Ijp7InRuIjoiMTIxNTU1NTUxMjEz \
In0sImlhdCI6MTQ0MzIwODM0NSwib3B0IjoiZXlKaGJHY2lPaUpGVXpJMU5pSXNJbl \
I1Y0NJNkluQmhjM053YjNKMElpd2llRFYxSWpvaWFIUjBjSE02THk5M2QzY3VaWGho \
YlhCc1pTNWpiMjB2WTJWeWRDNWpaWElpZlEuZXlKa1pYTjBJanA3SW5SdUlqcGJJak \
V5TVRVMU5UVXhNakV6SWwxOUxDSnBZWFFpT2pFME5ETXlNRGd6TkRVc0ltOXlhV2Np \
T25zaWRHNGlPaUl4TWpFMU5UVTFNVEl4TWlKOWZRLjFiRXpremNOYkt2Z3o0UW9NeD \
BfREoyVDhxRk1EQzFzUHFIUFhsMVd2YmF1elJKUnZZbFpxUTBxZ0dUbFM4dEpfd1hq \
VmUwN1ozd3ZEcmRBcEhoaFl3Iiwib3JpZyI6eyJ0biI6IjEyMTU1NTUxMjEyIn19.C \
HeA9wRnthl7paMe6rP0TARpmFCXjmi_vF_HRz2O_oulB_R-G9xZNiLVvmvHv4gk6LI \
LaDV2y2VtHTLIEgmHig; \
info=&lt;https://www.example.com/cert.cer&gt;;ppt="div-o"
</sourcecode>
      <section anchor="optasvs" numbered="true" toc="include" removeInRFC="false" pn="section-5.1">
        <name slugifiedName="name-processing-div-o-passports">Processing "div-o" PASSporTs</name>
        <t indent="0" pn="section-5.1-1">The authentication and verification service procedures required for
	"div-o" closely follow the guidance given in Sections <xref target="as" format="counter" sectionFormat="of" derivedContent="4.1"/> and <xref target="vs" format="counter" sectionFormat="of" derivedContent="4.2"/>, with the
	major caveats being, first, that they do store or retrieve PASSporTs
	via the Identity header field values of SIP requests and, second, that
	they process nested PASSporTs in the "opt" claim element. But
	transposing the rest of the behaviors described above to creating and
	validating "div-o" PASSporTs is straightforward.</t>
        <t indent="0" pn="section-5.1-2">For the "div-o" PASSporT type, retargeting authentication services
	that handle calls with one or more existing PASSporTs will create a
	corresponding "div-o" PASSporT for each received PASSporT. Each
	"div-o" PASSporT <bcp14>MUST</bcp14> contain an "opt" claim set
	element with the value of the original PASSporT from which the "div-o"
	was created; as specified in <xref target="as" format="default" sectionFormat="of" derivedContent="Section 4.1"/>, the authentication service <bcp14>MUST</bcp14>
	populate the "div" claim set element of the "div-o" PASSporT with the
	"dest" field of the original PASSporT. Each received PASSporT may in
	turn contain its own "opt" claim set element if the retargeting
	authentication service is not the first in its chain. Note that if the
	retargeting authentication service is handling a call with multiple
	PASSporTs, which in ordinary SIP operation would result in the
	construction of multiple "div" chains, it will in effect be generating
	one "div-o" PASSporT per chain.</t>
        <t indent="0" pn="section-5.1-3">The job of a verification service is in many ways easier for
	"div-o" than for "div", as the verification service has no need to
	correlate the PASSporTs it receives and assemble them into chains, as
	any chains in "div-o" will be nested through the "opt"
	element. Nonetheless, the verification services <bcp14>MUST</bcp14> perform the same
	chain validation described in <xref target="vs" format="default" sectionFormat="of" derivedContent="Section 4.2"/> to
	validate that each nested PASSporT shares the same "orig" field as its
	enclosing PASSporT and that the "dest" field of each nested PASSporT
	corresponds to the "div" field of its enclosing PASSporT. The same
	checks <bcp14>MUST</bcp14> also be performed for freshness, signature validation, and
	so on. It is similarly <bcp14>OPTIONAL</bcp14> for the verification service to
	determine that the "dest" claims element of the outermost PASSporT
	corresponds to the called party indication of receive telephone
	signaling, where such indication would vary depending on the using
	protocol. </t>
        <t indent="0" pn="section-5.1-4">How authentication services or verification services receive or
	transport PASSporTs for "div-o" is outside the scope of this document
	and dependent on the using protocol.</t>
      </section>
    </section>
    <section anchor="opt" numbered="true" toc="include" removeInRFC="false" pn="section-6">
      <name slugifiedName="name-definition-of-opt">Definition of "opt"</name>
      <t indent="0" pn="section-6-1">The presence of an "Original PASSporT" ("opt") claims set element
      signifies that a PASSporT encapsulates another entire PASSporT within
      it, typically a PASSporT that was transformed in some way to create the
      current PASSporT. Relying parties may need to consult the encapsulated
      PASSporT in order to validate the identity of a caller. "opt", as defined
      in this specification, may be used by future PASSporT extensions as well
      as in conjunction with "div-o".</t>
      <t indent="0" pn="section-6-2">"opt" <bcp14>MUST</bcp14> contain a quoted full-form PASSporT, as
      specified by <xref target="RFC8225" sectionFormat="comma" section="A" format="default" derivedLink="https://rfc-editor.org/rfc/rfc8225#appendix-A" derivedContent="RFC8225"/>; it
      <bcp14>MUST NOT</bcp14> contain a compact form PASSporT. For an example
      of a "div-o" PASSporT containing "opt", see <xref target="divo" format="default" sectionFormat="of" derivedContent="Section 5"/>.</t>
    </section>
    <section anchor="redir" numbered="true" toc="include" removeInRFC="false" pn="section-7">
      <name slugifiedName="name-div-and-redirection">"div" and Redirection</name>
      <t indent="0" pn="section-7-1">The "div" mechanism exists primarily to prevent false negatives at
      verification services when an arriving SIP request, due to intermediary
      retargeting, does not appear to be intended for its eventual recipient,
      because the original PASSporT "dest" value designates a different
      destination.</t>
      <t indent="0" pn="section-7-2">Any intermediary that assigns a new target to a request can, instead
      of retargeting and forwarding the request, redirect with a 3xx
      response code. In ordinary operations, a redirection poses no
      difficulties for the operations of baseline STIR: when the user agent
      client (UAC) receives the 3xx response, it will initiate a new request
      to the new target (typically  the target carried in the Contact header
      field value of the 3xx), and the "dest" of the PASSporT created for the
      new request will match that new target. As no impersonation attack can
      arise from this case, it creates no new requirements for STIR.</t>
      <t indent="0" pn="section-7-3">However, some UACs record the original target of a call with
      mechanisms like <xref target="RFC7044" format="default" sectionFormat="of" derivedContent="RFC7044">History-Info</xref> or <xref target="RFC5806" format="default" sectionFormat="of" derivedContent="RFC5806">Diversion</xref> and may want to leverage STIR to
      demonstrate to the ultimate recipient that the call has been redirected
      securely, that is, that the original destination was the one that sent
      the redirection message that led to the recipient receiving the
      request. The semantics of the PASSporT necessary for that assertion are
      the same as those for the "div" retargeting cases above. The only
      wrinkle is that the PASSporT needs to be generated by the redirecting
      entity and sent back to the originating user agent client within the 3xx
      response.</t>
      <t indent="0" pn="section-7-4">This introduces more complexity than might immediately be
      apparent. In the first place, a 3xx response can convey multiple targets
      through the Contact header field value; to accommodate this, the "div"
      PASSporT <bcp14>MAY</bcp14> include one "dest" object array value per Contact, but if
      the retargeting entity wants to keep the Contact list private from
      targets, it may need to generate one PASSporT per Contact. Bear in mind
      as well that the original SIP request could have carried multiple
      Identity header field values that had been added by different
      authentication services in the request path, so a redirecting entity
      might need to generate one "div" PASSporT for each PASSporT in the
      original request. Often, this will mean just one "div" PASSporT, but for
      some deployment scenarios, it could require an impractical number of
      combinations. But in very complex call routing scenarios, attestation of
      source identity would only add limited value anyway.</t>
      <t indent="0" pn="section-7-5">Therefore, STIR-aware SIP intermediaries that redirect requests
      <bcp14>MAY</bcp14> convey one or more PASSporTs in the
      backwards direction within Identity header fields. These redirecting
      entities will act as authentication services for "div" as described in
      <xref target="as" format="default" sectionFormat="of" derivedContent="Section 4.1"/>. This document consequently updates
      <xref target="RFC8224" format="default" sectionFormat="of" derivedContent="RFC8224"/> to permit carrying Identity
      header fields in SIP 300-class responses. It is left to the originating
      user agent to determine which Identity header fields should be copied
      from the 3xx into any new requests resulting from the redirection, if
      any; use of these Identity header fields by entities receiving a 3xx
      response is <bcp14>OPTIONAL</bcp14>.</t>
      <t indent="0" pn="section-7-6">Finally, note that if an intermediary in the response path consumes
      the 3xx and explores new targets itself while performing sequential
      forking, it will effectively retarget the call on behalf of the
      redirecting server, and this will create the same need for "div"
      PASSporTs as any other retargeted call. These intermediaries <bcp14>MAY</bcp14> also
      copy PASSporTs from the 3xx response and insert them into sequential
      forking requests, if appropriate.</t>
    </section>
    <section anchor="hi" numbered="true" toc="include" removeInRFC="false" pn="section-8">
      <name slugifiedName="name-extending-div-to-work-with-">Extending "div" to Work with Service Logic Tracking</name>
      <t indent="0" pn="section-8-1">It is anticipated that "div" may be used in concert with <xref target="RFC7044" format="default" sectionFormat="of" derivedContent="RFC7044">History-Info</xref> in some
      deployments. It may not be clear from the "orig" and "dest" values which
      History-Info header a given PASSporT correlates to, especially because
      some of the target changes tracked by History-Info will not be reflected
      in a "div" PASSporT (see <xref target="intro" format="default" sectionFormat="of" derivedContent="Section 1"/>). 

      Therefore, an "hi" element as defined here may
      appear in "div" corresponding to the History-Info header field index
      parameter value. So for a History-Info header field with an index value
      of "1.2.1", the claims set of the corresponding PASSporT with "div"
      might look like:</t>
      <sourcecode markers="false" pn="section-8-2">
   { "orig":{"tn":"12155551212"},
     "dest":{"tn":["12155551214"]},
     "iat":1443208345,
     "div":{"tn":"121555551213",
            "hi":"1.2.1"} }
</sourcecode>
      <t indent="0" pn="section-8-3">Past experience has shown that there may be additional information
      about the motivation for retargeting, which relying parties might consider
      when making authorization decisions about a call; see, for example, the
      "reason" associated with the SIP <xref target="RFC5806" format="default" sectionFormat="of" derivedContent="RFC5806">Diversion header field</xref>. Future extensions to
      this specification might incorporate reasons into "div".</t>
    </section>
    <section anchor="IANA" numbered="true" toc="include" removeInRFC="false" pn="section-9">
      <name slugifiedName="name-iana-considerations">IANA Considerations</name>
      <section numbered="true" toc="include" removeInRFC="false" pn="section-9.1">
        <name slugifiedName="name-json-web-token-claims-regis">JSON Web Token Claims Registrations</name>
        <t indent="0" pn="section-9.1-1">Per this specification, IANA has added two new claims to the
	"JSON Web Token Claims" registry as defined in <xref target="RFC7519" format="default" sectionFormat="of" derivedContent="RFC7519"/>.</t>
        <section numbered="true" toc="include" removeInRFC="false" pn="section-9.1.1">
          <name slugifiedName="name-div-registration">"div" registration</name>
          <dl newline="false" spacing="normal" indent="3" pn="section-9.1.1-1">
            <dt pn="section-9.1.1-1.1">Claim Name:</dt>
            <dd pn="section-9.1.1-1.2">div</dd>
            <dt pn="section-9.1.1-1.3">Claim Description:</dt>
            <dd pn="section-9.1.1-1.4">Diverted Target of a Call</dd>
            <dt pn="section-9.1.1-1.5">Change Controller:</dt>
            <dd pn="section-9.1.1-1.6">IESG</dd>
            <dt pn="section-9.1.1-1.7">Reference:</dt>
            <dd pn="section-9.1.1-1.8">RFC 8946</dd>
          </dl>
        </section>
        <section numbered="true" toc="include" removeInRFC="false" pn="section-9.1.2">
          <name slugifiedName="name-opt-registration">"opt" registration</name>
          <dl newline="false" spacing="normal" indent="3" pn="section-9.1.2-1">
            <dt pn="section-9.1.2-1.1">Claim Name:</dt>
            <dd pn="section-9.1.2-1.2">opt</dd>
            <dt pn="section-9.1.2-1.3">Claim Description:</dt>
            <dd pn="section-9.1.2-1.4">Original PASSporT (in Full Form)</dd>
            <dt pn="section-9.1.2-1.5">Change Controller:</dt>
            <dd pn="section-9.1.2-1.6">IESG</dd>
            <dt pn="section-9.1.2-1.7">Reference:</dt>
            <dd pn="section-9.1.2-1.8">RFC 8946</dd>
          </dl>
        </section>
      </section>
      <section numbered="true" toc="include" removeInRFC="false" pn="section-9.2">
        <name slugifiedName="name-passport-type-registrations">PASSporT Type Registrations</name>
        <t indent="0" pn="section-9.2-1">This specification defines two new PASSporT types for the "Personal
	Assertion Token (PASSporT) Extensions" registry defined in <xref target="RFC8225" format="default" sectionFormat="of" derivedContent="RFC8225"/>, which resides at
	<eref target="https://www.iana.org/assignments/passport" brackets="angle"/>. They are:</t>
        <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-9.2-2">
          <li pn="section-9.2-2.1">"div", as defined in <xref target="syntax" format="default" sectionFormat="of" derivedContent="Section 3"/>.</li>
          <li pn="section-9.2-2.2">"div-o", as defined in <xref target="divo" format="default" sectionFormat="of" derivedContent="Section 5"/>.</li>
        </ul>
        <t indent="0" pn="section-9.2-3">
        </t>
      </section>
    </section>
    <section anchor="priv" numbered="true" toc="include" removeInRFC="false" pn="section-10">
      <name slugifiedName="name-privacy-considerations">Privacy Considerations</name>
      <t indent="0" pn="section-10-1">There is an inherent trade-off in any mechanism that tracks, in SIP
      signaling, how calls are routed through a network, as routing decisions
      may expose policies set by users for how calls are forwarded,
      potentially revealing relationships between different identifiers
      representing the same user. Note, however, that in ordinary operations,
      this information is revealed to the user agent service of the called
      party, not the calling party. It is usually the called party who
      establishes these forwarding relationships, and if indeed some other
      party is responsible for calls being forwarded to the called party, many
      times the called party should likely be entitled to information about
      why they are receiving these calls. Similarly, a redirecting entity who
      sends a 3xx in the backwards direction knowingly shares information
      about service logic with the caller's network. However, as there may be
      unforeseen circumstances where the revelation of service logic to the
      called party poses a privacy risk, implementers and users of this or
      similar diversion-tracking techniques should understand the
      trade-off.</t>
      <t indent="0" pn="section-10-2">Furthermore, it is a general privacy risk of identity mechanisms
      overall that they do not interface well with anonymization services; the
      interaction of STIR with anonymization services is detailed in <xref target="RFC8224" sectionFormat="comma" section="11" format="default" derivedLink="https://rfc-editor.org/rfc/rfc8224#section-11" derivedContent="RFC8224"/>. Any forwarding service
      that acts as an anonymizing proxy may not be able to provide a secure
      chain of retargeting due to the obfuscation of the originating
      identity.</t>
      <t indent="0" pn="section-10-3">Also see <xref target="RFC8224" sectionFormat="comma" section="11" format="default" derivedLink="https://rfc-editor.org/rfc/rfc8224#section-11" derivedContent="RFC8224"/> for
      further considerations on the privacy of using PASSporTs in SIP.</t>
    </section>
    <section anchor="Security" numbered="true" toc="include" removeInRFC="false" pn="section-11">
      <name slugifiedName="name-security-considerations">Security Considerations</name>
      <t indent="0" pn="section-11-1">This specification describes a security feature and is primarily
      concerned with increasing security when calls are forwarded. Including
      information about how calls were retargeted during the routing process
      can allow downstream entities to infer particulars of the policies used
      to route calls through the network. However, including this information
      about forwarding is at the discretion of the retargeting entity, so if
      there is a requirement to keep an intermediate called number
      confidential, no PASSporT should be created for that retargeting -- the
      only consequence will be that downstream entities will be unable to
      correlate an incoming call with the original PASSporT without access to
      some prior knowledge of the policies that could have caused the
      retargeting.</t>
      <t indent="0" pn="section-11-2">Any extension that makes PASSporTs larger creates a potential
      amplification mechanism for SIP-based DDoS attacks. Since diversion
      PASSporTs are created as a part of normal forwarding activity, this risk
      arises at the discretion of the retargeting domain; simply using 3xx
      response redirections rather than retargeting (by supplying a "div" per
      <xref target="redir" format="default" sectionFormat="of" derivedContent="Section 7"/>) mitigates the potential
      impact. Under unusual traffic loads, even domains that might ordinarily
      retarget requests can switch to redirection.</t>
      <t indent="0" pn="section-11-3">SIP has an inherent capability to redirect requests, including
      forking them to multiple parties -- potentially, a very large number of
      parties. The use of the "div" PASSporT type does not grant any
      additional powers to attackers who hope to place bulk calls; if present,
      the "div" PASSporT instead identifies the party responsible for the
      forwarding. As such, senders of bulk unsolicited traffic are unlikely to
      find the use of "div" attractive.</t>
    </section>
  </middle>
  <back>
    <references pn="section-12">
      <name slugifiedName="name-references">References</name>
      <references pn="section-12.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="RFC7044" target="https://www.rfc-editor.org/info/rfc7044" quoteTitle="true" derivedAnchor="RFC7044">
          <front>
            <title>An Extension to the Session Initiation Protocol (SIP) for Request History Information</title>
            <author initials="M." surname="Barnes" fullname="M. Barnes">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="F." surname="Audet" fullname="F. Audet">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="S." surname="Schubert" fullname="S. Schubert">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="J." surname="van Elburg" fullname="J. van Elburg">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="C." surname="Holmberg" fullname="C. Holmberg">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2014" month="February"/>
            <abstract>
              <t indent="0">This document defines a standard mechanism for capturing the history information associated with a Session Initiation Protocol (SIP) request.  This capability enables many enhanced services by providing the information as to how and why a SIP request arrives at a specific application or user.  This document defines an optional SIP header field, History-Info, for capturing the history information in requests.  The document also defines SIP header field parameters for the History-Info and Contact header fields to tag the method by which the target of a request is determined.  In addition, this specification defines a value for the Privacy header field that directs the anonymization of values in the History-Info header field. This document obsoletes RFC 4244.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7044"/>
          <seriesInfo name="DOI" value="10.17487/RFC7044"/>
        </reference>
        <reference anchor="RFC7519" target="https://www.rfc-editor.org/info/rfc7519" quoteTitle="true" derivedAnchor="RFC7519">
          <front>
            <title>JSON Web Token (JWT)</title>
            <author initials="M." surname="Jones" fullname="M. Jones">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="J." surname="Bradley" fullname="J. Bradley">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="N." surname="Sakimura" fullname="N. Sakimura">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2015" month="May"/>
            <abstract>
              <t indent="0">JSON Web Token (JWT) is a compact, URL-safe means of representing claims to be transferred between two parties.  The claims in a JWT are encoded as a JSON object that is used as the payload of a JSON Web Signature (JWS) structure or as the plaintext of a JSON Web Encryption (JWE) structure, enabling the claims to be digitally signed or integrity protected with a Message Authentication Code (MAC) and/or encrypted.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7519"/>
          <seriesInfo name="DOI" value="10.17487/RFC7519"/>
        </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>
      </references>
      <references pn="section-12.2">
        <name slugifiedName="name-informative-references">Informative References</name>
        <reference anchor="RFC5806" target="https://www.rfc-editor.org/info/rfc5806" quoteTitle="true" derivedAnchor="RFC5806">
          <front>
            <title>Diversion Indication in SIP</title>
            <author initials="S." surname="Levy" fullname="S. Levy">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="M." surname="Mohali" fullname="M. Mohali" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2010" month="March"/>
            <abstract>
              <t indent="0">This RFC, which contains the text of an Internet Draft that was submitted originally to the SIP Working Group, is being published now for the historical record and to provide a reference for later Informational RFCs.  The original Abstract follows.</t>
              <t indent="0">This document proposes an extension to the Session Initiation Protocol (SIP).  This extension provides the ability for the called SIP user agent to identify from whom the call was diverted and why the call was diverted. The extension defines a general header, Diversion, which conveys the diversion information from other SIP user agents and proxies to the called user agent.</t>
              <t indent="0">This extension allows enhanced support for various features, including Unified Messaging, Third-Party Voicemail, and Automatic Call Distribution (ACD).  SIP user agents and SIP proxies that receive diversion information may use this as supplemental information for feature invocation decisions.  This document  defines a Historic Document for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5806"/>
          <seriesInfo name="DOI" value="10.17487/RFC5806"/>
        </reference>
        <reference anchor="RFC7340" target="https://www.rfc-editor.org/info/rfc7340" quoteTitle="true" derivedAnchor="RFC7340">
          <front>
            <title>Secure Telephone Identity Problem Statement and Requirements</title>
            <author initials="J." surname="Peterson" fullname="J. Peterson">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="H." surname="Schulzrinne" fullname="H. Schulzrinne">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="H." surname="Tschofenig" fullname="H. Tschofenig">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2014" month="September"/>
            <abstract>
              <t indent="0">Over the past decade, Voice over IP (VoIP) systems based on SIP have replaced many traditional telephony deployments.  Interworking VoIP systems with the traditional telephone network has reduced the overall level of calling party number and Caller ID assurances by granting attackers new and inexpensive tools to impersonate or obscure calling party numbers when orchestrating bulk commercial calling schemes, hacking voicemail boxes, or even circumventing multi-factor authentication systems trusted by banks.  Despite previous attempts to provide a secure assurance of the origin of SIP communications, we still lack effective standards for identifying the calling party in a VoIP session.  This document examines the reasons why providing identity for telephone numbers on the Internet has proven so difficult and shows how changes in the last decade may provide us with new strategies for attaching a secure identity to SIP sessions.  It also gives high-level requirements for a solution in this space.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7340"/>
          <seriesInfo name="DOI" value="10.17487/RFC7340"/>
        </reference>
        <reference anchor="RFC8443" target="https://www.rfc-editor.org/info/rfc8443" quoteTitle="true" derivedAnchor="RFC8443">
          <front>
            <title>Personal Assertion Token (PASSporT) Extension for Resource Priority Authorization</title>
            <author initials="R." surname="Singh" fullname="R. Singh">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="M." surname="Dolly" fullname="M. Dolly">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="S." surname="Das" fullname="S. Das">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="A." surname="Nguyen" fullname="A. Nguyen">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2018" month="August"/>
            <abstract>
              <t indent="0">This document extends the Personal Assertion Token (PASSporT) specification defined in RFC 8225 to allow the inclusion of cryptographically signed assertions of authorization for the values populated in the Session Initiation Protocol (SIP) 'Resource-Priority' header field, which is used for communications resource prioritization.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8443"/>
          <seriesInfo name="DOI" value="10.17487/RFC8443"/>
        </reference>
        <reference anchor="RFC8816" target="https://www.rfc-editor.org/info/rfc8816" quoteTitle="true" derivedAnchor="RFC8816">
          <front>
            <title>Secure Telephone Identity Revisited (STIR) Out-of-Band Architecture and Use Cases</title>
            <author initials="E." surname="Rescorla" fullname="E. Rescorla">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="J." surname="Peterson" fullname="J. Peterson">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2021" month="February"/>
            <abstract>
              <t indent="0">The Personal Assertion Token (PASSporT) format defines a token that can be carried by signaling protocols, including SIP, to cryptographically attest the identity of callers. However, not all telephone calls use Internet signaling protocols, and some calls use them for only part of their signaling path, while some cannot reliably deliver SIP header fields end-to-end. This document describes use cases that require the delivery of PASSporT objects outside of the signaling path, and defines architectures and semantics to provide this functionality.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8816"/>
          <seriesInfo name="DOI" value="10.17487/RFC8816"/>
        </reference>
      </references>
    </references>
    <section anchor="keys" numbered="true" toc="include" removeInRFC="false" pn="section-appendix.a">
      <name slugifiedName="name-keys-for-examples">Keys for Examples</name>
      <t indent="0" pn="section-appendix.a-1">The following EC256 keys are used in the signing examples given in
      this document. WARNING: Do not use this key pair in production
      systems.</t>
      <sourcecode markers="false" pn="section-appendix.a-2">
-----BEGIN PUBLIC KEY-----
MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEmzGM1VsO+3IqbMF54rQMaYKQftO4
hUYm9wv5wutLgEd9FsiTy3+4+Wa2O7pffOXPC0QzO+yD8hGEXGP/2mZo6w==
-----END PUBLIC KEY-----

-----BEGIN EC PRIVATE KEY-----
MHcCAQEEIFKCsFZ4Wsw3ZpBxgc4Z0sOjaXDdMk07Ny1fKg6OntAkoAoGCCqGSM49
AwEHoUQDQgAEmzGM1VsO+3IqbMF54rQMaYKQftO4hUYm9wv5wutLgEd9FsiTy3+4
+Wa2O7pffOXPC0QzO+yD8hGEXGP/2mZo6w==
-----END EC PRIVATE KEY-----
</sourcecode>
    </section>
    <section anchor="Acknowledgments" numbered="false" toc="include" removeInRFC="false" pn="section-appendix.b">
      <name slugifiedName="name-acknowledgments">Acknowledgments</name>
      <t indent="0" pn="section-appendix.b-1">We would like to thank <contact fullname="Ning Zhang"/>, <contact fullname="Dave Hancock"/>, <contact fullname="Chris Wendt"/>, <contact fullname="Sean Turner"/>, <contact fullname="Russ Housley"/>, <contact fullname="Ben Campbell"/>, <contact fullname="Eric Burger"/>, and
      <contact fullname="Robert Sparks"/> for contributions to this
      document.</t>
    </section>
    <section anchor="authors-addresses" numbered="false" removeInRFC="false" toc="include" pn="section-appendix.c">
      <name slugifiedName="name-authors-address">Author's Address</name>
      <author initials="J." surname="Peterson" fullname="Jon Peterson">
        <organization abbrev="Neustar" showOnFrontPage="true">Neustar, Inc.</organization>
        <address>
          <postal>
            <street>1800 Sutter St., Suite 570</street>
            <city>Concord</city>
            <region>CA</region>
            <code>94520</code>
            <country>United States of America</country>
          </postal>
          <email>jon.peterson@team.neustar</email>
        </address>
      </author>
    </section>
  </back>
</rfc>
