idnits 2.17.1 draft-ietf-stir-messaging-00.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- No issues found here. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year -- The document date (July 12, 2021) is 1012 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) == Missing Reference: 'RFCThis' is mentioned on line 283, but not defined == Unused Reference: 'RFC4474' is defined on line 309, but no explicit reference was found in the text == Unused Reference: 'RFC7159' is defined on line 315, but no explicit reference was found in the text == Unused Reference: 'RFC3311' is defined on line 352, but no explicit reference was found in the text == Unused Reference: 'RFC4916' is defined on line 366, but no explicit reference was found in the text == Unused Reference: 'RFC8946' is defined on line 413, but no explicit reference was found in the text ** Obsolete normative reference: RFC 4474 (Obsoleted by RFC 8224) ** Obsolete normative reference: RFC 7159 (Obsoleted by RFC 8259) == Outdated reference: A later version (-04) exists of draft-peterson-stir-rfc4916-update-03 Summary: 2 errors (**), 0 flaws (~~), 8 warnings (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Network Working Group J. Peterson 3 Internet-Draft Neustar 4 Intended status: Standards Track C. Wendt 5 Expires: January 13, 2022 Comcast 6 July 12, 2021 8 Messaging Use Cases and Extensions for STIR 9 draft-ietf-stir-messaging-00 11 Abstract 13 Secure Telephone Identity Revisited (STIR) provides a means of 14 attesting the identity of a telephone caller via a signed token in 15 order to prevent impersonation of a calling party number, which is a 16 key enabler for illegal robocalling. Similar impersonation is 17 sometimes leveraged by bad actors in the text messaging space. This 18 document considers the applicability of STIR's Persona Assertion 19 Token (PASSporT) and certificate issuance framework to instant text 20 and multimedia messaging use cases, both for messages carried or 21 negotiated by SIP, and for non-SIP messaging. 23 Status of This Memo 25 This Internet-Draft is submitted in full conformance with the 26 provisions of BCP 78 and BCP 79. 28 Internet-Drafts are working documents of the Internet Engineering 29 Task Force (IETF). Note that other groups may also distribute 30 working documents as Internet-Drafts. The list of current Internet- 31 Drafts is at https://datatracker.ietf.org/drafts/current/. 33 Internet-Drafts are draft documents valid for a maximum of six months 34 and may be updated, replaced, or obsoleted by other documents at any 35 time. It is inappropriate to use Internet-Drafts as reference 36 material or to cite them other than as "work in progress." 38 This Internet-Draft will expire on January 13, 2022. 40 Copyright Notice 42 Copyright (c) 2021 IETF Trust and the persons identified as the 43 document authors. All rights reserved. 45 This document is subject to BCP 78 and the IETF Trust's Legal 46 Provisions Relating to IETF Documents 47 (https://trustee.ietf.org/license-info) in effect on the date of 48 publication of this document. Please review these documents 49 carefully, as they describe your rights and restrictions with respect 50 to this document. Code Components extracted from this document must 51 include Simplified BSD License text as described in Section 4.e of 52 the Trust Legal Provisions and are provided without warranty as 53 described in the Simplified BSD License. 55 Table of Contents 57 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 58 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 59 3. Applicability to Messaging Systems . . . . . . . . . . . . . 3 60 3.1. Message Sessions . . . . . . . . . . . . . . . . . . . . 4 61 3.2. PASSporTs and Messaging . . . . . . . . . . . . . . . . . 4 62 3.2.1. PASSporT Conveyance with Messaging . . . . . . . . . 5 63 4. Certificates and Messaging . . . . . . . . . . . . . . . . . 6 64 5. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 6 65 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 6 66 6.1. JSON Web Token Claims Registration . . . . . . . . . . . 6 67 6.2. PASSporT Type Registration . . . . . . . . . . . . . . . 6 68 7. Security Considerations . . . . . . . . . . . . . . . . . . . 7 69 8. References . . . . . . . . . . . . . . . . . . . . . . . . . 7 70 8.1. Normative References . . . . . . . . . . . . . . . . . . 7 71 8.2. Informative References . . . . . . . . . . . . . . . . . 8 72 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 9 74 1. Introduction 76 The STIR problem statement [RFC7340] describes widespread problems 77 enabled by impersonation in the telephone network, including illegal 78 robocalling, voicemail hacking, and swatting. As telephone services 79 are increasingly migrating onto the Internet and using Voice over IP 80 (VoIP) protocols such as SIP [RFC3261], it is necessary for these 81 protocols to support stronger identity mechanisms to prevent 82 impersonation. [RFC8224] defines a SIP Identity header field capable 83 of carrying PASSporT [RFC8225] objects in SIP as a means to 84 cryptographically attest that the originator of a telephone call is 85 authorized to use the calling party number (or, for native SIP cases, 86 SIP URI) associated with the originator of the call. 88 The problem of bulk, unsolicited commercial communications is not 89 however limited to telephone calls. Although the problem is not 90 currently widespread, in some environments spammers and fraudsters 91 are turning to messaging applications to deliver undesired content to 92 consumers. In some respects, mitigating these unwanted messages 93 resembles the email spam problem: textual analysis of the message 94 contents can be used to fingerprint content that is generated by 95 spammers, for example. However, encrypted messaging is becoming more 96 common, and analysis of message contents may no longer be a reliably 97 way to mitigate messaging spam in the future. And as STIR sees 98 further deployment in the telephone network, it seems likely that the 99 governance structures put in place for securing telephone network 100 resources with STIR could be repurposed to help secure the messaging 101 ecosystem. 103 One of the more sensitive applications for message security is 104 emergency services. As next-generation emergency services 105 increasingly incorporate messaging as a mode of communication with 106 public safety personnel (see [RFC8876]), providing an identity 107 assurance could help to mitigate denial-of-service attacks, as well 108 as ultimately helping to identify the source of emergency 109 communications in general (including the swatting attacks, see 110 [RFC7340]). 112 This specification therefore explores how the PASSporT mechanism 113 defined for STIR could be applied to providing protection for textual 114 and multimedia messaging, but focuses particularly on those messages 115 that use telephone numbers as the identity of the sender. It 116 moreover considers the reuse of existing STIR certificates, which are 117 beginning to see widespread deployment, for signing PASSporTs that 118 protect messages. 120 2. Terminology 122 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 123 "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and 124 "OPTIONAL" in this document are to be interpreted as described in BCP 125 14 [RFC2119] [RFC8174] when, and only when, they appear in all 126 capitals, as shown here. 128 3. Applicability to Messaging Systems 130 At a high level, baseline PASSporT [RFC8225] claims provide similar 131 value to number-based messaging as they do to traditional telephone 132 calls. A signature over the calling and called party numbers, along 133 with a timestamp, could already help to prevent impersonation in the 134 mobile messaging ecosystem. When it comes to protecting message 135 contents, broadly, there are a few ways that the PASSporT mechanism 136 of STIR could apply to messaging: first, a PASSporT could be used to 137 securely negotiate a session over which messages will be exchanged; 138 and second, in sessionless scenarios, a PASSporT could be generated 139 on a per-message basis with its own built-in message security. 141 3.1. Message Sessions 143 For the first case, where SIP negotiates a session where the media 144 will be text messages, as for example with the Message Session Relay 145 Protocol (MSRP) [RFC4975], the usage of STIR would deviate little 146 from [RFC8224]. An INVITE request sent with an Identity header 147 containing a PASSporT with the proper calling and called party 148 numbers would then negotiate an MSRP session the same way that an 149 INVITE for a telephone call would negotiate an audio session. This 150 could be applicable to MSRP sessions negotiated for RCS [RCC.07]. 151 Note that if TLS is used to secure MSRP (per RCS [RCC.15]), 152 fingerprints of those TLS keys could be secured via the "mky" claim 153 of PASSporT using the [RFC8862] framework. Similar practices would 154 apply to sessions that negotiate text over RTP via [RFC4103] or 155 similar mechanisms. For the most basic use cases, STIR for messaging 156 should not require any further protocol enhancements. 158 Messages can also be sent over a variety of other transports 159 negotiated by SIP (including for example Real-Time Text [RFC5194]; 160 any that can operate over DTLS/SRTP should work with the "mky" 161 PASSporT claim. 163 Current usage of baseline [RFC8224] Identity is largely confined to 164 INVITE requests that initiate telephone calls. RCS-style 165 applications would require PASSporTs for all conversation 166 participants, which could become complex in multi-party 167 conversations. Any solution in this space would in turn require the 168 implementation of STIR connected identity 169 [I-D.peterson-stir-rfc4916-update]. 171 Also note that the assurance offered by [RFC8862] is "end-to-end" in 172 the sense that it offers assurance between an authentication service 173 and verification service. If those are not implemented by the 174 endpoints themselves, there are still potential opportunities for 175 tampering before messages are signed and after they are verified. 176 For the most part, STIR does not intend to protect against man-in- 177 the-middle attacks so much as spoofed origination, however, so the 178 protection offered may be sufficient to mitigate nuisance messaging. 180 3.2. PASSporTs and Messaging 182 In the second case, SIP also has a method for sending messages in the 183 body of a SIP request: the MESSAGE [RFC3428] method, which is used in 184 some North American emergency services use cases. The interaction of 185 STIR with MESSAGE is not as straightforward as the potential use case 186 with MSRP. An Identity header could be added to any SIP MESSAGE 187 request, but without some extension to the PASSporT claims, the 188 PASSporT would offer no protection to the message content. As the 189 bodies of SIP requests are MIME encoded, S/MIME [RFC8591] has been 190 proposed as a means of providing integrating for MESSAGE (and some 191 MSRP cases as well). The interaction of [RFC8226] STIR certificates 192 with S/MIME for messaging applications requires some further 193 explication; and additionally, PASSporT can provide its own integrity 194 check for message contents as part of its assertions through, a new 195 claim is here defined to provide a hash over message contents. 197 In order to differentiate a PASSporT for an individual message from a 198 PASSporT used to secure a telephone call or message stream, this 199 document defines a new "msg" PASSporT Type. This helps to prevent 200 the replay of a PASSporT for a message to putatively secure a call, 201 or vice versa. 203 This specification defines a new optional JWT [RFC7519] claim "msgi" 204 which provides a digest over a MIME body that contains a text or 205 multimedia message. "msgi" MUST NOT appear in PASSporTs with a type 206 other than "msg", but they are OPTIONAL in "msg" PASSporTs, as 207 integrity for messages may be provided by some other service (e.g. 208 [RFC8591]). Implementations of "msgi" MUST support the following 209 hash algorithms: "SHA256", "SHA384", or "SHA512", which are defined 210 as part of the SHA-2 set of cryptographic hash functions by the NIST. 212 A "msgi" message digest is computed over the entire MIME body of a 213 SIP message, which per [RFC3428] may any sort of MIME body, including 214 a multipart body in some cases, especially when multimedia content is 215 involved. At the end result of the process, the digest becomes the 216 value of the JWT "msgi" claim, as per this example: 218 "msgi" : 219 "sha256-H8BRh8j48O9oYatfu5AZzq6A9RINQZngK7T62em8MUt1FLm52t+eX6xO" 221 3.2.1. PASSporT Conveyance with Messaging 223 If the message is being conveyed in SIP, via the MESSAGE method, then 224 the PASSporT could be conveyed in an Identity header field in that 225 request. The authentication and verification service procedures for 226 populating that PASSporT would follow [RFC8224], with the addition of 227 the "msgi" claim defined in Section 3.2. 229 In text messaging today, multimedia message system (MMS) messages are 230 often conveyed with SMTP. There are thus a suite of additional email 231 security tools available in this environment for sender 232 authentication, such as DMARC [RFC7489]. The interaction of these 233 mechanisms with STIR certificates and/or PASSporTs would require 234 further study and is outside the scope of this document. 236 For other cases where messages are conveyed by some protocol other 237 than SIP, that protocol might itself have some way of conveying 238 PASSporTs. But there will surely be cases where legacy transmission 239 of messages will not permit an accompanying PASSporT, in which case 240 something like out-of-band [RFC8816] conveyance would be the only way 241 to deliver the PASSporT. This may be necessary to support cases 242 where legacy SMPP systems cannot be upgraded, for example. 244 4. Certificates and Messaging 246 The [RFC8226] STIR certificate profiles defines a way to issue 247 certificates that sign PASSporTs, which attest through their 248 TNAuthList either a Service Provider Code (SPC), or a set of one or 249 more telephone numbers. This specification proposes that the 250 semantics of this certificates should suffice for signing for 251 messages from a telephone number without further modification. 253 [TBD: Or should there be? Should for example certificates have to 254 have some special authority to sign for messages instead of calls?] 256 5. Acknowledgments 258 We would like to thank Christer Holmberg, Brian Rosen, Ben Campbell, 259 and Alex Bobotek for their contributions to this specification. 261 6. IANA Considerations 263 6.1. JSON Web Token Claims Registration 265 This specification requests that the IANA add one new claim to the 266 JSON Web Token Claims registry as defined in [RFC7519]. 268 Claim Name: "msgi" 270 Claim Description: Message Integrity Information 272 Change Controller: IESG 274 Specification Document(s): [RFCThis] 276 6.2. PASSporT Type Registration 278 This specification defines one new PASSporT type for the PASSport 279 Extensions Registry defined in [RFC8225], which resides at 280 https://www.iana.org/assignments/passport/passport.xhtml#passport- 281 extensions. It is: 283 "msg" as defined in [RFCThis] Section 3.2. 285 7. Security Considerations 287 Note that a variety of non-SIP protocols, both those integrated into 288 the traditional telephone network and those based on over-the-top 289 applications, are responsible for most of the messaging that is sent 290 to and from telephone numbers today. Introducing this capability for 291 SIP-based messaging will help to mitigate spoofing and nuisance 292 messaging for SIP-based platforms only. 294 8. References 296 8.1. Normative References 298 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 299 Requirement Levels", BCP 14, RFC 2119, 300 DOI 10.17487/RFC2119, March 1997, 301 . 303 [RFC3261] Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston, 304 A., Peterson, J., Sparks, R., Handley, M., and E. 305 Schooler, "SIP: Session Initiation Protocol", RFC 3261, 306 DOI 10.17487/RFC3261, June 2002, 307 . 309 [RFC4474] Peterson, J. and C. Jennings, "Enhancements for 310 Authenticated Identity Management in the Session 311 Initiation Protocol (SIP)", RFC 4474, 312 DOI 10.17487/RFC4474, August 2006, 313 . 315 [RFC7159] Bray, T., Ed., "The JavaScript Object Notation (JSON) Data 316 Interchange Format", RFC 7159, DOI 10.17487/RFC7159, March 317 2014, . 319 [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 320 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, 321 May 2017, . 323 [RFC8224] Peterson, J., Jennings, C., Rescorla, E., and C. Wendt, 324 "Authenticated Identity Management in the Session 325 Initiation Protocol (SIP)", RFC 8224, 326 DOI 10.17487/RFC8224, February 2018, 327 . 329 [RFC8225] Wendt, C. and J. Peterson, "PASSporT: Personal Assertion 330 Token", RFC 8225, DOI 10.17487/RFC8225, February 2018, 331 . 333 [RFC8226] Peterson, J. and S. Turner, "Secure Telephone Identity 334 Credentials: Certificates", RFC 8226, 335 DOI 10.17487/RFC8226, February 2018, 336 . 338 8.2. Informative References 340 [I-D.peterson-stir-rfc4916-update] 341 Peterson, J. and C. Wendt, "Connected Identity for STIR", 342 draft-peterson-stir-rfc4916-update-03 (work in progress), 343 February 2021. 345 [RCC.07] GSMA RCC.07 v9.0 | 16 May 2018, "Rich Communication Suite 346 8.0 Advanced Communications Services and Client 347 Specification", 2018. 349 [RCC.15] GSMA PRD-RCC.15 v5.0 | 16 May 2018, "IMS Device 350 Configuration and Supporting Services", 2018. 352 [RFC3311] Rosenberg, J., "The Session Initiation Protocol (SIP) 353 UPDATE Method", RFC 3311, DOI 10.17487/RFC3311, October 354 2002, . 356 [RFC3428] Campbell, B., Ed., Rosenberg, J., Schulzrinne, H., 357 Huitema, C., and D. Gurle, "Session Initiation Protocol 358 (SIP) Extension for Instant Messaging", RFC 3428, 359 DOI 10.17487/RFC3428, December 2002, 360 . 362 [RFC4103] Hellstrom, G. and P. Jones, "RTP Payload for Text 363 Conversation", RFC 4103, DOI 10.17487/RFC4103, June 2005, 364 . 366 [RFC4916] Elwell, J., "Connected Identity in the Session Initiation 367 Protocol (SIP)", RFC 4916, DOI 10.17487/RFC4916, June 368 2007, . 370 [RFC4975] Campbell, B., Ed., Mahy, R., Ed., and C. Jennings, Ed., 371 "The Message Session Relay Protocol (MSRP)", RFC 4975, 372 DOI 10.17487/RFC4975, September 2007, 373 . 375 [RFC5194] van Wijk, A., Ed. and G. Gybels, Ed., "Framework for Real- 376 Time Text over IP Using the Session Initiation Protocol 377 (SIP)", RFC 5194, DOI 10.17487/RFC5194, June 2008, 378 . 380 [RFC7340] Peterson, J., Schulzrinne, H., and H. Tschofenig, "Secure 381 Telephone Identity Problem Statement and Requirements", 382 RFC 7340, DOI 10.17487/RFC7340, September 2014, 383 . 385 [RFC7489] Kucherawy, M., Ed. and E. Zwicky, Ed., "Domain-based 386 Message Authentication, Reporting, and Conformance 387 (DMARC)", RFC 7489, DOI 10.17487/RFC7489, March 2015, 388 . 390 [RFC7519] Jones, M., Bradley, J., and N. Sakimura, "JSON Web Token 391 (JWT)", RFC 7519, DOI 10.17487/RFC7519, May 2015, 392 . 394 [RFC8591] Campbell, B. and R. Housley, "SIP-Based Messaging with 395 S/MIME", RFC 8591, DOI 10.17487/RFC8591, April 2019, 396 . 398 [RFC8816] Rescorla, E. and J. Peterson, "Secure Telephone Identity 399 Revisited (STIR) Out-of-Band Architecture and Use Cases", 400 RFC 8816, DOI 10.17487/RFC8816, February 2021, 401 . 403 [RFC8862] Peterson, J., Barnes, R., and R. Housley, "Best Practices 404 for Securing RTP Media Signaled with SIP", BCP 228, 405 RFC 8862, DOI 10.17487/RFC8862, January 2021, 406 . 408 [RFC8876] Rosen, B., Schulzrinne, H., Tschofenig, H., and R. 409 Gellens, "Non-interactive Emergency Calls", RFC 8876, 410 DOI 10.17487/RFC8876, September 2020, 411 . 413 [RFC8946] Peterson, J., "Personal Assertion Token (PASSporT) 414 Extension for Diverted Calls", RFC 8946, 415 DOI 10.17487/RFC8946, February 2021, 416 . 418 Authors' Addresses 420 Jon Peterson 421 Neustar, Inc. 422 1800 Sutter St Suite 570 423 Concord, CA 94520 424 US 426 Email: jon.peterson@team.neustar 427 Chris Wendt 428 Comcast 429 One Comcast Center 430 Philadelphia, PA 19103 431 USA 433 Email: chris-ietf@chriswendt.net