<?xml version="1.0" encoding="UTF-8"?>
  <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
  <!-- generated by https://github.com/cabo/kramdown-rfc version 1.6.16 (Ruby 2.6.0) -->


<!DOCTYPE rfc  [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">

]>


<rfc ipr="trust200902" docName="draft-ietf-stir-passport-rcd-24" category="std" consensus="true" tocInclude="true" sortRefs="true" symRefs="true">
  <front>
    <title abbrev="RCD">PASSporT Extension for Rich Call Data</title>

    <author initials="C." surname="Wendt" fullname="Chris Wendt">
      <organization>Somos Inc.</organization>
      <address>
        <email>chris-ietf@chriswendt.net</email>
      </address>
    </author>
    <author initials="J." surname="Peterson" fullname="Jon Peterson">
      <organization>Neustar Inc.</organization>
      <address>
        <email>jon.peterson@neustar.biz</email>
      </address>
    </author>

    <date year="2023" month="March" day="01"/>

    <area>art</area>
    
    <keyword>Identity</keyword>

    <abstract>


<t>This document extends PASSporT, a token for conveying cryptographically-signed call information about personal communications, to include rich meta-data about a call and caller that can be signed and integrity protected, transmitted, and subsequently rendered to the called party. This framework is intended to include and extend caller and call specific information beyond human-readable display name comparable to the "Caller ID" function common on the telephone network and is also enhanced with a integrity mechanism that is designed to protect the authoring and transport of this information for different authoritative use-cases.</t>



    </abstract>



  </front>

  <middle>


<section anchor="introduction"><name>Introduction</name>

<t>PASSporT <xref target="RFC8225"/> is a token format based on JWT <xref target="RFC7519"/> for conveying cryptographically-signed information about the parties involved in personal communications; it is used to convey a signed assertion of the identity of the participants in real-time communications established via a protocol like SIP <xref target="RFC8224"/>. The STIR problem statement <xref target="RFC7340"/> declared securing the display name of callers outside of STIR's initial scope. This document extends the use of JWT and PASSporT in the overall STIR framework by defining a PASSporT extension and the associated STIR procedures to protect additional caller and call related information.  This is additional information beyond the calling party originating identity (e.g. telephone number or SIP URI) that is intended to be rendered to assist a called party in determining whether to accept or trust incoming communications. This includes information such as the name of the person or entity on one side of a communications session, for example, the traditional "Caller ID" of the telephone network along with related display information that would be rendered to the called party during alerting or potentially used by an automaton to determine whether and how to alert a called party to a call and whom is calling.</t>

<t>Traditional telephone network signaling protocols have long supported delivering a 'calling name' from the originating side, though in practice, the terminating side is often left to determine a name from the calling party number by consulting a local address book or an external database. SIP, for example, similarly can carry this information in a 'display-name' in the From header field value from the originating to terminating side, or alternatively in the Call-Info header field. In this document, we utilize the STIR framework to more generally extend the assertion of an extensible set of identity information not limited to but including calling name.</t>

<t>This document extends PASSporT to provide cryptographic protection for the "display-name" field of SIP requests, or similar name fields in other protocols, as well as further "rich call data" (RCD) about the caller, which includes the contents of the Call-Info header field or other data structures that can be added to the PASSporT. In addition, Section 12 describes use-cases that enable external third-party authorities to convey rich information associated with a calling number via a "rcd" PASSporT while clearly identifying the third-party as the source of the Rich Call Data information. Finally, this document describes how to preserve the integrity of the RCD in scenarios where there may be non-authoritative users initiating and signing RCD and therefore a constraint on the RCD data that a PASSporT can attest via certificate-level controls.</t>

</section>
<section anchor="terminoloygy"><name>Terminology</name>

<t>The keywords "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they appear in all capitals, as shown here.</t>

</section>
<section anchor="overview-of-the-use-of-the-rich-call-data-passport-extension"><name>Overview of the use of the Rich Call Data PASSporT extension</name>

<t>This document defines Rich Call Data (RCD) which is a PASSporT extension <xref target="RFC8225"/> that defines an extensible claim for asserting information about the call beyond the telephone number. This includes information such as more detailed information about the calling party or calling number being presented or the purpose of the call. There are many use-cases that will be described in this document around the entities responsible for the signing and integrity of this information, whether it is the entity that originates a call, a service provider acting on behalf of a caller or use-cases where third-party services may be authoritative over the rich call data on behalf of the caller. In general, PASSporT <xref target="RFC8225"/> has been defined to be a communications protocol independent technology, but it's initial usage as detailed in <xref target="RFC8224"/> is with the SIP protocol <xref target="RFC3261"/>.  There are many SIP specific references and definitions in this document, but future specifications may extend the usage of RCD PASSporTs and claims to other protocol specific usage and definitions.</t>

<t>The RCD associated with the identity of the calling party described in this document is of two main categories. The first data is a more traditional set of info about a caller associated with "display-name" in SIP <xref target="RFC3261"/>, typically a textual description of the caller, or alternate presentation numbers often used in From Header field <xref target="RFC3261"/> or P-Asserted-Identity <xref target="RFC3325"/>, or an icon associated with the caller. The second category is a set of RCD that is defined as part of the jCard definitions or extensions to that data. <xref target="I-D.ietf-sipcore-callinfo-rcd"/> describes the optional use of jCard in Call-Info header field as RCD with the "jcard" Call-Info purpose token. Either or both of these two types of data can be incorporated into an "rcd" claim defined in this document.</t>

<t>Additionally, in relation to the description of the specific communications event itself (versus the identity description in previous paragraph), <xref target="I-D.ietf-sipcore-callinfo-rcd"/> also describes a "call-reason" parameter intended for description of the intent or reason for a particular call. A new PASSporT claim "crn", or call reason, can contain a string that describes the intent of the call. This claim is intentionally kept separate from the "rcd" claim because it is envisioned that call reason is not the same as information associated with the caller and may change on a more frequent, per call, type of basis.</t>

</section>
<section anchor="rcdintegrity"><name>Overview of Rich Call Data Integrity</name>

<t>When incorporating call data that represents a user, even in traditional calling name services today, often there are policy and restrictions around what data elements are allowed to be used. Whether preventing offensive language or icons or enforcing uniqueness, potential trademark or copyright violations or other policy enforcement, there might be the desire to pre-certify or "vet" the specific use of rich call data. This document defines a mechanism that allows for a direct or indirect party that enforces the policies to approve or certify the content, create a cryptographic digest that can be used to validate that data and applies a constraint in the certificate to allow the recipient and verifier to validate that the specific content of the RCD is as intended at its creation and approval or certification.</t>

<t>There are two mechanisms that are defined to accomplish that for two distinct categories of purposes. The first of the mechanisms include the definition of an integrity claim. The RCD integrity mechanism is a process of generating a cryptographic digest for each resource referenced by a URI within a claim value (e.g., an image file referenced by "jcd" or a jCard referenced by "jcl"). This mechanism is inspired by and based on the W3C Subresource Integrity specification <xref target="W3C-SubresourceIntegrity"/>. The second of the mechanisms uses the capability called JWT Claim Constraints, defined in <xref target="RFC8226"/> and extended in <xref target="RFC9118"/>. The JWT Claim Constraints specifically guide the verifier within the certificate used to compute the signature in the PASSporT for the inclusion (or exclusion) of specific claims and their values, so that the content intended by the signer can be verified to be accurate.</t>

<t>Both of these mechanisms, integrity digests and JWT Claims Constraints, can be used together or separately depending on the intended purpose. The first category of purpose is whether the rich call data conveyed in the PASSporT claims is pass-by-value or pass-by-reference; i.e., is the information contained in the PASSporT claims and therefore integrity protected by the PASSporT signature, or is the information contained in an external resource referenced by a URI in the PASSporT. The second category of purpose is whether the signer is authoritative or has responsibility for the accuracy of the RCD based on the policies of the eco-system the "rcd" PASSporTs or "rcd" claims are being used.</t>

<t>The following table provides an overview of the framework for how integrity should be used with RCD. ("Auth" represents "authoritative" in this table.)</t>

<figure><artwork><![CDATA[
+----------+---------------------+--------------------------------+
|   Modes  |  No URI refs        |      Includes URI refs         |
+----------+---------------------+--------------------------------+
|   Auth   | 1: No integrity req | 2: RCD Integrity               |
+----------+---------------------+--------------------------------+
| Non-Auth | 3: JWT Claim Const. | 4: RCD Integ./JWT Claim Const. |
+----------+---------------------+--------------------------------+
]]></artwork></figure>

<t>The first and simplest mode is exclusively for when all RCD content is directly included as part of the claims (i.e. no URIs referencing external content are included in the content) and when the signer is authoritative over the content. In this mode, integrity protection is not required and the set of claims is simply protected by the signature of the standard PASSporT <xref target="RFC8225"/> and SIP identity header <xref target="RFC8224"/> procedures. The second mode is an extension of the first where the signer is authoritative and an "rcd" claim contents include a URI identifying external resources. In this mode, an RCD Integrity or "rcdi" claim MUST be included. This integrity claim is defined later in this document and provides a digest of the "rcd" claim content so that, particularly for the case where there are URI references in the RCD, the content of that RCD can be comprehensively validated that it was received as intended by the signer of the PASSporT.</t>

<t>The third and fourth modes cover cases where there is a different authoritative entity responsible for the content of the RCD, separate from the signer of the PASSporT itself, allowing the ability, in particular when delegating signing authority for PASSporT, to enable a mechanism for allowing agreed or vetted content included in or referenced by the RCD claim contents. The primary framework for allowing the separation of authority and the signing of PASSporTs by non-authorized entities is detailed in <xref target="RFC9060"/> although other cases may apply. As with the first and second modes, the third and fourth modes differ with the absence or inclusion of referenced external content using URIs.</t>

</section>
<section anchor="rcd_define"><name>PASSporT Claim "rcd" Definition and Usage</name>

<section anchor="syntax"><name>PASSporT "rcd" Claim</name>

<t>This document defines a new JSON Web Token claim for "rcd", Rich Call Data, the value of which is a JSON object that can contain one or more key value pairs. This document defines a default set of key values.</t>

<section anchor="nam-key"><name>"nam" key</name>

<t>The "nam" key value is a display name, associated with the originator of personal communications, which may for example match the display-name component of the From header field value of a SIP request <xref target="RFC3261"/> or alternatively from the P-Asserted-Identity header field value <xref target="RFC3325"/>, or a similar field in other PASSporT using protocols. This key MUST be included once as part of the "rcd" claim value JSON object. The key syntax of "nam" MUST follow the display-name ABNF given in <xref target="RFC3261"/>. If there is no string associated with a display name, the claim value MUST then be an empty string.</t>

</section>
<section anchor="apn-key"><name>"apn" key</name>

<t>The "apn" key value is an optional alternate presentation number associated with the originator of personal communications, which may for example match the user component of the From header field value of a SIP request (in cases where a network number is carried in the P-Asserted-Identity <xref target="RFC3325"/>), or alternatively from the Additional-Identity header field value [3GPP TS 24.229 v16.7.0], or a similar field in other PASSporT using protocols. Its intended semantics are to convey a number that the originating user is authorized to show to called parties in lieu of their default number, such as cases where a remote call agent uses the main number of a call center instead of their personal telephone number. The "apn" key value is a canonicalized telephone number per <xref target="RFC8224"/> Section 8.3. If present, this key MUST be included once as part of the "rcd" claim value JSON object.</t>

<t>The use of the optional "apn" key is intended for cases where the signer of an "rcd" PASSporT or "rcd" claims authorizes the use of an alternate presentation number by the user. How the signer determines that a user is authorized to present the number in question is a policy decision outside the scope of this document, however, the vetting of the alternate presentation number should follow the same level of vetting as telephone identities or any other information contained in an "rcd" PASSporT or "rcd" claims. This usage is intended as an alternative to conveying the presentation number in the "tel" key value of a jCard, in situations where no other rich jCard data needs to be conveyed with the call. Only one "apn" key may be present. "apn" MUST be used when it is the intent of the caller or signer to display the alternate presentation number even if "jcd" or "jcl" keys are present in a PASSporT with a "tel" key value.</t>

</section>
<section anchor="icn-key"><name>"icn" key</name>

<t>The "icn" key value is an optional HTTPS URL reference to an image resource that can be used to pictorially represent the originator of personal communications. This icon key value should be used as a base or default method of associating an image with a calling party.</t>

<t>When being used for SIP <xref target="RFC3261"/> this claim key value used to protect the Call-Info header field with a purpose parameter value of "icon" as described in Section 20.9 <xref target="RFC3261"/>.  Example as follows:</t>

<figure><artwork><![CDATA[
Call-Info: <http://wwww.example.com/alice/photo.jpg>; 
  purpose=icon
]]></artwork></figure>

<t>Note that <xref target="I-D.ietf-sipcore-callinfo-rcd"/> extends the specific usage of "icon" in SIP in the context of the larger rich call data framework with specific guidance on referencing images and image types, sizes and formats.</t>

<t>It should be also noted that with jCard, as described in the following "jcd" and "jcl" key value sections and in <xref target="I-D.ietf-sipcore-callinfo-rcd"/>, there are alternative ways of including photos and logos as HTTPS URL references. The "icn" key should be then considered a base or default image and jCard usage should be considered for profiles and extensions that provide more direct guidance on the usage of specific defined usage of what each image type represents for the proper rendering to end users.</t>

</section>
<section anchor="jcd-key"><name>"jcd" key</name>

<t>The "jcd" key value is defined to contain a jCard <xref target="RFC7095"/> JSON object. The jCard is defined in this specification as an extensible object format used to contain RCD information about the call initiator. This object is intended to directly match the Call-Info header field value defined in <xref target="I-D.ietf-sipcore-callinfo-rcd"/> with a type of "jcard" where the format of the jCard and properties used should follow the normative usage and formatting rules and procedures in that document. It is an extensible object where the calling party can provide both the standard types of information defined in jCard or can use the built-in extensibility of the jCard specification to add additional information. The "jcd" key is optional. Either a "jcd" or "jcl" MAY appear in the "rcd" claim, but not both.</t>

<t>The jCard object value for "jcd" MUST be a jCard JSON object that MAY have URI referenced content, but that URI referenced content MUST NOT further reference URIs. Future specifications may extend this capability, but as stated in <xref target="I-D.ietf-sipcore-callinfo-rcd"/> it constrains the security properties of RCD information and the integrity of the content referenced by URIs.</t>

<t>Note: even though we refer to <xref target="I-D.ietf-sipcore-callinfo-rcd"/> as the definition of the jcard properties for usage in "rcd" claims, using Call-Info as protocol with the addition of an identity header carrying the PASSPorT is not required.  The identity header carrying a PASSporT with "rcd" claim including a "jcd" value can be used as the primary and only transport of the RCD information.</t>

</section>
<section anchor="jcl-key"><name>"jcl" key</name>

<t>The "jcl" key value is an HTTPS URL that refers to a jCard <xref target="RFC7095"/> JSON object on a web server. The web server MUST use the MIME media type for JSON text as application/json with a default encoding of UTF-8 <xref target="RFC8259"/>. This link may correspond to the Call-Info header field value defined in <xref target="I-D.ietf-sipcore-callinfo-rcd"/> with a type of "jcard". As also defined in <xref target="I-D.ietf-sipcore-callinfo-rcd"/>, format of the jCard and properties used should follow the normative usage and formatting rules and procedures. The "jcl" key is optional. The "jcd" or "jcl" keys MAY only appear once in the "rcd" claim but MUST be mutually exclusive.</t>

<t>The jCard object referenced by the URI value for "jcl" MUST be a jCard JSON object that MAY have URI referenced content, but that URI referenced content MUST NOT further reference URIs. Future specifications may extend this capability, but as stated in <xref target="I-D.ietf-sipcore-callinfo-rcd"/> it constrains the security properties of RCD information and the integrity of the content referenced by URIs.</t>

</section>
</section>
</section>
<section anchor="rcdi_define"><name>"rcdi" RCD Integrity Claim Definition and Usage</name>

<t>The "rcdi" claim is included for the second and fourth modes described in the integrity overview <xref target="rcdintegrity"/> of this document. "rcdi" and "rcd" claims MAY each appear once in a PASSporT, but if "rcdi" is included the "rcd" MUST correspondingly be present also. The value of the "rcdi" claim is a JSON object that is defined as follows.</t>

<t>The claim value of "rcdi" claim key is a JSON object with a set of JSON key/value pairs. These objects correspond to each of the elements of the "rcd" claim object that require integrity protection with an associated digest over the content referenced by the key string. The individual digest of different elements of the "rcd" claim data and URI referenced external content is kept specifically separate to allow the ability to verify the integrity of only the elements that are ultimately retrieved or downloaded or rendered to the end-user.</t>

<t>The key value references a specific object within the "rcd" claim value using a JSON pointer defined in <xref target="RFC6901"/> with a minor additional rule to support URI references to external content that include JSON objects themselves, for the specific case of the use of "jcl", defined in <xref target="jcl_element"/>. JSON pointer syntax is the key value that documents exactly the part of JSON that is used to generate the digest which produce the resulting string that makes up the value for the corresponding key. Detailed procedures are provided below, but an example "rcdi" is provided here:</t>

<figure><artwork><![CDATA[
"rcdi" : {
  "/jcl": "sha256-7kdCBZqH0nqMSPsmABvsKlHPhZEStgjojhdSJGRr3rk",
  "/jcl/1/2/3": "sha256-jL4f47fF82LuwcrOrSyckA4SWrlElfARHkW6kYo1JdI"
}
]]></artwork></figure>

<t>The values of each key/value pair consists of a digest across one of the following objects referenced by the JSON pointer key,</t>

<t><list style="symbols">
  <t>content inline to the referenced object</t>
  <t>the content of a resource referenced by an inline URI object</t>
  <t>the content of a resource specified by a URI that is in embedded in content specified by an inline URI object(e.g., jcl)</t>
</list></t>

<t>This is combined with a string that defines the crypto algorithm used to generate the digest. RCD implementations MUST support the following hash algorithms, "SHA256", "SHA384", and "SHA512". The SHA-256, SHA-384, and SHA-512 are part of the SHA-2 set of cryptographic hash functions <xref target="RFC6234"/> defined by the National Institute of Standards and Technologies (NIST). Implementations MAY support additional algorithms, but MUST NOT support known weak algorithms such as MD5 <xref target="RFC1321"/> or SHA-1 <xref target="RFC3174"/>. Future specifications may update the list of algorithms and how they are referenced based on future security best practices. The algorithms are represented in the text by "sha256", "sha384", or "sha512". The character following the algorithm string MUST be a hyphen character, "-", or ASCII 45. The subsequent characters are the base64 encoded <xref target="RFC4648"/> digest of a canonicalized and concatenated string or binary data based on the JSON pointer referenced elements of "rcd" claim or the URI referenced content contained in the claim. The details of the determination of the input string used to determine the digest are defined in the next section.</t>

<section anchor="creation-of-the-rcd-element-digests"><name>Creation of the "rcd" element digests</name>

<t>"rcd" claim objects can contain "nam", "apn", "icn", "jcd", or "jcl" keys as part of the "rcd" JSON object claim value. This document defines the use of JSON pointer <xref target="RFC6901"/> as a mechanism to reference specific "rcd" claim elements.</t>

<t>In order to facilitate proper verification of the digests and whether the "rcd" elements or content referenced by URIs were modified, the input to the digest must be completely deterministic at three points in the process. First, at the certification point where the content is evaluated to conform to the application policy and the JWT Claim Constraints is applied to the certificate containing the digest. Second, when the call is signed at the Authentication Service, there may be a local policy to verify that the provided "rcd" claim corresponds to each digest. Third, when the "rcd" data is verified at the Verification Service, the verification is performed for each digest by constructing the input digest string for the element being verified and referenced by the JSON pointer string.</t>

<t>The procedure for the creation of each "rcd" element digest string corresponding to a JSON pointer string key is as follows.</t>

<t><list style="numbers">
  <t>The JSON pointer either refers to a value that is a part or the whole of a JSON object or to a string that is a URI referencing an external resource.</t>
  <t>For a JSON value, serialize the JSON to remove all white space and line breaks.  The procedures of this deterministic JSON serialization are defined in <xref target="RFC8225"></xref>, Section 9.  The resulting string is the input for the hash function.</t>
  <t>For any URI referenced content, the bytes of the body of the HTTP response is the input for the hash function.</t>
</list></t>

<t>Note that the digest is computed on the Json representation of the string, which necessarily includes the beginning and ending double-quote characters.</t>

<section anchor="nam_apn_element"><name>"nam" and "apn" elements</name>

<t>In the case of "nam" and "apn", the only allowed value is a string. For both of these key values an "rcdi" JSON pointer or integrity digest is optional because the direct value is protected by the signature and can be constrained directly with JWTClaimConstraints.</t>

</section>
<section anchor="icn_element"><name>"icn" elements</name>

<t>In the case of "icn", the only allowed value is a URI value that references an image file. If the URI references externally linked content there MUST be a JSON pointer and digest entry for the content in that linked resource. When creating a key/value representing "icn", the key is the JSON pointer string "/icn" and the digest value string would be created using the image file byte data referenced in the URI.</t>

</section>
<section anchor="jcd_element"><name>"jcd" elements</name>

<t>In the case of "jcd", the value associated is a jCard JSON object, which happens to be a JSON array with sub-arrays. JSON pointer notation uses numeric indices into elements of arrays, including when those elements are arrays themselves.</t>

<t>As example, for the following "rcd" claim:</t>

<figure><artwork><![CDATA[
"rcd": {
  "jcd": ["vcard",
    [ ["version",{},"text","4.0"],
      ["fn",{},"text","Q Branch"],
      ["org",{},"text","MI6;Q Branch Spy Gadgets"],
      ["photo",{},"uri",
        "https://example.com/photos/quartermaster-256x256.png"],
      ["logo",{},"uri",
        "https://example.com/logos/mi6-256x256.jpg"],
      ["logo",{},"uri",
        "https://example.com/logos/mi6-64x64.jpg"]
    ]
  ],
  "nam": "Q Branch Spy Gadgets"
}
]]></artwork></figure>

<t>In order to use JSON pointer to refer to the URIs, the following example "rcdi" claim includes a digest for the entire "jcd" array string as well as three additional digests for the URIs, where, as defined in <xref target="RFC6901"/> zero-based array indices are used to reference the URI strings.</t>

<figure><artwork><![CDATA[
"rcdi": {
  "/jcd": "sha256-7kdCBZqH0nqMSPsmABvsKlHPhZEStgjojhdSJGRr3rk",
  "/jcd/1/3/3": "sha256-RojgWwU6xUtI4q82+kHPyHm1JKbm7+663bMvzymhkl4",
  "/jcd/1/4/3": "sha256-jL4f47fF82LuwcrOrSyckA4SWrlElfARHkW6kYo1JdI",
  "/jcd/1/5/3": "sha256-GKNxxqlLRarbyBNh7hc/4lbZAdK6B0kMRf1AMRWPkSo"
  }
}
]]></artwork></figure>

<t>The use of a JSON pointer and integrity digest for the "jcd" claim key and value is optional. The "jcd" value is the directly included jCard array and can be protected by the signature and can be constrained directly with JWTClaimConstraints.  However, for data length reasons (as with "icn" above) or more importantly for potential privacy and/or security considerations with a publically accessible certificate, the use of the "rcdi" JSON pointer and integrity digest as the constraint value in JWTClaimConstraints over the jCard data is RECOMMENDED.</t>

<t>It is important to remember the array indices for JSON Pointer are dependent on the order of the elements in the jCard. The use of digest for the "/jcd" corresponding to the entire jCard array string can be included as a redundant mechanism to avoid any possibility of substitution, insertion attacks, or other potential techniques that may be possible to avoid integrity detection.</t>

<t>Each URI referenced in the jCard array string MUST have a corresponding JSON pointer string key and digest value.</t>

</section>
<section anchor="jcl_element"><name>"jcl" elements</name>

<t>In the case of the use of a "jcl" URI reference to an external jCard, the procedures are similar to "jcd" with the exception and the minor modification to JSON pointer, where "/jcl" is used to refer to the external jCard array string and any following numeric array indices added to the "jcl" (e.g., "/jcl/1/2/3") are treated as if the external content referenced by the jCard was directly part of the overall "rcd" claim JSON object. The following example illustrates a "jcl" version of the above "jcd" example.</t>

<figure><artwork><![CDATA[
"rcd": {
  "jcl": "https://example.com/qbranch.json",
  "nam": "Q Branch Spy Gadgets"
},
"rcdi": {
  "/jcl": "sha256-7kdCBZqH0nqMSPsmABvsKlHPhZEStgjojhdSJGRr3rk",
  "/jcl/1/3/3": "sha256-RojgWwU6xUtI4q82+kHPyHm1JKbm7+663bMvzymhkl4",
  "/jcl/1/4/3": "sha256-jL4f47fF82LuwcrOrSyckA4SWrlElfARHkW6kYo1JdI",
  "/jcl/1/5/3": "sha256-GKNxxqlLRarbyBNh7hc/4lbZAdK6B0kMRf1AMRWPkSo"
}
]]></artwork></figure>

<t>The "rcdi" MUST have a "/jcl" key value and digest value to protect the referenced jCard object and each URI referenced in the referenced jCard array string MUST have a corresponding JSON pointer string key and digest value.</t>

<t>The following is the example contents of resource pointed to by https://example.com/qbranch.json used to calculate the above digest for "/jcl"</t>

<figure><artwork><![CDATA[
["vcard",
  [ ["version",{},"text","4.0"],
    ["fn",{},"text","Q Branch"],
    ["org",{},"text","MI6;Q Branch Spy Gadgets"],
    ["photo",{},"uri",
      "https://example.com/photos/quartermaster-256x256.png"],
    ["logo",{},"uri",
      "https://example.com/logos/mi6-256x256.jpg"],
    ["logo",{},"uri",
      "https://example.com/logos/mi6-64x64.jpg"]
  ]
]
]]></artwork></figure>

</section>
</section>
<section anchor="jwt-claim-constraints-for-rcd-claims"><name>JWT Claim Constraints for "rcd" claims</name>

<t>When using JWT Claim Constraints for "rcd" claims the procedure when creating the signing certificate should follow the following guidelines.</t>

<t>The "permittedValues" for the "rcd" claim MAY contain a single entry or optionally MAY contain multiple entries with the intent of supporting cases where the certificate holder is authorized to use different sets of rich call data corresponding to different call scenarios.</t>

<t>Only including "permittedValues" for "rcd", with no "mustInclude", provides the ability for the construction a valid PASSPorT that can either have no "rcd" claim within or only the set of constrained "permittedValues" values for an included "rcd" claim.</t>

</section>
<section anchor="jwt-claim-constraints-usage-for-rcd-and-rcdi-claims"><name>JWT Claim Constraints usage for "rcd" and "rcdi" claims</name>

<t>The use of JWT Claim Constraints with an "rcdi" claim is for cases where URI referenced content is to be protected by the authoritative certificate issuer. The objective for the use of JWT Claim Constraints for the combination of both "rcd" and "rcdi" claims is to constrain the signer to only construct the "rcd" and "rcdi" claims inside a PASSporT to contain and reference only a pre-determined set of content. Once both the contents of the "rcd" claim and any referenced content is certified by the party that is authoritative for the certificate being issued to the signer, the "rcdi" claim is constructed and linked to the STIR certificate associated with the signature in the PASSporT via JWT Claim Constraints extension as defined in <xref target="RFC8226"/> Section 8 and extended in <xref target="RFC9118"/>. It should be recognized that the "rcdi" set of digests is intended to be unique for only a specific combination of "rcd" content and URI referenced external content, and therefore provides a robust integrity mechanism for an authentication service being performed by a non-authoritative party. This would often be associated with the use of delegate certificates <xref target="RFC9060"/> for the signing of calls by the calling party directly as an example, even though the "authorized party" is not necessarily the subject of a STIR certificate.</t>

<t>For the cases that there should always be both "rcd" and "rcdi" claims included in the PASSporT, the certificate JWT Claims Constraint extension MUST include both of the following:</t>

<t><list style="symbols">
  <t>a "mustInclude" for the "rcd" claim, which simply constrains the fact that an "rcd" must be included</t>
  <t>a "mustInclude" for the "rcdi" claim and a "permittedValues" equal to the created "rcdi" claim value string.</t>
</list></t>

<t>Note that optionally the "rcd" claims may be included in the "permittedValues" however it is recognized that this may be redundant with the "rcdi" permittedValues because the "rcdi" digest will imply the content of the "rcd" claims themselves.</t>

<t>The "permittedValues" for the "rcdi" claims (or "rcd" claims more generally) may contain multiple entries, to support the case where the certificate holder is authorized to use different sets of rich call data.</t>

</section>
</section>
<section anchor="crn_define"><name>PASSporT "crn" claim - Call Reason Definition and Usage</name>

<t>This document defines a new JSON Web Token claim for "crn", Call Reason, the value of which is a single string that can contain information as defined in <xref target="I-D.ietf-sipcore-callinfo-rcd"/> corresponding to the "call-reason" parameter for the Call-Info header. This claim is optional.</t>

<figure><artwork><![CDATA[
Example "crn" claim with "rcd":

"crn" : "For your ears only",
"rcd": { "nam": "James Bond",
         "jcl": "https://example.org/james_bond.json"}
]]></artwork></figure>

<section anchor="jwt-constraint-for-crn-claim"><name>JWT Constraint for "crn" claim</name>

<t>The integrity of the "crn" claim contents can optionally be protected by the authoritative certificate issuer using JWT Constraints in the certificate. When the signer of the PASSporT intends to always include a call reason string of any value, a "mustInclude" for the "crn" claim in the JWT Claim Constraints indicates that a "crn" claim must always be present and is RECOMMENDED to be included by the certificate issuer. If the signer of the "crn" claim wants to constrain the contents of "crn", then "permittedValues" for "crn" in JWT Claim Constraints should match the contents of the allowed strings and is RECOMMENDED to be included by the certificate issuer.</t>

</section>
</section>
<section anchor="rich-call-data-claims-usage-rules"><name>Rich Call Data Claims Usage Rules</name>

<t>The "rcd" or "crn" claims MAY appear in any PASSporT claims object as optional elements. The creator of a PASSporT MAY also add a PASSporT extension ("ppt") value, defined in <xref target="RFC8225"/> Section 8.1, of "rcd" to the header of a PASSporT as well, in which case the PASSporT claims MUST contain at least one or both an "rcd" or "crn" claim. Any entities verifying the PASSporT claims defined in this document are required to understand the PASSporT extension in order to process the PASSporT in question. An example PASSporT header with the PASSporT extension ("ppt") value of "rcd" included is shown as follows:</t>

<figure><artwork><![CDATA[
{ "typ":"passport",
  "ppt":"rcd",
  "alg":"ES256",
  "x5u":"https://www.example.com/cert.cer" }
]]></artwork></figure>

<t>The PASSporT claims object contains the "rcd" key with its corresponding value. The value of "rcd" is an array of JSON objects, of which one, the "nam" key and value, is mandatory.</t>

<t>After the header and claims PASSporT objects have been constructed, their signature is computed normally per the guidance in <xref target="RFC8225"/>.</t>

<section anchor="rcd_passport_verification"><name>"rcd" PASSporT Verification</name>

<t>A verifier that successfully verifies a PASSportT that contains an "rcd" claim MUST ensure the following about the PASSporT:</t>

<t><list style="symbols">
  <t>it has a valid signature per the verification procedures detailed in <xref target="RFC8225"/></t>
  <t>it abides by all rules set forth in the proper construction of the claims defined in <xref target="rcd_define"/> of this document</t>
  <t>it abides by JWT Claims Constraint rules defined in <xref target="RFC8226"/> Section 8 or extended in <xref target="RFC9118"/> if present in the certificate used to compute the signature in the PASSporT</t>
</list></t>

<t>In addition if the "iss" claim is included in the PASSPorT, verification should follow procedures described in <xref target="thirdsignverify"/>.</t>

<t>Consistent with the verification rules of PASSporTs more generally <xref target="RFC8225"/>, if any of the above criteria is not met, relying parties MUST NOT use any of the claims in the PASSporT.</t>

</section>
<section anchor="rcdi-integrity-verification"><name>"rcdi" Integrity Verification</name>

<t>When the "rcdi" claim exists, the verifier should verify the digest for each JSON pointer key.  Any digest string that doesn't match a generated digest MUST be considered a failure of the verification of the content referenced by the JSON pointer.</t>

<t>If there is any issue with completing the integrity verification procedures for referenced external content, including HTTP or HTTPS errors, the referenced content MUST be considered not verified.  This SHOULD NOT however impact the result of base PASSporT verification for claims content that is directly included in the claims of the PASSporT.</t>

<t>As a potential optimization of verification procedure, an entity that does not otherwise need to dereference a URI from the "rcd" claim for display to end-user is NOT RECOMMENDED to unnecessarily dereference the URI solely to perform integrity verification.</t>

</section>
<section anchor="example-rcd-passports"><name>Example "rcd" PASSporTs</name>

<t>An example of a "nam" only PASSporT claims object is shown next (with line breaks for readability only).</t>

<figure><artwork><![CDATA[
{  "orig":{"tn":"12025551000"},
   "dest":{"tn":["12025551001"]},
   "iat":1443208345,
   "rcd":{"nam":"James Bond"} }
]]></artwork></figure>

<t>An example of a "nam", "apn", and "icn" using an https URI PASSporT claims object is shown next (with line breaks for readability only). Note, in this example, there is no integrity protection over the "icn" element in the "rcd" claim.</t>

<figure><artwork><![CDATA[
{  "orig":{"tn":"12025551000"},
   "dest":{"tn":["12155551001"]},
   "iat":1443208345,
   "rcd":{
     "apn":"12025559990",
     "icn":"https://example.com/photos/quartermaster-256x256.png",
     "nam":"Her Majesty's Secret Service" } }
]]></artwork></figure>

<t>An example of a "nam", "apn", and "icn" using data URI PASSporT claims object is shown next (with line breaks for readability only). Note, in this example, the "icn" data is incorporated directly in the "rcd" claim and therefore separate integrity protection is not required.</t>

<figure><artwork><![CDATA[
{  "orig":{"tn":"12025551000"},
   "dest":{"tn":["12155551001"]},
   "iat":1443208345,
   "rcd":{
     "apn":"12025559990",
     "icn":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAY
       AAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OH
       wAAAABJRU5ErkJggg==",
     "nam":"Her Majesty's Secret Service" } }
]]></artwork></figure>

<t>An example of an "rcd" claims object that includes the "jcd" and also contains URI references to content which requires the inclusion of an "rcdi" claim and corresponding digests. Note, in this example, the "rcdi" claim includes integrity protection of the URI referenced content.</t>

<figure><artwork><![CDATA[
{
  "crn": "Rendezvous for Little Nellie",
  "orig": { "tn": "12025551000"},
  "dest": { "tn": ["12155551001"]},
  "iat": 1443208345,
  "rcd": {
    "jcd": ["vcard",
    [ ["version",{},"text","4.0"],
      ["fn",{},"text","Q Branch"],
      ["org",{},"text","MI6;Q Branch Spy Gadgets"],
      ["photo",{},"uri","https://example.com/photos/q-256x256.png"],
      ["logo",{},"uri","https://example.com/logos/mi6-256x256.jpg"],
      ["logo",{},"uri","https://example.com/logos/mi6-64x64.jpg"]
    ] ],
    "nam": "Q Branch Spy Gadgets"
  },
  "rcdi": {
   "/jcd/1/3/3":"sha256-RojgWwU6xUtI4q82+kHPyHm1JKbm7+663bMvzymhkl4",
   "/jcd/1/4/3":"sha256-jL4f47fF82LuwcrOrSyckA4SWrlElfARHkW6kYo1JdI",
   "/jcd/1/5/3":"sha256-GKNxxqlLRarbyBNh7hc/4lbZAdK6B0kMRf1AMRWPkSo"
  }
}
]]></artwork></figure>

<t>In an example PASSporT, where a jCard is linked via HTTPS URL using "jcl", a jCard file served at a particular URL.</t>

<t>An example jCard JSON file hosted at the example web address of https://example.com/qbranch.json is shown as follows:</t>

<figure><artwork><![CDATA[
["vcard",
  [ ["version",{},"text","4.0"],
    ["fn",{},"text","Q Branch"],
    ["org",{},"text","MI6;Q Branch Spy Gadgets"],
    ["photo",{},"uri","https://example.com/photos/q-256x256.png"],
    ["logo",{},"uri","https://example.com/logos/mi6-256x256.jpg"],
    ["logo",{},"uri","https://example.com/logos/mi6-64x64.jpg"]
  ]
]
]]></artwork></figure>

<t>For the above referenced jCard, the corresponding PASSporT claims object would be as follows:</t>

<figure><artwork><![CDATA[
{
  "crn": "Rendezvous for Little Nellie",
  "orig": {"tn": "12025551000"},
  "dest": {"tn": ["12155551001"]},
  "iat": 1443208345,
  "rcd": {
    "nam": "Q Branch Spy Gadgets",
    "jcl": "https://example.com/qbranch.json"
  },
  "rcdi": {
   "/jcl":"sha256-qCn4pEH6BJu7zXndLFuAP6DwlTv5fRmJ1AFkqftwnCs",
   "/jcl/1/3/3":"sha256-RojgWwU6xUtI4q82+kHPyHm1JKbm7+663bMvzymhkl4",
   "/jcl/1/4/3":"sha256-jL4f47fF82LuwcrOrSyckA4SWrlElfARHkW6kYo1JdI",
   "/jcl/1/5/3":"sha256-GKNxxqlLRarbyBNh7hc/4lbZAdK6B0kMRf1AMRWPkSo"
  }
}
]]></artwork></figure>

<t>An example "rcd" PASSporT that uses "nam" and "icn" keys with "rcdi" for calling name and referenced icon image content:</t>

<figure><artwork><![CDATA[
{
  "crn": "Rendezvous for Little Nellie",
  "orig": {"tn": "12025551000"},
  "dest": {"tn": ["12155551001"]},
  "iat": 1443208345,
  "rcd": {
    "nam": "Q Branch Spy Gadgets",
    "icn": "https://example.com/photos/q-256x256.png"
  },
  "rcdi": {
    "/nam": "sha256-sM275lTgzCte+LHOKHtU4SxG8shlOo6OS4ot8IJQImY",
    "/icn": "sha256-RojgWwU6xUtI4q82+kHPyHm1JKbm7+663bMvzymhkl4"
  }
}
]]></artwork></figure>

</section>
</section>
<section anchor="compact-form-of-rcd-passport"><name>Compact form of "rcd" PASSporT</name>

<section anchor="compact-form-of-the-rcd-passport-claim"><name>Compact form of the "rcd" PASSporT claim</name>

<t>The specific usage of compact form of an "rcd" PASSporT claim, defined in <xref target="RFC8225"/> Section 7, has some restrictions that will be enumerated below, but mainly follows standard PASSporT compact form procedures. Compact form only provides the signature from the PASSporT, requiring the re-construction of the other PASSporT claims from the SIP header fields as discussed in <xref target="RFC8224"/> Section 4.1.</t>

<t>The re-construction of the "nam" claim, if using SIP protocol, should use the display-name string in the From header field. For other protocols, if there is a display name field that exists, the string should be used, otherwise the string should be an empty string, e.g., "". "jcl" and "jcd" MUST NOT be used with compact form due to integrity rules and URI reference rules in this document leading to too restrictive of a set of constraints. Future specifications may revisit this to propose a consistent and comprehensive way of addressing integrity and security of information and to provide specific guidance for other protocol usage.</t>

</section>
<section anchor="compact-form-of-the-rcdi-passport-claim"><name>Compact form of the "rcdi" PASSporT claim</name>

<t>The use of compact form of a PASSporT using an "rcdi" claim is not supported, so if "rcdi" is required compact form MUST NOT be used.</t>

</section>
<section anchor="compact-form-of-the-crn-passport-claim"><name>Compact form of the "crn" PASSporT claim</name>

<t>Compact form of a "crn" PASSporT claim shall be re-constructed using the "call-reason" parameter of a Call-Info header as defined by <xref target="I-D.ietf-sipcore-callinfo-rcd"/>.</t>

</section>
</section>
<section anchor="parties"><name>Third-Party Uses</name>

<t>While rich data about the call can be provided by an originating authentication service, an intermediary in the call path could also acquire rich call data by querying a third-party service. Such a service effectively acts as a STIR Authentication Service, generating its own PASSporT, and that PASSporT could be attached to a call by either the originating or terminating side. This third-party PASSporT attests information about the calling number, rather than the call or caller itself, and as such its RCD MUST NOT be used when a call lacks a first-party PASSporT that assures verification services that the calling party number is not spoofed. It is intended to be used in cases when the originating side does not supply a display-name for the caller, so instead some entity in the call path invokes a third-party service to provide rich caller data for a call.</t>

<t>In telephone operations today, a third-party information service is commonly queried with the calling party's number in order to learn the name of the calling party, and potentially other helpful information could also be passed over that interface. The value of using a PASSporT to convey this information from third parties lies largely in the preservation of the third party's signature over the data, and the potential for the PASSporT to be conveyed from intermediaries to endpoint devices. Effectively, these use cases form a sub-case of out-of-band <xref target="RFC8816"/> use cases. The manner in which third-party services are discovered is outside the scope of this document.</t>

<t>An intermediary use case might look as follows using SIP protocol for this example: a SIP INVITE carries a display name in its From header field value and an initial PASSporT object without the "rcd" claim. When a terminating verification service implemented at a SIP proxy server receives this request, and determines that the signature is valid, it might query a third-party service that maps telephone numbers to calling party names. Upon receiving the PASSporT in a response from that third-party service, the terminating side could add a new Identity header field to the request for the PASSporT object provided by the third-party service. It would then forward the INVITE to the terminating user agent. If the display name in the PASSporT object matches, or is string equivelent to, the display name in the INVITE, then the name would presumably be rendered to the end user by the terminating user agent.</t>

<t>A very similar flow could be followed by an intermediary closer to the origination of the call. Presumably such a service could be implemented at an originating network in order to decouple the systems that sign for calling party numbers from the systems that provide rich data about calls.</t>

<t>In an alternative use case, the terminating user agent might query a third-party service. In this case, no new Identity header field would be generated, though the terminating user agent might receive a PASSporT object in return from the third-party service, and use the "rcd" field in the object as a calling name to render to users while alerting.</t>

<t>While in the traditional telephone network, the business relationship between calling customers and their telephone service providers is the ultimate root of information about a calling party's name, some other forms of data like crowdsourced reputation scores might derive from third parties. When those elements are present, they MUST be in a third-party "rcd" PASSporT using "iss" claim described in the next section.</t>

<section anchor="thirdsign"><name>Signing as a Third Party</name>

<t>A third-party PASSporT contains an "iss" element to distinguish its PASSporTs from first-party PASSporTs. Third-party "rcd" PASSporTs are signed with credentials that do not have authority over the identity that appears in the "orig" element of the PASSporT claims. The presence of "iss" signifies that a different category of credential is being used to sign a PASSporT than the <xref target="RFC8226"/> certificates used to sign STIR calls; it is instead a certificate that identifies the source of the "rcd" data. How those credentials are issued and managed is outside the scope of this document; the value of "iss" however MUST reflect the Subject of the certificate used to sign a third-party PASSporT. The explicit mechanism for reflecting the subject field of the certificate is out of scope of this document and left to the certificate governance policies that define how to map the "iss" value in the PASSporT to the subject field in the certificate. Relying parties in STIR have always been left to make their own authorization decisions about whether to trust the signers of PASSporTs, and in the third-party case, where an entity has explicitly queried a service to acquire the PASSporT object, it may be some external trust or business relationship that induces the relying party to trust a PASSporT.</t>

<t>An example of a Third Party issued PASSporT claims object is as follows.</t>

<figure><artwork><![CDATA[
{  "orig":{"tn":"12025551000"},
   "dest":{"tn":["12025551001"]},
   "iat":1443208345,
   "iss":"Zorin Industries",
   "rcd":{"nam":"James St. John Smythe"} }
]]></artwork></figure>

</section>
<section anchor="thirdsignverify"><name>Verification using Third Party RCD</name>

<t>The third-party "rcd" PASSporT cases must be considered in the verification service, as an attacker could attempt to cut-and-paste such a third-party PASSporT into a SIP request in an effort to get the terminating user agent to render the display name or confidence values it contains to a call that should have no such assurance. Following the rules of <xref target="RFC8225"/> and in particular if there is multiple identity headers, for example with the case of the inclusion of an "rcd" and "shaken" PASSporTs from two different signing providers, a verification service MUST determine that the calling party number shown in the "orig" of the "rcd" PASSporT corresponds to the calling party number of the call it has received, and that the "iat" field of the "rcd" PASSporT is within the date interval that the verification service would ordinarily accept for a PASSporT. It is possible that if there is multiple identity headers are present, only the verified identity information should be considered when presenting call information to an end user.</t>

<t>Verification services may alter their authorization policies for the credentials accepted to sign PASSporTs when third parties generate PASSporT objects, per <xref target="thirdsign"/>. This may include accepting a valid signature over a PASSporT even if it is signed with a credential that does not attest authority over the identity in the "orig" claim of the PASSporT, provided that the verification service has some other reason to trust the signer. No further guidance on verification service authorization policy is given here.</t>

</section>
</section>
<section anchor="loa"><name>Levels of Assurance</name>

<t>As "rcd" can be provided by either first party providers that are directly authorized to sign PASSporTs in the STIR eco-system or third party providers that are indirectly or delegated authority to sign PASSporTs. Relying parties could benefit from an additional claim that indicates the identification, in the form of a uniquely identifiable name, of the attesting party to the caller. Even in first party cases, the Communications Service Provider (CSP) to which a number was assigned might in turn delegate the number to a reseller, who would then sell the number to an enterprise, in which case the CSP might have little insight into the caller's name. In third party cases, a caller's name could be determined from any number of data sources, on a spectrum between public data scraped from web searches to a direct business relationship to the caller. As multiple PASSporTs can be associated with the same call, potentially a verification service could receive attestations of the caller name from multiple sources, which have different levels of granularity or accuracy. Therefore, third-party PASSporTs that carry "rcd" data MUST also carry an indication of the relationship of the generator of the PASSporT to the caller in the form of the "iss" claim. As stated in the previous section, the use of "iss" MUST reflect the subject field of the certificate used to sign a third-party PASSporT to represent that relationship.</t>

</section>
<section anchor="use"><name>Use of "rcd" PASSporTs in SIP</name>

<t>This section documents SIP-specific usage for "rcd" PASSporTs and in the SIP Identity header field value. Other using protocols of PASSporT may define their own usages for the "rcd" PASSporTs.</t>

<section anchor="authentication-service-behavior-for-sip-protocol"><name>Authentication Service Behavior for SIP protocol</name>

<t>An authentication service creating a PASSporT containing an "rcd" claim MAY include a PASSporT extension ("ppt" value) of "rcd" or not. Third-party authentication services following the behavior in <xref target="thirdsign"/> MUST include a PASSporT extension value of "rcd". If PASSporT extension does contain an "rcd", then any SIP authentication services MUST add a PASSporT extension "ppt" parameter to the Identity header field containing that PASSporT with a value of "rcd". The resulting Identity header field might look as follows:</t>

<figure><artwork><![CDATA[
Identity: sv5CTo05KqpSmtHt3dcEiO/1CWTSZtnG3iV+1nmurLXV/HmtyNS7Ltrg9
       dlxkWzoeU7d7OV8HweTTDobV3itTmgPwCFjaEmMyEI3d7SyN21yNDo2ER/Ovgt
       w0Lu5csIppPqOg1uXndzHbG7mR6Rl9BnUhHufVRbp51Mn3w0gfUs=;
       info=<https://biloxi.example.org/biloxi.cer>;alg=ES256;
       ppt="rcd"
]]></artwork></figure>

<t>This document assumes that by default when using the SIP protocol, an authentication service determines the value of "rcd", specifically only for the "nam" key value, from the display-name component of the From header field value of the request, alternatively for some calls this may come from the P-Asserted-ID header. It is however a matter of authentication service policy to decide how it populates the value of "nam" key, which MAY also match or be determined by other fields in the request, from customer profile data, or from access to external services. If the authentication service generates an "rcd" claim containing "nam" with a value that is not string equivalent to the From header field display-name value, it MUST use the full form of the PASSporT object in SIP.</t>

<t>In addition, {I-D.ietf-sipcore-callinfo-rcd}} defines a Call-Info header field that MAY be used as a source of RCD information that an authentication services uses to construct the appropriate PASSporT RCD claim types used.</t>

<t>Note also that, as a best practice, the accuracy and legitimacy of Rich Call Data information that is included in the claims is RECOMMENDED to follow a trust framework that is out of scope of this document. As with telephone numbers for the STIR framework the authentication of Rich Call Data should follow some type of vetting process by an entity that is authoritative over determining the accuracy and legitimacy of that information. This includes the mechanisms for how and from whom that information is received by the authentication service. For example, the general use of Call-Info via SIP as a trusted source of RCD information on the authentication side is NOT RECOMMENDED.</t>

</section>
<section anchor="verification-service-behavior-for-sip-protocol"><name>Verification Service Behavior for SIP protocol</name>

<t><xref target="RFC8224"/> Section 6.2 Step 5 requires that future specifications defining PASSporT extension ("ppt") values describe any additional verifier behavior specific to the SIP protocol. The general verification proceedures defined in <xref target="rcd_passport_verification"/>
should be followed, but the following paragraphs describe some of the specifics needed to implement a verification service using the SIP protocol.</t>

<t>If the PASSporT is in compact form, then the verification service MUST extract the display-name from the From header field value, if any, and MUST use that as the string value for the "nam" key when it recomputes the header and claims of the PASSporT object. Additionally, if there exists a Call-Info header field as defined in <xref target="I-D.ietf-sipcore-callinfo-rcd"/>, the "jcard" JSON object value MUST be used to construct the "jcd" key value when it recomputes the header and claims of the PASSporT object. If the signature validates over the recomputed object, then the verification is considered successful.</t>

<t>If the PASSporT is in full form with a PASSporT extension value of "rcd", then the verification service MUST extract the value associated with the "rcd" claim "nam" key in the object. If the PASSporT signature is verified successfully then the verification service MUST additionally compare the string value of the "rcd" claim "nam" key value with the From header field value or the preferred value.  The preferred value depends on local policy of the SIP network technique that conveys the display name string through a field other than the From header field to interoperate with this specification (e.g. P-Asserted-Identity) as discussed in <xref target="RFC8224"/>. Similarly, "jcd" or "jcl" jcard information, "icn", "apn", or "crn" can be optionally, based on local policy for devices that support it, used to populate a Call-Info header field following the format of <xref target="I-D.ietf-sipcore-callinfo-rcd"/>. If future defined PASSporT RCD claims types are present, they should follow similar defined proceedures and policies.</t>

<t>The behavior of a SIP UAS upon receiving an INVITE or other type of session initiation request containing a PASSporT object with an "rcd" claim largely remains a matter of implementation policy. In most cases, implementations would render this calling party name information to the user while alerting. Any user interface additions to express confidence in the veracity of this information are outside the scope of this specification.</t>

</section>
</section>
<section anchor="using-rcd-rcdi-crn-as-additional-claims-to-other-passport-extensions"><name>Using "rcd", "rcdi", "crn" as additional claims to other PASSporT extensions</name>

<t>Rich Call Data, including calling name information, as a common example, is often data that is additive to the personal communications information defined in the core PASSporT data required to support the security properties defined in <xref target="RFC8225"/>. For cases where the entity originating the personal communications is supporting the authentication service for the calling identity and is the authority of the Rich Call Data, rather than creating multiple Identity header fields corresponding to multiple PASSporT extensions, the authentication service can alternatively directly add the "rcd" claim to a PASSporT that authenticates the calling identity.</t>

<section anchor="procedures-for-applying-rcd-claims-as-claims-only"><name>Procedures for applying RCD claims as claims only</name>

<t>For a given PASSporT using some other extension than "rcd", the Authentication Service MAY additionally include the "rcd" defined in {#rcd_define}, "rcdi" defined in {#rcdi_define}, and "crn" defined in {#crn_define} claims. This would result in a set of claims that correspond to the original intended extension with the addition of the "rcd" claim.</t>

<t>The Verification service that receives the PASSporT, if it supports this specification and chooses to, should interpret the "rcd" claim as simply just an additional claim intended to deliver and/or validate delivered Rich Call Data.</t>

</section>
<section anchor="example-for-applying-rcd-claims-as-claims-only"><name>Example for applying RCD claims as claims only</name>

<t>In the case of <xref target="RFC8588"/> which is the PASSporT extension supporting the SHAKEN specification <xref target="ATIS-1000074.v002"/>, a common case for an Authentication service to co-exist in a CSP network along with the authority over the calling name used for the call. Rather than require two identity headers, the CSP Authentication Service can apply both the SHAKEN PASSporT claims and extension and simply add the "rcd" required claims defined in this document.</t>

<t>For example, the PASSporT claims for the "shaken" PASSporT with "rcd" claims would be as follows:</t>

<figure><artwork><![CDATA[
Protected Header
{
   "alg":"ES256",
   "typ":"passport",
   "ppt":"shaken",
   "x5u":"https://cert.example.org/passport.cer"
}
Payload
{
   "attest":"A",
   "dest":{"tn":["12025551001"]},
   "iat":1443208345,
   "orig":{"tn":"12025551000"},
   "origid":"123e4567-e89b-12d3-a456-426655440000",
   "rcd":{"nam":"James Bond"}
}
]]></artwork></figure>

<t>A Verification Service that understands and supports claims defined in the "rcd" and "shaken" PASSporT extensions is able to receive the above PASSporT and interpret both the "shaken" claims as well as the "rcd" defined claims.</t>

<t>If the Verification Service only understands the "shaken" PASSporT extension claims and doesn't support "rcd" PASSporT extension or claims, then the "rcd" claim, in this example, is used during PASSporT signature validation but is otherwise ignored and disregarded.</t>

</section>
</section>
<section anchor="extend"><name>Further Information Associated with Callers</name>

<t>Beyond naming information and the information that can be contained in a jCard <xref target="RFC7095"/> object, there may be additional human-readable information about the calling party that should be rendered to the end user in order to help the called party decide whether or not to pick up the phone. This is not limited to information about the caller, but includes information about the call itself, which may derive from analytics that determine based on call patterns or similar data if the call is likely to be one the called party wants to receive. Such data could include:</t>

<t><list style="symbols">
  <t>information related to the location of the caller, or</t>
  <t>any organizations or institutions that the caller is associated with, or even categories of institutions (is this a government agency, or a bank, or what have you), or</t>
  <t>hyperlinks to images, such as logos or pictures of faces, or to similar external profile information, or</t>
  <t>information processed by an application before rendering it to a user, like social networking data that shows that an unknown caller is a friend-of-a-friend, or reputation scores derived from crowdsourcing, or confidence scores based on broader analytics about the caller and callee.</t>
</list></t>

<t>All of these data elements would benefit from the secure attestations provided by the STIR and PASSporT frameworks. A new IANA registry has been defined to hold potential values of the "rcd" array; see <xref target="rcdtypes"/>. Specific extensions to the "rcd" PASSporT claim are left for future specification.</t>

<t>There is a few ways RCD can be extended in the future, jCard is an extensible object and the key/values in the RCD claim object can also be extended. General guidance for future extensibility that were followed by the authors is that jCard generally should refer to data that references the caller as an individual or entity, where other claims, such as "crn" refer to data regarding the specific call. There may be other considerations discovered in the future, but this logical grouping of data to the extent possible should be followed for future extensibility.</t>

</section>
<section anchor="acknowledgements"><name>Acknowledgements</name>

<t>We would like to thank David Hancock, Robert Sparks, Russ Housley, Eric Burger, Alec Fenichel, Ben Campbell, Jack Rickard, Jordan Simpson for helpful suggestions, review, and comments.</t>

</section>
<section anchor="IANA"><name>IANA Considerations</name>

<section anchor="json-web-token-claim"><name>JSON Web Token Claim</name>

<t>This document requests that the IANA add three new claims to the JSON Web Token Claims registry as defined in <xref target="RFC7519"/>.</t>

<t>Claim Name: "rcd"</t>

<t>Claim Description: Rich Call Data Information</t>

<t>Change Controller: IESG</t>

<t>Specification Document(s): [RFCThis]</t>

<t>Claim Name: "rcdi"</t>

<t>Claim Description: Rich Call Data Integrity Information</t>

<t>Change Controller: IESG</t>

<t>Specification Document(s): [RFCThis]</t>

<t>Claim Name: "crn"</t>

<t>Claim Description: Call Reason</t>

<t>Change Controller: IESG</t>

<t>Specification Document(s): [RFCThis]</t>

</section>
<section anchor="personal-assertion-token-passport-extensions"><name>Personal Assertion Token (PASSporT) Extensions</name>

<t>This document requests that the IANA add a new entry to the Personal Assertion Token (PASSporT) Extensions registry for the type "rcd" which is specified in [RFCThis].</t>

</section>
<section anchor="rcdtypes"><name>PASSporT RCD Claim Types</name>

<t>This document requests that the IANA create a new registry for PASSporT RCD claim types. This new registry should be added to the "Personal Assertion Token (PASSporT)" group. Registration of new PASSporT RCD claim types shall be under the Specification Required policy.</t>

<t>This registry is to be initially populated with five claim name values, "nam", "apn", "icn", "jcd", and "jcl", which are specified in [RFCThis]. This is a two column registry with column1 = "Name" and column2 = "Reference Document". Any new registrations should consist of only of the name and the reference document. There is an obligation for expert review, where the designated expert should validate that the proposed new PASSporT RCD claim type has a scope that doesn't potentially conflict or overlap with the usage or interpretation of the other existing types in the registry.</t>

</section>
</section>
<section anchor="Security"><name>Security Considerations</name>

<t>The process of signing information contained in a "rcd" PASSporT, whether the identities, identifiers, alternate identities or identifiers, images, logos, physical addresses, or otherwise should follow some vetting process in which an authoritative entity should follow an appropriate consistent policy defined and governed by the eco-system using RCD and the STIR framework. This can be of many forms, depending on the setup and constraints of the policy requirements of the eco-system and is therefore out-of-scope of this document. However, the general chain of trust that signers of "rcd" PASSporT are either directly authoritative or have been delegated authority through certificates using JWT Claim Constraints and integrity mechanisms defined in this and related documents is critical to maintain the integrity of the eco-system utilizing this and other STIR related specifications.</t>

<t>Revealing information such as the name, location, and affiliation of a person necessarily entails certain privacy risks. Baseline PASSporT has no particular confidentiality requirement, as the information it signs in many current base communications protocols, for example SIP, is information that carried in the clear anyway. Transport-level security can hide those SIP fields from eavesdroppers, and the same confidentiality mechanisms would protect any PASSporT(s) carried in SIP.</t>

<t>The dereferencing and download of any RCD URI linked resources as part of verification either in-network or on device could provide some level of information about calling patterns, so this should be considered when making these resources available.</t>

<t>The use of JWTClaimConstraints, a mechanism defined in <xref target="RFC8226"/> and extended in <xref target="RFC9118"/> to constrain any of the RCD information in the public certificate by including that information in the certificate, depending on the availability in the deployment of the PKI system, may present a privacy issue. The use of "rcdi" claim and digests for representing JWT claim contents is RECOMMENDED for the prevention of the exposure of that information through the certificates which are often publically accessible and available.</t>

<t>Since computation of "rcdi" digests for URIs requires the loading of referenced content, it would be best practice to validate that content at the creation of the "rcdi" or corresponding JWT claim constraint value by checking for content that may cause issues for verification services or that doesn't follow the behavior defined in this document, e.g., unreasonably sized data, the inclusion of recursive URI references, etc. Along the same lines, the verification service should also use precautionary best practices to avoid attacks when accessing URI linked content.</t>

<t>As general guidance, the use of URLs and URIs that reference potentially dangerous or intentionally harmful content should be considered in implimenting this specification.  <xref target="RFC3986"/> Section 7 contains good additional guidance to consider when communicating or dereferencing URLs and URIs.</t>

<section anchor="the-use-of-jwt-claim-constraints-in-delegate-certificates-to-exclude-unauthorized-claims"><name>The use of JWT Claim Constraints in delegate certificates to exclude unauthorized claims</name>

<t>While this can apply to any PASSporT that is signed with a STIR Delegate Certificates <xref target="RFC9060"/>, it is important to note that when constraining PASSporTs to include specific claims or contents of claims, it is also important to consider potential attacks by non-authorized signers that may include other potential PASSporT claims that weren't originally vetted by the authorized entity providing the delegate certificate. The use of JWT claims constraints as defined in <xref target="RFC9118"/> for preventing the ability to include claims beyond the claims defined in this document may need to be considered.</t>

</section>
</section>


  </middle>

  <back>


    <references title='Normative References'>




<reference anchor='I-D.ietf-sipcore-callinfo-rcd' target='https://datatracker.ietf.org/doc/html/draft-ietf-sipcore-callinfo-rcd-04'>
   <front>
      <title>SIP Call-Info Parameters for Rich Call Data</title>
      <author fullname='Chris Wendt' initials='C.' surname='Wendt'>
         <organization>Somos Inc.</organization>
      </author>
      <author fullname='Jon Peterson' initials='J.' surname='Peterson'>
         <organization>Neustar Inc.</organization>
      </author>
      <date day='7' month='March' year='2022'/>
      <abstract>
	 <t>   This document describes a SIP Call-Info header field usage defined to
   include rich data associated with the identity of the calling party
   that can be rendered to a called party for providing more useful
   information about the caller or the specific reason for the call.
   This includes extended comprehensive information about the caller
   such as what a jCard object can represent for describing the calling
   party or other call specific information such as describing the
   reason or intent of the call.  The elements defined for this purpose
   are intended to be extensible to accommodate related information
   about calls that helps people decide whether to pick up the phone and
   additionally, with the use of jCard and other elements, to be
   compatible with the STIR/PASSporT Rich Call Data framework.

	 </t>
      </abstract>
   </front>
   <seriesInfo name='Internet-Draft' value='draft-ietf-sipcore-callinfo-rcd-04'/>
   
</reference>



<reference anchor='RFC3261' target='https://www.rfc-editor.org/info/rfc3261'>
<front>
<title>SIP: Session Initiation Protocol</title>
<author fullname='J. Rosenberg' initials='J.' surname='Rosenberg'><organization/></author>
<author fullname='H. Schulzrinne' initials='H.' surname='Schulzrinne'><organization/></author>
<author fullname='G. Camarillo' initials='G.' surname='Camarillo'><organization/></author>
<author fullname='A. Johnston' initials='A.' surname='Johnston'><organization/></author>
<author fullname='J. Peterson' initials='J.' surname='Peterson'><organization/></author>
<author fullname='R. Sparks' initials='R.' surname='Sparks'><organization/></author>
<author fullname='M. Handley' initials='M.' surname='Handley'><organization/></author>
<author fullname='E. Schooler' initials='E.' surname='Schooler'><organization/></author>
<date month='June' year='2002'/>
<abstract><t>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='RFC3986' target='https://www.rfc-editor.org/info/rfc3986'>
<front>
<title>Uniform Resource Identifier (URI): Generic Syntax</title>
<author fullname='T. Berners-Lee' initials='T.' surname='Berners-Lee'><organization/></author>
<author fullname='R. Fielding' initials='R.' surname='Fielding'><organization/></author>
<author fullname='L. Masinter' initials='L.' surname='Masinter'><organization/></author>
<date month='January' year='2005'/>
<abstract><t>A Uniform Resource Identifier (URI) is a compact sequence of characters that identifies an abstract or physical resource.  This specification defines the generic URI syntax and a process for resolving URI references that might be in relative form, along with guidelines and security considerations for the use of URIs on the Internet.  The URI syntax defines a grammar that is a superset of all valid URIs, allowing an implementation to parse the common components of a URI reference without knowing the scheme-specific requirements of every possible identifier.  This specification does not define a generative grammar for URIs; that task is performed by the individual specifications of each URI scheme.  [STANDARDS-TRACK]</t></abstract>
</front>
<seriesInfo name='STD' value='66'/>
<seriesInfo name='RFC' value='3986'/>
<seriesInfo name='DOI' value='10.17487/RFC3986'/>
</reference>



<reference anchor='RFC4648' target='https://www.rfc-editor.org/info/rfc4648'>
<front>
<title>The Base16, Base32, and Base64 Data Encodings</title>
<author fullname='S. Josefsson' initials='S.' surname='Josefsson'><organization/></author>
<date month='October' year='2006'/>
<abstract><t>This document describes the commonly used base 64, base 32, and base 16 encoding schemes.  It also discusses the use of line-feeds in encoded data, use of padding in encoded data, use of non-alphabet characters in encoded data, use of different encoding alphabets, and canonical encodings.  [STANDARDS-TRACK]</t></abstract>
</front>
<seriesInfo name='RFC' value='4648'/>
<seriesInfo name='DOI' value='10.17487/RFC4648'/>
</reference>



<reference anchor='RFC6234' target='https://www.rfc-editor.org/info/rfc6234'>
<front>
<title>US Secure Hash Algorithms (SHA and SHA-based HMAC and HKDF)</title>
<author fullname='D. Eastlake 3rd' initials='D.' surname='Eastlake 3rd'><organization/></author>
<author fullname='T. Hansen' initials='T.' surname='Hansen'><organization/></author>
<date month='May' year='2011'/>
<abstract><t>Federal Information Processing Standard, FIPS</t></abstract>
</front>
<seriesInfo name='RFC' value='6234'/>
<seriesInfo name='DOI' value='10.17487/RFC6234'/>
</reference>



<reference anchor='RFC6901' target='https://www.rfc-editor.org/info/rfc6901'>
<front>
<title>JavaScript Object Notation (JSON) Pointer</title>
<author fullname='P. Bryan' initials='P.' role='editor' surname='Bryan'><organization/></author>
<author fullname='K. Zyp' initials='K.' surname='Zyp'><organization/></author>
<author fullname='M. Nottingham' initials='M.' role='editor' surname='Nottingham'><organization/></author>
<date month='April' year='2013'/>
<abstract><t>JSON Pointer defines a string syntax for identifying a specific value within a JavaScript Object Notation (JSON) document.</t></abstract>
</front>
<seriesInfo name='RFC' value='6901'/>
<seriesInfo name='DOI' value='10.17487/RFC6901'/>
</reference>



<reference anchor='RFC7095' target='https://www.rfc-editor.org/info/rfc7095'>
<front>
<title>jCard: The JSON Format for vCard</title>
<author fullname='P. Kewisch' initials='P.' surname='Kewisch'><organization/></author>
<date month='January' year='2014'/>
<abstract><t>This specification defines &quot;jCard&quot;, a JSON format for vCard data. The vCard data format is a text format for representing and exchanging information about individuals and other entities, for example, telephone numbers, email addresses, structured names, and delivery addresses.  JSON is a lightweight, text-based, language- independent data interchange format commonly used in Internet applications.</t></abstract>
</front>
<seriesInfo name='RFC' value='7095'/>
<seriesInfo name='DOI' value='10.17487/RFC7095'/>
</reference>



<reference anchor='RFC7519' target='https://www.rfc-editor.org/info/rfc7519'>
<front>
<title>JSON Web Token (JWT)</title>
<author fullname='M. Jones' initials='M.' surname='Jones'><organization/></author>
<author fullname='J. Bradley' initials='J.' surname='Bradley'><organization/></author>
<author fullname='N. Sakimura' initials='N.' surname='Sakimura'><organization/></author>
<date month='May' year='2015'/>
<abstract><t>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='RFC8224' target='https://www.rfc-editor.org/info/rfc8224'>
<front>
<title>Authenticated Identity Management in the Session Initiation Protocol (SIP)</title>
<author fullname='J. Peterson' initials='J.' surname='Peterson'><organization/></author>
<author fullname='C. Jennings' initials='C.' surname='Jennings'><organization/></author>
<author fullname='E. Rescorla' initials='E.' surname='Rescorla'><organization/></author>
<author fullname='C. Wendt' initials='C.' surname='Wendt'><organization/></author>
<date month='February' year='2018'/>
<abstract><t>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>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'>
<front>
<title>PASSporT: Personal Assertion Token</title>
<author fullname='C. Wendt' initials='C.' surname='Wendt'><organization/></author>
<author fullname='J. Peterson' initials='J.' surname='Peterson'><organization/></author>
<date month='February' year='2018'/>
<abstract><t>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'>
<front>
<title>Secure Telephone Identity Credentials: Certificates</title>
<author fullname='J. Peterson' initials='J.' surname='Peterson'><organization/></author>
<author fullname='S. Turner' initials='S.' surname='Turner'><organization/></author>
<date month='February' year='2018'/>
<abstract><t>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='RFC8259' target='https://www.rfc-editor.org/info/rfc8259'>
<front>
<title>The JavaScript Object Notation (JSON) Data Interchange Format</title>
<author fullname='T. Bray' initials='T.' role='editor' surname='Bray'><organization/></author>
<date month='December' year='2017'/>
<abstract><t>JavaScript Object Notation (JSON) is a lightweight, text-based, language-independent data interchange format.  It was derived from the ECMAScript Programming Language Standard.  JSON defines a small set of formatting rules for the portable representation of structured data.</t><t>This document removes inconsistencies with other specifications of JSON, repairs specification errors, and offers experience-based interoperability guidance.</t></abstract>
</front>
<seriesInfo name='STD' value='90'/>
<seriesInfo name='RFC' value='8259'/>
<seriesInfo name='DOI' value='10.17487/RFC8259'/>
</reference>



<reference anchor='RFC8588' target='https://www.rfc-editor.org/info/rfc8588'>
<front>
<title>Personal Assertion Token (PaSSporT) Extension for Signature-based Handling of Asserted information using toKENs (SHAKEN)</title>
<author fullname='C. Wendt' initials='C.' surname='Wendt'><organization/></author>
<author fullname='M. Barnes' initials='M.' surname='Barnes'><organization/></author>
<date month='May' year='2019'/>
<abstract><t>This document extends the Personal Assertion Token (PASSporT), which is a token object that conveys cryptographically signed information about the participants involved in communications.  The extension is defined based on the &quot;Signature-based Handling of Asserted                                     information using toKENs (SHAKEN)&quot; specification by the ATIS/SIP Forum IP-NNI Task Group.  It provides both (1) a specific set of levels of confidence in the correctness of the originating identity of a call originated in a SIP-based telephone network as well as (2) an identifier that allows the Service Provider (SP) to uniquely identify the origin of the call within its network.</t></abstract>
</front>
<seriesInfo name='RFC' value='8588'/>
<seriesInfo name='DOI' value='10.17487/RFC8588'/>
</reference>



<reference anchor='RFC9060' target='https://www.rfc-editor.org/info/rfc9060'>
<front>
<title>Secure Telephone Identity Revisited (STIR) Certificate Delegation</title>
<author fullname='J. Peterson' initials='J.' surname='Peterson'><organization/></author>
<date month='September' year='2021'/>
<abstract><t>The Secure Telephone Identity Revisited (STIR) certificate profile provides a way to attest authority over telephone numbers and related identifiers for the purpose of preventing telephone number spoofing. This specification details how that authority can be delegated from a parent certificate to a subordinate certificate. This supports a number of use cases, including those where service providers grant credentials to enterprises or other customers capable of signing calls with STIR.</t></abstract>
</front>
<seriesInfo name='RFC' value='9060'/>
<seriesInfo name='DOI' value='10.17487/RFC9060'/>
</reference>



<reference anchor='RFC9118' target='https://www.rfc-editor.org/info/rfc9118'>
<front>
<title>Enhanced JSON Web Token (JWT) Claim Constraints for Secure Telephone Identity Revisited (STIR) Certificates</title>
<author fullname='R. Housley' initials='R.' surname='Housley'><organization/></author>
<date month='August' year='2021'/>
<abstract><t>RFC 8226 specifies the use of certificates for Secure Telephone Identity Credentials; these certificates are often called &quot;Secure Telephone Identity Revisited (STIR) Certificates&quot;. RFC 8226 provides a certificate extension to constrain the JSON Web Token (JWT) claims that can be included in the Personal Assertion Token (PASSporT), as defined in RFC 8225.  If the PASSporT signer includes a JWT claim outside the constraint boundaries, then the PASSporT recipient will reject the entire PASSporT. This document updates RFC 8226; it provides all of the capabilities available in the original certificate extension as well as an additional way to constrain the allowable JWT claims.  The enhanced extension can also provide a list of claims that are not allowed to be included in the PASSporT.</t></abstract>
</front>
<seriesInfo name='RFC' value='9118'/>
<seriesInfo name='DOI' value='10.17487/RFC9118'/>
</reference>



<reference anchor='RFC2119' target='https://www.rfc-editor.org/info/rfc2119'>
<front>
<title>Key words for use in RFCs to Indicate Requirement Levels</title>
<author fullname='S. Bradner' initials='S.' surname='Bradner'><organization/></author>
<date month='March' year='1997'/>
<abstract><t>In many standards track documents several words are used to signify the requirements in the specification.  These words are often capitalized. This document defines these words as they should be interpreted in IETF documents.  This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t></abstract>
</front>
<seriesInfo name='BCP' value='14'/>
<seriesInfo name='RFC' value='2119'/>
<seriesInfo name='DOI' value='10.17487/RFC2119'/>
</reference>



<reference anchor='RFC8174' target='https://www.rfc-editor.org/info/rfc8174'>
<front>
<title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
<author fullname='B. Leiba' initials='B.' surname='Leiba'><organization/></author>
<date month='May' year='2017'/>
<abstract><t>RFC 2119 specifies common key words that may be used in protocol  specifications.  This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the  defined special meanings.</t></abstract>
</front>
<seriesInfo name='BCP' value='14'/>
<seriesInfo name='RFC' value='8174'/>
<seriesInfo name='DOI' value='10.17487/RFC8174'/>
</reference>




    </references>

    <references title='Informative References'>





<reference anchor='RFC1321' target='https://www.rfc-editor.org/info/rfc1321'>
<front>
<title>The MD5 Message-Digest Algorithm</title>
<author fullname='R. Rivest' initials='R.' surname='Rivest'><organization/></author>
<date month='April' year='1992'/>
<abstract><t>This document describes the MD5 message-digest algorithm. The algorithm takes as input a message of arbitrary length and produces as output a 128-bit &quot;fingerprint&quot; or &quot;message digest&quot; of the input.  This memo provides information for the Internet community.  It does not specify an Internet standard.</t></abstract>
</front>
<seriesInfo name='RFC' value='1321'/>
<seriesInfo name='DOI' value='10.17487/RFC1321'/>
</reference>



<reference anchor='RFC3174' target='https://www.rfc-editor.org/info/rfc3174'>
<front>
<title>US Secure Hash Algorithm 1 (SHA1)</title>
<author fullname='D. Eastlake 3rd' initials='D.' surname='Eastlake 3rd'><organization/></author>
<author fullname='P. Jones' initials='P.' surname='Jones'><organization/></author>
<date month='September' year='2001'/>
<abstract><t>The purpose of this document is to make the SHA-1 (Secure Hash Algorithm 1) hash algorithm conveniently available to the Internet community. This memo provides information for the Internet community.</t></abstract>
</front>
<seriesInfo name='RFC' value='3174'/>
<seriesInfo name='DOI' value='10.17487/RFC3174'/>
</reference>



<reference anchor='RFC3325' target='https://www.rfc-editor.org/info/rfc3325'>
<front>
<title>Private Extensions to the Session Initiation Protocol (SIP) for Asserted Identity within Trusted Networks</title>
<author fullname='C. Jennings' initials='C.' surname='Jennings'><organization/></author>
<author fullname='J. Peterson' initials='J.' surname='Peterson'><organization/></author>
<author fullname='M. Watson' initials='M.' surname='Watson'><organization/></author>
<date month='November' year='2002'/>
</front>
<seriesInfo name='RFC' value='3325'/>
<seriesInfo name='DOI' value='10.17487/RFC3325'/>
</reference>



<reference anchor='RFC7340' target='https://www.rfc-editor.org/info/rfc7340'>
<front>
<title>Secure Telephone Identity Problem Statement and Requirements</title>
<author fullname='J. Peterson' initials='J.' surname='Peterson'><organization/></author>
<author fullname='H. Schulzrinne' initials='H.' surname='Schulzrinne'><organization/></author>
<author fullname='H. Tschofenig' initials='H.' surname='Tschofenig'><organization/></author>
<date month='September' year='2014'/>
<abstract><t>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='RFC8816' target='https://www.rfc-editor.org/info/rfc8816'>
<front>
<title>Secure Telephone Identity Revisited (STIR) Out-of-Band Architecture and Use Cases</title>
<author fullname='E. Rescorla' initials='E.' surname='Rescorla'><organization/></author>
<author fullname='J. Peterson' initials='J.' surname='Peterson'><organization/></author>
<date month='February' year='2021'/>
<abstract><t>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>


<reference anchor="ATIS-1000074.v002" >
  <front>
    <title>Signature-based Handling of Asserted information using toKENs (SHAKEN) &lt;https://access.atis.org/apps/group_public/download.php/62391/ATIS-1000074.v002.pdf&gt;</title>
    <author >
      <organization>ATIS/SIP Forum NNI Task Group</organization>
    </author>
    <date year="2021" month="November"/>
  </front>
</reference>
<reference anchor="W3C-SubresourceIntegrity" >
  <front>
    <title>Subresource Integrity &lt;https://www.w3.org/TR/SRI/&gt;</title>
    <author >
      <organization>W3C</organization>
    </author>
    <date year="2016" month="June" day="23"/>
  </front>
</reference>


    </references>



  </back>

<!-- ##markdown-source:
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
xHSXTYVKiRnC6eQB9PztA3XKp8zb+yeugZZ+m3xIqU2136mvk2iSiJu9gprZ
iMOIuFkYui75q0mV/6kWYSZ2WXjO96UBokH9rClcKVNmvyuLZLMf2S4OAwxs
gV2EJQk+fMCSFuLTARR2m277NKwm3jZzedM+RW3D41zHJCnLohRAbyr1EEIB
kUOzDij+HJbvWx97C8BiGTvHJoankxEZxRVvhbSbIWM4o1GY+tzV6cGmXVVN
3QBhe8xVPDUWBOW7hcbVU0XNLjBSC4HEtKxFJKH9UmzJTVolVISSs7W8JZqD
lTt7+lHIkxaLLFxaOu6q0RGapSRrTLNT4LgUhVdkmCuEMhLbFzfgBl+9UxOG
aJrGAHi8+MSRI8TTybi6QdhwkhGln90jLDVpDoKA8UT9PjjW/abG/AkEISwc
2Tv61KtzkId293b2Dg8Pd3d2dnqfSentATms9fefzQO7vV/kiTSGB3YPDvb3
dh7tHxzyl6RMf2JV2mrSn1sSVefeXdobGRopDE3y/XP2XhP0vypsIjS99Z3o
7CyvtSm63VkrwoWPBTH3HSVmvgb4dw9/A/jZakGQdIM/fvx4R+0ZtOCj3+cV
1yH4hJ9jvaT4PSx2/acKxYISZBdJwAIh+g8eOnlP/ycPXGbXSMCgI6yhfp0+
K++8cOU3vqTLzP9W5EAYHFH2wjYc+7ecIdxPf3zy5vxm54fvZ8Ux/Pf64t38
9N0MP77Df56dHP9NTWbw58nr0XqU4Q/PT7PTv/z4l7PdvbcH29uPtm/2H31/
dvzXp2dPfjjdefr8wyx7//rJ8fGbx5d/fbnzt4M3z3WUG3z7yYvzd4en5dWL
2Wz23XdfFwXDGmxhqRubx+Rrj5LNwakW7dIhyjZZX5Nz1qQs0zaj6YnmfGqr
K4or7naM7Qxt7yZYHRk6TsRAbh0iIqrLaI84inrnKOB/vMYew3inXqZ1DeB7
nWRZmrBezSiLVtSa3mhhrSCte6ILbxltoxBvTWjd/xWpHLeS1S/M2vgqyRq/
NUcjkqFuj0mMos96KhqXGCYM/N64wjBh4PfGFYYJA18tX+AstwVqvI9TGxm4
OrQSHoCOfV+gkLmZ1P3RhyknjEoOUhpz0C8bXhoGlMpkcdF786KqffqzPoVF
DEFLLqW5653hfl9gZvvfGNX3m2/YV7hff+x2tYP21PvOSn8zdlR7i1lmsEEG
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
AQA=

-->

</rfc>

