Re: [TLS] Triple Handshake Fix.

Geoffrey Keating <geoffk@geoffk.org> Tue, 29 April 2014 23:16 UTC

Return-Path: <geoffk@geoffk.org>
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 69CE21A09F5 for <tls@ietfa.amsl.com>; Tue, 29 Apr 2014 16:16:35 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.902
X-Spam-Level:
X-Spam-Status: No, score=-1.902 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, 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 baOvCH_qEuh8 for <tls@ietfa.amsl.com>; Tue, 29 Apr 2014 16:16:31 -0700 (PDT)
Received: from dragaera.releasedominatrix.com (dragaera.releasedominatrix.com [216.129.105.14]) by ietfa.amsl.com (Postfix) with ESMTP id 19B8B1A09F3 for <tls@ietf.org>; Tue, 29 Apr 2014 16:16:31 -0700 (PDT)
Received: by dragaera.releasedominatrix.com (Postfix, from userid 501) id BF85633CF8A; Tue, 29 Apr 2014 22:49:21 +0000 (UTC)
Sender: geoffk@localhost.localdomain
To: Adam Langley <agl@google.com>
References: <CAL9PXLyGjM0R-NRdqzbfKWOvbLjT+mwE9uT0BQTpiFt5p27ATQ@mail.gmail.com>
From: Geoffrey Keating <geoffk@geoffk.org>
Date: Tue, 29 Apr 2014 15:49:21 -0700
In-Reply-To: <CAL9PXLyGjM0R-NRdqzbfKWOvbLjT+mwE9uT0BQTpiFt5p27ATQ@mail.gmail.com>
Message-ID: <m2lhunwy32.fsf@localhost.localdomain>
Lines: 33
User-Agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.4
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Archived-At: http://mailarchive.ietf.org/arch/msg/tls/pYB9iJqZ0W9CvaciY_Q1WUBVZvA
Cc: "tls@ietf.org" <tls@ietf.org>
Subject: Re: [TLS] Triple Handshake Fix.
X-BeenThere: tls@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
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: Tue, 29 Apr 2014 23:16:35 -0000

Adam Langley <agl@google.com> writes:

> [2] https://secure-resumption.com/draft-bhargavan-tls-session-hash-00.txt

I read this and couldn't work out how it interacted with
renegotiation.  I'm surprised there's no discussion of renegotiation
at all in section 3.  Does 'handshake_messages' include:

a) Only the first handshake; or

b) Only the last handshake; or

c) All messages from all handshakes, up to the Client Key Exchange
message in each handshake; or

d) All messages from all handshakes, up to the Client Key Exchange
message in the last handshake, up to the Finished message in previous
handshakes, including any HelloRequest messages; or

e) Like d but without HelloRequest messages; or

f) Other?

I'm fairly sure a and b lead to security vulnerabilities.  I'm not
sure whether c does so or not.

d and e present some challenges for implementations with TLS 1.2,
because you could renegotiate to a different hash algorithm, so you
need to keep the contents of the handshake(s), or all possible partial
hashes, for the duration of the connection.

I also note that the draft leaves out the (last?) 'certificate verify'
message, is that intentional?  Are there any security consequences?