Re: [TLS] Summarizing identity change discussion so far

Martin Rex <mrex@sap.com> Wed, 09 December 2009 00:03 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 73A763A69BF for <tls@core3.amsl.com>; Tue, 8 Dec 2009 16:03:16 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.192
X-Spam-Level:
X-Spam-Status: No, score=-6.192 tagged_above=-999 required=5 tests=[AWL=0.057, 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 SuPWODA4GXjf for <tls@core3.amsl.com>; Tue, 8 Dec 2009 16:03:15 -0800 (PST)
Received: from smtpde03.sap-ag.de (smtpde03.sap-ag.de [155.56.68.140]) by core3.amsl.com (Postfix) with ESMTP id 12A603A69B6 for <tls@ietf.org>; Tue, 8 Dec 2009 16:03:14 -0800 (PST)
Received: from mail.sap.corp by smtpde03.sap-ag.de (26) with ESMTP id nB9030A9009907 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Wed, 9 Dec 2009 01:03:00 +0100 (MET)
From: Martin Rex <mrex@sap.com>
Message-Id: <200912090002.nB902xlh019273@fs4113.wdf.sap.corp>
To: marsh@extendedsubset.com
Date: Wed, 09 Dec 2009 01:02:59 +0100
In-Reply-To: <4B1EE0BD.7020403@extendedsubset.com> from "Marsh Ray" at Dec 8, 9 05:26:53 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] Summarizing identity change discussion so far
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: Wed, 09 Dec 2009 00:03:16 -0000

Marsh Ray wrote:
> 
> Martin Rex wrote:
> > 
> > The secure TLS renegotiation _ONLY_  assures that the TLS endpoint
> > can not be tranferred among different peers without their _consent_
> > during renegotiation.  An MitM attacker is someone acting without consent.
> 
> "Consent" isn't relevant, unless you're suggesting there are systems
> intentionally handing out secret key material.

It is very relevant.  Consenting communication peers can very
well pass around TLS endpoints without the third communication party
realizing that.

Wait a minute -- the finished messages are _NOT_ secrets for the
communication peers, and they are _NOT_ keying material.
The MitM attacker knows perfectly well which Finished messages
would be necessary to make a secure renegotiation work -- but
he can not coerce unsuspecting TLS peers to uses these finished
messages in the fashion that would be required to make a successful
TLS handshake and deceive the third communication peer.

The finished messages are "secure and unique session identifiers",
and something that Nico wants to get his hands on for channel bindings.


> 
> After this fix, the TLS concept of "remote party identity" becomes
> maximally "the identity established by the union of all valid and
> correct credentials validated during the establishment of a connection
> state on this connection, and transitively to all connections sharing at
> least one master_secret".
> 
> For example, given the basic assumptions about the remote endpoint (it
> isn't pwned), you can believe all those credentials came from the same
> web browser.

You do not know where that TLS endpoint is.  What you do know is
that with the secure TLS renegotiation, the TLS endpoint may no
longer be transfered to unsuspecting communication peers.


> 
> > TLS peers should check the peer's ID before they start sending
> > or receiving any data over the newly established TLS session.
> 
> For current (pre-fix) https servers, the client's Finished message can
> be the most important thing it sends.

You mean for the old TLS renegotiation when using client certificates?

Yes, I believe so.


> 
> > Apps protocols that infer from a successful TLS handshake that
> > previously received plaintext data is authenticated suffer from
> > a serious apps-level design flaw.
> >
> > Abusing GSS-API or TLS as an OTP plaintext authentication scheme
> > is IMHO a severe APPS design flaw.  The ability to complete a
> > TLS handshake (or to establish a gssapi security context)
> > does not, by itself, convey any kind of intent.
> 
> It's up to the app layer to define 'intent' the events exposed by the
> API, based on the stated and implied guarantees of the protocol spec.
> 
> > Apps that infer intent from this, should really rethink their
> > flawed architecture.
> 
> No, the design flaw was in SSLv3. It regressed on a fundamental security
> guarantee of SSLv2 and no one (including the spec writers) realized it
> at the time.

This comment was _not_ about TLS renegotiation.

I was refering to concepts such as the HTTP-Negotiate authentication,
which abuses GSS-API as a plaintext OTP-authentication scheme.


-Martin