<?xml version="1.0" encoding="US-ASCII"?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
<!ENTITY RFC2119 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml">
<!ENTITY RFC2629 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2629.xml">
<!ENTITY RFC3174 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.3174.xml">
<!ENTITY RFC3526 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.3526.xml">
<!ENTITY RFC3766 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.3766.xml">
<!ENTITY RFC4253 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.4253.xml">
<!ENTITY RFC4462 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.4462.xml">
<!ENTITY RFC6194 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.6194.xml">
]>
<?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>
<?rfc strict="yes" ?>
<?rfc toc="no"?>
<?rfc tocdepth="4"?>
<?rfc symrefs="yes"?>
<?rfc sortrefs="yes" ?>
<?rfc compact="yes" ?>
<?rfc subcompact="no" ?>
<rfc category="std"
     docName="draft-ietf-curdle-ssh-modp-dh-sha2-00"
     updates="4253, 4432, 4462"
     ipr="trust200902">
 <front>
   <!-- The abbreviated title is used in the page header - it is only necessary if the
        full title is longer than 39 characters -->

   <title abbrev="More MODP DH KEX Groups for SSH">More Modular
   Exponential (MODP) Diffie-Hellman (DH) Key Exchange (KEX) Groups
   for Secure Shell (SSH)</title>
    <author initials="M. D." surname="Baushke" fullname="Mark D.
    Baushke">
      <organization>Juniper Networks, Inc.</organization>
      <address>
        <postal>
          <street>1133 Innovation Way</street>
          <city>Sunnyvale</city>
          <region>CA</region>
          <code>94089-1228</code>
          <country>US</country>
        </postal>
        <phone>+1 408 745 2952</phone>
        <email>mdb@juniper.net</email>
        <uri>http://www.juniper.net/</uri>
      </address>
    </author>
   <date year="2016" />

   <workgroup>Internet Engineering Task Force</workgroup>
   <abstract>
     <t>This document defines added Modular Exponential (MODP)
     Groups for the Secure Shell (SSH) protocol using SHA-2
     hashes.</t>
   </abstract>
 </front>

 <middle>
   <section title="Overview and Rationale">

     <t>Secure Shell (SSH) is a common protocol for secure
     communication on the Internet. Due to recent security concerns
     with SHA-1 <xref target="RFC6194"/> and with MODP groups with
     less than 2048 bits <xref target="NIST-SP-800-131Ar1"/>
     implementer and users request support for larger Diffie Hellman
     (DH) MODP group sizes with data integrity verification using the
     SHA-2 family of secure hash algorithms as well as MODP groups
     providing more security.</t>

     <t>The United States Information Assurance Directorate at the
     National Security Agency has published a FAQ <xref
     target="MFQ-U-OO-815099-15"/> suggesting both: a) DH groups using
     less than 3072-bits, and b) the use of SHA-2 based hashes less
     than SHA2-384, are no longer sufficient for transport of Top
     Secret information. For this reason, the new MODP groups are being
     introduced starting with the MODP 3072-bit group 15 are all using
     SHA2-512 as the hash algorithm.</t>

     <t>The DH 2048-bit MODP group 14 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 for small
     embedded applications.</t>

     <t>In <xref target="RFC4462"/>, there is another method for
     providing DH key exchange with MODP Groups using "Generic
     Security Service Application Program Interface (GSS-API)". This
     RFC extends the "gss-*" MODP DH groups and provides for using
     SHA-2 based hashes for them as well.</t>

     <t>Please send comments on this draft to ietf-ssh@NetBSD.org and
     ietf-curdle@ietf.org.</t>
   </section>

   <section title="Requirements Language">
     <t>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 <xref
     target="RFC2119"/>.</t>
   </section>

   <section title="Key Exchange Algorithms">
     <t>This memo adopts the style and conventions of
     <xref target="RFC4253"/> in specifying how the use of new
     data key exchange is indicated in SSH.
     </t>
     <figure anchor="figure.algs">
       <preamble>The following new key exchange algorithms are
       defined:</preamble>
       <artwork>
Key Exchange Method Name
diffie-hellman-group14-sha256
diffie-hellman-group15-sha512
diffie-hellman-group16-sha512
diffie-hellman-group17-sha512
diffie-hellman-group18-sha512
gss-group14-sha256-*
gss-group15-sha512-*
gss-group16-sha512-*
gss-group17-sha512-*
gss-group18-sha512-*
       </artwork>
     </figure>
     <t>The SHA-2 family of secure hash algorithms are defined in
     <xref target="FIPS-180-4"/>.</t>
     <t>The method of key exchange used for the name
     "diffie-hellman-group14-sha256" is the same as that for
     "diffie-hellman-group14-sha1" except that the SHA2-256 hash
     algorithm is used.</t>
     <t>The method of key exchange used for the name
     "gss-group14-sha256-*" is the same as that for
     "gss-group14-sha1-*" except that the SHA2-256 hash algorithm is
     used.</t>
     <t>The group15 through group18 names are the same as those
     specified in <xref target="RFC3526"/> 3071-bit MODP Group 15,
     4096-bit MODP Group 16, 6144-bit MODP Group 17, and 8192-bit MODP
     Group 18.</t>
     <t>The SHA2-512 algorithm is to be used when "sha512" is
     specified as a part of the key exchange method name.</t>
   </section>

   <section title="IANA Considerations">
     <t>This document augments the Key Exchange Method Names in <xref
     target="RFC4253"/>.</t>
     <figure anchor="figure.iana">
       <preamble>IANA is requested to update the SSH
       algorithm registry with the following entries:</preamble>
       <artwork>
Key Exchange Method Name              Reference     Note
diffie-hellman-group14-sha256         This Draft    MAY
diffie-hellman-group15-sha512         This Draft    MAY
diffie-hellman-group16-sha512         This Draft    MAY
diffie-hellman-group17-sha512         This Draft    MAY
diffie-hellman-group18-sha512         This Draft    MAY
gss-group14-sha256-*                  This Draft    MAY
gss-group15-sha512-*                  This Draft    MAY
gss-group16-sha512-*                  This Draft    MAY
gss-group17-sha512-*                  This Draft    MAY
gss-group18-sha512-*                  This Draft    MAY
       </artwork>
     </figure>
     <t>The Note in the above table is not an implementation
     suggestion/recommendation for the listed key exchange method. It
     is up to the end-user as to what algorithms they choose to be
     able to negotiate. This RFC is intended to provide IANA defined
     names for these groups for interoperability.</t>
   </section>

   <section title="Security Considerations">
     <t>The security considerations of <xref target="RFC4253"/> apply
     to this document.</t>
     <t>The security considerations of <xref target="RFC3526"/>
     suggest that these MODP groups have security strengths given in
     this table. They are based on <xref target="RFC3766"/>
     Determining Strengths For Public Keys Used For Exchanging
     Symmetric Keys.</t>
     <figure anchor="figure.strength">
       <preamble>Group modulus security strength estimates (RFC3526)</preamble>
       <artwork>
+--------+----------+---------------------+---------------------+
| Group  | Modulus  | Strength Estimate 1 | Strength Estimate 2 |
|        |          +----------+----------+----------+----------+
|        |          |          | exponent |          | exponent |
|        |          | in bits  | size     | in bits  | size     |
+--------+----------+----------+----------+----------+----------+
|  14    | 2048-bit |      110 |     220- |      160 |     320- |
|  15    | 3072-bit |      130 |     260- |      210 |     420- |
|  16    | 4096-bit |      150 |     300- |      240 |     480- |
|  17    | 6144-bit |      170 |     340- |      270 |     540- |
|  18    | 8192-bit |      190 |     380- |      310 |     620- |
+--------+----------+---------------------+---------------------+
       </artwork>
     </figure>
     <t>Many users seem to be interested in the perceived safety of
     using larger MODP groups and hashing with SHA2-based algorithms.</t>
   </section>

 </middle>

 <back>

   <references title="Normative References">
     &RFC2119;

     &RFC3526;

     &RFC4253;

     <reference
         anchor="FIPS-180-4"
         target="http://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.180-4.pdf">
       <front>
         <title>Secure Hash Standard (SHS)</title>
         <author>
           <organization>National Institute of Standards and Technology
           </organization>
         </author>
         <date month="August" year="2015"/>
       </front>
       <seriesInfo name="FIPS PUB" value="180-4"/>
     </reference>

   </references>

   <references title="Informative References">
     <!-- Here we use entities that we defined at the beginning. -->

     &RFC3766;

     &RFC4462;

     &RFC6194;

     <reference
         anchor="NIST-SP-800-131Ar1"
         target="http://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-131Ar1.pdf">
       <front>
         <title>Transitions: Recommendation for the Transitioning of
         the Use of Cryptographic Algorithms and Key Lengths</title>
         <author surname="Barker" fullname="Elaine Barker"/>
         <author surname="Roginsky" fullname="Allen Roginsky"/>
         <date month="November" year="2015"/>
       </front>
       <seriesInfo
           name="NIST Special Publication" value="800-131A Revision 1"/>
     </reference>

     <reference
         anchor="MFQ-U-OO-815099-15"
         target="https://www.iad.gov/iad/library/ia-guidance/ia-solutions-for-classified/algorithm-guidance/cnsa-suite-and-quantum-computing-faq.cfm">
       <front>
         <title>CNSA Suite and Quantum Computing FAQ</title>
         <author fullname="NSA/CSS">
           <organization abbrev="NSA/CSS">"National Security Agency/Central Security Service"</organization>
         </author>
         <date month="January" year="2016"/>
       </front>
     </reference>

   </references>

   <!-- Change Log

v00 2016-09-11  MDB   Initial version forked from
                       draft-ietf-curdle-ssh-kex-sha2
   -->
 </back>
</rfc>
