idnits 2.17.1 draft-ietf-mmusic-4572-update-07.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 (Using the creation date from RFC4572, updated by this document, for RFC5378 checks: 2004-04-28) -- The document seems to lack a disclaimer for pre-RFC5378 work, but may have content which was first submitted before 10 November 2008. If you have contacted all the original authors and they are all willing to grant the BCP78 rights to the IETF Trust, then this is fine, and you can ignore this comment. If not, you may need to add the pre-RFC5378 disclaimer. (See the Legal Provisions document at https://trustee.ietf.org/license-info for more information.) -- The document date (September 25, 2016) is 2769 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) -- Looks like a reference, but probably isn't: '7' on line 148 -- Looks like a reference, but probably isn't: '9' on line 142 -- Looks like a reference, but probably isn't: '11' on line 144 -- Looks like a reference, but probably isn't: '19' on line 143 -- Looks like a reference, but probably isn't: '12' on line 144 -- Looks like a reference, but probably isn't: '13' on line 145 ** Obsolete normative reference: RFC 4566 (Obsoleted by RFC 8866) ** Obsolete normative reference: RFC 4572 (Obsoleted by RFC 8122) Summary: 2 errors (**), 0 flaws (~~), 1 warning (==), 8 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Network Working Group C. Holmberg 3 Internet-Draft Ericsson 4 Updates: 4572 (if approved) September 25, 2016 5 Intended status: Standards Track 6 Expires: March 29, 2017 8 SDP Fingerprint Attribute Usage Clarifications 9 draft-ietf-mmusic-4572-update-07.txt 11 Abstract 13 This document updates RFC 4572 by clarifying the usage of multiple 14 SDP 'fingerprint' attributes with a single SDP media description ("m= 15 line"). The document also updates the preferred cipher suite with a 16 stronger cipher suite. 18 Status of This Memo 20 This Internet-Draft is submitted in full conformance with the 21 provisions of BCP 78 and BCP 79. 23 Internet-Drafts are working documents of the Internet Engineering 24 Task Force (IETF). Note that other groups may also distribute 25 working documents as Internet-Drafts. The list of current Internet- 26 Drafts is at http://datatracker.ietf.org/drafts/current/. 28 Internet-Drafts are draft documents valid for a maximum of six months 29 and may be updated, replaced, or obsoleted by other documents at any 30 time. It is inappropriate to use Internet-Drafts as reference 31 material or to cite them other than as "work in progress." 33 This Internet-Draft will expire on March 29, 2017. 35 Copyright Notice 37 Copyright (c) 2016 IETF Trust and the persons identified as the 38 document authors. All rights reserved. 40 This document is subject to BCP 78 and the IETF Trust's Legal 41 Provisions Relating to IETF Documents 42 (http://trustee.ietf.org/license-info) in effect on the date of 43 publication of this document. Please review these documents 44 carefully, as they describe your rights and restrictions with respect 45 to this document. Code Components extracted from this document must 46 include Simplified BSD License text as described in Section 4.e of 47 the Trust Legal Provisions and are provided without warranty as 48 described in the Simplified BSD License. 50 Table of Contents 52 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 53 2. Conventions . . . . . . . . . . . . . . . . . . . . . . . . . 3 54 3. Update to RFC 4572 . . . . . . . . . . . . . . . . . . . . . 3 55 3.1. Update to the sixth paragraph of section 5 . . . . . . . 3 56 3.2. New paragraphs to the end of section 5 . . . . . . . . . 4 57 4. Security Considerations . . . . . . . . . . . . . . . . . . . 5 58 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 6 59 6. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 6 60 7. Change Log . . . . . . . . . . . . . . . . . . . . . . . . . 6 61 8. Normative References . . . . . . . . . . . . . . . . . . . . 7 62 Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 8 64 1. Introduction 66 RFC 4572 [RFC4572] specifies how to establish Transport Layer 67 Security (TLS) connections using the Session Description Protocol 68 (SDP) [RFC4566]. 70 RFC 4572 defines the SDP 'fingerprint' attribute, which is used to 71 carry a secure hash value (fingerprint) associated with a 72 certificate. However, RFC 4572 is currently unclear on whether 73 multiple 'fingerprint' attributes can be associated with a single SDP 74 media description ("m= line") [RFC4566], and the associated 75 semantics. Multiple fingerprints are needed if an endpoints wants to 76 provide fingerprints associated with multiple certificates. For 77 example, with RTP-based media, an endpoint might use different 78 certificates for RTP and RTCP. 80 RFC 4572 also specifies a preferred cipher suite. However, the 81 currently preferred cipher suite is considered outdated, and the 82 preference needs to be updated. 84 RFC 4572 mandates that the hash function used to calculate the 85 fingerprint is the same hash function used to calculate the 86 certificate signature. That requirement might prevent usage of 87 newer, stronger and more collision-safe hash functions for 88 calculating certificate fingerprints. This change also requires that 89 multiple 'fingerprint' attributes can be associated with a single 90 "m=" line, so that implementations are able to provide fingerprints 91 calculated using updated hash functions alongside those that are 92 needed to interoperate with existing implementations. 94 This document updates RFC 4572 [RFC4572] by clarifying the usage of 95 multiple SDP 'fingerprint' attributes. It is clarified that multiple 96 'fingerprint' attributes can be used to carry fingerprints, 97 calculated using different hash functions, associated with a given 98 certificate, and to carry fingerprints associated with multiple 99 certificates. The fingerprint matching procedure, when multiple 100 fingerprints are provided, are also clarified. The document also 101 updates the preferred cipher suite with a stronger cipher suite, and 102 removes the requirement to use the same hash function for calculating 103 a certificate fingerprint and certificate signature. 105 NOTE: Even though this document updates the procedures in RFC 4572, 106 it does not make existing implementations non-compliant with RFC 107 4572. The updated procedures in this document have been defined in 108 order to be backward compatible with the procedures in RFC 4572. 110 2. Conventions 112 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 113 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 114 document are to be interpreted as described in [RFC2119]. 116 3. Update to RFC 4572 118 This section updates section 5 of RFC 4572. 120 3.1. Update to the sixth paragraph of section 5 121 OLD TEXT: 123 A certificate fingerprint MUST be computed using the same one-way 124 hash function as is used in the certificate's signature algorithm. 125 (This ensures that the security properties required for the 126 certificate also apply for the fingerprint. It also guarantees that 127 the fingerprint will be usable by the other endpoint, so long as the 128 certificate itself is.) Following RFC 3279 [7] as updated by RFC 129 4055 [9], therefore, the defined hash functions are 'SHA-1' [11] 130 [19], 'SHA-224' [11], 'SHA-256' [11], 'SHA-384' [11], 'SHA-512' [11] 131 , 'MD5' [12], and 'MD2' [13], with 'SHA-1' preferred. A new IANA 132 registry of Hash Function Textual Names, specified in Section 8, 133 allows for addition of future tokens, but they may only be added if 134 they are included in RFCs that update or obsolete RFC 3279 [7]. 135 Self-signed certificates (for which legacy certificates are not a 136 consideration) MUST use one of the FIPS 180 algorithms (SHA-1, 137 SHA-224, SHA-256, SHA-384, or SHA-512) as their signature algorithm, 138 and thus also MUST use it to calculate certificate fingerprints. 140 NEW TEXT: 142 Following RFC 3279 [7] as updated by RFC 4055 [9], therefore, the 143 defined hash functions are 'SHA-1' [11] [19], 'SHA-224' [11], 144 'SHA-256' [11], 'SHA-384' [11], 'SHA-512' [11], 'MD5' [12], and 145 'MD2' [13], with 'SHA-256' preferred. A new IANA registry of Hash 146 Function Textual Names, specified in Section 8, allows for addition 147 of future tokens, but they may only be added if they are included 148 in RFCs that update or obsolete RFC 3279 [7]. 150 3.2. New paragraphs to the end of section 5 151 NEW TEXT: 153 Multiple SDP fingerprint attributes can be associated with an m- 154 line. This can occur if multiple fingerprints have been calculated 155 for a certificate using different hash functions. It can also 156 occur if one or more fingerprints associated with multiple 157 certificates have been calculated. This might be needed if multiple 158 certificates will be used for media associated with an m- line 159 (e.g. if separate certificates are used for RTP and RTCP), or where 160 it is not known which certificate will be used when the 161 fingerprints are exchanged. In such cases, one or more fingerprints 162 MUST be calculated for each possible certificate. An endpoint 163 MUST, as a minimum, calculate a fingerprint using both the 'SHA-256' 164 hash function algorithm and the hash function used to generate the 165 signature on the certificate for each possible certificate. 166 Including the hash from the signature algorithm ensures 167 interoperability with strict implementations of RFC 4572. 168 Either of these fingerprints MAY be omitted if the endpoint includes 169 a hash with a stronger hash algorithm that it knows that the peer 170 supports, if it is known that the peer does not support the hash 171 algorithm, or if local policy mandates use of stronger algorithms. 173 If fingerprints associated with multiple certificates are 174 calculated, the same set of hash functions MUST be used to 175 calculate fingerprints for each certificate associated with the 176 m- line. 178 For each used certificate, an endpoint MUST be able to match at 179 least one fingerprint, calculated using the hash function that the 180 endpoint supports and considers most secure, with the used 181 certificate. If the checked fingerprint does not match the used 182 certificate, the endpoint MUST NOT establish the TLS connection. In 183 addition, the endpoint MAY also check fingerprints calculated using 184 other hash functions that it has received for a match. For each 185 hash function checked, one of the received fingerprints calculated 186 using the hash function MUST match the used certificate. 188 NOTE: The SDP fingerprint attribute does not contain a reference to 189 a specific certificate. Endpoints need to compare the fingerprint 190 with a certificate hash in order to look for a match. 192 4. Security Considerations 194 This document improves security. It updates the preferred hash 195 function cipher suite from SHA-1 to SHA-256. By clarifying the usage 196 and handling of multiple fingerprints, the document also enables hash 197 agility, and incremental deployment of newer, and more secure, cipher 198 suites. 200 5. IANA Considerations 202 IANA is requested to add a reference to this document for the att- 203 field (both session and media level) registration "fingerprint" in 204 Session Description Protocol (SDP) Parameters registry. 206 6. Acknowledgements 208 Martin Thomson, Paul Kyzivat, Jonathan Lennox and Roman Shpount 209 provided valuable comments and input on this document. 211 7. Change Log 213 [RFC EDITOR NOTE: Please remove this section when publishing] 215 Changes from draft-ietf-mmusic-4572-update-05 217 o Change of document title. 219 Changes from draft-ietf-mmusic-4572-update-05 221 o Added a requirement to generate a fingerprint that matches the 222 signature. 224 o Added text clarifying that updates do not make existing 225 implementations non-compliant with RFC 4572. 227 o IANA Considerations text added. 229 Changes from draft-ietf-mmusic-4572-update-04 231 o Removed prevously added requirement that endpoint must calcuate at 232 least one fingerprint using a hash function that was also used by 233 the peer. 235 Changes from draft-ietf-mmusic-4572-update-03 237 o Mandatory (except in specific situations) to provide a fingerprint 238 calculated using SHA-256. 240 o When an endpoint receives fingerprints from its peer, the endpoint 241 must (except in specific situations) calculate at least one 242 fingerpint using a hash function that was also used by the peer. 244 Changes from draft-ietf-mmusic-4572-update-02 245 o Editorial fixes based on comments from Martin Thomson. 247 o Non-used references removed. 249 Changes from draft-ietf-mmusic-4572-update-01 251 o Changes based on comments from Martin Thomson. 253 o - Editorial fixes 255 o Changes in handling of multiple fingerprints. 257 o - Sender must send same set of hash functions for each offered 258 certificate. 260 o - Receiver must check the hash function it considers most secure 261 for a match. It may check other hash functions. 263 Changes from draft-ietf-mmusic-4572-update-00 265 o Changes in handling of multiple fingerprints. 267 o - Number of fingerprints calculated for each certificate does not 268 have to match. 270 o - Clarified that receiver shall check check fingerprints using 271 hash algorithms it considers safe. 273 o - Additional text added to security considerations section. 275 Changes from draft-holmberg-mmusic-4572-update-01 277 o Adopted WG document (draft-ietf-mmusic-4572-update-00) submitted. 279 o IANA considerations section added. 281 8. Normative References 283 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 284 Requirement Levels", BCP 14, RFC 2119, 285 DOI 10.17487/RFC2119, March 1997, 286 . 288 [RFC4566] Handley, M., Jacobson, V., and C. Perkins, "SDP: Session 289 Description Protocol", RFC 4566, DOI 10.17487/RFC4566, 290 July 2006, . 292 [RFC4572] Lennox, J., "Connection-Oriented Media Transport over the 293 Transport Layer Security (TLS) Protocol in the Session 294 Description Protocol (SDP)", RFC 4572, 295 DOI 10.17487/RFC4572, July 2006, 296 . 298 Author's Address 300 Christer Holmberg 301 Ericsson 302 Hirsalantie 11 303 Jorvas 02420 304 Finland 306 Email: christer.holmberg@ericsson.com