Key Exchange (KEX) Method Updates and Recommendations for Secure Shell (SSH)

The information below is for an old version of the document
Document Type Active Internet-Draft (curdle WG)
Author Mark Baushke 
Last updated 2016-09-07
Replaces draft-baushke-ssh-dh-group-sha2
Stream IETF
Intended RFC status (None)
Formats pdf htmlized (tools) htmlized bibtex
Stream WG state WG Document
Document shepherd No shepherd assigned
IESG IESG state I-D Exists
Consensus Boilerplate Unknown
Telechat date
Responsible AD (None)
Send notices to (None)
Internet Engineering Task Force                               M. Baushke
Internet-Draft                                    Juniper Networks, Inc.
Updates: 4253, 4419, 4432, 4462, 5656                  September 7, 2016
         (if approved)
Intended status: Standards Track
Expires: March 11, 2017

 Key Exchange (KEX) Method Updates and Recommendations for Secure Shell


   This document adds recommendations for adoption of ssh-curves from
   the [I-D.ietf-curdle-ssh-curves], adds some new Modular Exponential
   (MODP) Groups, and deprecates some previously specified Key Exchange
   Method algorithm names for the Secure Shell (SSH) protocol.  It also
   updates [RFC4253], [RFC4419], [RFC4462], and [RFC5656] by specifying
   the set key exchange algorithms that currently exist and which ones
   MUST, SHOULD, MAY, and SHOULD NOT be implemented.  New key exchange
   methods use the SHA-2 family of hashes.

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

   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 11, 2017.

Copyright Notice

   Copyright (c) 2016 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
   ( in effect on the date of

Baushke                  Expires March 11, 2017                 [Page 1]
Internet-Draft KEX Method Updates/Recommendations for SSH September 2016

   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.  Overview and Rationale

   Secure Shell (SSH) is a common protocol for secure communication on
   the Internet.  In [RFC4253], SSH originally defined the Key Exchange
   Method Name diffie-hellman-group1-sha1 which used [RFC2409] Oakley
   Group 1 (a 768-bit MODP group) and SHA-1 [RFC3174].  Due to recent
   security concerns with SHA-1 [RFC6194] and with MODP groups with less
   than 2048 bits [NIST-SP-800-131Ar1] implementer and users request
   support for larger MODP group sizes with data integrity verification
   using the SHA-2 family of secure hash algorithms as well as MODP
   groups providing more security.

   The United States Information Assurance Directorate (IAD) at the
   National Security Agency (NSA) has published a FAQ
   [MFQ-U-OO-815099-15] suggesting that the use of Elliptic Curve
   Diffie-Hellman (ECDH) using the nistp256 curve and SHA-2 based hashes
   less than SHA2-384 are no longer sufficient for transport of Top
   Secret information.  It is for this reason that this draft moves
   ecdh-sha2-nistp256 from a REQUIRED to OPTIONAL as a key exchange
   method.  This is the same reason that the stronger MODP groups being
   introduced are using SHA2-512 as the hash algorithm.  Group14 is
   already present in most SSH implementations and most implementations
   already have a SHA2-256 implementation, so diffie-hellman-
   group14-sha256 is provided as an easy to implement and faster to use
   key exchange.  Small embedded applications may find this KEX
   desirable to use.

   The NSA Information Assurance Directorate (IAD) has also published
   the Commercial National Security Algorithm Suite (CNSA Suite)
   [CNSA-SUITE] in which the 3072-bit MODP Group 15 in RFC 3526 is
   explicitly mentioned as the minimum modulus to protect Top Secret

   It has been observed in [safe-curves] that the NIST recommended
   Elliptic Curve Prime Curves (P-256, P-384, and P-521) are perhaps not
   the best available for Elliptic Curve Cryptography (ECC) Security.
   For this reason, none of the [RFC5656] curves are marked as a MUST
   implement.  However, the requirement that "every compliant SSH ECC
   implementation MUST implement ECDH key exchange" is now taken to mean
   that if ecdsa-sha2-[identifier] is implemented, then ecdh-
   sha2-[identifier] MUST be implemented.

Baushke                  Expires March 11, 2017                 [Page 2]
Show full document text