Re: [TLS] proposal to encrypt ContentType for TLS 1.3

mrex@sap.com (Martin Rex) Mon, 14 July 2014 14:13 UTC

Return-Path: <mrex@sap.com>
X-Original-To: tls@ietfa.amsl.com
Delivered-To: tls@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 9E6BF1A049C for <tls@ietfa.amsl.com>; Mon, 14 Jul 2014 07:13:06 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.552
X-Spam-Level:
X-Spam-Status: No, score=-6.552 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HELO_EQ_DE=0.35, RCVD_IN_DNSWL_HI=-5, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001] autolearn=ham
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id V8GftaMoIV5E for <tls@ietfa.amsl.com>; Mon, 14 Jul 2014 07:13:04 -0700 (PDT)
Received: from smtpde02.sap-ag.de (smtpde02.smtp.sap-ag.de [155.56.68.140]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 61F061A04A1 for <tls@ietf.org>; Mon, 14 Jul 2014 07:13:02 -0700 (PDT)
Received: from mail05.wdf.sap.corp by smtpde02.sap-ag.de (26) with ESMTP id s6EECvKM001363 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Mon, 14 Jul 2014 16:12:57 +0200 (MEST)
In-Reply-To: <53C2B705.10209@fifthhorseman.net>
To: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
Date: Mon, 14 Jul 2014 16:12:57 +0200 (CEST)
X-Mailer: ELM [version 2.4ME+ PL125 (25)]
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="US-ASCII"
Message-Id: <20140714141257.9C2441ADA7@ld9781.wdf.sap.corp>
From: mrex@sap.com (Martin Rex)
X-SAP: out
Archived-At: http://mailarchive.ietf.org/arch/msg/tls/tAHsbzjvqShrIXhR3CmXSUbOJ-M
Cc: IETF TLS WG <tls@ietf.org>
Subject: Re: [TLS] proposal to encrypt ContentType for TLS 1.3
X-BeenThere: tls@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
Reply-To: mrex@sap.com
List-Id: "This is the mailing list for the Transport Layer Security working group of the IETF." <tls.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/tls>, <mailto:tls-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/tls/>
List-Post: <mailto:tls@ietf.org>
List-Help: <mailto:tls-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/tls>, <mailto:tls-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 14 Jul 2014 14:13:06 -0000

Daniel Kahn Gillmor wrote:
> 
> cleartext traffic or the NULL cipher is also helpful for debugging, but
> that doesn't mean we should leak it in the TLS protocol.  The code
> complexity involved for the endpoints requires no extra state (TLS
> engines already know whether they're in NULL_WITH_NULL_NULL or not), and
> a small change to the way the packets are handled in either case.

A TLS records contents and handshake message parser does *NOT* need to know
or care which TLS cipher suite is currently used at the record layer,
only the record layer needs to know that.


> 
> It hides TLS alerts from an observer, for one.
>    [...]
> an encrypted content-type will obscure that activity from a network observer.

As you write yourself, this isn't hiding, but merely obscuring.


GSS-API doesn't have or use any such obscuring.  Does IPsec
have anything like this (or need it, or miss it)?


> 
> Above you called the engine you were using a "network i/o state machine"
> -- if the machinery actually has state, it should still be able to parse
> the length of each record, and can keep track of whether a CCS has been
> seen or not, so it should be able to continue parsing each record as it
> comes in.
> 
> The fact that network-facing code won't know with certainty when a
> handshake completes and when application data starts flowing seems like
> a feature, not a bug, if we want to protect the communication.


I definitely see it as a feature.  The bug here would be an unnecessary
difference to existing TLS protocol versions.

For a TLS implementation with blocking network I/O and API semantics
it doesn't really matter whether the handshake can be recognized on
the wire.  For non-blocking APIs, where network I/O is seperated from
the TLS protocol implementation, the difference would be significant
and needlessly complex.

Drop-in replacement of only the TLS stack will be impossible.


-Martin