idnits 2.17.1 draft-ietf-mmusic-4572-update-04.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 (June 7, 2016) is 2879 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 145 -- Looks like a reference, but probably isn't: '9' on line 139 -- Looks like a reference, but probably isn't: '11' on line 141 -- Looks like a reference, but probably isn't: '19' on line 140 -- Looks like a reference, but probably isn't: '12' on line 141 -- Looks like a reference, but probably isn't: '13' on line 142 ** Obsolete normative reference: RFC 4572 (Obsoleted by RFC 8122) ** Obsolete normative reference: RFC 4566 (Obsoleted by RFC 8866) 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) June 7, 2016 5 Intended status: Standards Track 6 Expires: December 9, 2016 8 Updates to RFC 4572 9 draft-ietf-mmusic-4572-update-04.txt 11 Abstract 13 This document updates RFC 4572 by clarifying the usage of multiple 14 SDP 'fingerprint' attributes with a single TLS connection. The 15 document also updates the preferred cipher suite with a stronger 16 cipher suite, and removes the requirement to use the same hash 17 function for calculating a certificate fingerprint that is used to 18 calculate the certificate signature. 20 Status of This Memo 22 This Internet-Draft is submitted in full conformance with the 23 provisions of BCP 78 and BCP 79. 25 Internet-Drafts are working documents of the Internet Engineering 26 Task Force (IETF). Note that other groups may also distribute 27 working documents as Internet-Drafts. The list of current Internet- 28 Drafts is at http://datatracker.ietf.org/drafts/current/. 30 Internet-Drafts are draft documents valid for a maximum of six months 31 and may be updated, replaced, or obsoleted by other documents at any 32 time. It is inappropriate to use Internet-Drafts as reference 33 material or to cite them other than as "work in progress." 35 This Internet-Draft will expire on December 9, 2016. 37 Copyright Notice 39 Copyright (c) 2016 IETF Trust and the persons identified as the 40 document authors. All rights reserved. 42 This document is subject to BCP 78 and the IETF Trust's Legal 43 Provisions Relating to IETF Documents 44 (http://trustee.ietf.org/license-info) in effect on the date of 45 publication of this document. Please review these documents 46 carefully, as they describe your rights and restrictions with respect 47 to this document. Code Components extracted from this document must 48 include Simplified BSD License text as described in Section 4.e of 49 the Trust Legal Provisions and are provided without warranty as 50 described in the Simplified BSD License. 52 Table of Contents 54 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 55 2. Conventions . . . . . . . . . . . . . . . . . . . . . . . . . 3 56 3. Update to RFC 4572 . . . . . . . . . . . . . . . . . . . . . 3 57 3.1. Update to the sixth paragraph of section 5 . . . . . . . 3 58 3.2. New paragraphs to the end of section 5 . . . . . . . . . 4 59 4. Security Considerations . . . . . . . . . . . . . . . . . . . 6 60 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 6 61 6. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 6 62 7. Change Log . . . . . . . . . . . . . . . . . . . . . . . . . 6 63 8. Normative References . . . . . . . . . . . . . . . . . . . . 7 64 Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 7 66 1. Introduction 68 RFC 4572 [RFC4572] specifies how to establish Transport Layer 69 Security (TLS) connections using the Session Description Protocol 70 (SDP) [RFC4566]. 72 RFC 4572 defines the SDP 'fingerprint' attribute, which is used to 73 carry a secure hash value (fingerprint) associated with a 74 certificate. However, RFC 4572 is currently unclear on whether 75 multiple 'fingerprint' attributes can be associated with a single SDP 76 media description ("m= line") [RFC4566], and the associated 77 semantics. Multiple fingerprints are needed if an endpoints wants to 78 provide fingerprints associated with multiple certificates. For 79 example, with RTP-based media, an endpoint might use different 80 certificates for RTP and RTCP. 82 RFC 4572 also specifies a preferred cipher suite. However, the 83 currently preferred cipher suite is considered outdated, and the 84 preference needs to be updated. 86 RFC 4572 mandates that the hash function used to calculate the 87 fingerprint is the same hash function used to calculate the 88 certificate signature. That requirement might prevent usage of 89 newer, stronger and more collision-safe hash functions for 90 calculating certificate fingerprints. This change also requires that 91 multiple 'fingerprint' attributes can be associated with a single 92 "m=" line, so that implementations are able to provide fingerprints 93 calculated using updated hash functions alongside those that are 94 needed to interoperate with existing implementations. 96 This document updates RFC 4572 [RFC4572] by clarifying the usage of 97 multiple SDP 'fingerprint' attributes. It is clarified that multiple 98 'fingerprint' attributes can be used to carry fingerprints, 99 calculated using different hash functions, associated with a given 100 certificate, and to carry fingerprints associated with multiple 101 certificates. The fingerprint matching procedure, when multiple 102 fingerprints are provided, are also clarified. The document also 103 updates the preferred cipher suite with a stronger cipher suite, and 104 removes the requirement to use the same hash function for calculating 105 a certificate fingerprint and certificate signature. 107 2. Conventions 109 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 110 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 111 document are to be interpreted as described in [RFC2119]. 113 3. Update to RFC 4572 115 This section updates section 5 of RFC 4572. 117 3.1. Update to the sixth paragraph of section 5 118 OLD TEXT: 120 A certificate fingerprint MUST be computed using the same one-way 121 hash function as is used in the certificate's signature algorithm. 122 (This ensures that the security properties required for the 123 certificate also apply for the fingerprint. It also guarantees that 124 the fingerprint will be usable by the other endpoint, so long as the 125 certificate itself is.) Following RFC 3279 [7] as updated by RFC 126 4055 [9], therefore, the defined hash functions are 'SHA-1' [11] 127 [19], 'SHA-224' [11], 'SHA-256' [11], 'SHA-384' [11], 'SHA-512' [11] 128 , 'MD5' [12], and 'MD2' [13], with 'SHA-1' preferred. A new IANA 129 registry of Hash Function Textual Names, specified in Section 8, 130 allows for addition of future tokens, but they may only be added if 131 they are included in RFCs that update or obsolete RFC 3279 [7]. 132 Self-signed certificates (for which legacy certificates are not a 133 consideration) MUST use one of the FIPS 180 algorithms (SHA-1, 134 SHA-224, SHA-256, SHA-384, or SHA-512) as their signature algorithm, 135 and thus also MUST use it to calculate certificate fingerprints. 137 NEW TEXT: 139 Following RFC 3279 [7] as updated by RFC 4055 [9], therefore, the 140 defined hash functions are 'SHA-1' [11] [19], 'SHA-224' [11], 141 'SHA-256' [11], 'SHA-384' [11], 'SHA-512' [11], 'MD5' [12], and 142 'MD2' [13], with 'SHA-256' preferred. A new IANA registry of Hash 143 Function Textual Names, specified in Section 8, allows for addition 144 of future tokens, but they may only be added if they are included 145 in RFCs that update or obsolete RFC 3279 [7]. 147 3.2. New paragraphs to the end of section 5 148 NEW TEXT: 150 Multiple SDP fingerprint attributes can be associated with an m- 151 line. This can occur if multiple fingerprints have been calculated 152 for a certificate using different hash functions. It can also 153 occur if one or more fingerprints associated with multiple 154 certificates have been calculated. This might be needed if multiple 155 certificates will be used for media associated with an m- line 156 (e.g. if separate certificates are used for RTP and RTCP), or where 157 it is not known which certificate will be used when the 158 fingerprints are exchanged. In such cases, one or more fingerprints 159 MUST be calculated for each possible certificate. An endpoint 160 MUST, as a minimum, calculate a fingerprint using the 'SHA-256' 161 hash function algorithm for each possible certificate, unless the 162 endpoint knows that the peer supports a stronger algorithm, or 163 unless the endpoint knows that the peer has not been upgraded to 164 support the 'SHA-256' algorithm, or unless the endpoint is used for 165 a service, or within an environment that mandates usage of a 166 stronger algorithm. 168 When an endpoint receives one or more fingerprints from its peer, 169 and is about to calculate its own fingerprints, unless 170 the endpoint has other ways of knowing what hash functions the peer 171 supports the endpoint MUST calculate at least one fingerprint using 172 a hash function that was also used by the peer to calculate a 173 fingerprint. In addition, the endpoint MAY calculate fingerprints 174 using hash functions that were not used by the peer. 176 If fingerprints associated with multiple certificates are 177 calculated, the same set of hash functions MUST be used to 178 calculate fingerprints for each certificate associated with the 179 m- line. 181 For each used certificate, an endpoint MUST be able to match at 182 least one fingerprint, calculated using the hash function that the 183 endpoint supports and considers most secure, with the used 184 certificate. If the checked fingerprint does not match the used 185 certificate, the endpoint MUST NOT establish the TLS connection. In 186 addition, the endpoint MAY also check fingerprints calculated using 187 other hash functions that it has received for a match. For each 188 hash function checked, one of the received fingerprints calculated 189 using the hash function MUST match the used certificate. 191 NOTE: The SDP fingerprint attribute does not contain a reference to 192 a specific certificate. Endpoints need to compare the fingerprint 193 with a certificate hash in order to look for a match. 195 4. Security Considerations 197 This document improves security. It updates the preferred hash 198 function cipher suite from SHA-1 to SHA-256. By clarifying the usage 199 and handling of multiple fingerprints, the document also enables hash 200 agility, and incremental deployment of newer, and more secure, cipher 201 suites. 203 5. IANA Considerations 205 This document makes no requests from IANA. 207 6. Acknowledgements 209 Martin Thomson, Paul Kyzivat, Jonathan Lennox and Roman Shpount 210 provided valuable comments and input on this document. 212 7. Change Log 214 [RFC EDITOR NOTE: Please remove this section when publishing] 216 Changes from draft-ietf-mmusic-4572-update-03 218 o Mandatory (except in specific situations) to provide a fingerprint 219 calculated using SHA-256. 221 o When an endpoint receives fingerprints from its peer, the endpoint 222 must (except in specific situations) calculate at least one 223 fingerpint using a hash function that was also used by the peer. 225 Changes from draft-ietf-mmusic-4572-update-02 227 o Editorial fixes based on comments from Martin Thomson. 229 o Non-used references removed. 231 Changes from draft-ietf-mmusic-4572-update-01 233 o Changes based on comments from Martin Thomson. 235 o - Editorial fixes 237 o Changes in handling of multiple fingerprints. 239 o - Sender must send same set of hash functions for each offered 240 certificate. 242 o - Receiver must check the hash function it considers most secure 243 for a match. It may check other hash functions. 245 Changes from draft-ietf-mmusic-4572-update-00 247 o Changes in handling of multiple fingerprints. 249 o - Number of fingerprints calculated for each certificate does not 250 have to match. 252 o - Clarified that receiver shall check check fingerprints using 253 hash algorithms it considers safe. 255 o - Additional text added to security considerations section. 257 Changes from draft-holmberg-mmusic-4572-update-01 259 o Adopted WG document (draft-ietf-mmusic-4572-update-00) submitted. 261 o IANA considerations section added. 263 8. Normative References 265 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 266 Requirement Levels", BCP 14, RFC 2119, 267 DOI 10.17487/RFC2119, March 1997, 268 . 270 [RFC4572] Lennox, J., "Connection-Oriented Media Transport over the 271 Transport Layer Security (TLS) Protocol in the Session 272 Description Protocol (SDP)", RFC 4572, 273 DOI 10.17487/RFC4572, July 2006, 274 . 276 [RFC4566] Handley, M., Jacobson, V., and C. Perkins, "SDP: Session 277 Description Protocol", RFC 4566, DOI 10.17487/RFC4566, 278 July 2006, . 280 Author's Address 282 Christer Holmberg 283 Ericsson 284 Hirsalantie 11 285 Jorvas 02420 286 Finland 288 Email: christer.holmberg@ericsson.com