idnits 2.17.1 draft-ietf-stir-messaging-01.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 (November 9, 2021) is 898 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 296, but not defined == Unused Reference: 'RFC4474' is defined on line 350, but no explicit reference was found in the text == Unused Reference: 'RFC7159' is defined on line 356, but no explicit reference was found in the text == Unused Reference: 'RFC3311' is defined on line 393, but no explicit reference was found in the text == Unused Reference: 'RFC4916' is defined on line 401, 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) Summary: 2 errors (**), 0 flaws (~~), 6 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: May 13, 2022 Somos 6 November 9, 2021 8 Messaging Use Cases and Extensions for STIR 9 draft-ietf-stir-messaging-01 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 text and 20 multimedia messaging use cases, both for instant messages carried or 21 negotiated by SIP. 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 May 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 . . . . . . . . . . . . . . . 7 68 7. Privacy Considerations . . . . . . . . . . . . . . . . . . . 7 69 8. Security Considerations . . . . . . . . . . . . . . . . . . . 7 70 9. References . . . . . . . . . . . . . . . . . . . . . . . . . 7 71 9.1. Normative References . . . . . . . . . . . . . . . . . . 8 72 9.2. Informative References . . . . . . . . . . . . . . . . . 9 73 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 10 75 1. Introduction 77 The STIR problem statement [RFC7340] describes widespread problems 78 enabled by impersonation in the telephone network, including illegal 79 robocalling, voicemail hacking, and swatting. As telephone services 80 are increasingly migrating onto the Internet and using Voice over IP 81 (VoIP) protocols such as SIP [RFC3261], it is necessary for these 82 protocols to support stronger identity mechanisms to prevent 83 impersonation. [RFC8224] defines a SIP Identity header field capable 84 of carrying PASSporT [RFC8225] objects in SIP as a means to 85 cryptographically attest that the originator of a telephone call is 86 authorized to use the calling party number (or, for native SIP cases, 87 SIP URI) associated with the originator of the call. 89 The problem of bulk, unsolicited commercial communications is not 90 however limited to telephone calls. Although the problem is not 91 currently widespread, spammers and fraudsters are turning to 92 messaging applications to deliver undesired content to consumers. In 93 some respects, mitigating these unwanted messages resembles the email 94 spam problem: textual analysis of the message contents can be used to 95 fingerprint content that is generated by spammers, for example. 96 However, encrypted messaging is becoming more common, and analysis of 97 message contents may no longer be a reliable way to mitigate 98 messaging spam in the future. And as STIR sees further deployment in 99 the telephone network, the governance structures put in place for 100 securing telephone network resources with STIR could be repurposed to 101 help secure the messaging 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 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. Messages can also be sent over a variety of 156 other transports negotiated by SIP (including for example Real-Time 157 Text [RFC5194]; any that can operate over DTLS/SRTP should work with 158 the "mky" PASSporT claim. For the most basic use cases, STIR for 159 messaging should not require any further protocol enhancements. 161 Current usage of baseline [RFC8224] Identity is largely confined to 162 INVITE requests that initiate telephone calls. RCS-style 163 applications would require PASSporTs for all conversation 164 participants, which could become complex in multi-party 165 conversations. Any solution in this space would likely require the 166 implementation of STIR connected identity 167 [I-D.peterson-stir-rfc4916-update], but the specification of 168 PASSporT-signed session conferencing is outside the scope of this 169 document. 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. MESSAGE is used 184 for example in some North American emergency services use cases. The 185 interaction of STIR with MESSAGE is not as straightforward as the 186 potential use case with MSRP. An Identity header could be added to 187 any SIP MESSAGE request, but without some extension to the PASSporT 188 claims, the PASSporT would offer no protection to the message 189 content, and potentially be reusable for cut-and-paste attacks. As 190 the bodies of SIP requests are MIME encoded, S/MIME [RFC8591] has 191 been proposed as a means of providing integrity for MESSAGE (and some 192 MSRP cases as well). The use of CPIM [RFC3862] as a MIME body allows 193 the integrity of messages to withstand interworking with non-SIP 194 protocols. The interaction of [RFC8226] STIR certificates with 195 S/MIME for messaging applications requires some further explication; 196 and additionally, PASSporT can provide its own integrity check for 197 message contents through a new claim defined to provide a hash over 198 message contents. 200 In order to differentiate a PASSporT for an individual message from a 201 PASSporT used to secure a telephone call or message stream, this 202 document defines a new "msg" PASSporT Type. "msg" PASSporTs may carry 203 a new optional JWT [RFC7519] claim "msgi" which provides a digest 204 over a MIME body that contains a text or multimedia message. "msgi" 205 MUST NOT appear in PASSporTs with a type other than "msg", but they 206 are OPTIONAL in "msg" PASSporTs, as integrity for messages may be 207 provided by some other service (e.g. [RFC8591]). Implementations of 208 "msgi" MUST support the following hash algorithms: "SHA256", 209 "SHA384", or "SHA512", which are defined as part of the SHA-2 set of 210 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. The digest becomes the value of the JWT "msgi" claim, as 216 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 A MESSAGE request can be sent to multiple destinations in order to 245 support multiparty messaging. In those cases, the "dest" field of 246 the PASSporT can accommodate the multiple targets of a MESSAGE 247 without the need to generate a PASSporT for each target of the 248 message. If however the request is forked to multiple targets by an 249 intermediary later in the call flow, and the list of targets is not 250 available to the authentication service, then that forking 251 intermediary would need to use diversion [RFC8946] PASSporTs to sign 252 for its target set. 254 4. Certificates and Messaging 256 The [RFC8226] STIR certificate profiles defines a way to issue 257 certificates that sign PASSporTs, which attest through their 258 TNAuthList a Service Provider Code (SPC) and/or a set of one or more 259 telephone numbers. This specification proposes that the semantics of 260 these certificates should suffice for signing for messages from a 261 telephone number without further modification. 263 As the "orig" and "dest" field of PASSporTs may contain URIs 264 containing SIP URIs without telephone numbers, the STIR for messaging 265 mechanism contained in this specification is not inherently 266 restricted to the use of telephone numbers. This specification 267 offers no guidance on certification authorities who are appropriate 268 to sign for non-telephone number "orig" values. 270 5. Acknowledgments 272 We would like to thank Christer Holmberg, Brian Rosen, Ben Campbell, 273 and Alex Bobotek for their contributions to this specification. 275 6. IANA Considerations 277 6.1. JSON Web Token Claims Registration 279 This specification requests that the IANA add one new claim to the 280 JSON Web Token Claims registry as defined in [RFC7519]. 282 Claim Name: "msgi" 283 Claim Description: Message Integrity Information 285 Change Controller: IESG 287 Specification Document(s): [RFCThis] 289 6.2. PASSporT Type Registration 291 This specification defines one new PASSporT type for the PASSport 292 Extensions Registry defined in [RFC8225], which resides at 293 https://www.iana.org/assignments/passport/passport.xhtml#passport- 294 extensions. It is: 296 "msg" as defined in [RFCThis] Section 3.2. 298 7. Privacy Considerations 300 Signing messages or message sessions with STIR has little direct 301 bearing on the privacy of messaging for SIP as described in [RFC3428] 302 or [RFC4975]. An authentication service signing a MESSAGE method may 303 compute the "msgi" hash over the message contents; if the message is 304 in cleartext, that will reveal its contents to the authentication 305 service, which might not otherwise be in the call path. 307 The implications for anonymity of SITR are discussed in [RFC8224], 308 and those considerations would apply equally here for anonymous 309 messaging. 311 8. Security Considerations 313 This specification inherits the security considerations of [RFC8224]. 314 The carriage of messages within SIP per Section 3.2 has a number of 315 security and privacy implications as documented in [RFC3428], which 316 are expanded in [RFC8591]; these considerations apply here well. 318 Note that a variety of non-SIP protocols, both those integrated into 319 the traditional telephone network and those based on over-the-top 320 applications, are responsible for most of the messaging that is sent 321 to and from telephone numbers today. Introducing this capability for 322 SIP-based messaging will help to mitigate spoofing and nuisance 323 messaging for SIP-based platforms only. 325 9. References 326 9.1. Normative References 328 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 329 Requirement Levels", BCP 14, RFC 2119, 330 DOI 10.17487/RFC2119, March 1997, 331 . 333 [RFC3261] Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston, 334 A., Peterson, J., Sparks, R., Handley, M., and E. 335 Schooler, "SIP: Session Initiation Protocol", RFC 3261, 336 DOI 10.17487/RFC3261, June 2002, 337 . 339 [RFC3428] Campbell, B., Ed., Rosenberg, J., Schulzrinne, H., 340 Huitema, C., and D. Gurle, "Session Initiation Protocol 341 (SIP) Extension for Instant Messaging", RFC 3428, 342 DOI 10.17487/RFC3428, December 2002, 343 . 345 [RFC3862] Klyne, G. and D. Atkins, "Common Presence and Instant 346 Messaging (CPIM): Message Format", RFC 3862, 347 DOI 10.17487/RFC3862, August 2004, 348 . 350 [RFC4474] Peterson, J. and C. Jennings, "Enhancements for 351 Authenticated Identity Management in the Session 352 Initiation Protocol (SIP)", RFC 4474, 353 DOI 10.17487/RFC4474, August 2006, 354 . 356 [RFC7159] Bray, T., Ed., "The JavaScript Object Notation (JSON) Data 357 Interchange Format", RFC 7159, DOI 10.17487/RFC7159, March 358 2014, . 360 [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 361 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, 362 May 2017, . 364 [RFC8224] Peterson, J., Jennings, C., Rescorla, E., and C. Wendt, 365 "Authenticated Identity Management in the Session 366 Initiation Protocol (SIP)", RFC 8224, 367 DOI 10.17487/RFC8224, February 2018, 368 . 370 [RFC8225] Wendt, C. and J. Peterson, "PASSporT: Personal Assertion 371 Token", RFC 8225, DOI 10.17487/RFC8225, February 2018, 372 . 374 [RFC8226] Peterson, J. and S. Turner, "Secure Telephone Identity 375 Credentials: Certificates", RFC 8226, 376 DOI 10.17487/RFC8226, February 2018, 377 . 379 9.2. Informative References 381 [I-D.peterson-stir-rfc4916-update] 382 Peterson, J. and C. Wendt, "Connected Identity for STIR", 383 draft-peterson-stir-rfc4916-update-04 (work in progress), 384 July 2021. 386 [RCC.07] GSMA RCC.07 v9.0 | 16 May 2018, "Rich Communication Suite 387 8.0 Advanced Communications Services and Client 388 Specification", 2018. 390 [RCC.15] GSMA PRD-RCC.15 v5.0 | 16 May 2018, "IMS Device 391 Configuration and Supporting Services", 2018. 393 [RFC3311] Rosenberg, J., "The Session Initiation Protocol (SIP) 394 UPDATE Method", RFC 3311, DOI 10.17487/RFC3311, October 395 2002, . 397 [RFC4103] Hellstrom, G. and P. Jones, "RTP Payload for Text 398 Conversation", RFC 4103, DOI 10.17487/RFC4103, June 2005, 399 . 401 [RFC4916] Elwell, J., "Connected Identity in the Session Initiation 402 Protocol (SIP)", RFC 4916, DOI 10.17487/RFC4916, June 403 2007, . 405 [RFC4975] Campbell, B., Ed., Mahy, R., Ed., and C. Jennings, Ed., 406 "The Message Session Relay Protocol (MSRP)", RFC 4975, 407 DOI 10.17487/RFC4975, September 2007, 408 . 410 [RFC5194] van Wijk, A., Ed. and G. Gybels, Ed., "Framework for Real- 411 Time Text over IP Using the Session Initiation Protocol 412 (SIP)", RFC 5194, DOI 10.17487/RFC5194, June 2008, 413 . 415 [RFC7340] Peterson, J., Schulzrinne, H., and H. Tschofenig, "Secure 416 Telephone Identity Problem Statement and Requirements", 417 RFC 7340, DOI 10.17487/RFC7340, September 2014, 418 . 420 [RFC7489] Kucherawy, M., Ed. and E. Zwicky, Ed., "Domain-based 421 Message Authentication, Reporting, and Conformance 422 (DMARC)", RFC 7489, DOI 10.17487/RFC7489, March 2015, 423 . 425 [RFC7519] Jones, M., Bradley, J., and N. Sakimura, "JSON Web Token 426 (JWT)", RFC 7519, DOI 10.17487/RFC7519, May 2015, 427 . 429 [RFC8591] Campbell, B. and R. Housley, "SIP-Based Messaging with 430 S/MIME", RFC 8591, DOI 10.17487/RFC8591, April 2019, 431 . 433 [RFC8816] Rescorla, E. and J. Peterson, "Secure Telephone Identity 434 Revisited (STIR) Out-of-Band Architecture and Use Cases", 435 RFC 8816, DOI 10.17487/RFC8816, February 2021, 436 . 438 [RFC8862] Peterson, J., Barnes, R., and R. Housley, "Best Practices 439 for Securing RTP Media Signaled with SIP", BCP 228, 440 RFC 8862, DOI 10.17487/RFC8862, January 2021, 441 . 443 [RFC8876] Rosen, B., Schulzrinne, H., Tschofenig, H., and R. 444 Gellens, "Non-interactive Emergency Calls", RFC 8876, 445 DOI 10.17487/RFC8876, September 2020, 446 . 448 [RFC8946] Peterson, J., "Personal Assertion Token (PASSporT) 449 Extension for Diverted Calls", RFC 8946, 450 DOI 10.17487/RFC8946, February 2021, 451 . 453 Authors' Addresses 455 Jon Peterson 456 Neustar, Inc. 458 Email: jon.peterson@team.neustar 460 Chris Wendt 461 Somos 463 Email: chris-ietf@chriswendt.net