<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.27 (Ruby 3.0.0) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-hardman-verifiable-voice-protocol-05" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.28.0 -->
  <front>
    <title abbrev="VVP">Verifiable Voice Protocol</title>
    <seriesInfo name="Internet-Draft" value="draft-hardman-verifiable-voice-protocol-05"/>
    <author fullname="Daniel Hardman">
      <organization>Provenant, Inc</organization>
      <address>
        <email>daniel.hardman@gmail.com</email>
      </address>
    </author>
    <date year="2026" month="January" day="08"/>
    <keyword>voip</keyword>
    <keyword>telecom</keyword>
    <keyword>telco</keyword>
    <keyword>telephone number</keyword>
    <keyword>vetting</keyword>
    <keyword>KYC</keyword>
    <abstract>
      <?line 140?>

<t>Verifiable Voice Protocol (VVP) authenticates and authorizes organizations and individuals making and/or receiving telephone calls. This eliminates trust gaps that malicious parties exploit. Like related technologies such as SHAKEN, RCD, and BCID, VVP uses STIR to bind cryptographic evidence to a SIP INVITE, and verify this evidence downstream. VVP can also let evidence flow the other way, proving things about the callee. VVP builds from different technical and governance assumptions than alternatives, and uses richer, stronger evidence. This allows VVP to cross jurisdictional boundaries easily and robustly. It also makes VVP simpler, more decentralized, cheaper to deploy and maintain, more private, more scalable, and higher assurance. Because it is easier to adopt, VVP can plug gaps or build bridges between other approaches, functioning as glue in hybrid ecosystems. For example, it may justify an A attestation in SHAKEN, or an RCD passport for branded calling, when a call originates outside SHAKEN or RCD ecosystems. VVP also works well as a standalone mechanism, independent of other solutions. An extra benefit is that VVP enables two-way evidence sharing with verifiable text and chat (e.g., RCS and vCon), as well as with other industry verticals that need verifiability in non-telco contexts.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://dhh1128.github.io/vvp/draft-hardman-verifiable-voice-protocol.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-hardman-verifiable-voice-protocol/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/dhh1128/vvp"/>.</t>
    </note>
  </front>
  <middle>
    <?line 144?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>When we get phone calls, we want to know who's calling, and why. Often, we want similar information when we <em>make</em> calls as well, to confirm that we've truly reached who we intend. Strangers abuse expectations in either direction, far too often.</t>
      <t>Regulators have mandated protections, and industry has responded. However, existing solutions have several drawbacks:</t>
      <ul spacing="normal">
        <li>
          <t>Assurance of callers derives only from the signatures of originating service providers, with no independently verifiable proof of what they assert.</t>
        </li>
        <li>
          <t>Proving the identity of the callee is not supported.</t>
        </li>
        <li>
          <t>Each jurisdiction has its own governance and its own set of signers. Sharing information across boundaries is fraught with logistical and regulatory problems.</t>
        </li>
        <li>
          <t>Deployment and maintenance costs are high.</t>
        </li>
        <li>
          <t>Market complexities such as the presence of aggregators, wholesalers, and call centers that proxy a brand are difficult to model safely.</t>
        </li>
        <li>
          <t>What might work for enterprises offers few benefits and many drawbacks for individual callers.</t>
        </li>
      </ul>
      <t>VVP solves these problems by applying crucial innovations in evidence scope, evidence format, and vetting mechanisms. These innovations profoundly upgrade what is provable in an ecosystem, as well as what is cacheable and what must be centralized. However, they have only subtle effects on the content of a STIR PASSporT, so they are explored outside this spec.</t>
    </section>
    <section anchor="conventions-and-definitions">
      <name>Conventions and Definitions</name>
      <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
      <?line -18?>

</section>
    <section anchor="overview">
      <name>Overview</name>
      <t>Fundamentally, VVP requires identified parties (callers and/or callees) to curate a dossier (<xref target="TOIP-DOSSIER"/>) of stable evidence that proves things about them. This is done once or occasionally, in advance, as a configuration precondition. Then, for each call, participants decide whether to share this evidence. Callers share evidence by creating an ephemeral STIR-compatible VVP PASSporT (<xref target="RFC8225"/>) that cites (<xref format="counter" target="citing"/>) their preconfigured dossier. This passport travels along the delivery route as an <tt>Identity</tt> header in a SIP INVITE. Callees share evidence by adding an analogous passport to an attribute line in the SDP <xref target="RFC8866"/> body of their SIP response. This passes a signed citation to their dossier in the other direction. Verifiers anywhere along the route check the citation(s) and corresponding dossier(s), including realtime revocation status, to make decisions (<xref format="counter" target="verifying"/>).</t>
      <t>A VVP call may carry assurance in either or both directions. Compliant implementations may choose to support only assurance about the caller, only assurance about the callee, or both.</t>
      <section anchor="roles">
        <name>Roles</name>
        <t>Understanding the workflow in VVP requires a careful definition of roles related to the protocol. The terms that follow have deep implications for the mental model, and their meaning in VVP may not match casual usage.</t>
        <section anchor="callee">
          <name>Callee</name>
          <t>For a given phone call, a <em>callee</em> receives the SIP INVITE. Typically one callee is targeted, but multiparty SIP flows allow INVITEs to multiple callees, either directly or via a conference server (see <xref target="RFC4353"/> and <xref target="RFC4575"/>). A callee can be an individual consumer or an organization. The direct service provider of the callee is the <em>terminating service provider</em> (<em>TSP</em>). In many use cases for VVP, callers attempt to prove things to callees, and callees and their service providers use VVP primarily with a verifier mindset. However, enterprises or call centers that accept inbound calls from individuals may want assurance to flow the other direction; hence, VVP supports optional evidence about callees as well.</t>
        </section>
        <section anchor="OP">
          <name>Originating Party</name>
          <t>An <em>originating party</em> (<em>OP</em>) controls the first <em>session border controller</em> (<em>SBC</em>) that processes an outbound call, and therefore builds the VVP passport that cites evidence about the caller.</t>
          <t>It may be tempting to equate the OP with "the caller", and in some perspectives this could be true. However, this simple equivalence lacks nuance and doesn't always hold. In a VVP context, it is more accurate to say that the OP creates a SIP INVITE <xref target="RFC3261"/> with explicit, provable authorization from the party accountable for calls on the originating phone number. The OP originates the VVP protocol, but not always the call on the handset.</t>
          <t>It may also be tempting to associate the OP with an organizational identity like "Company X". While this is not wrong, the precise cryptographic identity of an OP should be narrower. It typically corresponds to a single service operated by an IT department within (or outsourced but operating at the behest of) Company X, rather than to Company X generically. This narrowness limits cybersecurity risk, because a single service operated by Company X needs far fewer privileges than the company as a whole. Failing to narrow identity appropriately creates vulnerabilities in some alternative approaches. The evidence securing VVP <bcp14>MUST</bcp14> therefore prove a valid relationship between the OP's narrow identity and the broader legal entities that stakeholders more naturally assume and understand.</t>
          <t>The service provider associated with an OP is called the <em>originating service provider</em> (<em>OSP</em>). For a given phone call, there may be complexity between the hardware that begins a call and the SBC of the OP -- and there may also be many layers, boundaries, and transitions between OSP and TSP.</t>
        </section>
        <section anchor="AP">
          <name>Accountable Party</name>
          <t>For a given call, the <em>accountable party</em> (<em>AP</em>) is the organization or individual that has the right to use the originating phone number, according to the regulator of that number. When a callee asks, "Who's calling?", they have little interest in the technicalities of the OP, and it is almost always the AP that they want to identify. The AP is accountable for the call, and thus "the caller", as far as the regulator and the callee are concerned.</t>
          <t>APs can operate their own SBCs and therefore be their own OPs. However, APs can also use a UCaaS provider that makes the AP-OP relationship indirect. Going further, a business can hire a call center, and delegate to the call center the right to use its phone number. In such a case, the business is the AP, but the call center is the OP that makes calls on its behalf. None of these complexities alter the fact that, from the callee's perspective, the AP is "the caller". The callee chooses to answer or not, based on their desire to interact with the AP. If the callee's trust is abused, the regulator and the callee both want to hold the AP accountable.</t>
          <t>In order to verify a caller, VVP requires an AP to prepare a dossier of evidence that documents a basis for imposing this accountability on them. Only the owner of a given dossier can prove they intend to initiate a VVP call that cites their dossier. Therefore, if a verifier confirms that a particular call properly matches its dossier, the verifier is justified in considering the owner of that dossier the AP for the call. Otherwise, someone is committing fraud. Accountability, and the basis for it, are both unambiguous.</t>
        </section>
        <section anchor="VP">
          <name>Verified Party</name>
          <t>A <em>verified party</em> (<em>VP</em>) is a party that uses VVP to prove assertions about itself and its delegation decisions. When VVP provides assurance about callers, the AP is a VP. When VVP provides assurance about callees, the callee is a VP. Some characteristics of proxies, delegates, and service providers may be proved by a dossier, but these parties are not VPs. They don't create dossiers, and dossiers are not focused on them.</t>
        </section>
        <section anchor="verifier">
          <name>Verifier</name>
          <t>A <em>verifier</em> is a party that wants to know who's calling or being called, and maybe why -- and that evaluates the answers to these questions by examining formal evidence. Callees, callers, TSPs, OSPs, government regulators, law enforcement doing lawful intercept, auditors, and even APs or OPs can be verifiers. Each may need to see different views of the evidence about a particular phone call, and it may be impossible to comply with various regulations unless these views are kept distinct -- yet each wants similar and compatible assurance.</t>
          <t>In addition to checking the validity of cryptographic evidence, the verifier role in VVP <bcp14>MAY</bcp14> also consider how that evidence matches business rules and external conditions. For example, a verifier can begin its analysis by deciding whether Call Center Y has the right, in the abstract, to make or receive calls on behalf of Organization X using a given phone number. However, VVP evidence allows a verifier to go further: it can also consider whether Y is allowed to exercise this right at the particular time of day when a call occurs, or in a particular jurisdiction, given the business purpose asserted in a particular call.</t>
        </section>
      </section>
      <section anchor="lifecycle">
        <name>Lifecycle</name>
        <t>VVP depends on three interrelated activities with evidence:</t>
        <ul spacing="normal">
          <li>
            <t>Curating</t>
          </li>
          <li>
            <t>Citing</t>
          </li>
          <li>
            <t>Verifying</t>
          </li>
        </ul>
        <t>Chronologically, evidence must be curated before it can be cited or verified. In addition, some vulnerabilities in existing approaches occur because evidence requirements are too loose. Therefore, understanding the nature of backing evidence, and how that evidence is created and maintained, is a crucial consideration for VVP.</t>
        <t>However, curating does not occur in realtime during phone calls, and is out of scope for a network protocol specification. Citing and verifying are the heart of VVP, and implementers will approach VVP from the standpoint of SIP flows <xref target="RFC3261"/>, <xref target="RFC5626"/>. Therefore, we leave the question of curation to separate document (for example, <xref target="TOIP-DOSSIER"/>).</t>
      </section>
    </section>
    <section anchor="citing">
      <name>Citing</name>
      <section anchor="citing-the-aps-dossier">
        <name>Citing the AP's dossier</name>
        <t>A VVP call that makes the caller verifiable begins when the OP (<xref format="counter" target="OP"/>) generates a new VVP passport <xref target="RFC8225"/> that complies with STIR <xref target="RFC8224"/> requirements. In its compact-serialized JWT <xref target="RFC7519"/> form, this passport is then passed as an <tt>Identity</tt> header in a SIP INVITE <xref target="RFC3261"/>. The passport <em>constitutes</em> lightweight, direct, and ephemeral evidence; it <em>cites</em> and therefore depends upon comprehensive, indirect, and long-lived evidence (the AP's dossier). Safely and efficiently citing stronger evidence in a dossier is one way that VVP differs from alternatives.</t>
        <t>If the caller intends to use DTLS-SRTP, the SIP INVITE <bcp14>MUST</bcp14> also contain an attribute line that contains the DTLS <tt>fingerprint</tt> attribute. Because VVP proves the prevents man-in-the-middle attacks and allows the When combined with VVP, DTLS-SRTP  <tt>a=callee-passport:X</tt> attribute line to the SDP <xref target="RFC8866"/> body of the callee's</t>
        <section anchor="questions-answered-by-an-aps-passport">
          <name>Questions answered by an AP's passport</name>
          <t>The passport directly answers at least the following questions:</t>
          <ul spacing="normal">
            <li>
              <t>What is the cryptographic identity of the OP?</t>
            </li>
            <li>
              <t>How can a verifier determine the OP's key state at the time the passport was created?</t>
            </li>
            <li>
              <t>How can a verifier identify and fetch more evidence that connects the OP to the asserted AP?</t>
            </li>
            <li>
              <t>What brand attributes are asserted to accompany the call?</t>
            </li>
          </ul>
          <t>The first two answers come from the <tt>kid</tt> header. The third answer is communicated in the required <tt>evd</tt> claim. The fourth answer is communicated in the optional <tt>card</tt> and <tt>goal</tt> claims.</t>
          <t>More evidence can then be fetched to indirectly answer the following additional questions:</t>
          <ul spacing="normal">
            <li>
              <t>What is the legal identity of the AP?</t>
            </li>
            <li>
              <t>Does the AP have the right to use the originating phone number?</t>
            </li>
            <li>
              <t>Does the AP intend the OP to sign passports on its behalf?</t>
            </li>
            <li>
              <t>Does the AP have the right to use the brand attributes asserted for the call?</t>
            </li>
          </ul>
          <t>Dossiers can be further expanded to answer even more questions; such dynamic expansion of the scope of proof is compatible with but not specified by VVP.</t>
        </section>
        <section anchor="sample-passport">
          <name>Sample passport</name>
          <t>An example will help. In its JSON-serialized form, a typical VVP passport for an AP (with some long CESR-encoded hashes shortened by ellipsis for readability) might look like this:</t>
          <sourcecode type="json"><![CDATA[
{
  "header": {
    "alg": "EdDSA",
    "typ": "passport",
    "ppt": "vvp",
    "kid": "https://agentsrus.net/oobi/EMC.../agent/EAx..."
  },
  "payload": {
    "orig": {"tn": ["+33612345678"]},
    "dest": {"tn": ["+33765432109"]},
    "card": ["NICKNAME:Monde d'Exemples",
      "CHATBOT:https://example.com/chatwithus",
      "LOGO;HASH=EK2...;VALUE=URI:https://example.com/ico64x48.png"],
    "goal": "negotiate.schedule",
    "call-reason": "planifier le prochain rendez-vous",
    "evd": "https://fr.example.com/dossiers/E0F....cesr",
    "origId": "e0ac7b44-1fc3-4794-8edd-34b83c018fe9",
    "iat": 1699840000,
    "exp": 1699840030,
    "jti": "70664125-c88d-49d6-b66f-0510c20fc3a6"
  }
}
]]></sourcecode>
          <t>The semantics of the fields are:</t>
          <ul spacing="normal">
            <li>
              <t><tt>alg</tt> <em>(required)</em> <bcp14>MUST</bcp14> be "EdDSA" (<xref target="RFC8032"/>, <xref target="FIPS186-4"/>). Standardizing on one scheme prevents parties weaker cryptography from degrading the security guarantees of the ecosystem. The RSA, HMAC, and ES256 algorithms <bcp14>MUST NOT</bcp14> be used. (This choice is motivated by compatibility with the vLEI and its associated ACDC ecosystem, which currently uses the Montgomery-to-Edwards transformation.)</t>
            </li>
            <li>
              <t><tt>typ</tt> <em>(required)</em> Per <xref target="RFC8225"/>, <bcp14>MUST</bcp14> be "passport".</t>
            </li>
            <li>
              <t><tt>ppt</tt> <em>(required)</em> Per <xref target="RFC8225"/>, <bcp14>MUST</bcp14> identify the specific PASSporT type -- in this case, "vvp".</t>
            </li>
            <li>
              <t><tt>kid</tt> <em>(required)</em> <bcp14>MUST</bcp14> be the OOBI of an AID (<xref target="TOIP-KERI"/>) controlled by the OP (<xref format="counter" target="OP"/>). An OOBI is a special URL that facilitates ACDC's viral discoverability goals. It returns IANA content-type <tt>application/json+cesr</tt>, which provides some important security guarantees. The content for this particular OOBI <bcp14>MUST</bcp14> be a KEL (<xref target="TOIP-KERI"/>). Typically the AID in question does not identify the OP as a legal entity, but rather software running on or invoked by the SBC operated by the OP. (The AID that identifies the OP as a legal entity may be controlled by a multisig scheme and thus require multiple humans to create a signature. The AID for <tt>kid</tt> <bcp14>MUST</bcp14> be single-sig and, in the common case where it is not the legal entity AID, <bcp14>MUST</bcp14> have a delegate relationship with the legal entity AID that's proved through formal evidence.)</t>
            </li>
            <li>
              <t><tt>orig</tt> <em>(required)</em> Although VVP does not depend on SHAKEN, the format of this field <bcp14>MUST</bcp14> conform to SHAKEN requirements (<xref target="ATIS-1000074"/>), for interoperability reasons. It <bcp14>MUST</bcp14> also satisfy one additional constraint, which is that only one phone number is allowed. Despite the fact that a containing SIP INVITE may allow multiple originating phone numbers, only one can be tied to evidence evaluated by verifiers.</t>
            </li>
            <li>
              <t><tt>dest</tt> <em>(required)</em> For interoperability reasons, <bcp14>MUST</bcp14> conform to SHAKEN requirements.</t>
            </li>
            <li>
              <t><tt>card</tt> <em>(optional)</em> Contains one or more brand attributes. These are analogous to <xref target="RCD-DRAFT"/> or <xref target="CTIA-BCID"/> data, but differ in that they <bcp14>MUST</bcp14> be justified by evidence in the dossier. Because of this strong foundation that interconnects with formal legal identity, they can be used to derive other brand evidence (e.g., an RCD passport) as needed. Individual attributes <bcp14>MUST</bcp14> conform to the VCard standard <xref target="RFC6350"/>.</t>
            </li>
            <li>
              <t><tt>goal</tt> <em>(optional)</em> A machine-readable, localizable goal code, as described informally by <xref target="ARIES-RFC-0519"/>. If present, the dossier <bcp14>MUST</bcp14> prove that the OP is authorized by the AP to initiate calls with this particular goal.</t>
            </li>
            <li>
              <t><tt>call-reason</tt> <em>(optional)</em> A human-readable, arbitrary phrase that describes the self-asserted intent of the caller. This claim is largely redundant with <tt>goal</tt>; most calls will either omit both, or choose one or the other. Since <tt>call-reason</tt> cannot be analyzed or verified in any way, and since it may communicate in a human language that is not meaningful to the callee, use of this field is discouraged. However it is not formally deprecated. It is included in VVP to facilitate the construction of derivative RCD passports which have the property.</t>
            </li>
            <li>
              <t><tt>evd</tt> <em>(required)</em> <bcp14>MUST</bcp14> be the OOBI of a bespoke ACDC (the dossier, <xref target="TOIP-ACDC"/>) that constitutes a verifiable data graph of all evidence justifying belief in the identity and authorization of the AP, the OP, and any relevant delegations. This URL can be hosted on any convenient web server, and is somewhat analogous to the <tt>x5u</tt> header in X509 contexts. See below for details.</t>
            </li>
            <li>
              <t><tt>origId</tt> <em>(optional)</em> Follows SHAKEN semantics.</t>
            </li>
            <li>
              <t><tt>iat</tt> <em>(required)</em> Follows standard JWT semantics (see <xref target="RFC7519"/>).</t>
            </li>
            <li>
              <t><tt>exp</tt> <em>(required)</em> Follows standard JWT semantics. As this sets a window for potential replay attacks between the same two phone numbers, a recommended expiration <bcp14>SHOULD</bcp14> be 15 seconds (just long enough for an INVITE to be routed and trigger ringing on a handset), and <bcp14>MUST NOT</bcp14> exceed 60 seconds.</t>
            </li>
            <li>
              <t><tt>jti</tt> <em>(optional)</em> Follows standard JWT semantics.</t>
            </li>
          </ul>
        </section>
      </section>
      <section anchor="citing-a-callees-dossier">
        <name>Citing a callee's dossier</name>
        <t>Optionally, evidence in VVP can also flow from callee to caller. For privacy reasons, individuals who receive phone calls may choose not to use VVP in this way. However, enterprises and call centers may find it useful as a reassurance to their customers about who they've reached.</t>
        <t>In such cases, the callee must have curated a dossier. The format of the callee dossier is identical in schema to that used by a caller. It may therefore introduce evidence of the callee's legal identity, right to use a brand, right to use a TN, delegated authority to a call center proxy or an AI, and so forth. (A callee's dossier might differ in one minor way that doesn't affect the schema: it could prove the right to use a TN that has a DNO flag.)</t>
        <t>A reference to the callee's dossier is conveyed by adding a special <tt>a=callee-passport:X</tt> attribute line to the SDP <xref target="RFC8866"/> body of the callee's <tt>200 OK</tt> response. (Optionally, the lines <bcp14>MAY</bcp14> also be added to a <tt>180 Ringing</tt> response, to make the callee verifiable earlier, but it <bcp14>MUST</bcp14> appear on the <tt>200 OK</tt> response.) The value of this line is a JWT in compact form, with the <tt>;type=vvp</tt> suffix. This is exactly compliant with the format used by callers to convey VVP passports in <tt>Identity</tt> headers. However, <tt>Identity</tt> headers are not used for callees because existing SIP tooling does not expect or preserve <tt>Identity</tt> headers on responses. Furthermore, the identity of a callee is primarily of interest to the caller, who is willing to parse the SDP body; it does not need the same full-route auditability as the identity of a caller.</t>
        <t>Although dossiers are identical in either direction, the callee JWT has a slightly different schema than a caller's VVP passport. The headers of the JWT match, but <tt>kid</tt> contains the OOBI of the callee, not of the OP. Two new claims are added to the JWT payload: <tt>call-id</tt> and <tt>cseq</tt>. These <bcp14>MUST</bcp14> contain the values of the <tt>Call-ID</tt> and <tt>CSeq</tt> values on the preceding SIP INVITE. The <tt>iat</tt> claim <bcp14>MUST</bcp14> also be present and <bcp14>MUST</bcp14> contain a value from the system clock of the callee. The <tt>exp</tt> field <bcp14>MAY</bcp14> also be present and use a value chosen by the callee; if it is missing, this communicates the callee's intention to impose no new timeout logic on the call. The <tt>evd</tt> field <bcp14>MUST</bcp14> also be present, and <bcp14>MUST</bcp14> contain the OOBI of the callee's dossier. The <tt>card</tt> and <tt>goal</tt> claims are also allowed. Other claims <bcp14>MAY</bcp14> be present, but <bcp14>MUST</bcp14> be ignored by compliant implementations that do not understand them. (Because the callee references the specific SIP dialog via <tt>call-id</tt> and <tt>cseq</tt>, there is no point in repeating fields that describe the dialog, like <tt>orig</tt>, <tt>dest</tt>, and so forth.)</t>
      </section>
    </section>
    <section anchor="verifying">
      <name>Verifying</name>
      <section anchor="verifying-the-caller">
        <name>Verifying the caller</name>
        <section anchor="algorithm">
          <name>Algorithm</name>
          <t>When a verifier encounters a VVP passport, they <bcp14>SHOULD</bcp14> verify by using an algorithm similar to the following. Optimizations may combine or reorder operations, but <bcp14>MUST</bcp14> achieve all of the same guarantees, in order to be compliant implementations.</t>
          <ol spacing="normal" type="1"><li>
              <t>Analyze the <tt>iat</tt> and <tt>exp</tt> claims to evaluate timing. Confirm that <tt>exp</tt> is greater than <tt>iat</tt> and also greater than the reference time for analysis (e.g., <em>now</em>), and that <tt>iat</tt> is close enough to the reference time to satisfy the verifier's tolerance for replays. (A replay attack would have to call from the same <tt>orig</tt> to the same <tt>dest</tt> with the same <tt>iat</tt>, within whatever window the verifier accepts. Thirty seconds is a recommended default value.)</t>
            </li>
            <li>
              <t>Confirm that the <tt>orig</tt>, <tt>dest</tt>, and <tt>iat</tt> claims match contextual observations and other SIP metadata. That is, the passport appears aligned with what is known about the call from external sources.</t>
            </li>
            <li>
              <t>Extract the <tt>kid</tt> header.</t>
            </li>
            <li>
              <t>Fetch the key state for the OP at the reference time from the OOBI in <tt>kid</tt>. Caches may be used to optimize this, as long as they meet the freshness requirements of the verifier.</t>
            </li>
            <li>
              <t>Use the public key of the OP to verify that the signature on the passport is valid for that key state. On success, the verifier knows that the OP is at least making an assertion about the identity and authorizations of the AP. (When reference time is now, this is approximately the level of assurance provided by existing alternatives to VVP.)</t>
            </li>
            <li>
              <t>Extract the <tt>evd</tt> field, which references the dossier that constitutes backing evidence.</t>
            </li>
            <li>
              <t>Use the SAID (<xref target="TOIP-CESR"/>) of the dossier as a lookup key to see whether the dossier has already been fully validated. Since dossiers are highly stable, caching dossier validations is recommended.</t>
            </li>
            <li>
              <t>If the dossier requires full validation, perform it. Validation includes checking the signature on each ACDC in the dossier's data graph against the key state of its respective issuer at the time the issuance occurred. Key state is proved by the KEL (<xref target="TOIP-KERI"/>), and checked against independent witnesses.  </t>
              <t>
Issuance is recorded explicitly in the KEL's overall event sequence, so this check does not require guesses about how to map issuance timestamps to key state events. Subsequent key rotations do not invalidate this analysis.  </t>
              <t>
Validation also includes comparing data structure and values against the declared schema, plus a full traversal of all chained cryptographically verifiable evidence, back to the root of trust for each artifact. The verifier <bcp14>MUST</bcp14> accept the root of trust as a valid authority on the vital question answered by each credential that depends upon it. The correct relationships among evidence artifacts <bcp14>MUST</bcp14> also be checked (e.g., proving that the issuer of one piece is the issuee of another piece).</t>
            </li>
            <li>
              <t>Check to see whether the revocation status of the dossier and each item it depends on has been tested recently enough, at the reference time, to satisfy the verifier's freshness requirements. If no, check for revocations anywhere in the data graph of the dossier. Revocations are not the same as key rotations. They can be checked much more quickly than doing a full validation. Revocation checks can also be cached, possibly with a different freshness threshold than the main evidence.</t>
            </li>
            <li>
              <t>Assuming that the dossier is valid and has no breakages due to revocation, confirm that the OP is authorized to sign the passport. If there is no delegation evidence, the AP and the OP <bcp14>MUST</bcp14> be identical, and the OP <bcp14>MUST</bcp14> be the issuee of the identity credential; otherwise, the OP <bcp14>MUST</bcp14> be the issuee of a delegated signing credential for which the issuer is the AP.</t>
            </li>
            <li>
              <t>Extract the <tt>orig</tt> field and compare it to the TNAlloc credential cited in the dossier to confirm that the AP (<xref format="counter" target="AP"/>) -- or, if OP is not equal to AP and OP is using their own number, the OP (<xref format="counter" target="OP"/>) -- has the right to originate calls with this number.</t>
            </li>
            <li>
              <t>If the passport includes non-null values for the optional <tt>card</tt> claim, extract that information and check that the brand attributes claimed for the call are justified by a brand credential in the dossier.</t>
            </li>
            <li>
              <t>Check any business logic. For example, if the passport includes a non-null value for the optional <tt>goal</tt> claim, confirm that the verifier is willing to accept a call with that goal. Or, if the delegated signer credential says that the OP can only call on behalf of the AP during certain hours, or in certain geos, check those attributes of the call.</t>
            </li>
          </ol>
        </section>
      </section>
      <section anchor="verifying-the-callee">
        <name>Verifying the callee</name>
        <t>The callee is verified with an algorithm that <bcp14>MAY</bcp14> be optimized but <bcp14>MUST</bcp14> achieve the same security guarantees as this:</t>
        <ol spacing="normal" type="1"><li>
            <t>Confirm that the <tt>call-id</tt> and <tt>cseq</tt> claims match the values of <tt>Call-ID</tt> and <tt>CSeq</tt> from the preceding SIP INVITE.</t>
          </li>
          <li>
            <t>Confirm that the <tt>iat</tt> claim matches contextual observations and other SIP metadata. That is, the timing described by the callee appears aligned with what is known about the call from external sources.</t>
          </li>
          <li>
            <t>If the <tt>exp</tt> claim is present, analyze the <tt>iat</tt> and <tt>exp</tt> claims to evaluate timeout.</t>
          </li>
          <li>
            <t>Extract the <tt>kid</tt> header.</t>
          </li>
          <li>
            <t>Fetch the key state for the callee at the reference time from the OOBI in <tt>kid</tt>. Caches may be used to optimize this, as long as they meet the freshness requirements of the verifier.</t>
          </li>
          <li>
            <t>Use the public key of the callee to verify that the signature on the passport is valid for that key state.</t>
          </li>
          <li>
            <t>Extract the <tt>evd</tt> field, which references the dossier that constitutes backing evidence.</t>
          </li>
          <li>
            <t>Use the SAID (<xref target="TOIP-CESR"/>) of the dossier as a lookup key to see whether the dossier has already been fully validated. Since dossiers are highly stable, caching dossier validations is recommended.</t>
          </li>
          <li>
            <t>Confirm that the dossier was signed (issued) by the same AID that appears in the <tt>kid</tt> header.</t>
          </li>
          <li>
            <t>If the dossier requires full validation, perform it.</t>
          </li>
          <li>
            <t>Check to see whether the revocation status of the dossier and each item it depends on has been tested recently enough, at the reference time, to satisfy the verifier's freshness requirements.</t>
          </li>
          <li>
            <t>Compare the callee's TN to the TNAlloc credential cited in the dossier to confirm that the callee has the right to accept calls at this number.</t>
          </li>
          <li>
            <t>If the passport includes non-null values for the optional <tt>card</tt> claim, extract that information and check that the brand attributes claimed for the call are justified by a brand credential in the dossier.</t>
          </li>
          <li>
            <t>Check any business logic. For example, if the passport includes a non-null value for the optional <tt>goal</tt> claim, and the preceding INVITE included a VVP passport that also declared a goal, confirm that the callee's and caller's goals overlap (one must be a subset of the other). Or, if the delegated signer credential says that a call center or an AI can accept calls during certain hours, or in certain geos, check those attributes of the call.</t>
          </li>
        </ol>
      </section>
      <section anchor="planning-for-efficiency">
        <name>Planning for efficiency</name>
        <t>A complete verification of either caller or callee passport, from scratch, is quite rigorous. With no caches, it may take several seconds, much like a thorough validation of a certificate chain. However, much VVP evidence is stable for long periods of time and lends itself to caching, subject to the proviso that revocation freshness must be managed wisely. Since the same dossier is used to add assurance to many calls -- perhaps thousands or millions of calls, for busy call centers -- and many dossiers will reference the same issuers and issuees and their associated key states and KELs (<xref target="TOIP-KERI"/>), caching will produce huge benefits.</t>
        <t>Furthermore, because SAIDs and their associated data (including links to other nodes in a data graph) have a tamper-evident relationship, any party can perform validation and compile their results, then share the data with verifiers that want to do less work. Validators like this are not oracles, because consumers of such data need not trust shared results blindly. They can always directly recompute some or all of it from a passport, to catch deception. However, they can do this lazily or occasionally, per their preferred balance of risk/effort.</t>
        <t><em>In toto</em>, these characteristics mean that no centralized registry is required in any given ecosystem. Data can be fetched directly from its source, across jurisdictional boundaries. Because it is fetched from its source, it comes with consent. Privacy can be tuned. Simple opportunistic, uncoordinated reuse (e.g., in or across the datacenters of TSPs) will arise spontaneously and will dramatically improve the scale and efficiency of the system.</t>
      </section>
      <section anchor="historical-analysis">
        <name>Historical analysis</name>
        <t>Normally, a verification algorithm determines whether the passport verifies <em>now</em>. (This is the only evaluation that's valid for most JWTs, because they depend on ephemeral key state fetched just in time from <tt>x5u</tt>). However, a VVP passport can do more. Its <tt>kid</tt> header references a KEL for the signer's AID (<xref target="TOIP-KERI"/>), and its <tt>evd</tt> header references a dossier issued by either the AID of the AP or the AID of the callee. Thence it connects to a KEL (<xref target="TOIP-KERI"/>). These data structures provide key state transitions that are timestamped -- both by the controllers of the AIDs, and by their independent witnesses. Although the timestamps are not guaranteed to be perfectly synchronized, they can be compared to establish rough transition times and to detect duplicity.</t>
        <t>Using this historical information, it becomes possible to ask whether a VVP passport would have verified at an arbitrary moment in the past. In such framings, the reference time from the verification algorithm is <em>then</em>, not <em>now</em>. In the normal case where <em>then</em> falls outside a fuzzy range, answers about key state are clear to all observers. In the rare cases where <em>then</em> falls inside a fuzzy range, a state transition was underway but not yet universally known, and a verifier can compute the key state (and thence, the outcome of the verification algorithm) according to their preferred interpretation.</t>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>Complying with a specification may forestall certain easy-to-anticipate attacks. However, <em>it does not mean that vulnerabilities don't exist, or that they won't be exploited</em>. The overall assurance of VVP requires reasonable vigilance. Given that a major objective of VVP is to ensure security, implementers are strongly counseled to understand the underlying principles, the assumptions, and the ways that choices by their own or other implementations could introduce risk.</t>
      <t>Like most cryptographic mechanisms, VVP depends on the foundational assumption that human stakeholders will manage cryptographic keys carefully. VVP enforces this assumption more thoroughly than many existing solutions:</t>
      <ul spacing="normal">
        <li>
          <t>Parties that issue credentials <bcp14>MUST</bcp14> be identified with AIDs (<xref target="TOIP-KERI"/>) that use witnesses. This guarantees a non-repudiable, publicly accessible audit log of how their key state evolves, and it makes key rotation easy. It also offers compromise and duplicity detection. Via prerotation, it enables recovery from key compromise. AIDs can be upgraded to use quantum-proof signing algorithms without changing the identifier.</t>
        </li>
        <li>
          <t>Parties that issue credentials <bcp14>MUST</bcp14> do so using ACDCs (<xref target="TOIP-ACDC"/>) signed by their AID rather than a raw key. This makes evidence revocable. It also makes it stable across key rotation, and prevents retrograde attacks by allowing verifiers to map an issuance or revocation event to an unambiguous key state in the KEL (<xref target="TOIP-KERI"/>).</t>
        </li>
        <li>
          <t>Parties that issue credentials <bcp14>SHOULD</bcp14> employ threshold-based multi-signature schemes. This enhances security by distributing signing authority across multiple key holders, reducing the risk of single-point compromise. Threshold-based signatures ensure that no single key compromise undermines the system’s integrity while enabling controlled key recovery and rotation without disrupting credential validity.</t>
        </li>
      </ul>
      <t>Nonetheless, it is still possible to make choices that weaken the security posture of the ecosystem, including at least the following:</t>
      <ul spacing="normal">
        <li>
          <t>Sharing keys or controlling access to them carelessly</t>
        </li>
        <li>
          <t>Issuing credentials with a flimsy basis for trust</t>
        </li>
        <li>
          <t>Delegating authority to untrustworthy parties</t>
        </li>
        <li>
          <t>Delegating authority without adequate constraints</t>
        </li>
        <li>
          <t>Failing to fully verify evidence</t>
        </li>
      </ul>
      <t>Generally understood best practices in cybersecurity will avoid many of these problems. In addition, the following policies that are specific to VVP are strongly recommended:</t>
      <ol spacing="normal" type="1"><li>
          <t>Passports <bcp14>SHOULD</bcp14> have an aggressive timeout (e.g., 30 seconds). Signatures on passports are not anchored in a KEL, and must therefore be evaluated for age with respect to the time they were received. Overly old passports could be a replay attack (a purported second call with the same orig and dest numbers, using the same backing evidence, soon after the first.)</t>
        </li>
        <li>
          <t>Witnesses (which <bcp14>MUST</bcp14> be used) <bcp14>SHOULD</bcp14> be used in such a way that high availability is guaranteed, and in such a way that duplicity by the controller of an AID is detected. (Verifiers will be able to see the witness policy of each AID controller, and <bcp14>SHOULD</bcp14> decide for themselves whether the party is reliable, depending on what they observe.)</t>
        </li>
        <li>
          <t>Revocations <bcp14>SHOULD</bcp14> be timely, and the timeliness guarantees of issuers <bcp14>SHOULD</bcp14> be published.</t>
        </li>
        <li>
          <t>Watchers <bcp14>SHOULD</bcp14> propagate events to local caches with a low latency, and <bcp14>MUST</bcp14> provide information that allows verifiers to decide whether that latency meets their freshness requirements.</t>
        </li>
      </ol>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document defines a new SDP <xref target="RFC8866"/> session-level attribute:</t>
      <t>Attribute name:      callee-passport
   Long-form description: Contains a STIR-compatible passport that references a dossier of evidence about the callee's identity, brand, and related attributes. Used in 200 OK and/or 180 Ringing responses.
   Type of attribute:   session-level
   Subject to charset:  No
   Reference:           This document</t>
      <t>This specification also depends on OOBIs (<xref target="TOIP-KERI"/>) being served as web resources with IANA content type <tt>application/cesr</tt>.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC3261">
          <front>
            <title>SIP: Session Initiation Protocol</title>
            <author fullname="J. Rosenberg" initials="J." surname="Rosenberg"/>
            <author fullname="H. Schulzrinne" initials="H." surname="Schulzrinne"/>
            <author fullname="G. Camarillo" initials="G." surname="Camarillo"/>
            <author fullname="A. Johnston" initials="A." surname="Johnston"/>
            <author fullname="J. Peterson" initials="J." surname="Peterson"/>
            <author fullname="R. Sparks" initials="R." surname="Sparks"/>
            <author fullname="M. Handley" initials="M." surname="Handley"/>
            <author fullname="E. Schooler" initials="E." surname="Schooler"/>
            <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="RFC4353">
          <front>
            <title>A Framework for Conferencing with the Session Initiation Protocol (SIP)</title>
            <author fullname="J. Rosenberg" initials="J." surname="Rosenberg"/>
            <date month="February" year="2006"/>
            <abstract>
              <t>The Session Initiation Protocol (SIP) supports the initiation, modification, and termination of media sessions between user agents. These sessions are managed by SIP dialogs, which represent a SIP relationship between a pair of user agents. Because dialogs are between pairs of user agents, SIP's usage for two-party communications (such as a phone call), is obvious. Communications sessions with multiple participants, generally known as conferencing, are more complicated. This document defines a framework for how such conferencing can occur. This framework describes the overall architecture, terminology, and protocol components needed for multi-party conferencing. This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4353"/>
          <seriesInfo name="DOI" value="10.17487/RFC4353"/>
        </reference>
        <reference anchor="RFC4575">
          <front>
            <title>A Session Initiation Protocol (SIP) Event Package for Conference State</title>
            <author fullname="J. Rosenberg" initials="J." surname="Rosenberg"/>
            <author fullname="H. Schulzrinne" initials="H." surname="Schulzrinne"/>
            <author fullname="O. Levin" initials="O." role="editor" surname="Levin"/>
            <date month="August" year="2006"/>
            <abstract>
              <t>This document defines a conference event package for tightly coupled conferences using the Session Initiation Protocol (SIP) events framework, along with a data format used in notifications for this package. The conference package allows users to subscribe to a conference Uniform Resource Identifier (URI). Notifications are sent about changes in the membership of this conference and optionally about changes in the state of additional conference components. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4575"/>
          <seriesInfo name="DOI" value="10.17487/RFC4575"/>
        </reference>
        <reference anchor="RFC4648">
          <front>
            <title>The Base16, Base32, and Base64 Data Encodings</title>
            <author fullname="S. Josefsson" initials="S." surname="Josefsson"/>
            <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="RFC5626">
          <front>
            <title>Managing Client-Initiated Connections in the Session Initiation Protocol (SIP)</title>
            <author fullname="C. Jennings" initials="C." role="editor" surname="Jennings"/>
            <author fullname="R. Mahy" initials="R." role="editor" surname="Mahy"/>
            <author fullname="F. Audet" initials="F." role="editor" surname="Audet"/>
            <date month="October" year="2009"/>
            <abstract>
              <t>The Session Initiation Protocol (SIP) allows proxy servers to initiate TCP connections or to send asynchronous UDP datagrams to User Agents in order to deliver requests. However, in a large number of real deployments, many practical considerations, such as the existence of firewalls and Network Address Translators (NATs) or the use of TLS with server-provided certificates, prevent servers from connecting to User Agents in this way. This specification defines behaviors for User Agents, registrars, and proxy servers that allow requests to be delivered on existing connections established by the User Agent. It also defines keep-alive behaviors needed to keep NAT bindings open and specifies the usage of multiple connections from the User Agent to its registrar. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5626"/>
          <seriesInfo name="DOI" value="10.17487/RFC5626"/>
        </reference>
        <reference anchor="RFC5763">
          <front>
            <title>Framework for Establishing a Secure Real-time Transport Protocol (SRTP) Security Context Using Datagram Transport Layer Security (DTLS)</title>
            <author fullname="J. Fischl" initials="J." surname="Fischl"/>
            <author fullname="H. Tschofenig" initials="H." surname="Tschofenig"/>
            <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>
            <date month="May" year="2010"/>
            <abstract>
              <t>This document specifies how to use the Session Initiation Protocol (SIP) to establish a Secure Real-time Transport Protocol (SRTP) security context using the Datagram Transport Layer Security (DTLS) protocol. It describes a mechanism of transporting a fingerprint attribute in the Session Description Protocol (SDP) that identifies the key that will be presented during the DTLS handshake. The key exchange travels along the media path as opposed to the signaling path. The SIP Identity mechanism can be used to protect the integrity of the fingerprint attribute from modification by intermediate proxies. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5763"/>
          <seriesInfo name="DOI" value="10.17487/RFC5763"/>
        </reference>
        <reference anchor="RFC5764">
          <front>
            <title>Datagram Transport Layer Security (DTLS) Extension to Establish Keys for the Secure Real-time Transport Protocol (SRTP)</title>
            <author fullname="D. McGrew" initials="D." surname="McGrew"/>
            <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>
            <date month="May" year="2010"/>
            <abstract>
              <t>This document describes a Datagram Transport Layer Security (DTLS) extension to establish keys for Secure RTP (SRTP) and Secure RTP Control Protocol (SRTCP) flows. DTLS keying happens on the media path, independent of any out-of-band signalling channel present. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5764"/>
          <seriesInfo name="DOI" value="10.17487/RFC5764"/>
        </reference>
        <reference anchor="RFC8032">
          <front>
            <title>Edwards-Curve Digital Signature Algorithm (EdDSA)</title>
            <author fullname="S. Josefsson" initials="S." surname="Josefsson"/>
            <author fullname="I. Liusvaara" initials="I." surname="Liusvaara"/>
            <date month="January" year="2017"/>
            <abstract>
              <t>This document describes elliptic curve signature scheme Edwards-curve Digital Signature Algorithm (EdDSA). The algorithm is instantiated with recommended parameters for the edwards25519 and edwards448 curves. An example implementation and test vectors are provided.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8032"/>
          <seriesInfo name="DOI" value="10.17487/RFC8032"/>
        </reference>
        <reference anchor="RFC8224">
          <front>
            <title>Authenticated Identity Management in the Session Initiation Protocol (SIP)</title>
            <author fullname="J. Peterson" initials="J." surname="Peterson"/>
            <author fullname="C. Jennings" initials="C." surname="Jennings"/>
            <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>
            <author fullname="C. Wendt" initials="C." surname="Wendt"/>
            <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">
          <front>
            <title>PASSporT: Personal Assertion Token</title>
            <author fullname="C. Wendt" initials="C." surname="Wendt"/>
            <author fullname="J. Peterson" initials="J." surname="Peterson"/>
            <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="RFC8866">
          <front>
            <title>SDP: Session Description Protocol</title>
            <author fullname="A. Begen" initials="A." surname="Begen"/>
            <author fullname="P. Kyzivat" initials="P." surname="Kyzivat"/>
            <author fullname="C. Perkins" initials="C." surname="Perkins"/>
            <author fullname="M. Handley" initials="M." surname="Handley"/>
            <date month="January" year="2021"/>
            <abstract>
              <t>This memo defines the Session Description Protocol (SDP). SDP is intended for describing multimedia sessions for the purposes of session announcement, session invitation, and other forms of multimedia session initiation. This document obsoletes RFC 4566.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8866"/>
          <seriesInfo name="DOI" value="10.17487/RFC8866"/>
        </reference>
        <reference anchor="FIPS186-4" target="https://doi.org/10.6028/NIST.FIPS.186-4">
          <front>
            <title>Digital Signature Standard (DSS)</title>
            <author>
              <organization>National Institute of Standards and Technology (NIST)</organization>
            </author>
            <date year="2013" month="July"/>
          </front>
        </reference>
        <reference anchor="TOIP-CESR" target="https://trustoverip.github.io/tswg-cesr-specification/">
          <front>
            <title>Composable Event Streaming Representation (CESR)</title>
            <author initials="S." surname="Smith" fullname="Sam Smith">
              <organization/>
            </author>
            <author initials="K." surname="Griffin" fullname="Kevin Griffin" role="editor">
              <organization/>
            </author>
            <author>
              <organization>Trust Over IP Foundation</organization>
            </author>
            <date year="2023" month="November"/>
          </front>
        </reference>
        <reference anchor="TOIP-KERI" target="https://trustoverip.github.io/tswg-keri-specification/">
          <front>
            <title>Key Event Receipt Infrastructure (KERI)</title>
            <author initials="S." surname="Smith" fullname="Sam Smith">
              <organization/>
            </author>
            <author initials="K." surname="Griffin" fullname="Kevin Griffin" role="editor">
              <organization/>
            </author>
            <author>
              <organization>Trust Over IP Foundation</organization>
            </author>
            <date year="2024" month="January"/>
          </front>
        </reference>
        <reference anchor="TOIP-ACDC" target="https://trustoverip.github.io/tswg-acdc-specification/">
          <front>
            <title>Authentic Chained Data Containers (ACDC)</title>
            <author initials="S." surname="Smith" fullname="Sam Smith">
              <organization/>
            </author>
            <author initials="P." surname="Feairheller" fullname="Phil Feairheller">
              <organization/>
            </author>
            <author initials="K." surname="Griffin" fullname="Kevin Griffin" role="editor">
              <organization/>
            </author>
            <author>
              <organization>Trust Over IP Foundation</organization>
            </author>
            <date year="2023" month="November"/>
          </front>
        </reference>
        <reference anchor="TOIP-DOSSIER" target="https://trustoverip.github.io/kswg-dossier-specification/">
          <front>
            <title>Verifiable Dossiers</title>
            <author initials="D." surname="Hardman" fullname="Daniel Hardman">
              <organization/>
            </author>
            <date year="2025" month="September"/>
          </front>
        </reference>
        <reference anchor="ATIS-1000074" target="https://atis.org/resources/signature-based-handling-of-asserted-information-using-tokens-shaken-atis-1000074-e/">
          <front>
            <title>Signature-Based Handling of Asserted Information Using toKENs (SHAKEN)</title>
            <author>
              <organization>Alliance for Telecommunications Industry Solutions</organization>
            </author>
            <date year="2019" month="February"/>
          </front>
        </reference>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC6350">
          <front>
            <title>vCard Format Specification</title>
            <author fullname="S. Perreault" initials="S." surname="Perreault"/>
            <date month="August" year="2011"/>
            <abstract>
              <t>This document defines the vCard data format for representing and exchanging a variety of information about individuals and other entities (e.g., formatted and structured name and delivery addresses, email address, multiple telephone numbers, photograph, logo, audio clips, etc.). This document obsoletes RFCs 2425, 2426, and 4770, and updates RFC 2739. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6350"/>
          <seriesInfo name="DOI" value="10.17487/RFC6350"/>
        </reference>
        <reference anchor="RFC7519">
          <front>
            <title>JSON Web Token (JWT)</title>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <author fullname="J. Bradley" initials="J." surname="Bradley"/>
            <author fullname="N. Sakimura" initials="N." surname="Sakimura"/>
            <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="RCD-DRAFT">
          <front>
            <title>SIP Call-Info Parameters for Rich Call Data</title>
            <author fullname="Chris Wendt" initials="C." surname="Wendt">
              <organization>Somos</organization>
            </author>
            <author fullname="Jon Peterson" initials="J." surname="Peterson">
              <organization>TransUnion</organization>
            </author>
            <date day="21" month="April" year="2025"/>
            <abstract>
              <t>   This document specifies a usage of the SIP Call-Info header field
   that incorporates Rich Call Data (RCD) associated with the identity
   of the originating party in order to provide to the terminating party
   a description of the caller (including details about the reason for
   the session).  RCD includes information about the caller beyond the
   telephone number such as a calling name, a logo, photo, or jCard
   object representing the caller, which can help the called party
   decide how to handle the session request.

   This document defines three new parameters 'call-reason', 'verified',
   and 'integrity' for the SIP Call-Info header field and also a new
   token ("jcard") for the 'purpose' parameter of the Call-Info header
   field.  It also provides guidance on the use of the Call-Info
   'purpose' parameter token, "icon".

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-sipcore-callinfo-rcd-19"/>
        </reference>
        <reference anchor="CTIA-BCID" target="https://api.ctia.org/wp-content/uploads/2022/11/Branded-Calling-Best-Practices.pdf">
          <front>
            <title>Branded Calling ID Best Practices</title>
            <author>
              <organization>CTIA</organization>
            </author>
            <date year="2022" month="November"/>
          </front>
        </reference>
        <reference anchor="ARIES-RFC-0519" target="https://github.com/hyperledger/aries-rfcs/blob/main/concepts/0519-goal-codes/README.md">
          <front>
            <title>Aries RFC 0519: Goal Codes</title>
            <author initials="D." surname="Hardman" fullname="Daniel Hardman">
              <organization/>
            </author>
            <date year="2021" month="April"/>
          </front>
        </reference>
        <reference anchor="LE-VLEI-SCHEMA" target="https://github.com/GLEIF-IT/vLEI-schema/blob/main/legal-entity-vLEI-credential.json">
          <front>
            <title>Legal Entity vLEI Credential</title>
            <author>
              <organization>GLEIF</organization>
            </author>
            <date year="2023" month="November"/>
          </front>
        </reference>
        <reference anchor="TN-ALLOC-SCHEMA" target="https://github.com/provenant-dev/public-schema/blob/main/tn-alloc/tn-alloc.schema.json">
          <front>
            <title>TN Allocation Credential</title>
            <author>
              <organization>Provenant</organization>
            </author>
            <date year="2024" month="December"/>
          </front>
        </reference>
        <reference anchor="BRAND-SCHEMA" target="https://github.com/provenant-dev/public-schema/blob/brand-owner/brand-owner/brand-owner.schema.json">
          <front>
            <title>Brand Credential</title>
            <author initials="D." surname="Hardman" fullname="Daniel Hardman">
              <organization/>
            </author>
            <date year="2024" month="December"/>
          </front>
        </reference>
      </references>
    </references>
    <?line 406?>

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>Much of the cybersecurity infrastructure used by VVP depends on KERI, which was invented by Sam Smith, and first implemented by Sam plus Phil Fairheller, Kevin Griffin, and other technical staff at GLEIF. Thanks to logistical support from Trust Over IP and the Linux Foundation, and to a diverse community of technical experts in those communities and in the Web of Trust group.</t>
      <t>Techniques that apply KERI to telco use cases were developed by Daniel Hardman, Randy Warshaw, and Ruth Choueka, with additional contributions from Dmitrii Tychinin, Yaroslav Lazarev, Arshdeep Singh, and many other staff members at Provenant, Inc. Thanks as well to Ed Eykholt for multiple editorial improvements.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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
9oFEFJRJ/l8LimW1MZkAAA==

-->

</rfc>
