| 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. | ||||