Data Center use of Static Diffie-Hellman in TLS 1.3
draft-green-tls-static-dh-in-tls13-00

Document Type Active Internet-Draft (individual)
Last updated 2016-11-13
Stream (None)
Intended RFC status (None)
Formats plain text pdf html bibtex
Stream Stream state (No stream defined)
Consensus Boilerplate Unknown
RFC Editor Note (None)
IESG IESG state I-D Exists
Telechat date
Responsible AD (None)
Send notices to (None)
Network Working Group                                           M. Green
Internet-Draft                              Cryptography Engineering LLC
Intended status: Informational                          October 31, 2016
Expires: May 1, 2017

          Data Center use of Static Diffie-Hellman in TLS 1.3
                <draft-green-tls-static-dh-in-tls13-00>

Abstract

   Unlike earlier versions of TLS, current drafts of TLS 1.3 have
   instead adopted ephemeral-mode Diffie-Hellman and elliptic-curve
   Diffie-Hellman as the primary cryptographic key exchange mechanism
   used in TLS. This document describes an optional configuration for
   TLS servers that allows for the use of a static Diffie-Hellman secret
   for all TLS connections made to the server. Passive monitoring of TLS
   connections can be enabled by installing a corresponding copy of this
   key in each monitoring device.

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

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
   (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.  Introduction

   Unlike earlier versions of TLS, current drafts of TLS 1.3 [draft-
   ietf-tls-tls13-18] do not provide support for the RSA handshake --
   and have instead adopted ephemeral-mode Diffie-Hellman and elliptic-
   curve Diffie-Hellman as the primary cryptographic key exchange
   mechanism used in TLS.

   While ephemeral (EC) Diffie-Hellman is in nearly all ways an
   improvement over the TLS RSA handshake, it has a limitation in
   certain enterprise settings. Specifically, the use of ephemeral (PFS)
   ciphersuites is not compatible with enterprise network monitoring
   tools such as Intrusion Detection Systems (IDS) that must passively
   monitor intranet TLS connections made to endpoints under the
   enterprise's control. This includes TLS connections made from
   enterprise load balancers at the edge of the enterprise network to
   internal enterprise TLS servers. It does not include TLS connections
   traveling over the external Internet.

   Such monitoring is ubiquitous and indispensable in some industries,
   and loss of this capability may slow adoption of TLS 1.3.

   This document describes an optional configuration for TLS servers
   that allows for the use of a static Diffie-Hellman secret for all TLS
   connections made to the server. Passive monitoring of TLS connections
   can be enabled by installing a corresponding copy of this key in each
   monitoring device.

   An advantage of this proposal is that it can be implemented using
   software modifications to the TLS server only, without the need to
   make changes to TLS client implementations.

2.  Summary of the existing Diffie-Hellman handshake

   In TLS 1.3, servers exchange keys using two primary modes, Ephemeral
   Diffie-Hellman (DHE) and Elliptic Curve Ephemeral Diffie-Hellman
   (ECDHE). In a simplified view of the full handshake, the following
   steps occur:

      1. The client generates an ephemeral public and private key,
         and transmits the public key within a "key_share" message,
         along with a random nonce (ClientHello.random).
      2. The server generates an ephemeral public and private key,
         and transmits the public key within a "key_share" message,
         along with a random nonce (ServerHello.random).
      3. The two parties now calculate a shared (EC) Diffie-Hellman
         secret by combining the other party's ephemeral public key
         with their own ephemeral secret.
      4. A series of traffic and handshake keys is derived by
         combining this shared secret with various inputs from the
Show full document text