Re: [TLS] What would make TLS cryptographically better for TLS 1.3

Yoav Nir <> Sun, 03 November 2013 19:18 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id C87BF21E80FD for <>; Sun, 3 Nov 2013 11:18:31 -0800 (PST)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -10.497
X-Spam-Status: No, score=-10.497 tagged_above=-999 required=5 tests=[AWL=0.102, BAYES_00=-2.599, RCVD_IN_DNSWL_HI=-8]
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id sNwL10lZCTcE for <>; Sun, 3 Nov 2013 11:18:25 -0800 (PST)
Received: from ( []) by (Postfix) with ESMTP id 71E3021E80F8 for <>; Sun, 3 Nov 2013 11:18:17 -0800 (PST)
Received: from ([]) by (8.13.8/8.13.8) with ESMTP id rA3JI9JN026998; Sun, 3 Nov 2013 21:18:09 +0200
X-CheckPoint: {5276A02A-0-1B221DC2-1FFFF}
Received: from ([]) by ([]) with mapi id 14.03.0123.003; Sun, 3 Nov 2013 21:18:09 +0200
From: Yoav Nir <>
To: Ralf Skyper Kaiser <>
Thread-Topic: [TLS] What would make TLS cryptographically better for TLS 1.3
Thread-Index: AQHO1ngUoMjfWHp8eUeJG+rmdHIlV5oPTiyAgAFPL4CAAwGAAIAAJYkA
Date: Sun, 3 Nov 2013 19:18:08 +0000
Message-ID: <>
References: <> <> <> <>
In-Reply-To: <>
Accept-Language: en-US
Content-Language: en-US
x-originating-ip: []
x-kse-antivirus-interceptor-info: scan successful
x-kse-antivirus-info: Clean
Content-Type: text/plain; charset="Windows-1252"
Content-ID: <>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Cc: "" <>
Subject: Re: [TLS] What would make TLS cryptographically better for TLS 1.3
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: "This is the mailing list for the Transport Layer Security working group of the IETF." <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Sun, 03 Nov 2013 19:18:41 -0000
X-List-Received-Date: Sun, 03 Nov 2013 19:18:41 -0000

On Nov 3, 2013, at 9:03 AM, Ralf Skyper Kaiser <> wrote:

> Hi,
> avoid renegotiation. It serves no purpose and only adds complexity. It is so much more secure to kill and re-establish the TLS if the counters run out instead of renegotiating.

Hi, Ralf

The one use of renegotiation that I'm aware of, is for overcoming a UI issue in browsers. If you do a TLS handshake with mutual authentication (so the server sends a CertReq), the browser pops up a dialog box with all the certificates you might have. Website designers with to avoid that, especially on the welcome screen, so the web server does not send a CertReq. Instead, they present a welcome screen with a button or link that says "Login with certificates" Clicking that performs a regular SSL handshake (or does nothing at all if the connection is already established), but when the request comes in ("GET /login_with_certs HTTP/1.1"), the web server sends a HELLO_REQUEST, and in the resulting handshake it sends the CertReq, so the pop-up appears when the user *is* expecting it.

I totally agree that renegotiation for rekeying is useless for people who are not doing DES-CBC and 3DES-CBC. It's even superfluous for them in most cases (you're pretty save doing 500,000,000 blocks, and that's 4 GB in 3DES. How many sites do you browse with 4 GB?  Maybe downloading stuff…)  

But before we can drop renegotiation from the standards, or recommend that implementors don't implement it, we need an alternate mechanism to upgrade from server-authenticated to mutually-authenticated within the same session. That is a real market need. How about allowing a CertReq sent from the server to the client in the middle of a connection, followed by the client sending a Certificate and Certificate Verify. For simplicity, we could always do that after the Finished, so that it's always Server-authenticated session when the Finished is sent.