Internet DRAFT - draft-ietf-curdle-ssh-dh-group-exchange

draft-ietf-curdle-ssh-dh-group-exchange







Internet Engineering Task Force                            L. Velvindron
Internet-Draft                                                Hackers.mu
Updates: 4419 (if approved)                                   M. Baushke
Intended status: Standards Track                  Juniper Networks, Inc.
Expires: March 25, 2018                               September 21, 2017


     Increase SSH minimum recommended DH modulus size to 2048 bits
               draft-ietf-curdle-ssh-dh-group-exchange-06

Abstract

   The Diffie-Hellman (DH) Group Exchange for the Secure Shell (SSH)
   Transport layer Protocol specifies that servers and clients should
   support groups with a modulus length of k bits, where the recommended
   minimum value is 1024 bits.  Recent security research has shown that
   a minimum value of 1024 bits is insufficient against state-sponsored
   actors, and possibly any 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 updates RFC4419 which
   allowed for DH moduli less than 2048 bits.

Status of This Memo

   This Internet-Draft is submitted in full conformance with the
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF).  Note that other groups may also distribute
   working documents as Internet-Drafts.  The list of current Internet-
   Drafts is at https://datatracker.ietf.org/drafts/current/.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   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.

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



Velvindron & Baushke     Expires March 25, 2018                 [Page 1]

Internet-Draft      Recommended minimum modulus size      September 2017


   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.

1.  Introduction

   [RFC4419] specifies a recommended minimum size of 1024 bits for k,
   which is the modulus length of the DH Group.  It also suggests that
   in all cases, the size of the group needs be at least 1024 bits.
   This document updates [RFC4419] so that the minimum recommended size
   be 2048 bits.  This recommendation is based on recent research
   [LOGJAM] on DH Group weaknesses.

1.1.  Requirements Language

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
   document are to be interpreted as described in RFC 2119 [RFC2119].

2.  2048 bits DH Group

   Recent research [LOGJAM] strongly suggests that DH groups that are
   1024 bits can be broken by state actors, and possibly any
   organization with enough computing resources.  The authors show how
   they are able to break 768 bits DH group and extrapolate the attack
   to 1024 bits DH groups.  In their analysis, they show that breaking
   1024 bits can be done with enough computing resources.  This document
   provides the following recommendation: SSH Servers and SSH clients
   SHOULD support groups with a modulus length of k bits where 2048 <= k
   <= 8192, where it is possible to set k to 3072 should the need arise
   in the coming years.

   [RFC4419] specifies a recommended minimum size of 1024 bits for k,
   which is the modulus length of the DH Group.  It also suggests that
   in all cases, the size of the group needs be at least 1024 bits.
   This document updates [RFC4419] as described below:

   o  section 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. k SHOULD be able to be set to 3072 by an
      implementation should the need arise in the coming years.






Velvindron & Baushke     Expires March 25, 2018                 [Page 2]

Internet-Draft      Recommended minimum modulus size      September 2017


   o  Section 3 Paragraph 11: In all cases, the size of the group SHOULD
      be at least 2048 bits, with the possibility to be set to 3072 bits
      should the need arise in the coming years.

3.  Interoperability

   This document keeps the [RFC4419] requirement "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 it
   knows." and updates the sentence that follows to read: "In all cases,
   the size of the returned group SHOULD be at least 2048 bits."

4.  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 Shell server
   implementation could potentially use Backdoored Diffie-Hellman primes
   using the methods described in [Backdoor-DH] to provide the g,p
   values to be used.  Or, they 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 making multiple
   connections which are less 2048 bits in size on purpose.  Therefore,
   Operating Systems SHOULD NOT log DH groups less than 2048 bits in
   size, as it would create an additional attack surface.

5.  IANA Considerations

   This document contains no considerations for IANA.

6.  References

6.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>.






Velvindron & Baushke     Expires March 25, 2018                 [Page 3]

Internet-Draft      Recommended minimum modulus size      September 2017


6.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, 2015,
              <https://weakdh.org/imperfect-forward-secrecy-ccs15.pdf>.

Authors' Addresses

   Loganaden Velvindron
   Hackers.mu
   88, Avenue De Plevitz
   Roches Brunes
   MU

   Phone: +230 59762817
   Email: logan@hackers.mu


   Mark D. Baushke
   Juniper Networks, Inc.

   Email: mdb@juniper.net



















Velvindron & Baushke     Expires March 25, 2018                 [Page 4]