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


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

]>


<rfc ipr="trust200902" docName="draft-sip-identity-confusion-bcp-00" category="bcp" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true">
  <front>
    <title abbrev="SIPConfusion Mitigation BCP">Mitigating SIP Identity Spoofing Caused by Semantic Ambiguities</title>

    <author initials="Q." surname="Wang" fullname="Qi Wang">
      <organization>Tsinghua University</organization>
      <address>
        <postal>
          <country>China</country>
        </postal>
        <email>qi-wang23@mails.tsinghua.edu.cn</email>
      </address>
    </author>
    <author initials="J." surname="Chen" fullname="Jianjun Chen">
      <organization>Tsinghua University</organization>
      <address>
        <postal>
          <country>China</country>
        </postal>
        <email>jianjun@tsinghua.edu.cn</email>
      </address>
    </author>

    <date year="2026" month="March" day="17"/>

    <area>ART</area>
    <workgroup>SIPCORE</workgroup>
    <keyword>SIP</keyword> <keyword>BCP</keyword> <keyword>Identity</keyword> <keyword>Spoofing</keyword> <keyword>Security</keyword>

    <abstract>


<?line 59?>

<t>The Session Initiation Protocol (SIP) carries originator identity
through multiple header fields --- From, P-Asserted-Identity,
P-Preferred-Identity, Remote-Party-ID, Identity and so on --- whose
processing is spread across several specifications. Because these
mechanisms leave significant room for implementation choice, SIP
servers and user agents frequently disagree on which identity signal
to trust and how to parse it. Recent research has demonstrated that
these semantic ambiguities enable caller-ID and message-origin
spoofing in the majority of tested server-client combinations, even
when TLS and authentication are correctly deployed.</t>

<t>This document provides best current practices for mitigating
identity spoofing caused by such ambiguities. It defines
identity-validation rules at each stage of the SIP signaling path,
from the originating server through trust boundaries and transit
proxies to the receiving user agent, and includes guidance on
deployment, migration, and interoperability with legacy systems.</t>



    </abstract>



  </front>

  <middle>


<?line 79?>

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

<t>The Session Initiation Protocol (SIP), specified in <xref target="RFC3261"/>, is the signaling standard for voice, video, and
messaging services including VoIP, VoLTE, and RCS. SIP does not
directly include a single unified mechanism that controls how
originator identity is asserted, validated, transported, and displayed
across all entities in the signaling path. This document summarizes
common existing guidelines and helps SIP operators and
implementers apply coherent identity-handling policies.</t>

<t>A recent systematic study <xref target="SIPCONFUSION"/> evaluated
six open-source SIP servers and nine user agents and found that 47 of
54 server-UA combinations were susceptible to ambiguity-based identity
spoofing. The same study confirmed real-world impact across commercial
VoIP hardware, public SIP services, and carrier-grade RCS messaging
platforms. Importantly, these spoofing outcomes persist even when TLS,
Digest authentication, and STIR are correctly deployed, because the
vulnerabilities lie in how identity information is handled across
entities rather than in the absence of authentication primitives.
<xref target="sec-threats"/> catalogues these vulnerability classes and references
the corresponding mitigations defined in this document.</t>

</section>
<section anchor="sec-scope"><name>Scope of the Document</name>

<t>The guidelines defined in this document are intended for SIP
deployments that carry originator identity for INVITE and MESSAGE
<xref target="RFC3428"/> methods. MESSAGE is explicitly in scope because
SIP-based messaging directly drives user trust decisions and has
been shown to be vulnerable to identity spoofing <xref target="SIPCONFUSION"/>.</t>

<t>This document does not define new SIP headers, does not replace
baseline authentication frameworks, and does not mandate any specific
national regulatory profile. It does not modify the normative
requirements of <xref target="RFC3261"/>, <xref target="RFC3325"/>,
or <xref target="RFC8224"/>; it provides deployment guidance that
tightens implementation behavior within the latitude already permitted
by those specifications.</t>

<t>This document is complementary to <xref target="RFC8862"/>, which binds
SIP-layer identity to media-layer keys for media confidentiality.
The guarantees of <xref target="RFC8862"/> depend on the identity assertions
being correct; this document addresses the identity-handling gaps
that can undermine those guarantees (see <xref target="sec-security"/> for
details).</t>

</section>
<section anchor="sec-terminology"><name>Definitions and Acronyms</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?>

<dl newline="true">
  <dt>AoR:</dt>
  <dd>
    <t>Address of Record. A SIP URI that points to a domain with a
location service that can map the URI to a set of contact URIs
where the user might be available.</t>
  </dd>
  <dt>Authentication point:</dt>
  <dd>
    <t>The first trusted SIP server (typically a proxy or registrar)
that authenticates the originator of a request and derives a
canonical identity. Analogous to the ingress router in BGP that
validates route announcements.</t>
  </dd>
  <dt>Canonical identity:</dt>
  <dd>
    <t>The single identity value selected by the authentication point
after credential verification and policy checks, bound to the
transaction context for downstream use.</t>
  </dd>
  <dt>Identity-bearing field:</dt>
  <dd>
    <t>Any SIP header field or URI component used by a receiving
entity to infer or display originating identity. Includes: From,
P-Asserted-Identity (PAI), P-Preferred-Identity (PPI),
Remote-Party-ID (RPID), and the Identity header field.</t>
  </dd>
  <dt>PAI:</dt>
  <dd>
    <t>P-Asserted-Identity, defined in <xref target="RFC3325"/>.</t>
  </dd>
  <dt>PPI:</dt>
  <dd>
    <t>P-Preferred-Identity, defined in <xref target="RFC3325"/>.</t>
  </dd>
  <dt>RPID:</dt>
  <dd>
    <t>Remote-Party-ID, a non-standardized header for network-asserted
identity, originally defined in the expired draft-ietf-sip-privacy-04
and still supported by some implementations.</t>
  </dd>
  <dt>SBC:</dt>
  <dd>
    <t>Session Border Controller. A B2BUA or proxy deployed at the
edge of an administrative domain to enforce policy at trust
boundaries.</t>
  </dd>
  <dt>Trust Domain:</dt>
  <dd>
    <t>A set of SIP entities that have been configured to trust one
another in accordance with a common specification (Spec(T)), as
defined in <xref target="RFC3324"/> and used by <xref target="RFC3325"/>.</t>
  </dd>
  <dt>Trust boundary:</dt>
  <dd>
    <t>A point in the signaling path where administrative trust
changes: between an untrusted endpoint and its domain proxy,
between an external peer and a provider edge SBC, or between two
administrative domains that have not established mutual trust.</t>
  </dd>
</dl>

<t>In addition to the list above, the following terms are used with
a specific meaning.</t>

<dl newline="true">
  <dt>Authenticated endpoint:</dt>
  <dd>
    <t>A UA that has presented valid credentials (e.g., via SIP
Digest) to its domain's authentication point.</t>
  </dd>
  <dt>Trusted peer:</dt>
  <dd>
    <t>An adjacent SIP entity that is a member of the local Trust
Domain (explicitly configured with a shared Spec(T)).</t>
  </dd>
  <dt>Untrusted source:</dt>
  <dd>
    <t>Any SIP entity that is not a member of the local Trust Domain,
including authenticated endpoints (which are trusted to be who
they claim but are not trusted to assert other identities), and
cross-domain peers without inter-domain authentication.</t>
  </dd>
</dl>

</section>
<section anchor="sec-architecture"><name>SIP Identity Architecture</name>

<t>A SIP request carrying originator identity traverses a chain of
entities. The chain varies by deployment scenario. Two common
topologies are:</t>

<t>Intra-domain (e.g., alice@example.com calls bob@example.com):</t>

<figure><artwork type="ascii-art"><![CDATA[
  +------+       +-----------+       +------+
  |  UA  |------>|   Proxy/  |------>|  UA  |
  | orig |       | Registrar |       | term |
  +------+       +-----------+       +------+
  assert         authn + derive      display
  identity       canonical identity  identity
]]></artwork></figure>

<t>Inter-domain (e.g., alice@atlanta.com calls bob@biloxi.com):</t>

<figure><artwork type="ascii-art"><![CDATA[
  +------+    +---------+    +-----+    +---------+    +------+
  |  UA  |--->|  Proxy  |--->| SBC |--->|  Proxy  |--->|  UA  |
  | orig |    | atlanta |    |     |    | biloxi  |    | term |
  +------+    +---------+    +-----+    +---------+    +------+
  assert      authn +        trust      verify +       display
  identity    derive         boundary   apply policy   identity
              canonical      sanitize
              identity
]]></artwork></figure>

<t>In both topologies, identity-bearing fields enter the chain at
the originating UA and are processed at each hop. Each entity has a
distinct role:</t>

<t><list style="numbers" type="1">
  <t><strong>Assertion</strong>: The originating UA populates From
(and optionally PPI) in the outgoing request.</t>
  <t><strong>Authentication and derivation</strong>: The first
trusted proxy (the authentication point) verifies the originator's
credentials and derives a canonical identity. It may insert PAI
and/or a STIR Identity header.</t>
  <t><strong>Trust-boundary sanitization</strong> (inter-domain
only): SBCs and edge proxies at domain boundaries strip or rewrite
identity-bearing fields that are not appropriate for the next trust
context. In intra-domain scenarios, the originating proxy may serve
both the authentication and trust-boundary role.</t>
  <t><strong>Inter-domain validation</strong> (inter-domain only):
The receiving domain's edge proxy verifies incoming identity
assertions (e.g., STIR signature validation) and applies local
policy.</t>
  <t><strong>Display</strong>: The terminating UA selects which
identity-bearing fields to render and presents them to the
user.</t>
</list></t>

<t>Spoofing vulnerabilities arise when adjacent entities in this
chain disagree on which field carries authoritative identity, how to
parse its value, or whether to trust its source. The BCP sections
below follow this chain and specify controls at each stage.
Intra-domain deployments without SBCs still require the controls in
<xref target="sec-authn-point"/> (authentication point) and
<xref target="sec-inbound-sanitization"/> (inbound sanitization), as these
address the risks from authenticated in-domain attackers and parser
divergence that exist regardless of whether requests cross domain
boundaries.</t>

</section>
<section anchor="sec-threats"><name>Threats and Vulnerabilities</name>

<t>This section lists known vulnerabilities in SIP identity handling
that have been demonstrated in practice. Each description is followed
by references to the mitigation sections in this document. The
vulnerability classes below are derived from the systematic evaluation
in <xref target="SIPCONFUSION"/>, which tested six open-source SIP servers and
nine user agents and found 47 of 54 server-UA combinations
susceptible to at least one class of identity spoofing.</t>

<section anchor="threat-auth-mismatch"><name>Identity-Authentication Mismatch</name>

<t><xref target="RFC3261"/> permits the From header field to differ from
authenticated credentials, as this flexibility was designed to support
anonymity. However, the same flexibility allows an authenticated user
to set the From addr-spec to any in-domain identity that is neither
their own nor an anonymous URI. If the server does not enforce
alignment between the From value and the authenticated identity, the
attacker can impersonate any user in the domain while presenting valid
credentials. This was the most broadly successful attack class in
<xref target="SIPCONFUSION"/>, succeeding against all six tested servers in their
default configurations. Notably, some implementations enforce this
binding for INVITE but skip it for MESSAGE, allowing message-origin
spoofing through the same infrastructure that correctly protects
voice calls.</t>

<t>For mitigations, see <xref target="sec-auth-binding"/>, <xref target="sec-canonical"/>, and
<xref target="sec-message-method"/>.</t>

</section>
<section anchor="threat-parser-diff"><name>Parser Differential Exploitation</name>

<t>SIP's text-based syntax allows header fields to be constructed
in ways that different parsers interpret differently. When a
server's authentication module extracts one identity from a From
header but the receiving UA extracts a different identity from the
same header, the alignment check at the server passes while the UA
displays a spoofed identity. Specific constructs that trigger
parser differentials include:</t>

<t><list style="symbols">
  <t>Ambiguous quoting of display-names containing angle brackets
or semicolons.</t>
  <t>Null bytes (0x00) and control characters that cause some parsers
to truncate or split the header value.</t>
  <t>Mixed use of display-name quoting styles with embedded URI-like
strings.</t>
</list></t>

<t>For mitigations, see <xref target="sec-parser"/> and <xref target="sec-singleton"/>.</t>

</section>
<section anchor="threat-domain-encoding"><name>Domain Encoding Confusion</name>

<t>Percent-encoding in the host component of SIP URIs is prohibited
by <xref section="19.1.2" sectionFormat="of" target="RFC3261"/>, but some implementations accept
and decode it. An attacker can exploit this by encoding parts of a
domain name to bypass domain-matching logic while the decoded form
matches a legitimate domain at the display layer. Similarly,
internationalized domain names can be used to create visual
confusion between attacker-controlled and legitimate domains.</t>

<t>For mitigations, see <xref target="sec-parser"/>.</t>

</section>
<section anchor="threat-header-smuggling"><name>Trust Boundary Header Smuggling</name>

<t>P-Asserted-Identity and P-Preferred-Identity are defined for use
within a Trust Domain (<xref target="RFC3325"/>). When a server accepts these
headers from an untrusted source without stripping them, an
external attacker can inject a PAI value claiming any identity,
including a local-domain identity. If the receiving UA or a
downstream proxy prefers PAI over From for display, the injected
identity is presented to the user. This attack is particularly
effective against MESSAGE requests, where the identity directly
influences user trust decisions for received text messages.</t>

<t>For mitigations, see <xref target="sec-from-untrusted"/> and
<xref target="sec-inbound-sanitization"/>.</t>

</section>
<section anchor="threat-precedence"><name>Identity Signal Precedence Disagreement</name>

<t>A SIP request may simultaneously carry identity information in
From, PAI, RPID, and the STIR Identity header. When the server
verifies identity using one field (e.g., From via Digest) but
the UA displays a different field (e.g., PAI or RPID), an attacker
can spoof the displayed field while satisfying the checked field.
This is especially dangerous when non-standardized headers like RPID
take precedence at the UA, as RPID is not subject to any
authentication or trust-domain controls.</t>

<t>For mitigations, see <xref target="sec-precedence"/> and <xref target="sec-legacy"/>.</t>

</section>
<section anchor="threat-display-name"><name>Display-Name Spoofing</name>

<t>STIR/PASSporT signs only the addr-spec portion of the From header;
the display-name is explicitly excluded
(<xref section="12.6" sectionFormat="of" target="RFC8224"/>). Because many UAs render the
display-name as the primary identity indicator and some render it as
the sole indicator, an attacker can set the display-name to a
misleading value (e.g., "IT Security &lt;sip:attacker@evil.example&gt;")
while the addr-spec passes STIR verification. No currently deployed
standard provides integrity protection for display-names.</t>

<t>For mitigations, see <xref target="sec-display-name"/> and
<xref target="sec-ua-display-name"/>.</t>

</section>
</section>
<section anchor="sec-authn-point"><name>Protecting Identity at the Authentication Point</name>

<t>The authentication point is the first line of defense against
identity spoofing. It authenticates the originator and establishes
the canonical identity that downstream entities rely on.</t>

<section anchor="sec-auth-binding"><name>Identity-Authentication Binding</name>

<t><xref section="8.1.1.3" sectionFormat="of" target="RFC3261"/> defines the From
header field as "the logical identity of the initiator" and does not
require it to match the authenticated identity --- the specification
provides for anonymity by allowing a non-identifying From value. The specification recommends using
"Anonymous" with a meaningless URI (e.g.,
sip:thisis@anonymous.invalid) when the client's identity is to
remain hidden.</t>

<t>However, SIP does not restrict the From value to either the
authenticated identity or a well-formed anonymous identity. This
permits an authenticated user to populate From with an arbitrary
in-domain identity that the server may accept and forward.</t>

<t>A server at the authentication point <bcp14>MUST</bcp14> enforce the following
constraint on requests from authenticated endpoints:</t>

<t><list style="symbols">
  <t>If the From addr-spec matches the authenticated identity
(after URI comparison per <xref section="19.1.4" sectionFormat="of" target="RFC3261"/>): accept normally.</t>
  <t>If the From addr-spec is a well-formed anonymous URI (i.e.,
the host is "anonymous.invalid", or the form conforms to
<xref target="RFC3323"/>): accept as a privacy request and apply
privacy handling per <xref target="RFC3323"/> and
<xref target="RFC3325"/>.</t>
  <t>If the From addr-spec matches neither the authenticated
identity nor a permitted anonymous form: reject with 403
(Forbidden), unless the From addr-spec is an alias explicitly
bound to the authenticated user in the server's provisioning
system (e.g., a role-based address such as
helpdesk@example.com assigned to specific users).</t>
</list></t>

<t>The principle is: an authenticated user may speak as themselves,
or may speak anonymously, but <bcp14>MUST NOT</bcp14> speak as someone else.</t>

</section>
<section anchor="sec-canonical"><name>Canonical Identity Derivation</name>

<t>After verifying the identity-authentication binding, the
authentication point <bcp14>MUST</bcp14> derive exactly one canonical identity per
request and bind it to the transaction/dialog context.</t>

<t>If PPI is present, the authentication point <bcp14>MAY</bcp14> use it as a hint
for selecting among multiple valid identities for the authenticated
user (e.g., role aliases). The PPI <bcp14>MUST</bcp14> then be removed before
forwarding (<xref section="6" sectionFormat="of" target="RFC3325"/>).</t>

<t>Downstream entities <bcp14>MUST</bcp14> use the canonical identity --- not raw
header values from the originating UA --- for authorization, routing
policy, and display-identity decisions.</t>

</section>
<section anchor="sec-message-method"><name>MESSAGE Method Alignment</name>

<t>Implementations <bcp14>MUST</bcp14> apply the same identity-authentication
binding and canonical identity derivation to MESSAGE
<xref target="RFC3428"/> as to INVITE.</t>

<t>SIP entities <bcp14>MUST NOT</bcp14> skip identity-alignment checks for MESSAGE
simply because no media session is established. The
<xref target="SIPCONFUSION"/> evaluation found that in some widely
deployed stacks, MESSAGE bypasses the alignment checks that are
correctly applied to INVITE, creating an inconsistency exploitable
for SMS spoofing over RCS and similar messaging paths.</t>

</section>
<section anchor="sec-precedence"><name>Identity Signal Precedence</name>

<t>A single SIP request may carry identity information in multiple
headers simultaneously. Without a unified precedence rule, different
entities may trust different fields, enabling an attacker to spoof
the field that the UA displays while authenticating against a
different field that the server checks.</t>

<t>Servers that derive a canonical identity <bcp14>MUST</bcp14> apply a documented
precedence policy. A <bcp14>RECOMMENDED</bcp14> order is:</t>

<t><list style="numbers" type="1">
  <t>Cryptographically verified identity --- a valid PASSporT/STIR
Identity header whose signature has been verified and whose "orig"
claim matches the From addr-spec <xref target="RFC8224"/>.</t>
  <t>Network-asserted identity --- PAI received from an explicitly
trusted peer within the same Trust Domain <xref target="RFC3325"/>.</t>
  <t>Locally authenticated identity --- the identity bound to the
Digest authentication context.</t>
</list></t>

</section>
<section anchor="sec-display-name"><name>Display-Name Scrubbing</name>

<t>PASSporT/STIR signs only the addr-spec of the From header; the
display-name is explicitly excluded (<xref section="12.6" sectionFormat="of" target="RFC8224"/>). Since many UAs render the display-name as
the primary identity indicator, an attacker who controls the
display-name can present misleading identity even when the
addr-spec is verified.</t>

<t>Trusted servers <bcp14>SHOULD</bcp14> validate the From display-name of
authenticated requests against a list of acceptable display-names
for the authenticated user. If the display-name does not match
policy, the server <bcp14>SHOULD</bcp14> either strip it (forwarding only the
addr-spec) or, where the display-name is clearly being used to spoof
the identity, reject the request with 403 (Forbidden) as recommended
in <xref section="12.6" sectionFormat="of" target="RFC8224"/>.</t>

<t>When rewriting identity headers for forwarding, servers <bcp14>SHOULD</bcp14>
set the display-name to a server-validated value (e.g., the
registered display name for the authenticated AoR) or omit it
entirely.</t>

</section>
</section>
<section anchor="sec-trust-boundary"><name>Protecting Identity at Trust Boundaries</name>

<t>Trust boundaries are the SIP equivalent of BGP peering edges: they
are the points where identity assertions from one administrative
context enter another. Proper sanitization at these boundaries
prevents header smuggling, unauthorized identity assertion, and
cross-domain spoofing.</t>

<section anchor="sec-inbound-sanitization"><name>Inbound Sanitization</name>

<t>Inbound sanitization encompasses both source-based identity
filtering (stripping headers by trust relationship) and structural
validation (rejecting duplicate headers, malformed syntax, and
legacy headers that could undermine canonical identity).</t>

<section anchor="sec-from-endpoints"><name>From Authenticated Endpoints</name>

<t>Authenticated endpoints are trusted to be who they claim (via
Digest credentials) but are NOT trusted to assert identities
other than their own. At the authentication point, the server
<bcp14>MUST</bcp14>:</t>

<t><list style="symbols">
  <t>Remove PPI (it is a hint that has been consumed).</t>
  <t>Remove RPID if present (endpoints are not trusted to insert
network-asserted identity).</t>
  <t>Verify From aligns with authenticated identity per
<xref target="sec-auth-binding"/>.</t>
  <t>Insert PAI reflecting the canonical identity if the request
will traverse the Trust Domain.</t>
</list></t>

</section>
<section anchor="sec-from-trusted"><name>From Trusted Peers (Intra-Trust-Domain)</name>

<t>Messages from a peer explicitly configured as a Trust Domain
member (with a shared Spec(T) per <xref target="RFC3325"/>):
the receiving server <bcp14>MAY</bcp14> accept the PAI as authoritative. The
server <bcp14>SHOULD</bcp14> still verify consistency between PAI and From, and
<bcp14>SHOULD</bcp14> log any discrepancy.</t>

</section>
<section anchor="sec-from-untrusted"><name>From Untrusted and Cross-Domain Sources</name>

<t>Messages from any source not explicitly in the local Trust
Domain --- including cross-domain peers, external SIP trunks, and
unknown IP addresses --- <bcp14>MUST</bcp14> be treated as untrusted. The
receiving server <bcp14>MUST</bcp14>:</t>

<t><list style="symbols">
  <t>Remove PAI and RPID: these headers are meaningful only
within a Trust Domain (<xref section="5" sectionFormat="of" target="RFC3325"/>).
A proxy receiving PAI from an untrusted source <bcp14>MUST</bcp14> replace or
remove it.</t>
  <t>Remove PPI: this header <bcp14>MUST NOT</bcp14> traverse trust boundaries
(<xref section="6" sectionFormat="of" target="RFC3325"/>).</t>
  <t>Reject requests where any identity-bearing field claims a
local-domain identity unless validated by an inter-domain
authentication mechanism (see <xref target="sec-interdomain"/>).</t>
  <t>If forwarding the request, mark it as unverified for all
downstream identity-display decisions.</t>
</list></t>

</section>
<section anchor="sec-singleton"><name>Duplicate Header Filtering</name>

<t>The From header field's grammar is not a comma-separated list
(<xref section="7.3.1" sectionFormat="of" target="RFC3261"/>), so multiple From headers
are prohibited by the base specification. Implementations <bcp14>MUST</bcp14>
enforce this:</t>

<t><list style="symbols">
  <t>Messages with multiple From headers <bcp14>MUST</bcp14> be rejected as
malformed (400).</t>
  <t>Comma-joining <bcp14>MUST NOT</bcp14> be used to attempt recovery of
multiple From values.</t>
  <t>Downstream entities <bcp14>MUST NOT</bcp14> apply "first wins" or "last
wins" fallback when duplicate singletons are encountered.</t>
</list></t>

<t>This requirement does not restrict fields that legitimately allow
multiple values: the Identity header may appear more than once per
<xref target="RFC8224"/>, and PAI may carry up to two values (one
SIP/SIPS URI and one tel URI) per <xref section="9.1" sectionFormat="of" target="RFC3325"/>.</t>

</section>
<section anchor="sec-parser"><name>Parser Hardening</name>

<t>The semantic gap between how a server's authentication module
parses a From header and how a UA renders it is the mechanism that
enables parser-differential spoofing. To close this gap,
implementations <bcp14>MUST</bcp14> apply strict, deterministic parsing to
identity-bearing fields.</t>

<t>Implementations <bcp14>MUST</bcp14>:</t>

<t><list style="symbols">
  <t>Reject identity-bearing headers containing null bytes (0x00)
or other control characters. These are not permitted by
<xref target="RFC3261"/> ABNF grammar.</t>
  <t>Reject percent-encoded characters in the host component of SIP
URIs, as prohibited by <xref section="19.1.2" sectionFormat="of" target="RFC3261"/>.</t>
  <t>Reject From headers where the boundary between display-name
and addr-spec is ambiguous --- for example, quoted display-names
containing unescaped angle brackets or semicolons that could be
interpreted as URI delimiters.</t>
  <t>Apply normalization (if any) before identity policy decisions.
The same normalized value <bcp14>MUST</bcp14> be used for authentication,
canonical identity derivation, and forwarding.</t>
</list></t>

<t>This is an intentional security tightening over permissive
parsing. SIP's text-based format makes the robustness principle
dangerous for identity handling: accepting and "best-effort"
interpreting a malformed identity header is precisely the behavior
that creates parser differentials. For identity-bearing fields, the
correct posture is: if the input is ambiguous, reject it.</t>

</section>
<section anchor="sec-legacy"><name>Legacy Header Scrubbing</name>

<t>RPID was never formally standardized by the IETF, yet it remains
supported by several widely deployed UAs. Its presence in the
signaling path can override canonical identity at UAs that prefer
RPID over From or PAI.</t>

<t>RPID and other non-standardized identity-bearing headers <bcp14>SHOULD</bcp14>
be disabled by default. If legacy support is required for
interoperability with specific peers:</t>

<t><list style="symbols">
  <t>it <bcp14>MUST</bcp14> be explicitly enabled per-peer;</t>
  <t>it <bcp14>MUST</bcp14> be constrained to requests received from those trusted
peers;</t>
  <t>it <bcp14>MUST NOT</bcp14> override canonical identity;</t>
  <t>it <bcp14>MUST</bcp14> be logged for security monitoring.</t>
</list></t>

</section>
</section>
<section anchor="sec-outbound"><name>Outbound Identity Handling</name>

<t>When forwarding toward an entity outside the Trust Domain,
treatment of PAI <bcp14>MUST</bcp14> follow the Privacy header semantics in
<xref section="7" sectionFormat="of" target="RFC3325"/>:</t>

<t><list style="symbols">
  <t>If Privacy contains "id": remove PAI before forwarding.</t>
  <t>If Privacy is "none": do NOT remove PAI.</t>
  <t>If no Privacy header is present: behavior is governed by
local Spec(T) policy. It is <bcp14>RECOMMENDED</bcp14> that PAI <bcp14>SHOULD NOT</bcp14> be
removed unless local privacy policies require it.</t>
</list></t>

</section>
<section anchor="sec-interdomain"><name>Inter-Domain Identity Validation</name>

<t>When accepting SIP traffic from another domain, operators <bcp14>SHOULD</bcp14>
deploy cryptographic identity validation (e.g., PASSporT/STIR)
where supported by ecosystem and regulation <xref target="RFC8224"/>
<xref target="RFC8225"/> <xref target="RFC8226"/>.</t>

<t>If inter-domain identity validation fails, the server <bcp14>MUST</bcp14>
apply one of the following actions, chosen according to deployment
profile and documented in the local Spec(T):</t>

<t><list style="symbols">
  <t>Reject: respond with 438 (Invalid Identity Header) when
STIR signature verification fails, or 403 (Forbidden) when a
cross-domain request claims a local-domain identity without
any verifiable proof.</t>
  <t>Downgrade: accept the request but strip all unverified
identity-bearing fields and mark the call as "unverified" in
all downstream signaling (e.g., via a P-Identity-Status header
or equivalent local mechanism).</t>
  <t>Divert: route the request to an operator-defined screening
queue or IVR that warns the callee before connecting.</t>
</list></t>

<t>The default action <bcp14>MUST</bcp14> be reject or downgrade; silent
acceptance of unverified cross-domain identity claims is <bcp14>NOT
RECOMMENDED</bcp14>.</t>

<t>Operators <bcp14>SHOULD</bcp14> monitor cross-domain validation failure rates
per peer and generate alerts when anomalous patterns are
detected.</t>

<t>Servers that do not support any inter-domain authentication
mechanism <bcp14>MUST NOT</bcp14> forward cross-domain requests with local-domain
identity claims as though they were locally originated.</t>

</section>
<section anchor="sec-failure-semantics"><name>Failure Semantics</name>

<t>When an identity-related check fails, the server <bcp14>MUST</bcp14> respond
with a specific SIP response code so that the originating entity
can distinguish between failure types. The following mapping
defines the expected response for each class of identity
failure:</t>

<texttable title="Identity Failure Response Codes" anchor="_table-failure-codes">
      <ttcol align='left'>Failure Condition</ttcol>
      <ttcol align='left'>Response Code</ttcol>
      <ttcol align='left'>BCP Section</ttcol>
      <c>From addr-spec does not match authenticated identity and is not a valid anonymous URI</c>
      <c>403 (Forbidden)</c>
      <c><xref target="sec-auth-binding"/></c>
      <c>Multiple From headers detected</c>
      <c>400 (Bad Request)</c>
      <c><xref target="sec-singleton"/></c>
      <c>Null bytes or control characters in identity field</c>
      <c>400 (Bad Request)</c>
      <c><xref target="sec-parser"/></c>
      <c>Percent-encoded host component in SIP URI</c>
      <c>400 (Bad Request)</c>
      <c><xref target="sec-parser"/></c>
      <c>Ambiguous display-name / addr-spec boundary</c>
      <c>400 (Bad Request)</c>
      <c><xref target="sec-parser"/></c>
      <c>Cross-domain request claiming local identity without inter-domain authentication</c>
      <c>403 (Forbidden)</c>
      <c><xref target="sec-from-untrusted"/></c>
      <c>STIR Identity signature verification failure</c>
      <c>438 (Invalid Identity Header)</c>
      <c><xref target="sec-interdomain"/></c>
</texttable>

<t>Implementations <bcp14>SHOULD</bcp14> include the Reason header field (e.g.,
Reason: SIP;cause=403;text="From-auth mismatch") to support
automated diagnostics.</t>

</section>
</section>
<section anchor="sec-ua"><name>Protecting Identity at the Receiving User Agent</name>

<t>The receiving UA is the last entity in the identity chain and the
point where identity is presented to a human user. The
<xref target="SIPCONFUSION"/> evaluation found that none of the twelve tested UAs
(nine softphones and three hardware phones) displayed any
verification status or trust indicator --- all rendered verified and
unverified identities with identical visual weight.</t>

<section anchor="sec-ua-selection"><name>Identity Selection for Display</name>

<t>A UA <bcp14>MUST</bcp14> apply the same identity-signal precedence as defined in
<xref target="sec-precedence"/>. Deprecated or non-standardized headers (e.g.,
RPID received from outside a Trust Domain) <bcp14>MUST</bcp14> be ignored for
display by default.</t>

</section>
<section anchor="sec-ua-trust"><name>Trust and Provenance Indicators</name>

<t>UAs <bcp14>MUST</bcp14> visually distinguish between at least three identity
assurance levels: verified (cryptographic proof via STIR),
unverified (no assertion or proof available), and verification
failed (STIR signature present but invalid). An unverified identity
<bcp14>MUST NOT</bcp14> be rendered with the same visual prominence as a verified
identity.</t>

<t>Where the STIR signing domain or PAI domain differs from the From
addr-spec domain, UAs <bcp14>SHOULD</bcp14> indicate this provenance difference
to the user (e.g., a "via" annotation, analogous to email clients
showing "via sendgrid.net" when the DKIM signing domain differs
from the From domain). Where the request originates from outside
the local administrative domain, UAs <bcp14>SHOULD</bcp14> indicate external
origin (e.g., an "[External]" tag).</t>

</section>
<section anchor="sec-ua-display-name"><name>Display-Name Handling</name>

<t>Display-names are not integrity-protected by any deployed standard
(<xref section="12.6" sectionFormat="of" target="RFC8224"/>). UAs <bcp14>MUST NOT</bcp14> render the
display-name as the sole identity indicator; the addr-spec <bcp14>MUST</bcp14>
always be visible or accessible with minimal interaction. When the
display-name resembles a URI or phone number that differs from the
actual addr-spec, the UA <bcp14>SHOULD</bcp14> warn the user.</t>

</section>
<section anchor="sec-ua-multi-from"><name>Duplicate Header Handling at the UA</name>

<t>If a UA receives a request containing multiple From headers
(which the server-side controls in <xref target="sec-singleton"/>
should have prevented), the UA <bcp14>MUST NOT</bcp14> silently select one
value. The UA <bcp14>MUST</bcp14> either reject the request or display a warning
indicating that the identity is malformed.</t>

</section>
</section>
<section anchor="sec-deployment"><name>Deployment and Operational Considerations</name>

<t>The controls in this document apply to all SIP deployments, but
deployment contexts differ in risk tolerance and legacy constraints.
As a general principle:</t>

<t><list style="symbols">
  <t>Carrier/interconnect environments, where traffic crosses trust
boundaries by default, <bcp14>SHOULD</bcp14> apply the strictest controls and
treat cross-domain identity assertions as untrusted absent
cryptographic verification.</t>
  <t>Enterprise/PBX environments, where most traffic is intra-domain,
<bcp14>SHOULD</bcp14> still enforce From-authentication binding and parser
hardening but <bcp14>MAY</bcp14> defer cross-domain validation to the SBC or
session border element.</t>
  <t>All environments <bcp14>MUST</bcp14> enforce the core safety controls
(From-authentication binding, duplicate-From rejection,
untrusted-source PAI stripping, and parser hardening) regardless
of deployment context.</t>
</list></t>

<t>To support monitoring, auditing, and phased migration, trusted SIP
elements <bcp14>SHOULD</bcp14> log the canonical identity result,
original and post-sanitization header values, trust-boundary
classification of the source, and the reject/allow decision for each
identity-bearing request. Operators <bcp14>SHOULD</bcp14> alert on repeated
malformed identity attempts from the same source.</t>

<section anchor="sec-test"><name>Testing</name>

<t>Every <bcp14>MUST</bcp14>-level requirement in this document <bcp14>SHOULD</bcp14> be covered by
at least one negative test case that verifies the expected rejection
behavior. <xref target="appendix-test-matrix"/> provides a mapping of normative
requirements to minimal test inputs and expected results.</t>

<t>Implementations <bcp14>SHOULD</bcp14> include SIP parser differential test cases
inspired by <xref target="RFC4475"/> and the attack patterns in
<xref target="SIPCONFUSION"/>.</t>

</section>
</section>
<section anchor="sec-migration"><name>Migration and Compatibility</name>

<t>Because strict validation can expose long-standing non-compliant
behaviors, operators <bcp14>SHOULD</bcp14> deploy these controls in phases:</t>

<t><list style="numbers" type="1">
  <t>Monitor-only mode: log all identity anomalies without
rejecting traffic. Identify legitimate non-conformant peers.</t>
  <t>Staged enforcement: reject highest-risk patterns (duplicate
From, null-byte injection, cross-domain PAI smuggling) while
applying compatibility-mode rewrites (see below) for lower-risk
anomalies.</t>
  <t>Full enforcement: reject all non-conformant identity inputs,
with a documented exception process for peers that require
additional migration time.</t>
</list></t>

<t>Exception policies <bcp14>MUST</bcp14> be time-bounded, with a maximum duration
of 12 months before mandatory re-evaluation.</t>

<section anchor="sec-compatibility"><name>Compatibility Mode</name>

<t>To preserve interoperability with legacy peers that generate
non-conformant headers, deployments <bcp14>MAY</bcp14> implement a compatibility
mode that rewrites the ambiguous origin identity to a well-formed
anonymous identity token (sip:anonymous@anonymous.invalid)
<xref target="RFC3323"/> before forwarding.</t>

<t>If compatibility mode is enabled, the server <bcp14>MUST</bcp14>:</t>

<t><list style="symbols">
  <t>Mark the request as unverified for all downstream display and
policy logic.</t>
  <t>Strip or overwrite all conflicting identity-bearing
fields.</t>
  <t>Prevent privileged treatment based on the rewritten
identity.</t>
  <t>Emit auditable logs including the original header values and the
reason for rewrite.</t>
</list></t>

</section>
</section>
<section anchor="sec-security"><name>Security Considerations</name>

<t>This document is entirely about improving security posture for SIP
identity handling. The primary security objective is preventing
identity spoofing at each stage of the signaling path described in
<xref target="sec-architecture"/>.</t>

<t>The identity-authentication binding (<xref target="sec-auth-binding"/>) enforces that the only legitimate
alternative to presenting one's authenticated identity is presenting
an anonymous identity. This aligns with the original design intent of
<xref section="8.1.1.3" sectionFormat="of" target="RFC3261"/> while closing the loophole
that allows impersonation disguised as a "different logical
identity."</t>

<t>Applying this BCP reduces impersonation opportunities for both
authenticated in-domain and unauthenticated cross-domain attackers.
Residual risk remains for environments that retain permissive parsing,
legacy identity features, or undefined trust boundaries. Implementers
and operators should review guidance from <xref target="RFC3552"/>
when performing threat analysis.</t>

<t>The media confidentiality framework in <xref target="RFC8862"/> relies on STIR
to provide integrity protection for SDP key fingerprints. If
identity-bearing fields are spoofed before STIR signing occurs
(<xref target="threat-auth-mismatch"/>), or if trust-boundary sanitization fails
to prevent header smuggling (<xref target="threat-header-smuggling"/>), an
attacker may cause STIR to sign a manipulated identity, undermining
the end-to-end assurance that <xref target="RFC8862"/> provides. Conversely,
even with correct identity handling per this BCP, media
confidentiality requires the additional mechanisms specified in
<xref target="RFC8862"/>. The two documents together address identity integrity
(this document) and identity-to-media binding (<xref target="RFC8862"/>).</t>

</section>
<section anchor="sec-privacy"><name>Privacy Considerations</name>

<t>The identity-authentication binding in
<xref target="sec-auth-binding"/> explicitly preserves the anonymity
mechanism of <xref target="RFC3261"/> and <xref target="RFC3323"/>.
Users who wish to remain anonymous may use anonymous URI forms. The
restriction is only on impersonating another specific identity.</t>

<t>Identity sanitization and logging can process personally
identifiable information. Operators <bcp14>SHOULD</bcp14> minimize retained data,
apply role-based access controls, and follow jurisdictional privacy
requirements.</t>

</section>
<section anchor="sec-iana"><name>IANA Considerations</name>

<t>This document has no IANA actions.</t>

</section>


  </middle>

  <back>


<references title='References' anchor="sec-combined-references">

    <references title='Normative References' anchor="sec-normative-references">



<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="RFC3428">
  <front>
    <title>Session Initiation Protocol (SIP) Extension for Instant Messaging</title>
    <author fullname="B. Campbell" initials="B." role="editor" surname="Campbell"/>
    <author fullname="J. Rosenberg" initials="J." surname="Rosenberg"/>
    <author fullname="H. Schulzrinne" initials="H." surname="Schulzrinne"/>
    <author fullname="C. Huitema" initials="C." surname="Huitema"/>
    <author fullname="D. Gurle" initials="D." surname="Gurle"/>
    <date month="December" year="2002"/>
    <abstract>
      <t>Instant Messaging (IM) refers to the transfer of messages between users in near real-time. These messages are usually, but not required to be, short. IMs are often used in a conversational mode, that is, the transfer of messages back and forth is fast enough for participants to maintain an interactive conversation. This document proposes the MESSAGE method, an extension to the Session Initiation Protocol (SIP) that allows the transfer of Instant Messages. Since the MESSAGE request is an extension to SIP, it inherits all the request routing and security features of that protocol. MESSAGE requests carry the content in the form of MIME body parts. MESSAGE requests do not themselves initiate a SIP dialog; under normal usage each Instant Message stands alone, much like pager messages. MESSAGE requests may be sent in the context of a dialog initiated by some other SIP request. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="3428"/>
  <seriesInfo name="DOI" value="10.17487/RFC3428"/>
</reference>
<reference anchor="RFC3325">
  <front>
    <title>Private Extensions to the Session Initiation Protocol (SIP) for Asserted Identity within Trusted Networks</title>
    <author fullname="C. Jennings" initials="C." surname="Jennings"/>
    <author fullname="J. Peterson" initials="J." surname="Peterson"/>
    <author fullname="M. Watson" initials="M." surname="Watson"/>
    <date month="November" year="2002"/>
  </front>
  <seriesInfo name="RFC" value="3325"/>
  <seriesInfo name="DOI" value="10.17487/RFC3325"/>
</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>
<reference anchor="RFC3324">
  <front>
    <title>Short Term Requirements for Network Asserted Identity</title>
    <author fullname="M. Watson" initials="M." surname="Watson"/>
    <date month="November" year="2002"/>
  </front>
  <seriesInfo name="RFC" value="3324"/>
  <seriesInfo name="DOI" value="10.17487/RFC3324"/>
</reference>
<reference anchor="RFC3323">
  <front>
    <title>A Privacy Mechanism for the Session Initiation Protocol (SIP)</title>
    <author fullname="J. Peterson" initials="J." surname="Peterson"/>
    <date month="November" year="2002"/>
  </front>
  <seriesInfo name="RFC" value="3323"/>
  <seriesInfo name="DOI" value="10.17487/RFC3323"/>
</reference>



    </references>

    <references title='Informative References' anchor="sec-informative-references">

<reference anchor="SIPCONFUSION" target="https://www.ndss-symposium.org/ndss-paper/sipconfusion-exploiting-sip-semantic-ambiguities-for-caller-id-and-sms-spoofing/">
  <front>
    <title>SIPConfusion: Exploiting SIP Semantic Ambiguities for Caller ID and SMS Spoofing</title>
    <author initials="Q." surname="Wang" fullname="Qi Wang">
      <organization></organization>
    </author>
    <author initials="J." surname="Chen" fullname="Jianjun Chen">
      <organization></organization>
    </author>
    <author initials="J." surname="Yang" fullname="Jingcheng Yang">
      <organization></organization>
    </author>
    <author initials="J." surname="Zhang" fullname="Jiahe Zhang">
      <organization></organization>
    </author>
    <author initials="Y." surname="Yang" fullname="Yaru Yang">
      <organization></organization>
    </author>
    <author initials="H." surname="Duan" fullname="Haixin Duan">
      <organization></organization>
    </author>
    <date year="2026" month="February"/>
  </front>
  <seriesInfo name="NDSS Symposium" value="2026"/>
</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="RFC8862">
  <front>
    <title>Best Practices for Securing RTP Media Signaled with SIP</title>
    <author fullname="J. Peterson" initials="J." surname="Peterson"/>
    <author fullname="R. Barnes" initials="R." surname="Barnes"/>
    <author fullname="R. Housley" initials="R." surname="Housley"/>
    <date month="January" year="2021"/>
    <abstract>
      <t>Although the Session Initiation Protocol (SIP) includes a suite of security services that has been expanded by numerous specifications over the years, there is no single place that explains how to use SIP to establish confidential media sessions. Additionally, existing mechanisms have some feature gaps that need to be identified and resolved in order for them to address the pervasive monitoring threat model. This specification describes best practices for negotiating confidential media with SIP, including a comprehensive protection solution that binds the media layer to SIP layer identities.</t>
    </abstract>
  </front>
  <seriesInfo name="BCP" value="228"/>
  <seriesInfo name="RFC" value="8862"/>
  <seriesInfo name="DOI" value="10.17487/RFC8862"/>
</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="RFC8226">
  <front>
    <title>Secure Telephone Identity Credentials: Certificates</title>
    <author fullname="J. Peterson" initials="J." surname="Peterson"/>
    <author fullname="S. Turner" initials="S." surname="Turner"/>
    <date month="February" year="2018"/>
    <abstract>
      <t>In order to prevent the impersonation of telephone numbers on the Internet, some kind of credential system needs to exist that cryptographically asserts authority over telephone numbers. This document describes the use of certificates in establishing authority over telephone numbers, as a component of a broader architecture for managing telephone numbers as identities in protocols like SIP.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="8226"/>
  <seriesInfo name="DOI" value="10.17487/RFC8226"/>
</reference>
<reference anchor="RFC4475">
  <front>
    <title>Session Initiation Protocol (SIP) Torture Test Messages</title>
    <author fullname="R. Sparks" initials="R." role="editor" surname="Sparks"/>
    <author fullname="A. Hawrylyshen" initials="A." surname="Hawrylyshen"/>
    <author fullname="A. Johnston" initials="A." surname="Johnston"/>
    <author fullname="J. Rosenberg" initials="J." surname="Rosenberg"/>
    <author fullname="H. Schulzrinne" initials="H." surname="Schulzrinne"/>
    <date month="May" year="2006"/>
    <abstract>
      <t>This informational document gives examples of Session Initiation Protocol (SIP) test messages designed to exercise and "torture" a SIP implementation. This memo provides information for the Internet community.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="4475"/>
  <seriesInfo name="DOI" value="10.17487/RFC4475"/>
</reference>
<reference anchor="RFC3552">
  <front>
    <title>Guidelines for Writing RFC Text on Security Considerations</title>
    <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>
    <author fullname="B. Korver" initials="B." surname="Korver"/>
    <date month="July" year="2003"/>
    <abstract>
      <t>All RFCs are required to have a Security Considerations section. Historically, such sections have been relatively weak. This document provides guidelines to RFC authors on how to write a good Security Considerations section. 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="72"/>
  <seriesInfo name="RFC" value="3552"/>
  <seriesInfo name="DOI" value="10.17487/RFC3552"/>
</reference>



    </references>

</references>


<?line 857?>

<section anchor="appendix-test-matrix"><name>Requirement-to-Test Matrix</name>

<t>This appendix maps each <bcp14>MUST</bcp14>-level normative requirement to a
minimal negative test input, the expected SIP response code, and the
expected downstream header state after correct processing. Each row
constitutes a minimum-viable test case.</t>

<section anchor="server-side-authentication-and-sanitization-tests"><name>Server-Side Authentication and Sanitization Tests</name>

<texttable title="Authentication and Sanitization Tests" anchor="_table-test-authn">
      <ttcol align='left'>Req ID</ttcol>
      <ttcol align='left'>Requirement</ttcol>
      <ttcol align='left'>BCP Section</ttcol>
      <c>R-AUTH-1</c>
      <c>From must match auth or be anonymous</c>
      <c><xref target="sec-auth-binding"/></c>
      <c>R-AUTH-2</c>
      <c>Anonymous URI accepted as privacy</c>
      <c><xref target="sec-auth-binding"/></c>
      <c>R-CANON-1</c>
      <c>PPI removed after consumption</c>
      <c><xref target="sec-canonical"/></c>
      <c>R-MSG-1</c>
      <c>MESSAGE gets same checks as INVITE</c>
      <c><xref target="sec-message-method"/></c>
      <c>R-STRIP-1</c>
      <c>Strip PAI from untrusted source</c>
      <c><xref target="sec-from-untrusted"/></c>
      <c>R-STRIP-2</c>
      <c>Strip PPI from untrusted source</c>
      <c><xref target="sec-from-untrusted"/></c>
      <c>R-STRIP-3</c>
      <c>Reject cross-domain local-domain claim without STIR</c>
      <c><xref target="sec-from-untrusted"/></c>
</texttable>

<texttable title="Authentication and Sanitization Test Inputs and Results" anchor="_table-test-authn-result">
      <ttcol align='left'>Req ID</ttcol>
      <ttcol align='left'>Test Input</ttcol>
      <ttcol align='left'>Expected Result</ttcol>
      <c>R-AUTH-1</c>
      <c>From: bob, Digest user=alice</c>
      <c>403; not forwarded</c>
      <c>R-AUTH-2</c>
      <c>From: anonymous, Digest user=alice</c>
      <c>2xx; PAI=alice, From=anon</c>
      <c>R-CANON-1</c>
      <c>PPI present from auth'd endpoint</c>
      <c>2xx; PPI absent downstream</c>
      <c>R-MSG-1</c>
      <c>MESSAGE From: bob, Digest user=alice</c>
      <c>403; not forwarded</c>
      <c>R-STRIP-1</c>
      <c>PAI from external IP</c>
      <c>2xx; PAI absent or replaced</c>
      <c>R-STRIP-2</c>
      <c>PPI from external IP</c>
      <c>2xx; PPI absent downstream</c>
      <c>R-STRIP-3</c>
      <c>From: local-domain from evil.example</c>
      <c>403; not forwarded</c>
</texttable>

</section>
<section anchor="filtering-and-parser-tests"><name>Filtering and Parser Tests</name>

<texttable title="Filtering and Parser Tests" anchor="_table-test-filter">
      <ttcol align='left'>Req ID</ttcol>
      <ttcol align='left'>Requirement</ttcol>
      <ttcol align='left'>BCP Section</ttcol>
      <c>R-DUP-1</c>
      <c>Reject multiple From headers</c>
      <c><xref target="sec-singleton"/></c>
      <c>R-PARSE-1</c>
      <c>Reject null bytes in identity fields</c>
      <c><xref target="sec-parser"/></c>
      <c>R-PARSE-2</c>
      <c>Reject %-encoded host in SIP URI</c>
      <c><xref target="sec-parser"/></c>
      <c>R-PARSE-3</c>
      <c>Reject ambiguous display-name/addr-spec</c>
      <c><xref target="sec-parser"/></c>
      <c>R-XDOM-1</c>
      <c>STIR signature failure triggers 438</c>
      <c><xref target="sec-interdomain"/></c>
      <c>R-XDOM-2</c>
      <c>Cross-domain without STIR must not forward as local</c>
      <c><xref target="sec-interdomain"/></c>
</texttable>

<texttable title="Filtering and Parser Test Inputs and Results" anchor="_table-test-filter-result">
      <ttcol align='left'>Req ID</ttcol>
      <ttcol align='left'>Test Input</ttcol>
      <ttcol align='left'>Expected Result</ttcol>
      <c>R-DUP-1</c>
      <c>Two From: headers in request</c>
      <c>400; not forwarded</c>
      <c>R-PARSE-1</c>
      <c>From with null byte (0x00)</c>
      <c>400; not forwarded</c>
      <c>R-PARSE-2</c>
      <c>From host %-encoded</c>
      <c>400; not forwarded</c>
      <c>R-PARSE-3</c>
      <c>Ambiguous delimiters in From</c>
      <c>400; not forwarded</c>
      <c>R-XDOM-1</c>
      <c>Invalid PASSporT signature</c>
      <c>438; not forwarded</c>
      <c>R-XDOM-2</c>
      <c>External INVITE, no Identity/PAI</c>
      <c>2xx or 403; mark "unverified"</c>
</texttable>

</section>
<section anchor="ua-display-tests"><name>UA Display Tests</name>

<texttable title="UA Display Tests" anchor="_table-test-ua">
      <ttcol align='left'>Req ID</ttcol>
      <ttcol align='left'>Requirement</ttcol>
      <ttcol align='left'>BCP Section</ttcol>
      <c>R-UA-1</c>
      <c>UA must distinguish unverified identity</c>
      <c><xref target="sec-ua-trust"/></c>
      <c>R-UA-2</c>
      <c>UA must show "via" for differing signing domain</c>
      <c><xref target="sec-ua-trust"/></c>
      <c>R-UA-3</c>
      <c>UA must not render display-name as sole indicator</c>
      <c><xref target="sec-ua-display-name"/></c>
      <c>R-UA-4</c>
      <c>UA must reject or warn on duplicate From</c>
      <c><xref target="sec-ua-multi-from"/></c>
</texttable>

<texttable title="UA Display Test Inputs and Results" anchor="_table-test-ua-result">
      <ttcol align='left'>Req ID</ttcol>
      <ttcol align='left'>Test Input</ttcol>
      <ttcol align='left'>Expected UA Behavior</ttcol>
      <c>R-UA-1</c>
      <c>INVITE with From only, no PAI/Identity</c>
      <c>"Unverified" label</c>
      <c>R-UA-2</c>
      <c>From: alice@a.example, Identity signed by b.net</c>
      <c>"alice@a.example via b.net"</c>
      <c>R-UA-3</c>
      <c>Display-name looks like a different address</c>
      <c>addr-spec visible; warning</c>
      <c>R-UA-4</c>
      <c>Request with two From: headers</c>
      <c>Reject or "malformed" warning</c>
</texttable>

<t>Implementations <bcp14>SHOULD</bcp14> include all rows above in automated
regression suites. Additional test vectors based on
<xref target="RFC4475"/> and <xref target="SIPCONFUSION"/> attack patterns
are <bcp14>RECOMMENDED</bcp14>.</t>

</section>
</section>
<section anchor="appendix-examples"><name>Example Attack Flows</name>

<section anchor="example-auth-impersonation"><name>In-Domain Impersonation (Authentication Point Failure)</name>

<t>An authenticated user (alice) sends:</t>

<figure><sourcecode type="text"><![CDATA[
INVITE sip:victim@example.com SIP/2.0
From: "admin" <sip:admin@example.com>;tag=a1b2c3
Proxy-Authorization: Digest username="alice", ...
]]></sourcecode></figure>

<t>The server authenticates alice but does not check From alignment.
The request is forwarded with the spoofed From.</t>

<t>Mitigation: <xref target="sec-auth-binding"/> requires rejection
(From is neither alice's identity nor anonymous).</t>

</section>
<section anchor="example-parser"><name>Parser-Differential Bypass (Filtering Failure)</name>

<figure><sourcecode type="text"><![CDATA[
From: "\"<sip:admin@example.com>;"<sip:alice@example.com>
]]></sourcecode></figure>

<t>The server's authentication module extracts alice@example.com
(correct); the UA extracts admin@example.com (incorrect). The
alignment check passes at the server, but the UA displays the
wrong identity.</t>

<t>Mitigation: <xref target="sec-parser"/> requires rejection of
ambiguous delimiter constructs.</t>

</section>
<section anchor="example-smuggling"><name>Cross-Domain PAI Smuggling (Trust Boundary Failure)</name>

<figure><sourcecode type="text"><![CDATA[
MESSAGE sip:victim@example.com SIP/2.0
From: <sip:someone@evil.example>;tag=d4e5f6
P-Asserted-Identity: <sip:admin@example.com>
]]></sourcecode></figure>

<t>The server forwards without stripping PAI from the untrusted
source. The UA prefers PAI and displays admin@example.com.</t>

<t>Mitigation: <xref target="sec-from-untrusted"/> requires
stripping PAI from untrusted sources.</t>

</section>
</section>
<section numbered="false" anchor="Acknowledgements"><name>Acknowledgements</name>

<t>The editors thank the SIP security research and operations
communities for demonstrating practical identity-confusion attack
scenarios and sharing deployment lessons that informed this BCP.</t>

</section>


  </back>

<!-- ##markdown-source:
H4sIAAAAAAAAA6V9bZfbxpHu9/4Vfelzj2dikpJGsuOMYieURo4na8mTGclZ
381+AEmQhEUCDADOiLGU33J/y/1lt56q6jcQHGkTn7MbDQg0Gt31Xk9Vj0Yj
0xbtOj+3g5dFWyyztiiX9ubyyl7O85J+2tubbVUtcPV5tmvyuZ3SpXyT0Y8z
O9lMi+WOHsybgcmm0zq/pZHo8edVudg1RVVaNyz989nzq4GZV7My29AL53W2
aEdNsR0V+qrRzD01ms62o4cPzSxr82VV788tXTDFtj63bb1r2rOHD3/38Mw0
u+mmaPBAu9/SkJcvXn9naJAmL5tdw/fmJqvz7NxOrl+bu+U5Pu35j9cvzNt8
f1fV83Nj7QgX+X9pgvy/7tvlR/1++SOf7Wr8YuhDHxuT7dpVVfMo9H/Wyqf9
pbB/zfgJa4uSJvKXcbhQ1TSN1w2NuNpl9k1Z3OZ1Iy+zdlbtyhbf+3xVlBlf
orUu1uf278XojoY4e/xH/N2MWx1hnM9341nZmcGfi6z8ZVfSMHkZpvHncbjw
L07jFxn4j93Xmzlt1bk9e3j21ejh49Gj3xpTlIuq3tDW3+ZYIF75V9+9ubn8
8dU5D9lm9TJvz+2qbbfN+YMHd3d343LeNKNmv9lWTbHbjGmWD/jSNtvm9QOi
lkAj+bvtuipAsExFjRLlKAtEOaIZjGbZep3XRGWjrJyPmg2Nr1v6QKYhDPAt
/yHzdO84ty/8S5gr+ijf0kv02ef8Knt5YelV9ublTUw91gZqwX+jQ9roJyF/
a7x/9+x1fP/Ph0P/maYzo3uX8Y/hif+z6nskW+XJL3r/z71v+Dmrdz2Dfz+2
F7usO/3vs+JdUYZfYkI64ytNXtMyg5zc0g1eXdzQ2joyGZDQwQMDY0ajkc2m
TVtns9aY1zTrm5wlhL0sabdEEF3VVVvNqrU9oT09tbOsxguIJYolkXtb1daJ
JNOu6mq3XNnNbt0W23VuV3k2py1eFPl63li87ru62gzt1WjS0ETbfD5y4mNo
rkZXdb7I6zq+aq/zTdXmo6usJpl3eTEMshZU01SWpoiB71ZVk5ttXc3wCbRf
RWObLYmzuc1mddXQXzlxbbamq/msWBQz/rxmbJ/lMwhr265yGmGTz2jnCqJ8
u86z29w2xbLk28vW1lW1AQXbYkOft6GJyBrNVlUxy4csG+m7IB14ejRsbbMl
3UeEX+d/39G/1ns7L5psWec55n63KmYrv4T8tmxt2kpkN4+yqu4sXdhmNc2y
aMe0JrMcs6H5ZjU9vcoaO6d1KrGVtKj0KVlr+Hus43QbcbrNy2xK26PMrhy4
oYWjuY5kZ43jeyJHLI3dZL9UkOa2Wtg2b/Aa+dTRbF1gOrOK3lDKqg4tLXZp
7ohz7Osfbnh8MDS+UhbekqqhR2i3Z7wkOYmOfT4fgw5p60jz7bC+lnb0llan
sVN6pyWFUstVIllacpYnduO1sQkL6aY/85q42dFaRcswtpctvZjuyhv/4Og2
WxdzmWK9W9MbstbmGT3ZtLQ6/PVgFJJvsld4xzZrV0OzINrmHx1v4CdZI+tY
Q3Z1SipjnjEfYWVo10pSJ6Ded7iG3adhaGny4haDBDoa8gNFOVvvsCj0JfOs
nIGSjCzhhm/aFMuav8Hd3+Z1RUohmxZrrM5d0a6IvpfZjJZlT5u5acYiDzbF
fL7OjfmMZEBbV/PdjJfi18+afDYqoksfPlFiDB3D5ZiH/fXX/3X93fPHZ189
+vBhCCbFl4aVpEXGysx5X2+Fq7D/FX+IERp168oEIGuBSz9Vl1dD+v8/vH4h
n339/GbMOzWv6Mayas28UHrTFbSZhbAgXtiVMkXP/8xERKH45HUDJjQ9Mg9f
kKkso5kK7eCfvKfbSq5jMsT023VGJG5UHhHzWR6k4K/oLARIamxTXmh2mw1R
zT+IXInZiN9t/q5omMxACPkalCwiI19vG/503nWaMV83Xm6xhNpuaSVm1Spn
nvIcQN8/lzlU62IGRjFmwtSIOTC1ZJAoTbub72lDY2Plwwfi/Gy9wyKYpniH
95ejptrVM2WaSDyWNN9ERuLiArwhi//kt8Ru5ssnTtC8mSRCxt7RxGlRmlm+
bQsINGIcx9/70TQD33vl5AQCFpWeInWqHwAjqag3dC9pi/WILN31HAKeJIxT
HVjtvJ4VJJlBZCRw6/kdCbCh3e6mtEb+y0CRst2iJ+sR8SGRGVGi9bRriA5a
mHuQQBvQSAa1MLQqsZ3kqnYtvZh2dAtrk8QGZKp1MnVoLoolZGIqV+XtN68v
r49I2CFJUq/wzO1uXTqxADokUQ5ahMoJJO5sUyI4Ikcmj9ypVeNJmMhsxZIu
Kx05k3GRs3RadKX/ti4gtW9BXL/+CtlCEjLP2oYIiG7J1tVylze6IvEkab/W
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
m6IAAA==

-->

</rfc>

