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

<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
]>

<?rfc toc="yes"?>
<?rfc sortrefs="yes"?>
<?rfc symrefs="yes"?>

<rfc ipr="trust200902" docName="draft-ietf-stir-passport-rcd-12" category="std">

  <front>
    <title abbrev="RCD">PASSporT Extension for Rich Call Data</title>

    <author initials="C." surname="Wendt" fullname="Chris Wendt">
      <organization>Comcast</organization>
      <address>
        <postal>
          <street>Comcast Technology Center</street>
          <city>Philadelphia, PA  19103</city>
          <country>USA</country>
        </postal>
        <email>chris-ietf@chriswendt.net</email>
      </address>
    </author>
    <author initials="J." surname="Peterson" fullname="Jon Peterson">
      <organization>Neustar Inc.</organization>
      <address>
        <postal>
          <street>1800 Sutter St Suite 570</street>
          <city>Concord, CA  94520</city>
          <country>US</country>
        </postal>
        <email>jon.peterson@neustar.biz</email>
      </address>
    </author>

    <date year="2021" month="July" day="12"/>

    <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 intended 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. The JSON element defined for this purpose, Rich Call Data (RCD), is an extensible object defined to either be used as part of STIR or with SIP Call-Info to include related information about calls that helps people decide whether to pick up the phone. This signing of the RCD information is also enhanced with a integrity mechanism that is designed to protect the authoring and transport of this information between authoritative and non-authoritative parties generating and signing the Rich Call Data for support of different usage and content policies.</t>



    </abstract>


  </front>

  <middle>


<section anchor="introduction" title="Introduction">

<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, so baseline STIR provides no features for caller name. This specification documents an optional mechanism for PASSporT and the associated STIR procedures which extend PASSporT objects to protect additional elements conveying richer information: information that is intended to be rendered to assist a called party in determining whether to accept or trust incoming communications. This includes the name of the person on one side of a communications session, 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.</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 derive a name from the calling party number by consulting a local address book or an external database. SIP 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. However, both are unsecured fields that really cannot be trusted in most interconnected SIP deployments, and therefore is a good starting point for a framework that utilizes STIR techniques and procedures for protecting call related information including but not limited to calling name.</t>

<t>As such, the baseline use-case for this document extends PASSporT to provide cryptographic protection for the “display-name” field of SIP requests 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. This document furthermore specifies a third-party profile that would allow external authorities to convey rich information associated with a calling number via a new type of PASSporT. 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="terminology" title="Terminology">

<t>In this document, the key words “MUST”, “MUST NOT”, “REQUIRED”, “SHALL”, “SHALL NOT”, “SHOULD”, “SHOULD NOT”, “RECOMMENDED”, “NOT RECOMMENDED”, “MAY”, and “OPTIONAL” are to be interpreted as described in <xref target="RFC2119"/> and <xref target="RFC6919"/>.</t>

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

<t>The main intended use of the signing of Rich Call Data (RCD) using STIR <xref target="RFC8224"/> and as a PASSporT extension <xref target="RFC8225"/> is for the entity that originates a call, either directly the caller themselves, if they are authoritative, or a service provider or third-party service that may be authoritative over the rich call data on behalf of the caller.</t>

<t>The RCD 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. 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 a “rcd” claim defined in this document.</t>

<t>Additionally, <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 the string or object 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="overview-of-rich-call-data-integrity" title="Overview of Rich Call Data Integrity">

<t>When incorporating call data that represents a user, even in traditional calling name services today, often there is policy and restrictions around what data is allowed to be used. Whether preventing offensive language or icons or enforcing uniqueness, potential trademark violations or other policy enforcement, there should 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 controls the policy 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 sufficiently strong cryptographic digest for both the “rcd” claim contents (e.g. “nam”, “jcd”, “jcl”) defined below and the resources defined by one or more globally unique HTTPS URLs referenced by the contents (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 (http://www.w3.org/TR/SRI/). The second of the mechanisms uses the capability called JWT Claim Constraints, defined in <xref target="RFC8226"/> and extended in <xref target="I-D.housley-stir-enhance-rfc8226"/>. The JWT Claim Constraints specifically guide the verifier within the certificate used to sign 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 by the RCD passport is pass-by-value or passed-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 RCD 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 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 external URIs   |      Includes URI refs         |
+----------+---------------------+--------------------------------+
|   Auth   | 1: No integrity req | 2: RDC 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 external reference URIs 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 a “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 mode 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 to have forward control at the time of the creation of the certificate of the allowed 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="I-D.ietf-stir-cert-delegation"/> although other cases may apply. As with the first and second modes, the third and fourth modes differ with the absence or inclusion of externally referenced content using URIs.</t>

</section>
<section anchor="passport-claim-rcd-defintion-and-usage" title="PASSporT Claim “rcd” Defintion and Usage">

<section anchor="syntax" title="PASSporT “rcd” Claim">

<t>This specification 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" title="“nam” key">

<t>The “nam” key value is a display name, associated with the originator of personal communications, which may for example derive from the display-name component of the From header field value of a SIP request or alternatively from the P-Asserted-Identity header field value, or a similar field in other PASSporT using protocols. This key MUST be included once and MUST be included as part of the “rcd” claim value JSON object. If there is no string associated with a display name, the claim value SHOULD then be an empty string.</t>

</section>
<section anchor="jcd-key" title="“jcd” key">

<t>The “jcd” key value is defined to contain a value of a jCard <xref target="RFC7095"/> JSON object. This jCard object is intended to represent and derives from 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. 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” is optional. If included, this key MUST only be included once in the “rcd” JSON object and MUST NOT be included if there is a “jcl” key included. The use of “jcd” and “jcl” keys are mutually exclusive.</t>

<t>The jCard object value for “jcd” MUST only have referenced content for URI values that do 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 a “rcd” PASSporT, other protocols can be adapted for use of “jcd” (or similarly “jcl” below) key beyond SIP and Call-Info.</t>

</section>
<section anchor="jcl-key" title="“jcl” key">

<t>The “jcl” key value is defined to contain a HTTPS URL that refers the recipient to a jCard <xref target="RFC7095"/> JSON object hosted on a HTTPS enabled 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="RFC4627"/>. This link may derive from 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. If included, this key MUST only be included once in the “rcd” JSON object and MUST NOT be included if there is a “jcd” key included. The use of “jcd” and “jcl” keys are mutually exclusive.</t>

<t>The jCard object value referenced in the URI value for “jcl” MUST only have referenced content for URI values that do 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-rcd-integrity-claim-definition-and-usage" title="“rcdi” RCD Integrity Claim Definition and Usage">

<t>The “rcdi” claim is included for the second and fourth modes described in integrity overview section of this document. If this claim is present it MUST be only included once with the corresponding single “rcd” claim. The value of the “rcdi” key pair 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 external URI referenced 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 external URI references that include JSON objects themselves, in particular for the specific case of the use of “jcl”. JSON pointer syntax is the key value that specifies 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" : {
  "/jcd": "sha256-H8BRh8j48O9oAZzq6A9RINQZngK7T62em8MUt1FLm52",
  "/jcd/1/2/3": "sha256-AZzq6A9RINQZngK7T62em8MUt1FLm52H8BRh8j48O9o"
}
]]></artwork></figure>

<t>The values of each key pair are a digest combined with a string that defines the crypto algorithm used to generate the digest. For RCD, implementations MUST support the following hash algorithms, “SHA256”, “SHA384”, or “SHA512”. The SHA-256, SHA-384, and SHA-512 are part of the SHA-2 set of cryptographic hash functions defined by the NIST. Implementations MAY support additional algorithms, but MUST NOT support known weak algorithms such as MD5 or SHA-1. In the future, the list of algorithms may be re-evaluated based on security best practices. The algorithms are represented in the text by “sha256”, “sha384”, or “sha512”. The character following the algorithm string MUST be a minus character, “-“. The subsequent characters are the base64 encoded digest of a canonicalized and concatenated string 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" title="Creation of the “rcd” element digests">

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

<t>In the case of “nam”, the only allowed value is a “string”. In order to reference the “nam” string value for a digest, the JSON pointer string would be “/nam” and the digest string would be created using only the string pointed to by that “/nam” following the rules of JSON pointer.</t>

<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 indexes 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": {
  "nam": "Q Branch Spy Gadgets",
  "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"]
    ]
  ]
}
]]></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 indexes are used to reference the URI strings.</t>

<figure><artwork><![CDATA[
"rcdi": {
  "/jcd": "sha256-30SFLGHL40498527",
  "/jcd/1/3/3": "sha256-12938918VNJDSNCJ",
  "/jcd/1/4/3": "sha256-VNJDSNCJ12938918",
  "/jcd/1/5/3": "sha256-4049852730SFLGHL"
  }
}
]]></artwork></figure>

<t>For the use of JSON pointer in “jcd” and because array indexes are dependent on the order of the elements in the jCard, the digest for the “/jcd” corresponding to the entire jCard array string MUST be included to avoid any possibility of substitution or insertion attacks that may be possible to avoid integrity detection, even though unlikely. Each URI referenced in the jCard array string MUST have a corresponding JSON pointer string key and digest value.</t>

<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 indexes added to the “jcl” (e.g. “/jcl/1/2/3”) are treated as if the externally referenced 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": {
  "nam": "Q Branch Spy Gadgets",
  "jcl": "https://example.com/qbranch.json"
},
"rcdi": {
  "/jcl": "sha256-30SFLGHL40498527",
  "/jcl/1/3/3": "sha256-12938918VNJDSNCJ",
  "/jcl/1/4/3": "sha256-VNJDSNCJ12938918",
  “/jcl/1/5/3": "sha256-4049852730SFLGHL"
}
]]></artwork></figure>

<figure><artwork><![CDATA[
https://example.com/qbranch.json:
["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>

<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 an element that is a part or whole of a JSON object string or to a string that is a URI referencing an external resource.</t>
  <t>For a JSON formatted string, serialize the element JSON to remove all white space and line breaks. The procedures of this deterministic JSON serialization are defined in <xref target="RFC8225"/>, Section 9.  The resulting string is used to create the digest.</t>
  <t>For any URI referenced content, the content can either be a string as in jCard JSON objects or binary content. For example, image and audio files contain binary content. If the content is binary format it should be Base64 encoded to create a string, otherwise the direct string content of the file is used to create the digest.</t>
</list></t>

</section>
<section anchor="jwt-claim-constraint-for-rcd-claims-only" title="JWT Claim Constraint for “rcd” claims only">

<t>For the third mode described in the integrity overview section of this document, where only JWT Claim Constraint for “rcd” claims without an “rcdi” claim is required, the procedure should be, when creating the certificate, to include a JWT Claim Constraint on inclusion of an “rcd” claim as well as the contents of the certified “rcd” claim.</t>

<t>The certificate JWT Claims Constraint MUST include the following:</t>

<t><list style="symbols">
  <t>a “mustInclude” for the “rcd” claim and a “permittedValues” equal to the created “rcd” claim value string.</t>
</list></t>

<t>The “permitedValues” for the “rcd” claim may optionally 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="jwt-claim-constraint-usage-for-rcd-and-rcdi-claims" title="JWT Claim Constraint usage for “rcd” and “rcdi” claims">

<t>The integrity overview section of this document describes a fourth mode where both “rcdi” and JWT Claim Constraints is used. The use of this mode implies the signing of an “rcdi” claim is required to be protected by the authoritative certificate creator using JWT Claims Constraints in the certificate. The intension of the use of both of these mechanisms is to constrain the signer to construct the “rcd” and “rcdi” claims with the “rcd” jCard object including reference external content via URI. Once both the contents of the “rcd” claim and any linked content is certified by the party that is authoritative for the certificate being created and the construction of the “rcdi” claim is complete, the “rcdi” claim is linked to the STIR certificate associated with the signature in the PASSporT via JWT Claim Constraints as defined in <xref target="RFC8226"/> Section 8. 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="I-D.ietf-stir-cert-delegation"/> for the signing of calls by the calling party directly as an example, even though they aren’t considered an “authorized party” in the STIR certificate eco-system.</t>

<t>The certificate JWT Claims Constraint 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” should be included if there is a “rcdi”</t>
  <t>a “mustInclude” for the “rcdi” claim and a “permittedValues” equal to the created “rcdi” claim value string.</t>
</list></t>

<t>The “permitedValues” for the “rcdi” claim 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 anchor="passport-crn-claim-call-reason-defintion-and-usage" title="PASSporT “crn” claim - Call Reason Defintion and Usage">

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

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

<section anchor="jwt-constraint-for-crn-claim" title="JWT Constraint for “crn” claim">

<t>The integrity of the “crn” claim can optionally be protected by the authoritative certificate creator using JWT Constraints in the certificate. If this protection is used, a “mustInclude” for the “crn” claim and a “permittedValues” equal to the “crn” claim value string SHOULD be included.</t>

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

<t>Either or both the “rcd” or “crn” claims may appear in any PASSporT claims object as optional elements. The creator of a PASSporT MAY also add a “ppt” value of “rcd” to the header of a PASSporT as well, in which case the PASSporT claims MUST contain either a “rcd” or “crn” claim, and any entities verifying the PASSporT object are required to understand the “ppt” extension in order to process the PASSporT in question. An example PASSporT header with the “ppt” 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” object, is mandatory. The key syntax of “nam” follows the display-name ABNF given in <xref target="RFC3261"/>.</t>

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

<section anchor="example-rcd-passports" title="Example “rcd” PASSporTs">

<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” only PASSporT claims object with an “rcdi” claim 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"},
   "rcdi":{"/nam": "sha256-918VNJD12938SNCJ"}
}
]]></artwork></figure>

<t>An example of a “rcd” claims object that includes the “jcd” and also contains a URI which requires the inclusion of an “rcdi” claim.</t>

<figure><artwork><![CDATA[
{
  "orig": { "tn": "12025551000"},
  "dest": { "tn": ["12155551001"]},
  "iat": 1443208345,
  "rcd": {
    "nam": "Q Branch Spy Gadgets",
    "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"]
    ] ]
  },
  "crn": "Rendezvous for Little Nellie",
  "rcdi": {
    "/nam": "sha256-918VNJD12938SNCJ",
    "/jcd": "sha256-VNJDSNCJ12938918",
    "/jcd/1/3/3": "sha256-12938918VNJDSNCJ",
    "/jcd/1/4/3": "sha256-VNJDSNCJ12938918",
    "/jcd/1/5/3": "sha256-4049852730SFLGHL"
  }
}
]]></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 is shown as follows:</t>

<figure><artwork><![CDATA[
https://example.com/qbranch.json:
["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>If that jCard is hosted at the example address of “https://example.com/qbranch.json”, the corresponding PASSporT claims object would be as follows:</t>

<figure><artwork><![CDATA[
{
  "orig": {"tn": "12025551000"},
  "dest": {"tn": ["12155551001"]},
  "iat": 1443208345,
  "rcd": {
    "nam": "Q Branch Spy Gadgets",
    "jcl": "https://example.com/qbranch.json"
  },
  "crn": "Rendezvous for Little Nellie",
  "rcdi": {
    "/nam": "sha256-918VNJD12938SNCJ",
    "/jcl": "sha256-VNJDSNCJ12938918",
    "/jcl/1/3/3": "sha256-12938918VNJDSNCJ",
    "/jcl/1/4/3": "sha256-VNJDSNCJ12938918",
    "/jcl/1/5/3": "sha256-4049852730SFLGHL"
  }
}
]]></artwork></figure>

</section>
</section>
<section anchor="compact-form-of-rcd-passport" title="Compact form of “rcd” PASSporT">

<section anchor="compact-form-of-the-rcd-passport-claim" title="Compact form of the “rcd” PASSporT claim">

<t>Compact form of an “rcd” PASSporT claim has some restrictions but mainly follows standard PASSporT compact form procedures. For re-construction of the “nam” claim the string for the display-name in the From header field. For re-construction of the “jcl”, the Call-Info header as with purpose “jcard” defined in <xref target="I-D.ietf-sipcore-callinfo-rcd"/> MUST be used. “jcd” claim MAY NOT be used as part of compact form.</t>

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

<t>Compact form of an “rcdi” PASSporT claim is not supported, so if “rcdi” is required compact form should not be used.</t>

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

<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="extend" title="Further Information Associated with Callers">

<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="parties" title="Third-Party Uses">

<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 SIP 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="I-D.ietf-stir-oob"/> 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: 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 “rcd” 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 “rcd” PASSporT object matches 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" title="Signing as a Third Party">

<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"></xref> 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 specification; the value of “iss” however MUST reflect the Subject Name field of the certificate used to sign a third-party PASSporT. The explicit mechanism for reflecting the Subject Name 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 Name 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>
<section anchor="loa" title="Levels of Assurance">

<t>As “rcd” can be provided by either first or third parties, relying parties could benefit from an additional claim that indicates the relationship of the attesting party to the caller. Even in first party cases, this admits of some complexity: 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 derive 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 Name of the certificate used to sign a third-party PASSporT to represent that relationship.</t>

</section>
<section anchor="use" title="Using “rcd” in SIP">

<t>This section specifies SIP-specific usage for the “rcd” claim in PASSporT, and in the SIP Identity header field value. Other using protocols of PASSporT may define their own usages for the “rcd” claim.</t>

<section anchor="authentication-service-behavior" title="Authentication Service Behavior">

<t>An authentication service creating a PASSporT containing a “rcd” claim MAY include a “ppt” for “rcd” or not. Third-party authentication services following the behavior in <xref target="thirdsign"/> MUST include a “ppt” of “rcd”. If “ppt” does contain a “rcd”, then any SIP authentication services MUST add a “ppt” parameter to the Identity header containing that PASSporT with a value of “rcd”. The resulting Identity header 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 specification assumes that by default, a SIP authentication service derives 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 derive from other fields in the request, from customer profile data, or from access to external services. If the authentication service generates a “rcd” claim containing “nam” with a value that is not equivalent to the From header field display-name value, it MUST use the full form of the PASSporT object in SIP.</t>

</section>
<section anchor="verification-service-behavior" title="Verification Service Behavior">

<t><xref target="RFC8224"/> Section 6.2 Step 5 requires that specifications defining “ppt” values describe any additional verifier behavior. The behavior specified for the “ppt” values of “rcd” is as follows. If the PASSporT is in compact form, then the verification service SHOULD extract the display-name from the From header field value, if any, and use that as the value for the “nam” key when it recomputes the header and claims of the PASSporT object. Optionally, if there exists a Call-Info header field as defined in <xref target="I-D.ietf-sipcore-callinfo-rcd"/>, the “jcard” value can be derived to determine the “jcd” key when it recomputes the header and claims of the PASSporT object. If the signature validates over the recomputed object, then the verification should be considered successful.</t>

<t>However, if the PASSport is in full form with a “ppt” value of “rcd”, then the verification service MUST extract the value associated with the “rcd” “nam” key in the object. If the signature validates, then the verification service can use the value of the “rcd” “nam” key as the display name of calling party, which would in turn be rendered to alerted users or otherwise leveraged in accordance with local policy. This allows SIP networks that convey the display name through a field other than the From header field to interoperate with this specification. Similarly, the “jcd” or linked “jcl” jcard information and “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"/>.</t>

<t>The third-party “rcd” PASSporT cases presents some new challenges, 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. A third-party “rcd” PASSporT provides no assurance that the calling party number has not been spoofed: if it is carried in a SIP request, for example, then some other PASSporT in another Identity header field value would have to carry a PASSporT attesting that. 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.</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>

<t>The behavior of a SIP UAS upon receiving an INVITE containing a PASSporT object with a “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-as-additional-claims-to-other-passport-extensions" title="Using “rcd” as additional claims to other PASSporT extensions">

<t>Rich Call Data, including calling name information, for example, is often data that is additive data 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 that is originating the personal communications and additionally is supporting the authentication service and also is the authority of the Rich Call Data, rather than creating multiple identity headers with multiple PASSporT extensions or defining multiple combinations and permutations of PASSporT extension definitions, the authentication service can alternatively directly add the “rcd” claims to the PASSporT it is creating, whether it is constructed with a PASSporT extension or not.</t>

<t>Note: There is one very important caveat to this capability, because generally if there is URI referenced content in an “rcd” PASSporT there is often the requirement to use “rcdi” and JWT Claims Constraints.  So, it is important for the user of this specification to recognize that the certificates used must include the necessary JWT Claims Constraints for proper integrity and security of the values in the “rcd” claim incorporated into PASSporTs that are not “rcd”.</t>

<section anchor="procedures-for-applying-rcd-as-claims-only" title="Procedures for applying “rcd” as claims only">

<t>For a given PASSporT using some other extension than “rcd”, the Authentication Service MAY additionally include the “rcd” claim as defined in this document. 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-as-claims-only" title="Example for applying “rcd” as claims only">

<t>In the case of <xref target="RFC8588"/> which is the PASSporT extension supporting the SHAKEN specification <xref target="ATIS-1000074"/>, 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 supports “rcd” and “shaken” PASSporT extensions is able to receive the above PASSporT and interpret both the “shaken” claims as well as the “rcd” defined claim.</t>

<t>If the Verification Service only understands the “shaken” extension claims but doesn’t support “rcd”, the “rcd” is ignored and disregarded.</t>

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

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

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

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

<t>This specification 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="passport-types" title="PASSporT Types">

<t>This specification requests that the IANA add a new entry to the PASSporT Types registry for the type “rcd” which is specified in [RFCThis].</t>

</section>
<section anchor="rcdtypes" title="PASSporT RCD Types">

<t>This document requests that the IANA create a new registry for PASSporT RCD types. Registration of new PASSporT RCD types shall be under the Specification Required policy.</t>

<t>This registry is to be initially populated with three values, “nam”, “jcd”, and “jcl”, which are specified in [RFCThis].</t>

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

<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 over in a using protocol like SIP is all information that SIP carries 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>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.</t>

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

<t>While this can apply to any PASSporT that is signed with a STIR Delegate Certificates <xref target="I-D.ietf-stir-cert-delegation"/>, 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="I-D.housley-stir-enhance-rfc8226"/> for preventing the ability to include claims beyond the claims defined in this document may need to be considered. <xref target="I-D.housley-stir-enhance-rfc8226"/> in the security considerations also notes that the use of mustExclude for the “rcdi” when “rcd” is used is discouraged, otherwise it would prevent the proper integrity protection mechanism to be used.</t>

</section>
</section>


  </middle>

  <back>

    <references title='Normative References'>




<reference anchor="I-D.ietf-sipcore-callinfo-rcd">
   <front>
      <title>SIP Call-Info Parameters for Rich Call Data</title>
      <author fullname="Chris Wendt">
	 <organization>Comcast</organization>
      </author>
      <author fullname="Jon Peterson">
	 <organization>Neustar Inc.</organization>
      </author>
      <date month="February" day="22" year="2021" />
      <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-02" />
   <format type="TXT" target="https://www.ietf.org/archive/id/draft-ietf-sipcore-callinfo-rcd-02.txt" />
</reference>



<reference anchor="I-D.housley-stir-enhance-rfc8226">
<front>
<title>Enhanced JWT Claim Constraints for STIR Certificates</title>

<author initials='R' surname='Housley' fullname='Russ Housley'>
    <organization />
</author>

<date month='January' day='21' year='2021' />

<abstract><t>RFC 8226 provides a certificate extension to constrain the JWT claims that can be included in the PASSporT as defined in RFC 8225.  If the signer includes a JWT claim outside the constraint boundaries, then the recipient will reject the entire PASSporT.  This document defines additional ways that the JWT claims can be constrained.</t></abstract>

</front>

<seriesInfo name='Internet-Draft' value='draft-housley-stir-enhance-rfc8226-00' />
<format type='TXT'
        target='http://www.ietf.org/internet-drafts/draft-housley-stir-enhance-rfc8226-00.txt' />
</reference>


<reference anchor="I-D.ietf-stir-cert-delegation">
   <front>
      <title>STIR Certificate Delegation</title>
      <author fullname="Jon Peterson">
	 <organization>Neustar, Inc.</organization>
      </author>
      <date month="February" day="22" 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="Internet-Draft" value="draft-ietf-stir-cert-delegation-04" />
   <format type="TXT" target="https://www.ietf.org/archive/id/draft-ietf-stir-cert-delegation-04.txt" />
</reference>



<reference  anchor="RFC3261" target='https://www.rfc-editor.org/info/rfc3261'>
<front>
<title>SIP: Session Initiation Protocol</title>
<author initials='J.' surname='Rosenberg' fullname='J. Rosenberg'><organization /></author>
<author initials='H.' surname='Schulzrinne' fullname='H. Schulzrinne'><organization /></author>
<author initials='G.' surname='Camarillo' fullname='G. Camarillo'><organization /></author>
<author initials='A.' surname='Johnston' fullname='A. Johnston'><organization /></author>
<author initials='J.' surname='Peterson' fullname='J. Peterson'><organization /></author>
<author initials='R.' surname='Sparks' fullname='R. Sparks'><organization /></author>
<author initials='M.' surname='Handley' fullname='M. Handley'><organization /></author>
<author initials='E.' surname='Schooler' fullname='E. Schooler'><organization /></author>
<date year='2002' month='June' />
<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="RFC4627" target='https://www.rfc-editor.org/info/rfc4627'>
<front>
<title>The application/json Media Type for JavaScript Object Notation (JSON)</title>
<author initials='D.' surname='Crockford' fullname='D. Crockford'><organization /></author>
<date year='2006' month='July' />
<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.  This memo provides information for the Internet community.</t></abstract>
</front>
<seriesInfo name='RFC' value='4627'/>
<seriesInfo name='DOI' value='10.17487/RFC4627'/>
</reference>



<reference  anchor="RFC6901" target='https://www.rfc-editor.org/info/rfc6901'>
<front>
<title>JavaScript Object Notation (JSON) Pointer</title>
<author initials='P.' surname='Bryan' fullname='P. Bryan' role='editor'><organization /></author>
<author initials='K.' surname='Zyp' fullname='K. Zyp'><organization /></author>
<author initials='M.' surname='Nottingham' fullname='M. Nottingham' role='editor'><organization /></author>
<date year='2013' month='April' />
<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="RFC6919" target='https://www.rfc-editor.org/info/rfc6919'>
<front>
<title>Further Key Words for Use in RFCs to Indicate Requirement Levels</title>
<author initials='R.' surname='Barnes' fullname='R. Barnes'><organization /></author>
<author initials='S.' surname='Kent' fullname='S. Kent'><organization /></author>
<author initials='E.' surname='Rescorla' fullname='E. Rescorla'><organization /></author>
<date year='2013' month='April' />
<abstract><t>RFC 2119 defines a standard set of key words for describing requirements of a specification.  Many IETF documents have found that these words cannot accurately capture the nuanced requirements of their specification.  This document defines additional key words that can be used to address alternative requirements scenarios.  Authors who follow these guidelines should incorporate this phrase near the beginning of their document:</t><t>The key words &quot;MUST (BUT WE KNOW YOU WON\'T)&quot;, &quot;SHOULD CONSIDER&quot;, &quot;REALLY SHOULD NOT&quot;, &quot;OUGHT TO&quot;, &quot;WOULD PROBABLY&quot;, &quot;MAY WISH TO&quot;, &quot;COULD&quot;, &quot;POSSIBLE&quot;, and &quot;MIGHT&quot; in this document are to be interpreted as described in RFC 6919.</t></abstract>
</front>
<seriesInfo name='RFC' value='6919'/>
<seriesInfo name='DOI' value='10.17487/RFC6919'/>
</reference>



<reference  anchor="RFC7095" target='https://www.rfc-editor.org/info/rfc7095'>
<front>
<title>jCard: The JSON Format for vCard</title>
<author initials='P.' surname='Kewisch' fullname='P. Kewisch'><organization /></author>
<date year='2014' month='January' />
<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="RFC7340" target='https://www.rfc-editor.org/info/rfc7340'>
<front>
<title>Secure Telephone Identity Problem Statement and Requirements</title>
<author initials='J.' surname='Peterson' fullname='J. Peterson'><organization /></author>
<author initials='H.' surname='Schulzrinne' fullname='H. Schulzrinne'><organization /></author>
<author initials='H.' surname='Tschofenig' fullname='H. Tschofenig'><organization /></author>
<date year='2014' month='September' />
<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="RFC7519" target='https://www.rfc-editor.org/info/rfc7519'>
<front>
<title>JSON Web Token (JWT)</title>
<author initials='M.' surname='Jones' fullname='M. Jones'><organization /></author>
<author initials='J.' surname='Bradley' fullname='J. Bradley'><organization /></author>
<author initials='N.' surname='Sakimura' fullname='N. Sakimura'><organization /></author>
<date year='2015' month='May' />
<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 initials='J.' surname='Peterson' fullname='J. Peterson'><organization /></author>
<author initials='C.' surname='Jennings' fullname='C. Jennings'><organization /></author>
<author initials='E.' surname='Rescorla' fullname='E. Rescorla'><organization /></author>
<author initials='C.' surname='Wendt' fullname='C. Wendt'><organization /></author>
<date year='2018' month='February' />
<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 initials='C.' surname='Wendt' fullname='C. Wendt'><organization /></author>
<author initials='J.' surname='Peterson' fullname='J. Peterson'><organization /></author>
<date year='2018' month='February' />
<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 initials='J.' surname='Peterson' fullname='J. Peterson'><organization /></author>
<author initials='S.' surname='Turner' fullname='S. Turner'><organization /></author>
<date year='2018' month='February' />
<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="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 initials='C.' surname='Wendt' fullname='C. Wendt'><organization /></author>
<author initials='M.' surname='Barnes' fullname='M. Barnes'><organization /></author>
<date year='2019' month='May' />
<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>




    </references>

    <references title='Informative References'>




<reference anchor="I-D.ietf-stir-oob">
   <front>
      <title>Secure Telephone Identity Revisited (STIR) Out-of-Band Architecture and Use Cases</title>
      <author fullname="Eric Rescorla">
	 <organization>Mozilla</organization>
      </author>
      <author fullname="Jon Peterson">
	 <organization>Neustar, Inc.</organization>
      </author>
      <date month="March" day="9" year="2020" />
      <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="Internet-Draft" value="draft-ietf-stir-oob-07" />
   <format type="TXT" target="https://www.ietf.org/archive/id/draft-ietf-stir-oob-07.txt" />
</reference>


<reference anchor="ATIS-1000074" >
  <front>
    <title>Signature-based Handling of Asserted information using toKENs (SHAKEN) &lt;https://access.atis.org/apps/group_public/download.php/32237/ATIS-1000074.pdf&gt;</title>
    <author >
      <organization>ATIS/SIP Forum NNI Task Group</organization>
    </author>
    <date year="2017" month="January"/>
  </front>
</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 initials='S.' surname='Bradner' fullname='S. Bradner'><organization /></author>
<date year='1997' month='March' />
<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>




    </references>



  </back>

<!-- ##markdown-source:
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
PXElvI/lCrw5KOS5XDBi8Pw42QuRSbEd6mZRWC0Iv24+TfcsKVdlWiVdsfSw
LpmXyETGcSrAZGQtAZhEfFJZWM0kCqg4fEwOMHRfOvudClzSzm7A/ROQn8C9
WzoRcbUeZ9hpmR6dlPFKDSncSyEuWSkrfMvvLdc9PG5AU5cf5eUQ7VLRlUdJ
G6K28tbIFXdbDCbicxBR3vqbAvcnw4n245bjAKI1Ga9tzlXm7t4cLh4G5Emv
P22cKo4F9AcOOtmlcCM0tWyMVMAMmsN16SfxgoRe266bJUpO0e5EFwDd+TBs
NIgXaulMfH1/sc5dpxhBVWkhM5L6KyNd3C5V/DJ5ImyyJK4iv23yi7yrfK1J
5LNnb4ECwtiuN5okC/ni2vDI0DS619T1hlEKBwtdCJpbiUay7b25RtEboq2N
5luWMUsswUwqzwrTp5VUXUthPaLb9RF9kwBepuikxiyWLamyrmpD3NIs+Fu7
cYws8pUcOO3F5/ZzPEaoRXTPqkxWJb6xrJRjn7zu8zlMNdUpNSqNLET8FTkH
fNcY6WBHFBfpGTWl2bIUvlMmAcpH+sjdaJ5pUNzIOo+ksneYGjNqVGNpjtZt
c21IH/rScVRdH51eFbtHf/hpdbmsX9YH08nz9M3O3ukPV5d/qvNvD9Lv/3kv
X67LV//+/c7LZb05v3z8qi7nTzV7cJp9/PDDz0Xy7vH08Zvvn7y8Sa6unhXj
7w/S+mo5f3tz+uJ9/Hz5evP87GD6+HJzvr+3OX9W7D+/2HlzPa91lJvdV+uj
SXW2Wr396c18b/3v+fTnl+NvHy8vHl1kT7/J3y1ermffX4xXR3uv84Ob3fns
XfX7r/VtNAL8/l80YHOcZsXHdGSTGOUroAr/+nWczX9PSVDudTim3xNsW3lO
raxUdF8tVbofb7Qbz0AsxFtuhXZsC3UlRqqg1UKRmy6pjT6Eg9+gO6CxyA6a
nQExbqgQjidWbc4tXibdbQOfuWRVdsSp2hdHVOSII9u6AeKLbEkQFrXZRqf1
ap05mc6DSiGhHNJlGlpJQ2w7uGNnCXCb5dgUMTq5+Bv266A3nESVCWfvmXbJ
eq2d9XjLhtTqV0XtPr9yt3kTwZ3W8hJo6MAQRvhWDC7d5xicuyCFdnBR899s
nWUBw+2wKQKqMqnvqjlmCL1tj6x1IB6N9kFjSFbRkU3nietmax9uKIb79mmg
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

-->

</rfc>

