idnits 2.17.1 draft-ietf-sipbrandy-osrtp-09.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 seems to lack the recommended RFC 2119 boilerplate, even if it appears to use RFC 2119 keywords -- however, there's a paragraph with a matching beginning. Boilerplate error? (The document does seem to have the reference to RFC 2119 which the ID-Checklist requires). -- The document date (May 1, 2019) is 1823 days in the past. Is this intentional? Checking references for intended status: Informational ---------------------------------------------------------------------------- -- Obsolete informational reference (is this intentional?): RFC 6982 (Obsoleted by RFC 7942) Summary: 0 errors (**), 0 flaws (~~), 2 warnings (==), 2 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 SIPBRANDY Working Group A. Johnston 3 Internet-Draft Villanova University 4 Intended status: Informational B. Aboba 5 Expires: November 2, 2019 Microsoft 6 A. Hutton 7 Atos 8 R. Jesske 9 Deutsche Telekom 10 T. Stach 11 Unaffiliated 12 May 1, 2019 14 An Opportunistic Approach for Secure Real-time Transport Protocol 15 (OSRTP) 16 draft-ietf-sipbrandy-osrtp-09 18 Abstract 20 Opportunistic Secure Real-time Transport Protocol (OSRTP) is an 21 implementation of the Opportunistic Security mechanism, as defined in 22 RFC 7435, applied to Real-time Transport Protocol (RTP). OSRTP 23 allows encrypted media to be used in environments where support for 24 encryption is not known in advance, and not required. OSRTP does not 25 require SDP extensions or features and is fully backwards compatible 26 with existing implementations using encrypted and authenticated media 27 and implementations that do not encrypt or authenticate media 28 packets. OSRTP is not specific to any key management technique for 29 SRTP. OSRTP is a transitional approach useful for migrating existing 30 deployments of real-time communications to a fully encrypted and 31 authenticated state. 33 Status of This Memo 35 This Internet-Draft is submitted in full conformance with the 36 provisions of BCP 78 and BCP 79. 38 Internet-Drafts are working documents of the Internet Engineering 39 Task Force (IETF). Note that other groups may also distribute 40 working documents as Internet-Drafts. The list of current Internet- 41 Drafts is at https://datatracker.ietf.org/drafts/current/. 43 Internet-Drafts are draft documents valid for a maximum of six months 44 and may be updated, replaced, or obsoleted by other documents at any 45 time. It is inappropriate to use Internet-Drafts as reference 46 material or to cite them other than as "work in progress." 48 This Internet-Draft will expire on November 2, 2019. 50 Copyright Notice 52 Copyright (c) 2019 IETF Trust and the persons identified as the 53 document authors. All rights reserved. 55 This document is subject to BCP 78 and the IETF Trust's Legal 56 Provisions Relating to IETF Documents 57 (https://trustee.ietf.org/license-info) in effect on the date of 58 publication of this document. Please review these documents 59 carefully, as they describe your rights and restrictions with respect 60 to this document. Code Components extracted from this document must 61 include Simplified BSD License text as described in Section 4.e of 62 the Trust Legal Provisions and are provided without warranty as 63 described in the Simplified BSD License. 65 Table of Contents 67 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 68 1.1. Applicability Statement . . . . . . . . . . . . . . . . . 3 69 2. Requirements Language . . . . . . . . . . . . . . . . . . . . 3 70 3. SDP Offer/Answer Considerations . . . . . . . . . . . . . . . 3 71 3.1. Generating the Initial OSRTP Offer . . . . . . . . . . . 4 72 3.2. Generating the Answer . . . . . . . . . . . . . . . . . . 4 73 3.3. Offerer Processing the Answer . . . . . . . . . . . . . . 4 74 3.4. Modifying the Session . . . . . . . . . . . . . . . . . . 5 75 4. Security Considerations . . . . . . . . . . . . . . . . . . . 5 76 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 6 77 6. Implementation Status . . . . . . . . . . . . . . . . . . . . 6 78 7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 6 79 8. References . . . . . . . . . . . . . . . . . . . . . . . . . 7 80 8.1. Normative References . . . . . . . . . . . . . . . . . . 7 81 8.2. Informative References . . . . . . . . . . . . . . . . . 8 82 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 9 84 1. Introduction 86 Opportunistic Security [RFC7435] (OS) is an approach to security that 87 defines a third mode for security between "cleartext" and 88 "comprehensive protection" that allows encryption and authentication 89 of media to be used if supported but will not result in failures if 90 it is not supported. In terms of secure media, cleartext is RTP 91 [RFC3550] media which is negotiated with the RTP/AVP (Audio Video 92 Profile) [RFC3551] or the RTP/AVPF profile [RFC4585]. Comprehensive 93 protection is Secure RTP [RFC3711], negotiated with a secure profile, 94 such as SAVP or SAVPF [RFC5124]. OSRTP allows SRTP to be negotiated 95 with the RTP/AVP profile, with fallback to RTP if SRTP is not 96 supported. 98 There have been some extensions to SDP to allow profiles to be 99 negotiated such as SDP Capabilities Negotiation (capneg) [RFC5939] . 100 However, these approaches are complex and have very limited 101 deployment in communication systems. Other key management protocols 102 for SRTP have been developed which by design use OS, such as ZRTP 103 [RFC6189]. This approach for OSRTP is based on 104 [I-D.kaplan-mmusic-best-effort-srtp] where it was called "best effort 105 SRTP". [I-D.kaplan-mmusic-best-effort-srtp] has a full discussion of 106 the motivation and requirements for opportunistic secure media. 108 OSRTP uses the presence of SRTP keying-related attributes in an SDP 109 offer to indicate support for opportunistic secure media. The 110 presence of SRTP keying-related attributes in the SDP answer 111 indicates that the other party also supports OSRTP and encrypted and 112 authenticated media will be used. OSRTP requires no additional 113 extensions to SDP or new attributes and is defined independently of 114 the key agreement mechanism used. OSRTP is only usable when media is 115 negotiated using the Offer/Answer protocol [RFC3264]. 117 1.1. Applicability Statement 119 OSRTP is a transitional approach that provides a migration path from 120 unencrypted communication (RTP) to fully encrypted communication 121 (SRTP). It is only to be used in existing deployments which are 122 attempting to transition to fully secure communications. New 123 applications and new deployments will not use OSRTP. 125 2. Requirements Language 127 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 128 "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and 129 "OPTIONAL" in this document are to be interpreted as described in BCP 130 14 RFC 2119 [RFC2119] RFC 8174 [RFC8174] when, and only when, they 131 appear in all capitals, as shown here. 133 3. SDP Offer/Answer Considerations 135 This section defines the SDP offer/answer considerations for 136 opportunistic security. 138 The procedures are for a specific m- section describing RTP-based 139 media. If an SDP offer or answer contains multiple such m- sections, 140 the procedures are applied to each m- section individually. 142 "Initial OSRTP offer" refers to the offer in which oportunistic 143 security is offered for an m- section for the first time within an 144 SDP session. 146 It is important to note that OSRTP makes no changes, and has no 147 effect on media sessions in which the offer contains a secure profile 148 of RTP, such as SAVP or SAVPF. As discussed in [RFC7435], that is 149 the "comprehensive protection" for media mode. 151 3.1. Generating the Initial OSRTP Offer 153 To indicate support for OSRTP in an SDP offer, the offerer uses the 154 RTP/AVP profile [RFC3551] or the RTP/AVPF profile [RFC4585] but 155 includes SRTP keying attributes. OSRTP is not specific to any key 156 management technique for SRTP and multiple key management techniques 157 can be included on the SDP offer. For example: 159 If the offerer supports DTLS-SRTP key agreement [RFC5763], then an 160 a=fingerprint attribute will be present, or 162 If the offerer supports SDP Security Descriptions key agreement 163 [RFC4568], then an a=crypto attribute will be present, or 165 If the offerer supports ZRTP key agreement [RFC6189], then an 166 a=zrtp-hash attribute will be present. 168 3.2. Generating the Answer 170 To accept OSRTP, an answerer receiving an offer indicating support 171 for OSRTP generates an SDP answer containing SRTP keying attributes 172 which match one of the keying methods in the offer. The answer MUST 173 NOT contain attributes from more than one keying method, even if the 174 offer contained multiple keying method attributes. The selected SRTP 175 key management approach is followed and SRTP media is used for this 176 session. If the SRTP key management fails for any reason, the media 177 session MUST fail. To decline OSRTP, the answerer generates an SDP 178 answer omitting SRTP keying attributes, and the media session 179 proceeds with RTP with no encryption or authentication used. 181 3.3. Offerer Processing the Answer 183 If the offerer of OSRTP receives an SDP answer which does not contain 184 SRTP keying attributes, then the media session proceeds with RTP. If 185 the SDP answer contains SRTP keying attributes then the associated 186 SRTP key management approach is followed and SRTP media is used for 187 this session. If the SRTP key management fails, the media session 188 MUST fail. 190 3.4. Modifying the Session 192 When an offerer generates a subsequent SDP offer it should do so 193 following the principles of [RFC6337] meaning that the decision to 194 create the new SDP offer should not be influenced by what was 195 previously negotiated. For example if a previous OSRTP offer did not 196 result in SRTP being established the offerer may try again and 197 generate a new OSRTP offer as specified in section [3.1]. 199 4. Security Considerations 201 The security considerations of [RFC7435] apply to OSRTP, as well as 202 the security considerations of the particular SRTP key agreement 203 approach used. However, the authentication requirements of a 204 particular SRTP key agreement approach are relaxed when that key 205 agreement is used with OSRTP, which is consistent with the 206 Opportunistic Security approach described [RFC7435]. For example: 208 For DTLS-SRTP key agreement [RFC5763], an authenticated signaling 209 channel does not need to be used with OSRTP if it is not 210 available. 212 For SDP Security Descriptions key agreement [RFC4568], an 213 authenticated signaling channel does not need to be used with 214 OSRTP if it is not available, although an encrypted signaling 215 channel must still be used. 217 For ZRTP key agreement [RFC6189], the security considerations are 218 unchanged, since ZRTP does not rely on the security of the 219 signaling channel. 221 While OSRTP does not require authentication of the key-agreement 222 mechanism, it does need to avoid exposing SRTP keys to eavesdroppers, 223 since this could enable passive attacks against SRTP. Section 8.3 of 224 [RFC7435] requires that any messages that contain SRTP keys be 225 encrypted, and further says that encryption "SHOULD" provide end-to- 226 end confidentiality protection if intermediaries that could inspect 227 the SDP message are present. At the time of this writing, it is 228 understood that the [RFC7435] requirement for end-to-end 229 confidentiality protection is commonly ignored. Therefore, if OSRTP 230 is used with SDP Security Descriptions, any such intermediaries 231 (e.g., SIP proxies) must be assumed to have access to the SRTP keys. 233 As discussed in [RFC7435], OSRTP is used in cases where support for 234 encryption by the other party is not known in advance, and not 235 required. For cases where it is known that the other party supports 236 SRTP or SRTP needs to be used, OSRTP MUST NOT be used. Instead, a 237 secure profile of RTP is used in the offer. 239 5. IANA Considerations 241 This document has no actions for IANA. 243 6. Implementation Status 245 Note to RFC Editor: Please remove this entire section prior to 246 publication, including the reference to [RFC6982]. 248 This section records the status of known implementations of the 249 protocol defined by this specification at the time of posting of this 250 Internet-Draft, and is based on a proposal described in [RFC6982]. 251 The description of implementations in this section is intended to 252 assist the IETF in its decision processes in progressing drafts to 253 RFCs. Please note that the listing of any individual implementation 254 here does not imply endorsement by the IETF. Furthermore, no effort 255 has been spent to verify the information presented here that was 256 supplied by IETF contributors. This is not intended as, and must not 257 be construed to be, a catalog of available implementations or their 258 features. Readers are advised to note that other implementations may 259 exist. 261 According to [RFC6982], "this will allow reviewers and working groups 262 to assign due consideration to documents that have the benefit of 263 running code, which may serve as evidence of valuable experimentation 264 and feedback that have made the implemented protocols more mature. 265 It is up to the individual working groups to use this information as 266 they see fit". 268 There are implementations of [I-D.kaplan-mmusic-best-effort-srtp] in 269 deployed products by Microsoft and Unify. The IMTC "Best Practices 270 for SIP Security" document [IMTC-SIP] recommends this approach. The 271 SIP Forum planned to include support in the SIPconnect 2.0 SIP 272 trunking recommendation [SIPCONNECT]. There are many deployments of 273 ZRTP [RFC6189]. 275 7. Acknowledgements 277 This document is dedicated to our friend and colleague Francois Audet 278 who is greatly missed in our community. His work on improving 279 security in SIP and RTP provided the foundation for this work. 281 Thanks to Eric Rescorla, Martin Thomson, Christer Holmberg, and 282 Richard Barnes for their comments. 284 8. References 286 8.1. Normative References 288 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 289 Requirement Levels", BCP 14, RFC 2119, 290 DOI 10.17487/RFC2119, March 1997, 291 . 293 [RFC3264] Rosenberg, J. and H. Schulzrinne, "An Offer/Answer Model 294 with Session Description Protocol (SDP)", RFC 3264, 295 DOI 10.17487/RFC3264, June 2002, 296 . 298 [RFC3550] Schulzrinne, H., Casner, S., Frederick, R., and V. 299 Jacobson, "RTP: A Transport Protocol for Real-Time 300 Applications", STD 64, RFC 3550, DOI 10.17487/RFC3550, 301 July 2003, . 303 [RFC3551] Schulzrinne, H. and S. Casner, "RTP Profile for Audio and 304 Video Conferences with Minimal Control", STD 65, RFC 3551, 305 DOI 10.17487/RFC3551, July 2003, 306 . 308 [RFC3711] Baugher, M., McGrew, D., Naslund, M., Carrara, E., and K. 309 Norrman, "The Secure Real-time Transport Protocol (SRTP)", 310 RFC 3711, DOI 10.17487/RFC3711, March 2004, 311 . 313 [RFC4568] Andreasen, F., Baugher, M., and D. Wing, "Session 314 Description Protocol (SDP) Security Descriptions for Media 315 Streams", RFC 4568, DOI 10.17487/RFC4568, July 2006, 316 . 318 [RFC4585] Ott, J., Wenger, S., Sato, N., Burmeister, C., and J. Rey, 319 "Extended RTP Profile for Real-time Transport Control 320 Protocol (RTCP)-Based Feedback (RTP/AVPF)", RFC 4585, 321 DOI 10.17487/RFC4585, July 2006, 322 . 324 [RFC5124] Ott, J. and E. Carrara, "Extended Secure RTP Profile for 325 Real-time Transport Control Protocol (RTCP)-Based Feedback 326 (RTP/SAVPF)", RFC 5124, DOI 10.17487/RFC5124, February 327 2008, . 329 [RFC5763] Fischl, J., Tschofenig, H., and E. Rescorla, "Framework 330 for Establishing a Secure Real-time Transport Protocol 331 (SRTP) Security Context Using Datagram Transport Layer 332 Security (DTLS)", RFC 5763, DOI 10.17487/RFC5763, May 333 2010, . 335 [RFC6189] Zimmermann, P., Johnston, A., Ed., and J. Callas, "ZRTP: 336 Media Path Key Agreement for Unicast Secure RTP", 337 RFC 6189, DOI 10.17487/RFC6189, April 2011, 338 . 340 [RFC7435] Dukhovni, V., "Opportunistic Security: Some Protection 341 Most of the Time", RFC 7435, DOI 10.17487/RFC7435, 342 December 2014, . 344 [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 345 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, 346 May 2017, . 348 8.2. Informative References 350 [I-D.kaplan-mmusic-best-effort-srtp] 351 Audet, F. and H. Kaplan, "Session Description Protocol 352 (SDP) Offer/Answer Negotiation For Best-Effort Secure 353 Real-Time Transport Protocol", draft-kaplan-mmusic-best- 354 effort-srtp-01 (work in progress), October 2006. 356 [IMTC-SIP] 357 Group, I. S. P. A., "Best Practices for SIP Security", 358 IMTC SIP Parity 359 Group http://www.imtc.org/uc/sip-parity-activity-group/, 360 2011, . 362 [RFC5939] Andreasen, F., "Session Description Protocol (SDP) 363 Capability Negotiation", RFC 5939, DOI 10.17487/RFC5939, 364 September 2010, . 366 [RFC6337] Okumura, S., Sawada, T., and P. Kyzivat, "Session 367 Initiation Protocol (SIP) Usage of the Offer/Answer 368 Model", RFC 6337, DOI 10.17487/RFC6337, August 2011, 369 . 371 [RFC6982] Sheffer, Y. and A. Farrel, "Improving Awareness of Running 372 Code: The Implementation Status Section", RFC 6982, 373 DOI 10.17487/RFC6982, July 2013, 374 . 376 [SIPCONNECT] 377 Group, S. F. S. 2. T., "SIP-PBX / Service Provider 378 Interoperability SIPconnect 2.0 - Technical 379 Recommendation", SIP Forum http://www.sipforum.org/compone 380 nt/option,com_docman/task,doc_download/gid,838/ 381 Itemid,261/, 2017, . 383 Authors' Addresses 385 Alan Johnston 386 Villanova University 387 Villanova, PA 388 USA 390 Email: alan.b.johnston@gmail.com 392 Bernard Aboba 393 Microsoft 394 One Microsoft Way 395 Redmond, WA 98052 396 USA 398 Email: bernard.aboba@gmail.com 400 Andrew Hutton 401 Atos 402 Mid City Place 403 London WC1V 6EA 404 UK 406 Email: andrew.hutton@atos.net 408 Roland Jesske 409 Deutsche Telekom 410 Heinrich-Hertz-Strasse 3-7 411 Darmstadt 64295 412 Germany 414 Email: R.Jesske@telekom.de 416 Thomas Stach 417 Unaffiliated 419 Email: thomass.stach@gmail.com