idnits 2.17.1 draft-ietf-sipbrandy-osrtp-08.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 (March 26, 2019) is 1857 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: September 27, 2019 Microsoft 6 A. Hutton 7 Atos 8 R. Jesske 9 Deutsche Telekom 10 T. Stach 11 Unaffiliated 12 March 26, 2019 14 An Opportunistic Approach for Secure Real-time Transport Protocol 15 (OSRTP) 16 draft-ietf-sipbrandy-osrtp-08 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 September 27, 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 . . . . . . . . . . . . . . . . . . . . . 5 77 6. Implementation Status . . . . . . . . . . . . . . . . . . . . 5 78 7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 6 79 8. References . . . . . . . . . . . . . . . . . . . . . . . . . 6 80 8.1. Normative References . . . . . . . . . . . . . . . . . . 6 81 8.2. Informative References . . . . . . . . . . . . . . . . . 8 82 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 8 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 As discussed in [RFC7435], OSRTP is used in cases where support for 222 encryption by the other party is not known in advance, and not 223 required. For cases where it is known that the other party supports 224 SRTP or SRTP needs to be used, OSRTP MUST NOT be used. Instead, a 225 secure profile of RTP is used in the offer. 227 5. IANA Considerations 229 This document has no actions for IANA. 231 6. Implementation Status 233 Note to RFC Editor: Please remove this entire section prior to 234 publication, including the reference to [RFC6982]. 236 This section records the status of known implementations of the 237 protocol defined by this specification at the time of posting of this 238 Internet-Draft, and is based on a proposal described in [RFC6982]. 239 The description of implementations in this section is intended to 240 assist the IETF in its decision processes in progressing drafts to 241 RFCs. Please note that the listing of any individual implementation 242 here does not imply endorsement by the IETF. Furthermore, no effort 243 has been spent to verify the information presented here that was 244 supplied by IETF contributors. This is not intended as, and must not 245 be construed to be, a catalog of available implementations or their 246 features. Readers are advised to note that other implementations may 247 exist. 249 According to [RFC6982], "this will allow reviewers and working groups 250 to assign due consideration to documents that have the benefit of 251 running code, which may serve as evidence of valuable experimentation 252 and feedback that have made the implemented protocols more mature. 253 It is up to the individual working groups to use this information as 254 they see fit". 256 There are implementations of [I-D.kaplan-mmusic-best-effort-srtp] in 257 deployed products by Microsoft and Unify. The IMTC "Best Practices 258 for SIP Security" document [IMTC-SIP] recommends this approach. The 259 SIP Forum planned to include support in the SIPconnect 2.0 SIP 260 trunking recommendation [SIPCONNECT]. There are many deployments of 261 ZRTP [RFC6189]. 263 7. Acknowledgements 265 This document is dedicated to our friend and colleague Francois Audet 266 who is greatly missed in our community. His work on improving 267 security in SIP and RTP provided the foundation for this work. 269 Thanks to Eric Rescorla, Martin Thomson, Christer Holmberg, and 270 Richard Barnes for their comments. 272 8. References 274 8.1. Normative References 276 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 277 Requirement Levels", BCP 14, RFC 2119, 278 DOI 10.17487/RFC2119, March 1997, 279 . 281 [RFC3264] Rosenberg, J. and H. Schulzrinne, "An Offer/Answer Model 282 with Session Description Protocol (SDP)", RFC 3264, 283 DOI 10.17487/RFC3264, June 2002, 284 . 286 [RFC3550] Schulzrinne, H., Casner, S., Frederick, R., and V. 287 Jacobson, "RTP: A Transport Protocol for Real-Time 288 Applications", STD 64, RFC 3550, DOI 10.17487/RFC3550, 289 July 2003, . 291 [RFC3551] Schulzrinne, H. and S. Casner, "RTP Profile for Audio and 292 Video Conferences with Minimal Control", STD 65, RFC 3551, 293 DOI 10.17487/RFC3551, July 2003, 294 . 296 [RFC3711] Baugher, M., McGrew, D., Naslund, M., Carrara, E., and K. 297 Norrman, "The Secure Real-time Transport Protocol (SRTP)", 298 RFC 3711, DOI 10.17487/RFC3711, March 2004, 299 . 301 [RFC4568] Andreasen, F., Baugher, M., and D. Wing, "Session 302 Description Protocol (SDP) Security Descriptions for Media 303 Streams", RFC 4568, DOI 10.17487/RFC4568, July 2006, 304 . 306 [RFC4585] Ott, J., Wenger, S., Sato, N., Burmeister, C., and J. Rey, 307 "Extended RTP Profile for Real-time Transport Control 308 Protocol (RTCP)-Based Feedback (RTP/AVPF)", RFC 4585, 309 DOI 10.17487/RFC4585, July 2006, 310 . 312 [RFC5124] Ott, J. and E. Carrara, "Extended Secure RTP Profile for 313 Real-time Transport Control Protocol (RTCP)-Based Feedback 314 (RTP/SAVPF)", RFC 5124, DOI 10.17487/RFC5124, February 315 2008, . 317 [RFC5763] Fischl, J., Tschofenig, H., and E. Rescorla, "Framework 318 for Establishing a Secure Real-time Transport Protocol 319 (SRTP) Security Context Using Datagram Transport Layer 320 Security (DTLS)", RFC 5763, DOI 10.17487/RFC5763, May 321 2010, . 323 [RFC6189] Zimmermann, P., Johnston, A., Ed., and J. Callas, "ZRTP: 324 Media Path Key Agreement for Unicast Secure RTP", 325 RFC 6189, DOI 10.17487/RFC6189, April 2011, 326 . 328 [RFC7435] Dukhovni, V., "Opportunistic Security: Some Protection 329 Most of the Time", RFC 7435, DOI 10.17487/RFC7435, 330 December 2014, . 332 [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 333 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, 334 May 2017, . 336 8.2. Informative References 338 [I-D.kaplan-mmusic-best-effort-srtp] 339 Audet, F. and H. Kaplan, "Session Description Protocol 340 (SDP) Offer/Answer Negotiation For Best-Effort Secure 341 Real-Time Transport Protocol", draft-kaplan-mmusic-best- 342 effort-srtp-01 (work in progress), October 2006. 344 [IMTC-SIP] 345 Group, I. S. P. A., "Best Practices for SIP Security", 346 IMTC SIP Parity 347 Group http://www.imtc.org/uc/sip-parity-activity-group/, 348 2011, . 350 [RFC5939] Andreasen, F., "Session Description Protocol (SDP) 351 Capability Negotiation", RFC 5939, DOI 10.17487/RFC5939, 352 September 2010, . 354 [RFC6337] Okumura, S., Sawada, T., and P. Kyzivat, "Session 355 Initiation Protocol (SIP) Usage of the Offer/Answer 356 Model", RFC 6337, DOI 10.17487/RFC6337, August 2011, 357 . 359 [RFC6982] Sheffer, Y. and A. Farrel, "Improving Awareness of Running 360 Code: The Implementation Status Section", RFC 6982, 361 DOI 10.17487/RFC6982, July 2013, 362 . 364 [SIPCONNECT] 365 Group, S. F. S. 2. T., "SIP-PBX / Service Provider 366 Interoperability SIPconnect 2.0 - Technical 367 Recommendation", SIP Forum http://www.sipforum.org/compone 368 nt/option,com_docman/task,doc_download/gid,838/ 369 Itemid,261/, 2017, . 371 Authors' Addresses 373 Alan Johnston 374 Villanova University 375 Villanova, PA 376 USA 378 Email: alan.b.johnston@gmail.com 379 Bernard Aboba 380 Microsoft 381 One Microsoft Way 382 Redmond, WA 98052 383 USA 385 Email: bernard.aboba@gmail.com 387 Andrew Hutton 388 Atos 389 Mid City Place 390 London WC1V 6EA 391 UK 393 Email: andrew.hutton@atos.net 395 Roland Jesske 396 Deutsche Telekom 397 Heinrich-Hertz-Strasse 3-7 398 Darmstadt 64295 399 Germany 401 Email: R.Jesske@telekom.de 403 Thomas Stach 404 Unaffiliated 406 Email: thomass.stach@gmail.com