idnits 2.17.1 draft-peterson-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 (February 22, 2021) is 1158 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 293, but not defined == Unused Reference: 'RFC4474' is defined on line 314, but no explicit reference was found in the text == Unused Reference: 'RFC7159' is defined on line 320, but no explicit reference was found in the text == Unused Reference: 'I-D.ietf-stir-passport-divert' is defined on line 350, but no explicit reference was found in the text == Unused Reference: 'RFC3311' is defined on line 367, but no explicit reference was found in the text == Unused Reference: 'RFC4916' is defined on line 381, 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-02 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: August 26, 2021 Comcast 6 February 22, 2021 8 Messaging Use Cases and Extensions for STIR 9 draft-peterson-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 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 August 26, 2021. 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. 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 "mkey" 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 [TBD: liase with GSMA on this] 160 However, current usage of baseline [RFC8224] Identity is largely 161 confined to INVITE requests. RCS-style applications would require 162 PASSporTs for all conversation participants. This would in turn 163 require the implementation of STIR connected identity 164 [I-D.peterson-stir-rfc4916-update]. 166 3.2. PASSporTs and Messaging 168 In the second case, SIP also has a method for sending messages in the 169 body of a SIP request: the MESSAGE [RFC3428] method, which is used in 170 some North American emergency services use cases. The interaction of 171 STIR with MESSAGE is not as straightforward as the potential use case 172 with MSRP. An Identity header could be added to any SIP MESSAGE 173 request, but without some extension to the PASSporT claims, the 174 PASSporT would offer no protection to the message content. As the 175 bodies of SIP requests are MIME encoded, S/MIME [RFC8591] has been 176 proposed as a means of providing integrating for MESSAGE (and some 177 MSRP cases as well). The interaction of [RFC8226] STIR certificates 178 with S/MIME for messaging applications would require some further 179 explication; and potentially, PASSporT could provide its own 180 integrity check for message contents. 182 Moreover, a variety of non-SIP protocols, both those integrated into 183 the traditional telephone network and those based on over-the-top 184 applications, are responsible for most of the messaging that is sent 185 to and from telephone numbers. This specification proposes that the 186 STIR credentials assigned to service providers could be leveraged to 187 sign for PASSporTs for messages that originate from telephone 188 numbers. In order to apply PASSporT to textual or multimedia 189 messaging, a new claim is here defined to provide a hash over message 190 contents. 192 In order to differentiate a PASSporT for an individual message from a 193 PASSporT used to secure a telephone call or message stream, this 194 document defines a new "msg" PASSporT Type. This helps to prevent 195 the replay of a PASSporT for a message to putatively secure a call, 196 or vice versa. 198 This specification defines a new optional JWT [RFC7519] claim "msgi" 199 which provides a digest over the contents of a message, which may be 200 a text message, or a more complex multimedia message. "msgi" MUST NOT 201 appear in PASSporTs with a type other than "msg", but they are 202 OPTIONAL in "msg" PASSporTs, as integrity for messages may be 203 provided by some other service (e.g. [RFC8591]). Implementations of 204 "msgi" MUST support the following hash algorithms: "SHA256", 205 "SHA384", or "SHA512", which are defined as part of the SHA-2 set of 206 cryptographic hash functions by the NIST. 208 [TBD: Do we need algorithmic agility here?] 210 In order to generate the message digest, the following steps are 211 taken: 213 [TBD: Canonicalization procedures. Maybe we need separate procedures 214 for plain text (like, SMPP), rich text, and then more complex 215 multimedia messages? Definitely a danger of scope creep. For the 216 emergency services case, we want OASIS CAP, right? Maybe focus on 217 that. Anything we could easily steal here?] 219 At the end result of the process, the digest becomes the value of the 220 JWT "msgi" claim, as per this example: 222 "msgi" : 223 "sha256-H8BRh8j48O9oYatfu5AZzq6A9RINQZngK7T62em8MUt1FLm52t+eX6xO" 225 3.2.1. PASSporT Conveyance with Messaging 227 If the message is being conveyed in SIP, via the MESSAGE method, then 228 the PASSporT could be conveyed in an Identity header field in that 229 request. The authentication and verification service procedures for 230 populating that PASSporT would follow [RFC8224], with the addition of 231 the "msgi" claim defined in Section 3.2. 233 In text messaging today, multimedia message system (MMS) messages are 234 often conveyed with SMTP. There are thus a suite of additional email 235 security tools available in this environment for sender 236 authentication, such as DMARC [RFC7489]. The interaction of these 237 mechanisms with STIR certificates and/or PASSporTs would require 238 further study. 240 For other cases where messages are conveyed by some protocol other 241 than SIP, that protocol might itself have some way of conveying 242 PASSporTs. But there will surely be cases where legacy transmission 243 of messages will not permit an accompanying PASSporT, in which case 244 something like out-of-band [I-D.ietf-stir-oob] conveyance would be 245 the only way to deliver the PASSporT. This may be necessary to 246 support cases where legacy SMPP systems cannot be upgraded, for 247 example. 249 [TBD: I mean, if you can deliver a PASSporT OOB, you can deliver a 250 message OTT - there may be limits to how useful a mechanism like this 251 would be. In any event, the precise way to do OOB for messaging 252 would need to be sketched out here.] 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 either a Service Provider Code (SPC), or a set of one or 259 more telephone numbers. This specification proposes that the 260 semantics of this certificates should suffice for signing for 261 messages from a telephone number without further modification. 263 [TBD: Or should there be? Should for example certificates have to 264 have some special authority to sign for messages instead of calls?] 266 5. Acknowledgments 268 We would like to thank Brian Rosen, Ben Campbell, and Alex Bobotek 269 for their contributions to this specification. 271 6. IANA Considerations 273 6.1. JSON Web Token Claims Registration 275 This specification requests that the IANA add one new claim to the 276 JSON Web Token Claims registry as defined in [RFC7519]. 278 Claim Name: "msgi" 280 Claim Description: Message Integrity Information 282 Change Controller: IESG 284 Specification Document(s): [RFCThis] 286 6.2. PASSporT Type Registration 288 This specification defines one new PASSporT type for the PASSport 289 Extensions Registry defined in [RFC8225], which resides at 290 https://www.iana.org/assignments/passport/passport.xhtml#passport- 291 extensions. It is: 293 "msg" as defined in [RFCThis] Section 3.2. 295 7. Security Considerations 297 TBD. 299 8. References 301 8.1. Normative References 303 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 304 Requirement Levels", BCP 14, RFC 2119, 305 DOI 10.17487/RFC2119, March 1997, 306 . 308 [RFC3261] Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston, 309 A., Peterson, J., Sparks, R., Handley, M., and E. 310 Schooler, "SIP: Session Initiation Protocol", RFC 3261, 311 DOI 10.17487/RFC3261, June 2002, 312 . 314 [RFC4474] Peterson, J. and C. Jennings, "Enhancements for 315 Authenticated Identity Management in the Session 316 Initiation Protocol (SIP)", RFC 4474, 317 DOI 10.17487/RFC4474, August 2006, 318 . 320 [RFC7159] Bray, T., Ed., "The JavaScript Object Notation (JSON) Data 321 Interchange Format", RFC 7159, DOI 10.17487/RFC7159, March 322 2014, . 324 [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 325 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, 326 May 2017, . 328 [RFC8224] Peterson, J., Jennings, C., Rescorla, E., and C. Wendt, 329 "Authenticated Identity Management in the Session 330 Initiation Protocol (SIP)", RFC 8224, 331 DOI 10.17487/RFC8224, February 2018, 332 . 334 [RFC8225] Wendt, C. and J. Peterson, "PASSporT: Personal Assertion 335 Token", RFC 8225, DOI 10.17487/RFC8225, February 2018, 336 . 338 [RFC8226] Peterson, J. and S. Turner, "Secure Telephone Identity 339 Credentials: Certificates", RFC 8226, 340 DOI 10.17487/RFC8226, February 2018, 341 . 343 8.2. Informative References 345 [I-D.ietf-stir-oob] 346 Rescorla, E. and J. Peterson, "STIR Out-of-Band 347 Architecture and Use Cases", draft-ietf-stir-oob-07 (work 348 in progress), March 2020. 350 [I-D.ietf-stir-passport-divert] 351 Peterson, J., "PASSporT Extension for Diverted Calls", 352 draft-ietf-stir-passport-divert-09 (work in progress), 353 July 2020. 355 [I-D.peterson-stir-rfc4916-update] 356 Peterson, J. and C. Wendt, "Connected Identity for STIR", 357 draft-peterson-stir-rfc4916-update-02 (work in progress), 358 November 2020. 360 [RCC.07] GSMA RCC.07 v9.0 | 16 May 2018, "Rich Communication Suite 361 8.0 Advanced Communications Services and Client 362 Specification", 2018. 364 [RCC.15] GSMA PRD-RCC.15 v5.0 | 16 May 2018, "IMS Device 365 Configuration and Supporting Services", 2018. 367 [RFC3311] Rosenberg, J., "The Session Initiation Protocol (SIP) 368 UPDATE Method", RFC 3311, DOI 10.17487/RFC3311, October 369 2002, . 371 [RFC3428] Campbell, B., Ed., Rosenberg, J., Schulzrinne, H., 372 Huitema, C., and D. Gurle, "Session Initiation Protocol 373 (SIP) Extension for Instant Messaging", RFC 3428, 374 DOI 10.17487/RFC3428, December 2002, 375 . 377 [RFC4103] Hellstrom, G. and P. Jones, "RTP Payload for Text 378 Conversation", RFC 4103, DOI 10.17487/RFC4103, June 2005, 379 . 381 [RFC4916] Elwell, J., "Connected Identity in the Session Initiation 382 Protocol (SIP)", RFC 4916, DOI 10.17487/RFC4916, June 383 2007, . 385 [RFC4975] Campbell, B., Ed., Mahy, R., Ed., and C. Jennings, Ed., 386 "The Message Session Relay Protocol (MSRP)", RFC 4975, 387 DOI 10.17487/RFC4975, September 2007, 388 . 390 [RFC7340] Peterson, J., Schulzrinne, H., and H. Tschofenig, "Secure 391 Telephone Identity Problem Statement and Requirements", 392 RFC 7340, DOI 10.17487/RFC7340, September 2014, 393 . 395 [RFC7489] Kucherawy, M., Ed. and E. Zwicky, Ed., "Domain-based 396 Message Authentication, Reporting, and Conformance 397 (DMARC)", RFC 7489, DOI 10.17487/RFC7489, March 2015, 398 . 400 [RFC7519] Jones, M., Bradley, J., and N. Sakimura, "JSON Web Token 401 (JWT)", RFC 7519, DOI 10.17487/RFC7519, May 2015, 402 . 404 [RFC8591] Campbell, B. and R. Housley, "SIP-Based Messaging with 405 S/MIME", RFC 8591, DOI 10.17487/RFC8591, April 2019, 406 . 408 [RFC8862] Peterson, J., Barnes, R., and R. Housley, "Best Practices 409 for Securing RTP Media Signaled with SIP", BCP 228, 410 RFC 8862, DOI 10.17487/RFC8862, January 2021, 411 . 413 [RFC8876] Rosen, B., Schulzrinne, H., Tschofenig, H., and R. 414 Gellens, "Non-interactive Emergency Calls", RFC 8876, 415 DOI 10.17487/RFC8876, September 2020, 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