idnits 2.17.1 draft-peterson-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 (November 2, 2020) is 1242 days in the past. Is this intentional? Checking references for intended status: Informational ---------------------------------------------------------------------------- == Missing Reference: 'RFCThis' is mentioned on line 256, but not defined == Unused Reference: 'I-D.ietf-stir-passport-divert' is defined on line 269, but no explicit reference was found in the text == Unused Reference: 'RFC3311' is defined on line 285, but no explicit reference was found in the text == Unused Reference: 'RFC4474' is defined on line 299, but no explicit reference was found in the text == Unused Reference: 'RFC4916' is defined on line 305, but no explicit reference was found in the text == Unused Reference: 'RFC7159' is defined on line 314, but no explicit reference was found in the text -- Obsolete informational reference (is this intentional?): RFC 4474 (Obsoleted by RFC 8224) -- Obsolete informational reference (is this intentional?): RFC 7159 (Obsoleted by RFC 8259) Summary: 0 errors (**), 0 flaws (~~), 7 warnings (==), 3 comments (--). 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: Informational C. Wendt 5 Expires: May 6, 2021 Comcast 6 November 2, 2020 8 Messaging Use Cases for STIR 9 draft-peterson-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 leveraged by bad actors in the text messaging space. This document 18 considers the applicability of STIR's Persona Assertion Token 19 (PASSporT) and certificate issuance framework to instant text and 20 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 May 6, 2021. 40 Copyright Notice 42 Copyright (c) 2020 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 4. PASSporTs and Messaging . . . . . . . . . . . . . . . . . . . 4 61 4.1. PASSporTs Conveyance with Messaging . . . . . . . . . . . 5 62 5. Certificates and Messaging . . . . . . . . . . . . . . . . . 5 63 6. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 5 64 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 5 65 7.1. JSON Web Token Claims Registration . . . . . . . . . . . 6 66 7.2. PASSporT Type Registration . . . . . . . . . . . . . . . 6 67 8. Security Considerations . . . . . . . . . . . . . . . . . . . 6 68 9. Informative References . . . . . . . . . . . . . . . . . . . 6 69 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 8 71 1. Introduction 73 The STIR problem statement [RFC7340] describes widespread problems 74 enabled by impersonation in the telephone network, including illegal 75 robocalling, voicemail hacking, and swatting. As telephone services 76 are increasingly migrating onto the Internet and using Voice over IP 77 (VoIP) protocols such as SIP [RFC3261], it is necessary for these 78 protocols to support stronger identity mechanisms to prevent 79 impersonation. [RFC8224] defines a SIP Identity header field capable 80 of carrying PASSporT [RFC8225] objects in SIP as a means to 81 cryptographically attest that the originator of a telephone call is 82 authorized to use the calling party number (or, for native SIP cases, 83 SIP URI) associated with the originator of the call. 85 The problem of bulk, unsolicited commercial communications is not 86 however limited to telephone calls. Increasingly, spammers and 87 fraudsters are turning to messaging applications to deliver undesired 88 content to consumers. In some respects, mitigating these unwanted 89 messages resembles the email spam problem: textual analysis of the 90 message contents can be used to fingerprint content that is generated 91 by spammers, for example. However, encrypted messaging is becoming 92 more common, and analysis of message contents may no longer be a 93 reliably way to mitigate messaging spam in the future. And as STIR 94 sees further deployment in the telephone network, it seems likely 95 that the governance structures put in place for securing telephone 96 network resources with STIR could be repurposed to help secure the 97 messaging ecosystem. 99 This specification therefore explores how the PASSporT mechanism 100 defined for STIR could be applied to providing protection for textual 101 and multimedia messaging, but only for those messages that use 102 telephone numbers as the identity of the sender. It moreover 103 considers the reuse of existing STIR certificates, which are 104 beginning to see widespread deployment, for signing PASSporTs that 105 protect messages. 107 2. Terminology 109 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 110 "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and 111 "OPTIONAL" in this document are to be interpreted as described in BCP 112 14 [RFC2119] [RFC8174] when, and only when, they appear in all 113 capitals, as shown here. 115 3. Applicability to Messaging Systems 117 At a high level, baseline PASSporT [RFC8225] claims provide similar 118 value to number-based messaging as they do to traditional telephone 119 calls. A signature over the calling and called party numbers, along 120 with a timestamp, could already help to prevent impersonation in the 121 mobile messaging ecosystem. When it comes to protecting message 122 contents, broadly, there are ways that the PASSporT mechanism of STIR 123 could apply to messaging: first, a PASSporT could be used to securely 124 negotiate a session over which messages will be exchanged; and 125 second, in sessionless scenarios a PASSporT could be generated on a 126 per-message basis with its own built-in message security. 128 For the first case, where SIP negotiates a session where the media 129 will be text messages, as for example with the Message Session Relay 130 Protocol (MSRP) [RFC4975], the usage of STIR would deviate little 131 from [RFC8224]. An INVITE request sent with an Identity header 132 containing a PASSporT with the proper calling and called party 133 numbers would then negotiate an MSRP session the same way that an 134 INVITE for a telephone call would negotiate an audio session. The 135 same would apply to sessions that negotiate text over RTP via 136 [RFC4103] or similar mechanisms. In these cases, STIR for messaging 137 should not require any further protocol enhancements. 139 [TBD: Also consider the applicability of "mkey" to these schemes, and 140 RFC8862? Also, any interest in MLS interaction?] 142 In the second case, SIP also has a method for sending messages a the 143 body of a SIP request: the MESSAGE [RFC3428] method. The interaction 144 of STIR with MESSAGE is not as straightforward as the potential use 145 case with MSRP. An Identity header could be added to any SIP MESSAGE 146 request, but without some extension to the PASSporT claims, the 147 PASSporT would offer no protection to the message content. As the 148 bodies of SIP requests are MIME encoded, S/MIME [RFC8591] has been 149 proposed as a means of providing integrating for MESSAGE, and 150 potentially for securing MSRP as well. The interaction of [RFC8226] 151 STIR certificates with S/MIME for messaging applications would 152 require some further explication; and potentially, PASSporT could 153 provide its own integrity check for message contents. 155 Moreover, the MESSAGE method is not commonly used today to carry 156 messages for consumer devices. A variety of non-SIP protocols, both 157 those integrated in to the traditional telephone network and those 158 based on over-the-top applications, are responsible for most of the 159 messaging that is sent to and from telephone numbers. This 160 specification proposes that the STIR credentials assigned to service 161 providers could be leveraged to sign for PASSporTs for messages that 162 originate from telephone numbers. In order to apply PASSporT to 163 textual or multimedia messaging, a new claim is here defined to 164 provide a hash over message contents. 166 4. PASSporTs and Messaging 168 In order to differentiate a PASSporT for a message from a PASSporT 169 used to secure a telephone call, this document defines a new "msg" 170 PASSporT Type. This prevents the replay of a PASSporT for a message 171 to putatively secure a call, or vice versa. 173 This specification defines a new optional JWT [RFC7519] claim "msgi" 174 which provides a digest over the contents of a message, which may be 175 a text message, or a more complex multimedia message. "msgi" MUST NOT 176 appear in PASSporTs with a type other than "msg", but they are 177 OPTIONAL in "msg" PASSporTs, as integrity for messages may be 178 provided by some other service (e.g. [RFC8591]). Implementations of 179 "msgi" MUST support the following hash algorithms: "SHA256", 180 "SHA384", or "SHA512", which are defined as part of the SHA-2 set of 181 cryptographic hash functions by the NIST. 183 [TBD: Do we need algorithmic agility here?] 185 In order to generate the message digest, the following steps are 186 taken: 188 [TBD: Canonicalization procedures. Maybe we need separate procedures 189 for plain text (like, SMPP), rich text, and then more complex 190 multimedia messages? Definitely a danger of scope creep. Anything 191 we could easily steal here?] 192 At the end result of the process, the digest becomes the value of the 193 JWT "msgi" claim, as per this example: 195 "msgi" : 196 "sha256-H8BRh8j48O9oYatfu5AZzq6A9RINQZngK7T62em8MUt1FLm52t+eX6xO" 198 4.1. PASSporTs Conveyance with Messaging 200 If the message is being conveyed in SIP, via the MESSAGE method, then 201 the PASSporT could be conveyed in an Identity header field in that 202 request. The authentication and verification service procedures for 203 populating that PASSporT would follow [RFC8224], with the addition of 204 the "msgi" claim defined in Section 4. 206 In cases where messages are conveyed by some protocol other than SIP, 207 that protocol might itself have some way of conveying PASSporTs. But 208 there will surely be cases where legacy transmission of messages will 209 not permit an accompanying PASSporT, in which case something like 210 out-of-band [I-D.ietf-stir-oob] conveyance would be the only way to 211 deliver the PASSporT. 213 [TBD: I mean, if you can deliver a PASSporT OOB, you can deliver a 214 message OTT - there may be limits to how useful a mechanism like this 215 would be. In any event, the precise way to do OOB for messaging 216 would need to be sketched out here.] 218 5. Certificates and Messaging 220 The [RFC8226] STIR certificate profiles defines a way to issue 221 certificates that sign PASSporTs, which attest through their 222 TNAuthList either a Service Provider Code (SPC), or a set of one or 223 more telephone numbers. This specification proposes that the 224 semantics of this certificates should suffice for signing for 225 messages from a telephone number without further modification. 227 [TBD: Or should there be? Should for example certificates have to 228 have some special authority to sign for messages instead of calls?] 230 6. Acknowledgments 232 We would like to thank YOU for your contributions to this 233 specification. 235 7. IANA Considerations 236 7.1. JSON Web Token Claims Registration 238 This specification requests that the IANA add one new claim to the 239 JSON Web Token Claims registry as defined in [RFC7519]. 241 Claim Name: "msgi" 243 Claim Description: Message Integrity Information 245 Change Controller: IESG 247 Specification Document(s): [RFCThis] 249 7.2. PASSporT Type Registration 251 This specification defines one new PASSporT type for the PASSport 252 Extensions Registry defined in [RFC8225], which resides at 253 https://www.iana.org/assignments/passport/passport.xhtml#passport- 254 extensions. It is: 256 "msg" as defined in [RFCThis] Section 4. 258 8. Security Considerations 260 TBD. 262 9. Informative References 264 [I-D.ietf-stir-oob] 265 Rescorla, E. and J. Peterson, "STIR Out-of-Band 266 Architecture and Use Cases", draft-ietf-stir-oob-07 (work 267 in progress), March 2020. 269 [I-D.ietf-stir-passport-divert] 270 Peterson, J., "PASSporT Extension for Diverted Calls", 271 draft-ietf-stir-passport-divert-09 (work in progress), 272 July 2020. 274 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 275 Requirement Levels", BCP 14, RFC 2119, 276 DOI 10.17487/RFC2119, March 1997, 277 . 279 [RFC3261] Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston, 280 A., Peterson, J., Sparks, R., Handley, M., and E. 281 Schooler, "SIP: Session Initiation Protocol", RFC 3261, 282 DOI 10.17487/RFC3261, June 2002, 283 . 285 [RFC3311] Rosenberg, J., "The Session Initiation Protocol (SIP) 286 UPDATE Method", RFC 3311, DOI 10.17487/RFC3311, October 287 2002, . 289 [RFC3428] Campbell, B., Ed., Rosenberg, J., Schulzrinne, H., 290 Huitema, C., and D. Gurle, "Session Initiation Protocol 291 (SIP) Extension for Instant Messaging", RFC 3428, 292 DOI 10.17487/RFC3428, December 2002, 293 . 295 [RFC4103] Hellstrom, G. and P. Jones, "RTP Payload for Text 296 Conversation", RFC 4103, DOI 10.17487/RFC4103, June 2005, 297 . 299 [RFC4474] Peterson, J. and C. Jennings, "Enhancements for 300 Authenticated Identity Management in the Session 301 Initiation Protocol (SIP)", RFC 4474, 302 DOI 10.17487/RFC4474, August 2006, 303 . 305 [RFC4916] Elwell, J., "Connected Identity in the Session Initiation 306 Protocol (SIP)", RFC 4916, DOI 10.17487/RFC4916, June 307 2007, . 309 [RFC4975] Campbell, B., Ed., Mahy, R., Ed., and C. Jennings, Ed., 310 "The Message Session Relay Protocol (MSRP)", RFC 4975, 311 DOI 10.17487/RFC4975, September 2007, 312 . 314 [RFC7159] Bray, T., Ed., "The JavaScript Object Notation (JSON) Data 315 Interchange Format", RFC 7159, DOI 10.17487/RFC7159, March 316 2014, . 318 [RFC7340] Peterson, J., Schulzrinne, H., and H. Tschofenig, "Secure 319 Telephone Identity Problem Statement and Requirements", 320 RFC 7340, DOI 10.17487/RFC7340, September 2014, 321 . 323 [RFC7519] Jones, M., Bradley, J., and N. Sakimura, "JSON Web Token 324 (JWT)", RFC 7519, DOI 10.17487/RFC7519, May 2015, 325 . 327 [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 328 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, 329 May 2017, . 331 [RFC8224] Peterson, J., Jennings, C., Rescorla, E., and C. Wendt, 332 "Authenticated Identity Management in the Session 333 Initiation Protocol (SIP)", RFC 8224, 334 DOI 10.17487/RFC8224, February 2018, 335 . 337 [RFC8225] Wendt, C. and J. Peterson, "PASSporT: Personal Assertion 338 Token", RFC 8225, DOI 10.17487/RFC8225, February 2018, 339 . 341 [RFC8226] Peterson, J. and S. Turner, "Secure Telephone Identity 342 Credentials: Certificates", RFC 8226, 343 DOI 10.17487/RFC8226, February 2018, 344 . 346 [RFC8591] Campbell, B. and R. Housley, "SIP-Based Messaging with 347 S/MIME", RFC 8591, DOI 10.17487/RFC8591, April 2019, 348 . 350 Authors' Addresses 352 Jon Peterson 353 Neustar, Inc. 354 1800 Sutter St Suite 570 355 Concord, CA 94520 356 US 358 Email: jon.peterson@team.neustar 360 Chris Wendt 361 Comcast 362 One Comcast Center 363 Philadelphia, PA 19103 364 USA 366 Email: chris-ietf@chriswendt.net