Re: [TLS] assert TLSext in renego-ServerHello instead of disable

Martin Rex <mrex@sap.com> Mon, 09 November 2009 21:18 UTC

Return-Path: <mrex@sap.com>
X-Original-To: tls@core3.amsl.com
Delivered-To: tls@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id A0AAC28C253 for <tls@core3.amsl.com>; Mon, 9 Nov 2009 13:18:57 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.157
X-Spam-Level:
X-Spam-Status: No, score=-6.157 tagged_above=-999 required=5 tests=[AWL=0.092, BAYES_00=-2.599, HELO_EQ_DE=0.35, RCVD_IN_DNSWL_MED=-4]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id pT6jqJuQ+9BZ for <tls@core3.amsl.com>; Mon, 9 Nov 2009 13:18:56 -0800 (PST)
Received: from smtpde03.sap-ag.de (smtpde03.sap-ag.de [155.56.68.140]) by core3.amsl.com (Postfix) with ESMTP id 8CC8928C1CF for <tls@ietf.org>; Mon, 9 Nov 2009 13:18:56 -0800 (PST)
Received: from mail.sap.corp by smtpde03.sap-ag.de (26) with ESMTP id nA9LJKAs000264 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Mon, 9 Nov 2009 22:19:21 +0100 (MET)
From: Martin Rex <mrex@sap.com>
Message-Id: <200911092119.nA9LJJe9029054@fs4113.wdf.sap.corp>
To: mrex@sap.com
Date: Mon, 09 Nov 2009 22:19:19 +0100
In-Reply-To: <200911092059.nA9Kx794027998@fs4113.wdf.sap.corp> from "Martin Rex" at Nov 9, 9 09:59:07 pm
MIME-Version: 1.0
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: 8bit
X-Scanner: Virus Scanner virwal05
X-SAP: out
Cc: tls@ietf.org
Subject: Re: [TLS] assert TLSext in renego-ServerHello instead of disable
X-BeenThere: tls@ietf.org
X-Mailman-Version: 2.1.9
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/listinfo/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, 09 Nov 2009 21:18:57 -0000

Martin Rex wrote:
> 
> Marsh Ray wrote:
> > 
> > Martin Rex wrote:
> > > Allowing
> > > server to assert this particular TLS extension in the ServerHello
> > > of a _renegotiation_handhshake_ without having received it in the
> > > ClientHello
> > 
> > What's going to check it?
> 
> The client will have to check it, of course -- or abort with
> a handshake failure.
> 
> It is not very nice to drop the entire responsibility on the client
> (which could be silently ignoring the server hello extension), I agree.
> Such a semantics would change an opt-in for secure renegotiation into
> an opt-out.
> 
> The underlying scenario, that we are looking at, is that the server
> is asking the client whether it takes responsibility for the contents
> of the previous session.

Thinking about it, it is probably too daring to interpret the
absence of an error as the confirmation of intent.

How about an alternative HelloRequest, a "SecureHelloRequest",
that signals to the client it is supposed to assert the
secure renegotiation TLS extension on the renego ClientHello
including the verify_data of the last client.finished
or the server will abort the handshake.

I'm wondering what a Server with an existing SSLv3 (0x03,0x00) session
can do if it wants either a secure renegotiation or abort.

Since SSLv3 does not define a "no_renegotiation" alert, a server that
sends a HelloRequest and the determination to abort on insecure
renegotiation could as well send a SecureHelloRequest in order
to "encourage" a client that is only configured to send SSLv3
ClientHellos for maximum connectivity (and no app-level fallback).

-Martin