rfc9475xml2.original.xml | rfc9475.xml | |||
---|---|---|---|---|
<?xml version="1.0" encoding="US-ASCII"?> | <?xml version="1.0" encoding="UTF-8"?> | |||
<!-- | ||||
vim:et:ts=2:sw=2:spell:spelllang=en:tw=80 | ||||
<!-- This template is for creating an Internet Draft using xml2rfc, | ||||
which is available here: http://xml.resource.org. --> | ||||
<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [ | ||||
<!ENTITY I-D.peterson-stir-rfc4916-update SYSTEM "http://xml.resource.org/public | <!DOCTYPE rfc [ | |||
/rfc/bibxml3/reference.I-D.peterson-stir-rfc4916-update.xml"> | <!ENTITY nbsp " "> | |||
<!ENTITY RFC2119 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC | <!ENTITY zwsp "​"> | |||
.2119.xml"> | <!ENTITY nbhy "‑"> | |||
<!ENTITY RFC8174 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC | <!ENTITY wj "⁠"> | |||
.8174.xml"> | ||||
<!ENTITY RFC7340 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC | ||||
.7340.xml"> | ||||
<!ENTITY RFC8224 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC | ||||
.8224.xml"> | ||||
<!ENTITY RFC8225 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC | ||||
.8225.xml"> | ||||
<!ENTITY RFC8226 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC | ||||
.8226.xml"> | ||||
<!ENTITY RFC3261 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC | ||||
.3261.xml"> | ||||
<!ENTITY RFC3428 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC | ||||
.3428.xml"> | ||||
<!ENTITY RFC8591 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC | ||||
.8591.xml"> | ||||
<!ENTITY RFC4103 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC | ||||
.4103.xml"> | ||||
<!ENTITY RFC7519 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC | ||||
.7519.xml"> | ||||
<!ENTITY RFC4975 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC | ||||
.4975.xml"> | ||||
<!ENTITY RFC8862 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC | ||||
.8862.xml"> | ||||
<!ENTITY RFC8876 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC | ||||
.8876.xml"> | ||||
<!ENTITY RFC7489 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC | ||||
.7489.xml"> | ||||
<!ENTITY RFC8816 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC | ||||
.8816.xml"> | ||||
<!ENTITY RFC8946 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC | ||||
.8946.xml"> | ||||
<!ENTITY RFC5194 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC | ||||
.5194.xml"> | ||||
<!ENTITY RFC3862 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC | ||||
.3862.xml"> | ||||
<!ENTITY RFC6234 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC | ||||
.6234.xml"> | ||||
]> | ]> | |||
<!--?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?--> | ||||
<!-- used by XSLT processors --> | ||||
<!-- For a complete list and description of processing instructions (PIs), | ||||
please see http://xml.resource.org/authoring/README.html. --> | ||||
<!-- Below are generally applicable Processing Instructions (PIs) that most I-Ds | ||||
might want to use. | ||||
(Here they are set differently than their defaults in xml2rfc v1.32) --> | ||||
<!--?rfc strict="yes" ?--> | ||||
<!-- give errors regarding ID-nits and DTD validation --> | ||||
<!-- control the table of contents (ToC) --> | ||||
<?rfc toc="yes"?> | ||||
<!-- generate a ToC --> | ||||
<?rfc tocdepth="4"?> | ||||
<!-- the number of levels of subsections in ToC. default: 3 --> | ||||
<!-- control references --> | ||||
<?rfc symrefs="yes"?> | ||||
<!-- use symbolic references tags, i.e, [RFC2119] instead of [1] --> | ||||
<?rfc sortrefs="yes" ?> | ||||
<!-- sort the reference entries alphabetically --> | ||||
<!-- control vertical white space | ||||
(using these PIs as follows is recommended by the RFC Editor) --> | ||||
<?rfc compact="no" ?> | ||||
<!-- do not start each main section on a new page --> | ||||
<?rfc subcompact="no" ?> | ||||
<!-- keep one blank line between list items --> | ||||
<!-- end of list of popular I-D processing instructions --> | ||||
<rfc category="std" docName="draft-ietf-stir-messaging-08" | ||||
ipr="trust200902"> | ||||
<!-- category values: std, bcp, info, exp, and historic | ||||
ipr values: trust200902, noModificationTrust200902, noDerivativesTrust200902 | ||||
, | ||||
or pre5378Trust200902 | ||||
you can add the attributes updates="NNNN" and obsoletes="NNNN" | ||||
they will automatically be output with "(if approved)" --> | ||||
<!-- ***** FRONT MATTER ***** --> | <rfc xmlns:xi="http://www.w3.org/2001/XInclude" docName="draft-ietf-stir-messagi ng-08" number="9475" submissionType="IETF" category="std" consensus="true" ipr=" trust200902" obsoletes="" updates="" xml:lang="en" tocInclude="true" tocDepth="4 " symRefs="true" sortRefs="true" version="3"> | |||
<front> | <front> | |||
<!-- The abbreviated title is used in the page header - it is only necessary | ||||
if the | ||||
full title is longer than 39 characters --> | ||||
<title abbrev="STIR Messaging">Messaging Use Cases and Extensions for STIR</ | <title abbrev="STIR Messaging">Messaging Use Cases and Extensions for Secure | |||
title> | Telephone Identity Revisited (STIR)</title> | |||
<seriesInfo name="RFC" value="9475"/> | ||||
<author initials="J." surname="Peterson" fullname="Jon Peterson"> | <author initials="J." surname="Peterson" fullname="Jon Peterson"> | |||
<organization abbrev="Neustar">Neustar, Inc.</organization> | <organization abbrev="Neustar">Neustar, Inc.</organization> | |||
<address> | <address> | |||
<email>jon.peterson@team.neustar</email> | <email>jon.peterson@team.neustar</email> | |||
</address> | </address> | |||
</author> | </author> | |||
<author fullname="Chris Wendt" initials="C." surname="Wendt"> | ||||
<author fullname="Chris Wendt" initials= | ||||
"C." surname="Wendt"> | ||||
<organization>Somos</organization> | <organization>Somos</organization> | |||
<address> | <address> | |||
<email>chris-ietf@chriswendt.net</email> | <email>chris-ietf@chriswendt.net</email> | |||
</address> | </address> | |||
</author> | </author> | |||
<date year="2023" month="December"/> | ||||
<date year="2023" /> | <area>art</area> | |||
<workgroup>stir</workgroup> | ||||
<!-- <area> | ||||
ART | ||||
</area>--> | ||||
<keyword>SIP</keyword> | <keyword>SIP</keyword> | |||
<abstract> | <abstract> | |||
<t> | <t> | |||
Secure Telephone Identity Revisited (STIR) provides a means of attesti | Secure Telephone Identity Revisited (STIR) provides a means of attesti | |||
ng the identity of a telephone caller via a signed token in order to prevent imp | ng the identity of a telephone caller via a signed token in order to prevent imp | |||
ersonation of a calling party number, which is a key enabler for illegal robocal | ersonation of a calling party number, which is a key enabler for illegal robocal | |||
ling. Similar impersonation is sometimes leveraged by bad actors in the text and | ling. Similar impersonation is sometimes leveraged by bad actors in the text and | |||
multimedia messaging space. This document explores the applicability of STIR's | multimedia messaging space. This document explores the applicability of STIR's | |||
Personal Assertion Token (PASSporT) and certificate issuance framework to text a | Personal Assertion Token (PASSporT) and certificate issuance framework to text a | |||
nd multimedia messaging use cases, including support both for messages carried a | nd multimedia messaging use cases, including support for both messages carried a | |||
s a payload in SIP requests and for messages sent in sessions negotiated by SIP. | s a payload in SIP requests and messages sent in sessions negotiated by SIP. | |||
</t> | </t> | |||
</abstract> | </abstract> | |||
</front> | </front> | |||
<middle> | <middle> | |||
<section title="Introduction"> | <section numbered="true" toc="default"> | |||
<t> | <name>Introduction</name> | |||
The STIR problem statement <xref target="RFC7340"/> describes widespread | <t> | |||
problems enabled by impersonation in the telephone network, including illegal ro | The STIR problem statement <xref target="RFC7340" format="default"/> desc | |||
bocalling, voicemail hacking, and swatting. | ribes widespread problems enabled by impersonation in the telephone network, inc | |||
As telephone services are increasingly migrating onto the Internet and us | luding illegal robocalling, voicemail hacking, and swatting. | |||
ing Voice over IP (VoIP) protocols such as <xref target="RFC3261">SIP</xref>, it | As telephone services are increasingly migrating onto the Internet and us | |||
is necessary for these protocols | ing Voice over IP (VoIP) protocols such as <xref target="RFC3261" format="defaul | |||
to support stronger identity mechanisms to prevent impersonation. <xref t | t">SIP</xref>, it is necessary for these protocols | |||
arget="RFC8224"/> defines a SIP Identity header capable of carrying <xref target | to support stronger identity mechanisms to prevent impersonation. <xref t | |||
="RFC8225">PASSporT</xref> objects in SIP as a means to cryptographically attest | arget="RFC8224" format="default"/> defines a SIP Identity header capable of carr | |||
that the originator of a telephone call is authorized to use the calling party | ying <xref target="RFC8225" format="default">PASSporT</xref> objects in SIP as a | |||
number (or, for native SIP cases, SIP URI) associated with the originator of the | means to cryptographically attest that the originator of a telephone call is au | |||
call. | thorized to use the calling party number (or, for SIP cases, SIP URI) associated | |||
</t><t> | with the originator of the call. | |||
The problem of bulk, unsolicited commercial communications is not, howeve | </t> | |||
r, limited to telephone calls. Spammers and fraudsters are increasingly turning | <t> | |||
to messaging applications to deliver undesired content to consumers. In some res | However, the problem of bulk, unsolicited commercial communications is no | |||
pects, mitigating these unwanted messages resembles the email spam problem: text | t limited to telephone calls. Spammers and fraudsters are increasingly turning t | |||
ual analysis of the message contents can be used to fingerprint content that is | o messaging applications to deliver undesired content to consumers. In some resp | |||
generated by spammers, for example. However, encrypted messaging is becoming mor | ects, mitigating these unwanted messages resembles the email spam problem; for e | |||
e common, and analysis of message contents may no longer be a reliable way to mi | xample, textual analysis of the message contents can be used to fingerprint cont | |||
tigate messaging spam in the future. And as STIR sees further deployment in the | ent that is generated by spammers. However, encrypted messaging is becoming more | |||
telephone network, the governance structures put in place for securing telephone | common, and analysis of message contents may no longer be a reliable way to mit | |||
network resources with STIR could be repurposed to help secure the messaging ec | igate messaging spam in the future. As STIR sees further deployment in the telep | |||
osystem. | hone network, the governance structures put in place for securing telephone-netw | |||
</t><t> | ork resources with STIR could be repurposed to help secure the messaging ecosyst | |||
One of the more sensitive applications for message security is emergency | em. | |||
services. As next-generation emergency services increasingly incorporate messagi | </t> | |||
ng as a mode of communication with public safety personnel (see <xref target="RF | <t> | |||
C8876"/>), providing an identity assurance could help to mitigate denial-of-serv | One of the more sensitive applications for message security is emergency | |||
ice attacks, as well as ultimately helping to identify the source of emergency c | services. As next-generation emergency services increasingly incorporate messagi | |||
ommunications in general (including swatting attacks, see <xref target="RFC7340" | ng as a mode of communication with public safety personnel (see <xref target="RF | |||
/>). | C8876" format="default"/>), providing an identity assurance could help to mitiga | |||
</t><t> | te denial-of-service attacks and ultimately help to identify the source of emerg | |||
This specification therefore explores how the PASSporT mechanism defined | ency communications in general (including swatting attacks, see <xref target="RF | |||
for STIR could be applied to providing protection for textual and multimedia mes | C7340" format="default"/>). | |||
saging, but focuses particularly on those messages that use telephone numbers as | </t> | |||
the identity of the sender. It moreover considers the reuse of existing STIR ce | <t> | |||
rtificates, which are beginning to see widespread deployment, for signing PASSpo | Therefore, this specification explores how the PASSporT mechanism defined | |||
rTs that protect messages. For that purpose it defines a new PASSporT type and a | for STIR could be applied in providing protection for textual and multimedia me | |||
n element that protects message integrity. It contains a mixture of normative an | ssaging, but it focuses particularly on those messages that use telephone number | |||
d informative guidance that specifies new fields for use in PASSporTs as well as | s as the identity of the sender. Moreover, it considers the reuse of existing ST | |||
an overview of how STIR might be applied to messaging in various environemnts. | IR certificates, which are beginning to see widespread deployment for signing PA | |||
</t> | SSporTs that protect messages. For that purpose, it defines a new PASSporT type | |||
and an element that protects message integrity. It contains a mixture of normati | ||||
ve and informative guidance that specifies new claims for use in PASSporTs as we | ||||
ll as an overview of how STIR might be applied to messaging in various environme | ||||
nts. | ||||
</t> | ||||
</section> | </section> | |||
<section numbered="true" toc="default"> | ||||
<section title="Terminology"> | <name>Terminology</name> | |||
<t> | ||||
<t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", | The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQU | |||
"SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this d | IRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL | |||
ocument | NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14> | |||
are to be interpreted as described in BCP 14 <xref target="RFC2119"/> <xref targ | RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>", | |||
et="RFC8174"/> when, and only when, they appear in all capitals, as shown here.< | "<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to | |||
/t> | be interpreted as | |||
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> | ||||
when, and only when, they appear in all capitals, as shown here. | ||||
</t> | ||||
</section> | </section> | |||
<section anchor="applic" numbered="true" toc="default"> | ||||
<name>Applicability to Messaging Systems</name> | ||||
<t> | ||||
<section anchor="applic" title="Applicability to Messaging Systems"> | At a high level, <xref target="RFC8225" format="default">PASSporT</xref> c | |||
<t> | laims provide similar value to number-based messaging as they do to telephone ca | |||
At a high level, baseline <xref target="RFC8225">PASSporT</xref> claim | lls. A signature over the calling and called party numbers, along with a timesta | |||
s provide similar value to number-based messaging as they do to traditional tele | mp, could already help to prevent impersonation in the mobile-messaging ecosyste | |||
phone calls. A signature over the calling and called party numbers, along with a | m.</t> | |||
timestamp, could already help to prevent impersonation in the mobile messaging | <t>When it comes to protecting message contents, broadly, there are a few | |||
ecosystem. When it comes to protecting message contents, broadly, there are a fe | ways that the PASSporT mechanism of STIR could apply to messaging:</t> | |||
w ways that the PASSporT mechanism of STIR could apply to messaging: first, a PA | <ol><li>a PASSporT could be used to securely negotiate a session over whi | |||
SSporT could be used to securely negotiate a session over which messages will be | ch messages will be exchanged (see <xref target="session"/>), and</li> | |||
exchanged; and second, in sessionless scenarios, a PASSporT could be generated | <li>in sessionless scenarios, a PASSporT could be generated on a per-mess | |||
on a per-message basis with its own built-in message security. | age basis with its own built-in message security (see <xref target="message"/>). | |||
</t> | </li></ol> | |||
<section anchor="session" title="Message Sessions"> | <section anchor="session" numbered="true" toc="default"> | |||
<t> | <name>Message Sessions</name> | |||
For the first case, where SIP negotiates a session where the media will | <t> | |||
be text messages or MIME content, as, for example, with the <xref target="RFC49 | ||||
75">Message Session Relay Protocol (MSRP)</xref>, the usage of STIR would deviat | ||||
e little from <xref target="RFC8224"/>. An INVITE request sent with an Identity | ||||
header containing a PASSporT with the proper calling and called party numbers wo | ||||
uld then negotiate an MSRP session the same way that an INVITE for a telephone c | ||||
all would negotiate an audio session. This could be applicable to MSRP sessions | ||||
negotiated for <xref target="RCC.07">RCS</xref>. Note that if TLS is used to se | ||||
cure MSRP (per RCS <xref target="RCC.15"/>), fingerprints of those TLS keys coul | ||||
d be secured via the "mky" claim of PASSporT using the <xref target="RFC8862"/> | ||||
framework. Similar practices would apply to sessions that negotiate real-time te | ||||
xt over RTP (<xref target="RFC4103"/>, <xref target="RFC5194"/>); any that can o | ||||
perate over DTLS/SRTP should work with the "mky" PASSporT claim. For the most ba | ||||
sic use cases, STIR for messaging should not require any further protocol enhanc | ||||
ements. | ||||
</t><t> | ||||
Current usage of baseline <xref target="RFC8224"/> Identity is largely | ||||
confined to INVITE requests that initiate telephone calls. RCS-style application | ||||
s would require PASSporTs for all conversation participants, which could become | ||||
complex in multi-party conversations. Any solution in this space would likely re | ||||
quire the implementation of STIR <xref target="I-D.peterson-stir-rfc4916-update" | ||||
>connected identity</xref>, but the specification of PASSporT-signed session con | ||||
ferencing is outside the scope of this document. | ||||
</t><t> | ||||
Also note that the assurance offered by <xref target="RFC8862"/> is "en | ||||
d-to-end" in the sense that it offers assurance between an authentication servic | ||||
e and verification service. If those are not implemented by the endpoints themse | ||||
lves, there are still potential opportunities for tampering before messages are | ||||
signed and after they are verified. For the most part, STIR does not intend to p | ||||
rotect against machine-in-the-middle attacks so much as spoofed origination, how | ||||
ever, so the protection offered may be sufficient to mitigate nuisance messaging | ||||
. | ||||
</t> | ||||
</section> | ||||
<section anchor="message" title="PASSporTs and Individual Messages"> | In the first case, SIP negotiates a session in which the media will be | |||
<t> | text messages or MIME content, as, for example, with the <xref target="RFC4975" | |||
In the second case, SIP also has a method for sending messages in the b | format="default">Message Session Relay Protocol (MSRP)</xref>. This usage of ST | |||
ody of a SIP request: the <xref target="RFC3428">MESSAGE</xref> method. MESSAGE | IR would deviate little from <xref target="RFC8224" format="default"/>. An INVIT | |||
is used for example in some North American emergency services use cases. The int | E request sent with an Identity header containing a PASSporT with the proper cal | |||
eraction of STIR with MESSAGE is not as straightforward as the potential use cas | ling and called party numbers would then negotiate an MSRP session the same way | |||
e with MSRP. An Identity header could be added to any SIP MESSAGE request, but w | that an INVITE for a telephone call would negotiate an audio session. This coul | |||
ithout some extension to the PASSporT claims, the PASSporT would offer no protec | d be applicable to MSRP sessions negotiated for <xref target="RCC.07" format="de | |||
tion to the message content, and potentially be reusable for cut-and-paste attac | fault">Rich Communication Suite (RCS)</xref>. Note that, if TLS is used to secur | |||
ks where the Identity header field from a legitimate request for one user is reu | e MSRP (per RCS <xref target="RCC.15" format="default"/>), fingerprints of those | |||
sed in a request for a different user. As the bodies of SIP requests are MIME en | TLS keys could be secured via the "mky" claim of PASSporT using the framework d | |||
coded, <xref target="RFC8591">S/MIME</xref> has been proposed as a means of prov | escribed in <xref target="RFC8862" format="default"/>. Similar practices would a | |||
iding integrity for MESSAGE (and some MSRP cases as well). The use of <xref targ | pply to sessions that negotiate real-time text over RTP (<xref target="RFC4103" | |||
et="RFC3862">CPIM</xref> as a MIME body allows the integrity of messages to with | format="default"/>, <xref target="RFC5194" format="default"/>); any that can ope | |||
stand interworking with non-SIP protocols. The interaction of <xref target="RFC8 | rate over DTLS/SRTP (Secure Real-time Transport Protocol) should work with the | |||
226"/> STIR certificates with S/MIME for messaging applications would require fu | "mky" PASSporT claim. For the most basic use cases, STIR for messaging should no | |||
rther specification; and additionally, PASSporT can provide its own integrity ch | t require any further protocol enhancements. | |||
eck for message contents through a new claim defined to provide a hash over mess | </t> | |||
age contents. | <t> | |||
</t> | Current usage of <xref target="RFC8224" format="default"/> Identity is | |||
<t> | largely confined to INVITE requests that initiate telephone calls. RCS-style app | |||
In order to differentiate a PASSporT for an individual message from a P | lications would require PASSporTs for all conversation participants, which could | |||
ASSporT used to secure a telephone call or message stream, this document defines | become complex in multiparty conversations. Any solution in this space would li | |||
a new "msg" PASSporT Type. "msg" PASSporTs may carry a new optional JWT <xref t | kely require the implementation of <xref target="I-D.ietf-stir-rfc4916-update" f | |||
arget="RFC7519"/> claim "msgi" which provides a digest over a MIME body that con | ormat="default">STIR-connected identity</xref>, but the specification of PASSpor | |||
tains a text or multimedia message. Authentication services MUST NOT include "ms | T-signed session conferencing is outside the scope of this document. | |||
gi" elements in PASSporT types other than "msg", but "msgi" is OPTIONAL in "msg" | </t> | |||
PASSporTs, as integrity for messages may be provided by some other service (e.g | <t> | |||
. <xref target="RFC8591"/>). Verification services MUST ignore the presence of " | Also note that the assurance offered by <xref target="RFC8862" format=" | |||
msgi" in non-"msg" PASSporT types. | default"/> is "end-to-end" in the sense that it offers assurance between an auth | |||
</t><t> | entication service and verification service. If those are not implemented by the | |||
The claim value of "msgi" claim key is a string that defines the crypto | endpoints themselves, there are still potential opportunities for tampering bef | |||
algorithm used to generate the digest concatenated by a hyphen with a digest st | ore messages are signed and after they are verified. However, for the most part, | |||
ring. Implementations MUST support the hash algorithms SHA-256, SHA-384, | STIR does not intend to protect against machine-in-the-middle attacks so much a | |||
s spoofed origination; so the protection offered may be sufficient to mitigate n | ||||
uisance messaging. | ||||
</t> | ||||
</section> | ||||
<section anchor="message" numbered="true" toc="default"> | ||||
<name>PASSporTs and Individual Messages</name> | ||||
<t> | ||||
In the second case described in <xref target="applic"/>, SIP also has a | ||||
method for sending messages in the body of a SIP request: the <xref target="RFC | ||||
3428" format="default">MESSAGE method</xref>. For example, MESSAGE is used in so | ||||
me North American emergency services use cases. The interaction of STIR with MES | ||||
SAGE is not as straightforward as the potential use case with MSRP. An Identity | ||||
header could be added to any SIP MESSAGE request, but without some extension to | ||||
the PASSporT claims, the PASSporT would offer no protection to the message conte | ||||
nt; it would potentially be reusable for cut-and-paste attacks where the Identit | ||||
y header field from a legitimate request for one user is reused in a request for | ||||
a different user. As the bodies of SIP requests are MIME encoded, <xref target= | ||||
"RFC8591" format="default">S/MIME</xref> has been proposed as a means of providi | ||||
ng integrity for MESSAGE (and some MSRP cases as well). The use of <xref target= | ||||
"RFC3862" format="default">Common Presence and Instant Messaging (CPIM)</xref> a | ||||
s a MIME body allows the integrity of messages to withstand interworking with pr | ||||
otocols that are not SIP. The interaction of STIR certificates with S/MIME (see | ||||
<xref target="RFC8226" format="default"/>) for messaging applications would requ | ||||
ire further specification; additionally, PASSporT can provide its own integrity | ||||
check for message contents through a new claim defined to provide a hash over me | ||||
ssage contents. | ||||
</t> | ||||
<t> | ||||
In order to differentiate a PASSporT for an individual message from a P | ||||
ASSporT used to secure a telephone call or message stream, this document defines | ||||
a new "msg" PASSporT type. "msg" PASSporTs may carry a new optional JSON Web To | ||||
ken (JWT) <xref target="RFC7519" format="default"/> claim "msgi", which provides | ||||
a digest over a MIME body that contains a text or multimedia message. Authentic | ||||
ation services <bcp14>MUST NOT</bcp14> include "msgi" elements in PASSporT types | ||||
other than "msg", but "msgi" is <bcp14>OPTIONAL</bcp14> in "msg" PASSporTs, as | ||||
integrity for messages may be provided by some other service (e.g. <xref target= | ||||
"RFC8591" format="default"/>). Verification services <bcp14>MUST</bcp14> ignore | ||||
the presence of "msgi" in non-"msg" PASSporT types. | ||||
</t> | ||||
<t> | ||||
The claim value of the "msgi" claim key is a string that defines the cr | ||||
ypto algorithm used to generate the digest concatenated by a hyphen with a diges | ||||
t string. Implementations <bcp14>MUST</bcp14> support the hash algorithms SHA-2 | ||||
56, SHA-384, | ||||
and SHA-512. These hash algorithms are identified by "sha256", "sha384", | and SHA-512. These hash algorithms are identified by "sha256", "sha384", | |||
and "sha512", respectively. SHA-256, SHA-384, and SHA-512 are part of | and "sha512", respectively. SHA-256, SHA-384, and SHA-512 are part of | |||
the SHA-2 set of cryptographic hash functions <xref target="RFC6234"/> def | the SHA-2 set of cryptographic hash functions <xref target="RFC6234" forma | |||
ined by the | t="default"/> defined by the | |||
US National Institute of Standards and Technology (NIST). <xref target="SH | US National Institute of Standards and Technology (NIST). | |||
A2"/> Implementations | <xref target="SHA2" format="default"/> implementations | |||
MAY support additional recommended hash algorithms in <eref tar | <bcp14>MAY</bcp14> support additional recommended hash algorithms in the | |||
get=" | <eref target="https://www.iana.org/assignments/cose">"COSE Algorithms" registry< | |||
https://www.iana.org/assignments/cose/cose.xhtml#algo | /eref>; | |||
rithms"> | ||||
[IANA-COSE-ALG] | ||||
</eref>; | ||||
that is, the hash algorithm has "Yes" in the "Recommended" column of | that is, the hash algorithm has "Yes" in the "Recommended" column of | |||
the IANA registry. Hash algorithm identifiers MUST use only lowercase | the IANA registry. Hash algorithm identifiers <bcp14>MUST</bcp14> use onl | |||
letters, and they MUST NOT contain hyphen characters. The character follow | y lowercase | |||
ing the algorithm string MUST be a hyphen character, "-", or ASCII 45. | letters, and they <bcp14>MUST NOT</bcp14> contain hyphen characters. The c | |||
</t><t> | haracter following the algorithm string <bcp14>MUST</bcp14> be a hyphen characte | |||
The subsequent characters in the claim value are the base64 encoded [RFC46 | r ("-" or ASCII character 45). | |||
48] digest of a canonicalized and concatenated string or binary data based MIME | </t> | |||
body of the message. | <t> | |||
A "msgi" message digest is computed over the entirety of the MIME body | The subsequent characters in the claim value are the base64-encoded <xref | |||
(be it carried via SIP or no), which per <xref target="RFC3428"/> may be any sor | target="RFC4648"/> digest of a canonicalized and concatenated string or binary-d | |||
t of MIME body, including a multipart body in some cases, especially when multim | ata-based MIME body of the message. | |||
edia content is involved. Those MIME bodies contain encrypted content or not as | An "msgi" message digest is computed over the entirety of the MIME body | |||
the sender desires. | (be it carried via SIP or not); per <xref target="RFC3428" format="default"/>, | |||
this may be any sort of MIME body, including a multipart body in some cases, esp | ||||
ecially when multimedia content is involved. Those MIME bodies may or may not co | ||||
ntain encrypted content or as the sender desires. | ||||
The digest becomes the value of the JWT "msgi" claim, as per this examp le: | The digest becomes the value of the JWT "msgi" claim, as per this examp le: | |||
</t><t> | </t> | |||
<t> | ||||
"msgi" : "sha256-H8BRh8j48O9oYatfu5AZzq6A9RINQZngK7T62em8MUt1FLm52t+eX6 xO" | "msgi" : "sha256-H8BRh8j48O9oYatfu5AZzq6A9RINQZngK7T62em8MUt1FLm52t+eX6 xO" | |||
</t><t> | </t> | |||
Per baseline <xref target="RFC8224"/>, this specifications leaves it to | <t> | |||
local policy to determine how messages are handled after verification succeeds | Per <xref target="RFC8224" format="default"/>, this specification leave | |||
or fails. Broadly, if a SIP-based verification service wants to communicate back | s it to local policy to determine how messages are handled after verification su | |||
to the sender that the "msgi" hash does not correspond to the received message, | cceeds or fails. Broadly, if a SIP-based verification service wants to communica | |||
using a SIP 438 response code would be most appropriate. | te back to the sender that the "msgi" hash does not correspond to the received m | |||
</t><t> | essage, using a SIP 438 response code would be most appropriate. | |||
Note that in some CPIM environments, intermediaries may add or consume | </t> | |||
CPIM headers used for metadata in messages. MIME-layer integrity protection of " | <t> | |||
msgi" would be broken by a modification along these lines. Any such environment | Note that, in some CPIM environments, intermediaries may add or consume | |||
would require a profile of this specification that reduces the scope of protecti | CPIM headers used for metadata in messages. MIME-layer integrity protection of | |||
on only to the CPIM payload, as discussed in <xref target="RFC8591"/> Section 9. | "msgi" would be broken by a modification along these lines. Any such environment | |||
1. | would require a profile of this specification that reduces the scope of protect | |||
</t><t> | ion only to the CPIM payload, as discussed in <xref target="RFC8591" sectionForm | |||
Finally, note that messages may be subject to store-and-forward treatme | at="of" section="9.1"/>. | |||
nt that differs from traditional delivery expectations of SIP transactions. In s | </t> | |||
uch cases, the expiry freshness window recommended by <xref target="RFC8224"/> m | ||||
ay be too strict, as routine behavior might dictate the delivery of a MESSAGE mi | ||||
nutes or hours after it was sent. The potential for replay attacks can, however, | ||||
be largely mitigated by the timestamp in PASSporTs; duplicate messages are easi | ||||
ly detected, and the timestamp can order messages displayed to the user inbox in | ||||
a way that precludes showing stale messages as fresh. Relaxing the expiry timer | ||||
would require support for such features on the receiving side of the message. | ||||
</t> | ||||
<section anchor="convey" title="PASSporT Conveyance with Messaging"> | ||||
<t> | ||||
If the message is being conveyed in SIP, via the MESSAGE method, | ||||
then the PASSporT could be conveyed in an Identity header in that request. The a | ||||
uthentication and verification service procedures for populating that PASSporT w | ||||
ould follow <xref target="RFC8224"/>, with the addition of the "msgi" claim defi | ||||
ned in <xref target="message"/>. | ||||
</t><t> | ||||
In text messaging today, multimedia message system (MMS) messages | ||||
are often conveyed with SMTP. There are thus a suite of additional email securi | ||||
ty tools available in this environment for sender authentication, such as <xref | ||||
target="RFC7489">DMARC</xref>. The interaction of these mechanisms with STIR cer | ||||
tificates and/or PASSporTs would require further study and is outside the scope | ||||
of this document. | ||||
</t><t> | ||||
For other cases where messages are conveyed by some protocol othe | ||||
r than SIP, that protocol might itself have some way of conveying PASSporTs. But | ||||
there will surely be cases where legacy transmission of messages will not permi | ||||
t an accompanying PASSporT, in which case something like out-of-band <xref targe | ||||
t="RFC8816"/> conveyance would be the only way to deliver the PASSporT. This may | ||||
be necessary to support cases where legacy Short Message Peer-to-Peer <xref tar | ||||
get="SMPP"/> systems cannot be upgraded, for example. | ||||
</t><t> | ||||
A MESSAGE request can be sent to multiple destinations in order t | ||||
o support multiparty messaging. In those cases, the "dest" field of the PASSporT | ||||
can accommodate the multiple targets of a MESSAGE without the need to generate | ||||
a PASSporT for each target of the message. If however the request is forked to m | ||||
ultiple targets by an intermediary later in the call flow, and the list of targe | ||||
ts is not available to the authentication service, then that forking intermediar | ||||
y would need to use <xref target="RFC8946">diversion</xref> PASSporTs to sign fo | ||||
r its target set. | ||||
</t> | ||||
</section> | ||||
</section> | ||||
</section> | ||||
<section anchor="certs" title="Certificates and Messaging"> | <t> | |||
<t> | Finally, note that messages may be subject to store-and-forward treatme | |||
The <xref target="RFC8226"/> STIR certificate profiles defines a way to | nt that differs from delivery expectations of SIP transactions. In such cases, t | |||
issue certificates that sign PASSporTs, which attest through their TNAuthList a | he expiry freshness window recommended by <xref target="RFC8224" format="default | |||
Service Provider Code (SPC) and/or a set of one or more telephone numbers. This | "/> may be too strict, as routine behavior might dictate the delivery of a MESSA | |||
specification proposes that the semantics of these certificates should suffice | GE minutes or hours after it was sent. The potential for replay attacks can, how | |||
for signing for messages from a telephone number without further modification. | ever, be largely mitigated by the timestamp in PASSporTs; duplicate messages are | |||
</t><t> | easily detected, and the timestamp can be | |||
Note that the certificate referenced by the "x5u" of a PASSporT can cha | used to order messages displayed in the user inbox in a way that | |||
nge over time, due to certificate expiry/rollover; in particular the use of shor | precludes showing stale messages as fresh. Relaxing the expiry timer would | |||
t-lived certificates can entail rollover on a daily basis, or even more frequent | require support for such features on the receiving side of the message. | |||
ly. Thus any store-and-forward messaging system relying on PASSporTs must take i | </t> | |||
nto account the possibility that the certificate that signed the PASSporT, thoug | <section anchor="convey" numbered="true" toc="default"> | |||
h valid at the time the PASSporT was generated, could expire before a user reads | <name>PASSporT Conveyance with Messaging</name> | |||
the message. This might require storing some indicator of the validity of the s | <t> | |||
ignature and certificate at the time the message was received, or securely stori | If the message is being conveyed in SIP, via the MESSAGE method, | |||
ng the certificate along with the PASSporT, so that the "iat" field can be compa | then the PASSporT could be conveyed in an Identity header in that request. The a | |||
red with the expiry freshness window of the certificate prior to validation. | uthentication and verification service procedures for populating that PASSporT w | |||
</t><t> | ould follow the guidance in <xref target="RFC8224" format="default"/>, with the | |||
As the "orig" and "dest" field of PASSporTs may contain URIs containing | addition of the "msgi" claim defined in <xref target="message" format="default"/ | |||
SIP URIs without telephone numbers, the STIR for messaging mechanism contained | >. | |||
in this specification is not inherently restricted to the use of telephone numbe | </t> | |||
rs. This specification offers no guidance on certification authorities who are a | ||||
ppropriate to sign for non-telephone number "orig" values. | ||||
</t> | <t> | |||
In text messaging today, Multimedia Messaging Service (MMS) messa | ||||
ges are often conveyed with SMTP. Thus, there is a suite of additional email sec | ||||
urity tools available in this environment for sender authentication, such as "<x | ||||
ref target="RFC7489" format="title" />" <xref target="RFC7489" format="default"/ | ||||
>. The interaction of these mechanisms with STIR certificates and/or PASSporTs w | ||||
ould require further study and is outside the scope of this document. | ||||
</t> | ||||
<t> | ||||
For other cases where messages are conveyed by some protocol othe | ||||
r than SIP, that protocol itself might have some way of conveying PASSporTs. The | ||||
re will surely be cases where legacy transmission of messages will not permit an | ||||
accompanying PASSporT; in such a situation, something like out-of-band <xref ta | ||||
rget="RFC8816" format="default"/> conveyance would be the only way to deliver th | ||||
e PASSporT. For example, this may be necessary to support cases where legacy Sho | ||||
rt Message Peer-to-Peer <xref target="SMPP" format="default"/> systems cannot be | ||||
upgraded. | ||||
</t> | ||||
<t> | ||||
A MESSAGE request can be sent to multiple destinations in order t | ||||
o support multiparty messaging. In those cases, the "dest" claim of the PASSporT | ||||
can accommodate the multiple targets of a MESSAGE without the need to generate | ||||
a PASSporT for each target of the message. However, if the request is forked to | ||||
multiple targets by an intermediary later in the call flow, and the list of targ | ||||
ets is not available to the authentication service, then that forking intermedia | ||||
ry would need to use <xref target="RFC8946" format="default">diversion PASSporTs | ||||
</xref> to sign for its target set. | ||||
</t> | ||||
</section> | ||||
</section> | ||||
</section> | </section> | |||
<section anchor="certs" numbered="true" toc="default"> | ||||
<name>Certificates and Messaging</name> | ||||
<t> | ||||
"<xref target="RFC8226" format="title"/>" <xref target="RFC8226" format | ||||
="default"/> defines a way to issue certificates that sign PASSporTs, which att | ||||
est through their TNAuthList a Service Provider Code (SPC) and/or a set of one o | ||||
r more telephone numbers. This specification proposes that the semantics of thes | ||||
e certificates should suffice for signing for messages from a telephone number w | ||||
ithout further modification. | ||||
</t> | ||||
<t> | ||||
Note that the certificate referenced by the "x5u" of a PASSporT can chang | ||||
e over time due to certificate expiry/rollover; in particular, the use of short- | ||||
lived certificates can entail rollover on a daily basis or even more frequently. | ||||
Thus, any store-and-forward messaging system relying on PASSporTs must take int | ||||
o account the possibility that the certificate that signed the PASSporT, though | ||||
valid at the time the PASSporT was generated, could expire before a user reads t | ||||
he message. This might require:</t> | ||||
<ul> | ||||
<li>storing some indicator of the validity of the signature and certifica | ||||
te at the time the message was received, or</li> | ||||
<li>securely storing the certificate along with the PASSporT</li></ul> | ||||
<t>so that the "iat" claim can be compared with the expiry freshness wind | ||||
ow of the certificate prior to validation.</t> | ||||
<section anchor="Acknowledgments" title="Acknowledgments"> | <t> | |||
<t>We would like to thank Christer Holmberg, Brian Rosen, Ben Campbell, Ru | As the "orig" and "dest" claims of PASSporTs may contain URIs without t | |||
ss Housley, and Alex Bobotek for their contributions to this specification.</t> | elephone numbers, the STIR for messaging mechanism contained in this specificati | |||
</section> | on is not inherently restricted to the use of telephone numbers. This specificat | |||
ion offers no guidance on appropriate certification authorities for designing "o | ||||
rig" values that do not contain telephone numbers. | ||||
<section anchor="IANA" title="IANA Considerations"> | </t> | |||
<section title="JSON Web Token Claim | ||||
s Registration"> | ||||
<t>This specification requests that the IANA add one new claim to the JSON | ||||
Web Token Claims registry as defined in <xref target="RFC7519"/>.</t> | ||||
<t> | ||||
Claim Name: "msgi" | ||||
</t><t> | ||||
Claim Description: Message Integrity Information | ||||
</t><t> | ||||
Change Controller: IESG | ||||
</t><t> | ||||
Specification Document(s): [RFCThis] | ||||
</t> | ||||
</section> | ||||
<section title="PASSporT Type Registration"> | ||||
<t>This specification defines one new PASSporT type for the PASSport Exten | ||||
sions Registry defined in <xref target="RFC8225"/>, which resides at https://www | ||||
.iana.org/assignments/passport/passport.xhtml#passport-extensions.</t> | ||||
<t> | ||||
ppt value: "msg" | ||||
</t><t> | ||||
Reference: [RFCThis] <xref target="message"/> | ||||
</t> | ||||
</section> | ||||
</section> | </section> | |||
<section anchor="Privacy" title="Privacy Considerations"> | <section anchor="IANA" numbered="true" toc="default"> | |||
<name>IANA Considerations</name> | ||||
<section numbered="true" toc="default"> | ||||
<name>JSON Web Token Claims Registration</name> | ||||
<t>IANA has added one new claim to the "JSON Web Token Claims" registry | ||||
that was defined in <xref target="RFC7519" format="default"/>.</t> | ||||
<dl> | ||||
<dt>Claim Name:</dt><dd>msgi</dd> | ||||
<dt>Claim Description:</dt><dd>Message Integrity Information</dd> | ||||
<dt>Change Controller:</dt><dd>IETF</dd> | ||||
<dt>Specification Document(s):</dt><dd>RFC 9475</dd> | ||||
</dl> | ||||
</section> | ||||
<section numbered="true" toc="default"> | ||||
<name>PASSporT Type Registration</name> | ||||
<t>This specification defines one new PASSporT type for the "Personal As | ||||
sertion Token (PASSporT) Extensions" registry defined in <xref target="RFC8225" | ||||
format="default"/>.</t> | ||||
<dl> | ||||
<dt>ppt value:</dt><dd>msg</dd> | ||||
<dt>Reference:</dt><dd><xref target="message" format="default"/> of RFC 9475</dd | ||||
> | ||||
</dl> | ||||
</section> | ||||
</section> | ||||
<section anchor="Privacy" numbered="true" toc="default"> | ||||
<name>Privacy Considerations</name> | ||||
<t> | <t> | |||
Signing messages or message sessions with STIR has little direct bearin | Signing messages or message sessions with STIR has little direct bearin | |||
g on the privacy of messaging for SIP as described in <xref target="RFC3428"/> o | g on the privacy of messaging for SIP as described in <xref target="RFC3428" for | |||
r <xref target="RFC4975"/>. An authentication service signing a MESSAGE method m | mat="default"/> or <xref target="RFC4975" format="default"/>. An authentication | |||
ay compute the "msgi" hash over the message contents; if the message is in clear | service signing a MESSAGE method may compute the "msgi" hash over the message co | |||
text, that will reveal its contents to the authentication service, which might n | ntents; if the message is in cleartext, that will reveal its contents to the aut | |||
ot otherwise be in the call path. | hentication service, which might not otherwise be in the call path. | |||
</t><t> | </t> | |||
The implications for anonymity of STIR are discussed in <xref target="R | <t> | |||
FC8224"/>, and those considerations would apply equally here for anonymous messa | The implications for anonymity of STIR are discussed in <xref target="R | |||
ging. Creating a "msg" PASSporT does not add any additional privacy | FC8224" format="default"/>, and those considerations would apply equally here fo | |||
r anonymous messaging. Creating an "msg" PASSporT does not add any additional pr | ||||
ivacy | ||||
protections to the original message content. | protections to the original message content. | |||
</t> | </t> | |||
</section> | </section> | |||
<section anchor="Security" numbered="true" toc="default"> | ||||
<section anchor="Security" title="Security Considerations"> | <name>Security Considerations</name> | |||
<t> | <t> | |||
This specification inherits the security considerations of <xref target | This specification inherits the security considerations of <xref target | |||
="RFC8224"/>. The carriage of messages within SIP per <xref target="message"/> h | ="RFC8224" format="default"/>. The carriage of messages within SIP per <xref tar | |||
as a number of security and privacy implications as documented in <xref target=" | get="message" format="default"/> has a number of security and privacy implicatio | |||
RFC3428"/>, which are expanded in <xref target="RFC8591"/>; these considerations | ns as documented in <xref target="RFC3428" format="default"/>, which are expande | |||
apply here well. The guidance about store-and-forward messaging and replay prot | d in <xref target="RFC8591" format="default"/>; these considerations apply here | |||
ection in <xref target="message"/> should also be recognized by implementers. | as well. The guidance about store-and-forward messaging and replay protection in | |||
</t><t> | <xref target="message" format="default"/> should also be recognized by implemen | |||
Note that a variety of non-SIP protocols, both those integrated into th | ters. | |||
e traditional telephone network and those based on over-the-top applications, ar | </t> | |||
e responsible for most of the messaging that is sent to and from telephone numbe | <t> | |||
rs today. Introducing this capability for SIP-based messaging will help to mitig | Note that a variety of protocols that are not SIP, both those integrate | |||
ate spoofing and nuisance messaging for SIP-based platforms only. | d into the telephone network and those based on over-the-top applications, are r | |||
</t> | esponsible for most of the messaging that is sent to and from telephone numbers | |||
today. Introducing this capability for SIP-based messaging will help to mitigate | ||||
spoofing and nuisance messaging for SIP-based platforms only. | ||||
</t> | ||||
</section> | </section> | |||
</middle> | </middle> | |||
<!-- *****BACK MATTER ***** --> | ||||
<back> | <back> | |||
<!-- References split into informative and normative --> | ||||
<!-- There are 2 ways to insert reference entries from the citation librarie | <displayreference target="I-D.ietf-stir-rfc4916-update" to="CONNECT-ID-STIR"/> | |||
s: | <references> | |||
1. define an ENTITY at the top, and use "ampersand character"RFC2629; here ( | <name>References</name> | |||
as shown) | <references> | |||
2. simply use a PI "less than character"?rfc include="reference.RFC.2119.xml | <name>Normative References</name> | |||
"?> here | <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2 | |||
(for I-Ds: include="reference.I-D.narten-iana-considerations-rfc2434bis.x | 119.xml"/> | |||
ml") | <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8 | |||
174.xml"/> | ||||
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.3 | ||||
261.xml"/> | ||||
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8 | ||||
224.xml"/> | ||||
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8 | ||||
225.xml"/> | ||||
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8 | ||||
226.xml"/> | ||||
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.3 | ||||
428.xml"/> | ||||
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.3 | ||||
862.xml"/> | ||||
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6 | ||||
234.xml"/> | ||||
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.46 | ||||
48.xml"/> | ||||
</references> | ||||
<references> | ||||
<name>Informative References</name> | ||||
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7 | ||||
340.xml"/> | ||||
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.4 | ||||
975.xml"/> | ||||
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8 | ||||
591.xml"/> | ||||
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.4 | ||||
103.xml"/> | ||||
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7 | ||||
519.xml"/> | ||||
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8 | ||||
862.xml"/> | ||||
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7 | ||||
489.xml"/> | ||||
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8 | ||||
876.xml"/> | ||||
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8 | ||||
816.xml"/> | ||||
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8 | ||||
946.xml"/> | ||||
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5 | ||||
194.xml"/> | ||||
Both are cited textually in the same manner: by using xref elements. | <!-- [I-D.peterson-stir-rfc4916-update] Replaced by [I-D.ietf-stir-rfc491 | |||
If you use the PI option, xml2rfc will, by default, try to find included fil | 6-update] IESG state I-D Exists --> | |||
es in the same | ||||
directory as the including file. You can also define the XML_LIBRARY environ | ||||
ment variable | ||||
with a value containing a set of directories to search. These can be either | ||||
in the local | ||||
filing system or remote ones accessed by http (http://domain/dir/... ).--> | ||||
<references title="Normative References"> | ||||
&RFC2119; | <xi:include href="https://datatracker.ietf.org/doc/bibxml3/reference.I-D | |||
&RFC8174; | .ietf-stir-rfc4916-update.xml"/> | |||
&RFC3261; | ||||
&RFC8224; | ||||
&RFC8225; | ||||
&RFC8226; | ||||
&RFC3428; | ||||
&RFC3862; | ||||
&RFC6234; | ||||
</references> | ||||
<references title="Informative References"> | ||||
&RFC7340; | ||||
&RFC4975; | ||||
&RFC8591; | ||||
&RFC4103; | ||||
&RFC7519; | ||||
&RFC8862; | ||||
&RFC7489; | ||||
&RFC8876; | ||||
&RFC8816; | ||||
&RFC8946; | ||||
&RFC5194; | ||||
&I-D.peterson-stir-rfc4916-update; | ||||
<reference anchor='SHA2'> | <reference anchor="SHA2" target="http://csrc.nist.gov/publications/fips/ | |||
<front> | fips180-3/fips180-3_final.pdf"> | |||
<title>Secure Hash Standard (SHS)</title> | <front> | |||
<author> | <title>Secure Hash Standard (SHS)</title> | |||
<organization> | <author> | |||
National Institute of Standards and Technology FIPS PUB 180-3. http:/ | <organization> | |||
/csrc.nist.gov/publications/fips/fips180-3/ | National Institute of Standards and Technology (NIST) | |||
fips180-3_final.pdf | </organization> | |||
</organization> | </author> | |||
</author> | <date year="2008"/> | |||
<date year='2018' /> | </front> | |||
</front> | <seriesInfo name="FIPS PUB" value="180-3"/> | |||
</reference> | </reference> | |||
<reference anchor='RCC.07'> | <reference anchor="RCC.07" target="https://www.gsma.com/futurenetworks/w | |||
<front> | p-content/uploads/2019/09/RCC.07-v9.0.pdf"> | |||
<front> | ||||
<title>Rich Communication Suite 8.0 Advanced Communications Services and Client Specification</title> | <title>Rich Communication Suite 8.0 Advanced Communications Services and Client Specification</title> | |||
<author> | <author> | |||
<organization> | <organization>GSMA | |||
GSMA RCC.07 v9.0 | 16 May 2018 | </organization> | |||
</organization> | ||||
</author> | </author> | |||
<date year='2018' /> | <date month="May" year="2018"/> | |||
</front> | </front> | |||
</reference> | <refcontent>Version 9.0</refcontent> | |||
</reference> | ||||
<reference anchor='RCC.15'> | <reference anchor="RCC.15" target="https://www.gsma.com/newsroom/wp-cont | |||
<front> | ent/uploads//RCC.15-v7.0.pdf"> | |||
<front> | ||||
<title>IMS Device Configuration and Supporting Services</title> | <title>IMS Device Configuration and Supporting Services</title> | |||
<author> | <author> | |||
<organization> | <organization>GSMA</organization> | |||
GSMA PRD-RCC.15 v5.0 | 16 May 2018 | ||||
</organization> | ||||
</author> | </author> | |||
<date year='2018' /> | <date month="October" year="2019"/> | |||
</front> | </front> | |||
</reference> | <refcontent>Version 7.0</refcontent> | |||
</reference> | ||||
<reference anchor='SMPP'> | <reference anchor="SMPP" target="https://smpp.org/SMPP_v5.pdf"> | |||
<front> | <front> | |||
<title>Short Message Peer to Peer Protocol Specification</title> | <title>Short Message Peer-to-Peer Protocol Specification</title> | |||
<author> | <author> | |||
<organization> | <organization>SMS Forum</organization> | |||
SMS Forum v5.0 | 19 February 2003 | ||||
</organization> | ||||
</author> | </author> | |||
<date year='2003' /> | <date month="February" year="2003"/> | |||
</front> | </front> | |||
</reference> | <refcontent>Version 5.0</refcontent> | |||
</reference> | ||||
</references> | ||||
</references> | </references> | |||
</back> | <section anchor="Acknowledgments" numbered="false"> | |||
<name>Acknowledgments</name> | ||||
<t>We would like to thank <contact fullname="Christer Holmberg"/>, | ||||
<contact fullname="Brian Rosen"/>, <contact fullname="Ben Campbell"/>, | ||||
<contact fullname="Russ Housley"/>, and <contact fullname="Alex | ||||
Bobotek"/> for their contributions to this specification.</t> | ||||
</section> | ||||
</back> | ||||
</rfc> | </rfc> | |||
End of changes. 46 change blocks. | ||||
504 lines changed or deleted | 473 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. |