Internet Engineering Task Force (IETF) L. VelvindronInternet-DraftRequest for Comments: 8270 Hackers.mu Updates: 4419(if approved)M. BaushkeIntended status:Category: Standards Track Juniper Networks, Inc.Expires: March 25, 2018 September 21,ISSN: 2070-1721 December 2017 IncreaseSSH minimum recommended DH modulus sizethe Secure Shell Minimum Recommended Diffie-Hellman Modulus Size to 2048bits draft-ietf-curdle-ssh-dh-group-exchange-06Bits Abstract The Diffie-Hellman (DH) Group Exchange for the Secure Shell (SSH)Transport layer Protocoltransport-layer protocol specifies that servers and clients should support groups with a minimum moduluslengthgroup size ofk bits, where the recommended minimum value is1024 bits. Recent security research has shown thatathe minimum value of 1024 bits is insufficient to protect against state-sponsoredactors,actors andpossiblyany organization with enough computing resources.As such, this document formally updates the specification such that the minimum recommended value for k is 2048 bits and the group size is 2048 bits at minimum.This RFC updatesRFC4419RFC 4419, which allowed for DH moduli less than 2048bits.bits; now, 2048 bits is the minimum acceptable group size. Status of This Memo ThisInternet-Draftissubmitted in full conformance with the provisions of BCP 78 and BCP 79. Internet-Drafts are working documentsan Internet Standards Track document. This document is a product of the Internet Engineering Task Force (IETF).Note that other groups may also distribute working documents as Internet-Drafts. The listIt represents the consensus ofcurrent Internet- Drafts is at https://datatracker.ietf.org/drafts/current/. Internet-Drafts are draft documents validthe IETF community. It has received public review and has been approved fora maximumpublication by the Internet Engineering Steering Group (IESG). Further information on Internet Standards is available in Section 2 ofsix monthsRFC 7841. Information about the current status of this document, any errata, and how to provide feedback on it may beupdated, replaced, or obsoleted by other documentsobtained atany time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." This Internet-Draft will expire on March 25, 2018.https://www.rfc-editor.org/info/rfc8270. Copyright Notice Copyright (c) 2017 IETF Trust and the persons identified as the document authors. All rights reserved. This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 2. Requirements Language . . . . . . . . . . . . . . . . . . . . 2 3. 2048-Bit DH Group . . . . . . . . . . . . . . . . . . . . . . 2 4. Interoperability . . . . . . . . . . . . . . . . . . . . . . 3 5. Security Considerations . . . . . . . . . . . . . . . . . . . 3 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 4 7. References . . . . . . . . . . . . . . . . . . . . . . . . . 4 7.1. Normative References . . . . . . . . . . . . . . . . . . 4 7.2. Informative References . . . . . . . . . . . . . . . . . 4 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 4 1. Introduction [RFC4419] specifies a recommended minimum DH modulus group size of 1024bits for k, which is the modulus length of the DH Group.bits. It also suggests that in all cases, the size of the group needs to be at least 1024 bits. This document updates [RFC4419] so that the minimum recommended sizebeis 2048 bits. This recommendation is based on recent research [LOGJAM] on DHGroupgroup weaknesses.1.1.This minimum DH group size may need to be increased to 3072 for forward- looking users. 2. Requirements Language The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described inRFC 2119 [RFC2119]. 2. 2048 bitsBCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here. 3. 2048-Bit DH Group Recent research [LOGJAM] strongly suggests that DH groups that are 1024 bits can be broken bystate actors,state-sponsored actors andpossiblyany organization with enough computing resources. The authors show how they are able to break768 bits768-bit DHgroupgroups and extrapolate the attack to1024 bits1024-bit DH groups. In their analysis, they show that breaking 1024 bits can be done withenoughsufficient computing resources. This document provides the following recommendation: SSHServersservers and SSH clients SHOULD support groups with amodulus lengthminimum aceptable group size ofk bits where2048<= k <= 8192, where it is possible to set kbits for the "min" value of the SSH_MSG_KEY_DH_GEX_REQUEST client message given in [RFC4419]. Further, SSH clients SHOULD be able to send a value of 3072shouldbits for theneed arisepreferred acceptable group size "n" in thecoming years.SSH_MSG_KEY_DH_GEX_REQUEST message. [RFC4419] specifies a recommended minimum size of 1024 bits for k, which is the modulus length of the DHGroup.group. It also suggeststhatthat, in all cases, the size of the group needs be at least 1024 bits. This document updates [RFC4419] as described below: osection 3 ParagraphSection 3, paragraph 9: Servers and clients SHOULD support groups with a modulus length of k bits where 2048 <= k <= 8192. The recommended minimum values for min and max are 2048 and 8192, respectively. Setting kSHOULD be able to be setto 3072by an implementation shouldSHOULD be possible, as the need may arise in the coming years. o Section3 Paragraph3, paragraph 11: In all cases, the size of the group SHOULD be at least 2048bits, withbits. Setting thepossibility to be setgroup size to 3072bits shouldSHOULD be possible, as the need may arise in the coming years.3.4. Interoperability This document keeps the[RFC4419]following requirement"Thefrom [RFC4419]: The server should return the smallest group it knows that is larger than the size the client requested. If the server does not know a group that is larger than the client request, then it SHOULD return the largest group itknows." andknows. Also, it updates the subsequent sentencethat follows to read: "Inas follows: In all cases, the size of the returned group SHOULD be at least 2048bits." 4.bits. Setting the group size to 3072 SHOULD be possible, as the need may arise in the coming years. 5. Security Considerations This document discusses security issues of DH groups that are 1024 bits in size, and formally updates the minimum size of DH groups to be 2048 bits. A hostile or "owned"Secure ShellSSH server implementation could potentially useBackdoored Diffie-Hellmanbackdoored DH primes using the methods described in [Backdoor-DH] to provide theg,pg and p values to be used. Or,theyit could just send the calculated secret through a covert channel of some sort to a passive listener. A malicious client could cause a Denial of Service by intentionally making multiple connectionswhichthat are less than 2048 bits insize on purpose.size. Therefore,Operating Systemsoperating systems SHOULD NOT log DH groups that are less than 2048 bits in size, as it would create an additional attack surface.5.6. IANA Considerations This documentcontains no considerations for IANA. 6.does not require any IANA actions. 7. References6.1.7.1. Normative References [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997, <https://www.rfc-editor.org/info/rfc2119>. [RFC4419] Friedl, M., Provos, N., and W. Simpson, "Diffie-Hellman Group Exchange for the Secure Shell (SSH) Transport Layer Protocol", RFC 4419, DOI 10.17487/RFC4419, March 2006, <https://www.rfc-editor.org/info/rfc4419>.6.2.[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, May 2017, <https://www.rfc-editor.org/info/rfc8174>. 7.2. Informative References [Backdoor-DH] Wong, D., "How to Backdoor Diffie-Hellman", Cryptology ePrint Archive Report 2016/644, June 2016, <http://eprint.iacr.org/2016/644.pdf>. [LOGJAM] Adrian, D., Bhargavan, K., Durumeric, Z., Gaudry, P., Green, M., Halderman, J., Heninger, N., Springall, D., Thome, E., Valenta, L., VanderSloot, B., Wustrow, E., Zanella-Beguelin, S., and P. Zimmermann, "Imperfect Forward Secrecy: How Diffie-Hellman Fails in Practice", ACM Conference on Computer and Communications Security (CCS) 2015, DOI 10.1145/2810103.2813707, 2015, <https://weakdh.org/imperfect-forward-secrecy-ccs15.pdf>. Authors' Addresses Loganaden Velvindron Hackers.mu 88, Avenue De Plevitz Roches BrunesMUMauritius Phone: +230 59762817 Email: logan@hackers.mu Mark D. Baushke Juniper Networks, Inc. Email: mdb@juniper.net