Key Exchange (KEX) Method Updates and Recommendations for Secure Shell (SSH)
Internet Engineering Task Force M. Baushke
Internet-Draft Juniper Networks, Inc.
Updates: 4253, 4419, 4432, 4462, 5656 September 20, 2016
Intended status: Standards Track
Expires: March 24, 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] and new-modp from the
[I-D.ietf-curdle-ssh-modp-dh-sha2], 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
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 http://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 24, 2017.
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
Baushke Expires March 24, 2017 [Page 1]
Internet-Draft KEX Method Updates/Recommendations for SSH September 2016
(http://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.
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 2 (a 1024-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
adopted. As the MODP 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-
Show full document text