idnits 2.17.1 draft-ietf-curdle-ssh-dh-group-exchange-05.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 RFC4419, updated by this document, for RFC5378 checks: 2001-01-30) -- The document seems to contain a disclaimer for pre-RFC5378 work, and may have content which was first submitted before 10 November 2008. The disclaimer is necessary when there are original authors that you have been unable to contact, or if some do not wish to grant the BCP78 rights to the IETF Trust. If you are able to get all authors (current and original) to grant those rights, you can and should remove the disclaimer; otherwise, the disclaimer is needed and you can ignore this comment. (See the Legal Provisions document at https://trustee.ietf.org/license-info for more information.) -- The document date (July 17, 2017) is 2469 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) No issues found here. Summary: 0 errors (**), 0 flaws (~~), 1 warning (==), 2 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Internet Engineering Task Force L. Velvindron 3 Internet-Draft Hackers.mu 4 Updates: 4419 (if approved) M. Baushke 5 Intended status: Standards Track Juniper Networks, Inc. 6 Expires: January 18, 2018 July 17, 2017 8 Increase SSH minimum recommended DH modulus size to 2048 bits 9 draft-ietf-curdle-ssh-dh-group-exchange-05 11 Abstract 13 The Diffie-Hellman (DH) Group Exchange for the Secure Shell (SSH) 14 Transport layer Protocol specifies that servers and clients should 15 support groups with a modulus length of k bits, where the recommended 16 minimum value is 1024 bits. Recent security research has shown that 17 a minimum value of 1024 bits is insufficient against state-sponsored 18 actors, and possibly an organization with enough computing resources. 19 As such, this document formally updates the specification such that 20 the minimum recommended value for k is 2048 bits and the group size 21 is 2048 bits at minimum. This RFC updates RFC4419 which allowed for 22 DH moduli less than 2048 bits. 24 Status of This Memo 26 This Internet-Draft is submitted in full conformance with the 27 provisions of BCP 78 and BCP 79. 29 Internet-Drafts are working documents of the Internet Engineering 30 Task Force (IETF). Note that other groups may also distribute 31 working documents as Internet-Drafts. The list of current Internet- 32 Drafts is at http://datatracker.ietf.org/drafts/current/. 34 Internet-Drafts are draft documents valid for a maximum of six months 35 and may be updated, replaced, or obsoleted by other documents at any 36 time. It is inappropriate to use Internet-Drafts as reference 37 material or to cite them other than as "work in progress." 39 This Internet-Draft will expire on January 18, 2018. 41 Copyright Notice 43 Copyright (c) 2017 IETF Trust and the persons identified as the 44 document authors. All rights reserved. 46 This document is subject to BCP 78 and the IETF Trust's Legal 47 Provisions Relating to IETF Documents 48 (http://trustee.ietf.org/license-info) in effect on the date of 49 publication of this document. Please review these documents 50 carefully, as they describe your rights and restrictions with respect 51 to this document. Code Components extracted from this document must 52 include Simplified BSD License text as described in Section 4.e of 53 the Trust Legal Provisions and are provided without warranty as 54 described in the Simplified BSD License. 56 This document may contain material from IETF Documents or IETF 57 Contributions published or made publicly available before November 58 10, 2008. The person(s) controlling the copyright in some of this 59 material may not have granted the IETF Trust the right to allow 60 modifications of such material outside the IETF Standards Process. 61 Without obtaining an adequate license from the person(s) controlling 62 the copyright in such materials, this document may not be modified 63 outside the IETF Standards Process, and derivative works of it may 64 not be created outside the IETF Standards Process, except to format 65 it for publication as an RFC or to translate it into languages other 66 than English. 68 1. Introduction 70 [RFC4419] specifies a recommended minimum size of 1024 bits for k, 71 which is the modulus length of the DH Group. It also suggests that 72 in all cases, the size of the group needs be at least 1024 bits. 73 This document updates [RFC4419] so that the minimum recommended size 74 be 2048 bits. This recommendation is based on recent research 75 [LOGJAM] on DH Group weaknesses. 77 1.1. Requirements Language 79 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 80 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 81 document are to be interpreted as described in RFC 2119 [RFC2119]. 83 2. 2048 bits DH Group 85 Recent research [LOGJAM] strongly suggests that DH groups that are 86 1024 bits can be broken by state actors, and possibly an organization 87 with enough computing resources. The authors show how they are able 88 to break 768 bits DH group and extrapolate the attack to 1024 bits DH 89 groups. In their analysis, they show that breaking 1024 bits can be 90 done with enough computing resources. This document provides the 91 following recommendation: SSH Servers and SSH clients SHOULD support 92 groups with a modulus length of k bits where 2048 <= k <= 8192. 94 [RFC4419] specifies a recommended minimum size of 1024 bits for k, 95 which is the modulus length of the DH Group. It also suggests that 96 in all cases, the size of the group needs be at least 1024 bits.This 97 document updates [RFC4419] as described below: 99 o section 3 Paragraph 9: Servers and clients SHOULD support groups 100 with a modulus length of k bits where 2048 <= k <= 8192. The 101 recommended minimum values for min and max are 2048 and 8192, 102 respectively. 104 o Section 3 Paragraph 11: In all cases, the size of the group SHOULD 105 be at least 2048 bits. 107 3. Interoperability 109 This document keeps the [RFC4419] requirement "The server should 110 return the smallest group it knows that is larger than the size the 111 client requested. If the server does not know a group that is larger 112 than the client request, then it SHOULD return the largest group it 113 knows." and updates the sentence that follows to read: "In all cases, 114 the size of the returned group SHOULD be at least 2048 bits." 116 4. Security Considerations 118 This document discusses security issues of DH groups that are 1024 119 bits in size, and formally updates the minimum size of DH groups to 120 be 2048 bits. A hostile or "owned" Secure Shell server 121 implementation could potentially use Backdoored Diffie-Hellman primes 122 using the methods described in [Backdoor-DH] to provide the g,p 123 values to be used. Or, they could just send the calculated secret 124 through a covert channel of some sort to a passive listener. 126 5. IANA Considerations 128 This document contains no considerations for IANA. 130 6. References 132 6.1. Normative References 134 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 135 Requirement Levels", BCP 14, RFC 2119, 136 DOI 10.17487/RFC2119, March 1997, 137 . 139 6.2. Informative References 141 [Backdoor-DH] 142 Wong, D., "How to Backdoor Diffie-Hellman", Cryptology 143 ePrint Archive Report 2016/644, June 2016, 144 . 146 [LOGJAM] Adrian, D., Bhargavan, K., Durumeric, Z., Gaudry, P., 147 Green, M., Halderman, J., Heninger, N., Springall, D., 148 Thome, E., Valenta, L., VanderSloot, B., Wustrow, E., 149 Zanella-Beguelin, S., and P. Zimmermann, "Imperfect 150 Forward Secrecy: How Diffie-Hellman Fails in Practice", 151 ACM Conference on Computer and Communications Security 152 (CCS) 2015, 2015, . 155 [RFC4419] Friedl, M., Provos, N., and W. Simpson, "Diffie-Hellman 156 Group Exchange for the Secure Shell (SSH) Transport Layer 157 Protocol", RFC 4419, DOI 10.17487/RFC4419, March 2006, 158 . 160 Authors' Addresses 162 Loganaden Velvindron 163 Hackers.mu 164 88, Avenue De Plevitz 165 Roches Brunes 166 MU 168 Phone: +230 59762817 169 Email: logan@hackers.mu 171 Mark D. Baushke 172 Juniper Networks, Inc. 174 Email: mdb@juniper.net