Re: [TLS] Collisions (Re: Nico's suggestions - Re: Consensus Call:

Nicolas Williams <Nicolas.Williams@oracle.com> Tue, 11 May 2010 17:02 UTC

Return-Path: <Nicolas.Williams@oracle.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 21E5C3A691E for <tls@core3.amsl.com>; Tue, 11 May 2010 10:02:30 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.05
X-Spam-Level:
X-Spam-Status: No, score=-4.05 tagged_above=-999 required=5 tests=[AWL=0.689, BAYES_20=-0.74, RCVD_IN_DNSWL_MED=-4, UNPARSEABLE_RELAY=0.001]
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 Vn6t-epi4MrB for <tls@core3.amsl.com>; Tue, 11 May 2010 10:02:29 -0700 (PDT)
Received: from rcsinet10.oracle.com (rcsinet10.oracle.com [148.87.113.121]) by core3.amsl.com (Postfix) with ESMTP id 0E1883A6920 for <tls@ietf.org>; Tue, 11 May 2010 10:02:29 -0700 (PDT)
Received: from acsinet15.oracle.com (acsinet15.oracle.com [141.146.126.227]) by rcsinet10.oracle.com (Switch-3.4.2/Switch-3.4.1) with ESMTP id o4BH2BoT022857 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Tue, 11 May 2010 17:02:13 GMT
Received: from acsmt355.oracle.com (acsmt355.oracle.com [141.146.40.155]) by acsinet15.oracle.com (Switch-3.4.2/Switch-3.4.1) with ESMTP id o4BCuaqJ030975; Tue, 11 May 2010 17:02:10 GMT
Received: from abhmt017.oracle.com by acsmt354.oracle.com with ESMTP id 232138941273597319; Tue, 11 May 2010 10:01:59 -0700
Received: from oracle.com (/129.153.128.104) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Tue, 11 May 2010 10:01:58 -0700
Date: Tue, 11 May 2010 12:01:52 -0500
From: Nicolas Williams <Nicolas.Williams@oracle.com>
To: Martin Rex <mrex@sap.com>
Message-ID: <20100511170151.GM9429@oracle.com>
References: <20100511152153.GF9429@oracle.com> <201005111640.o4BGeqFZ020630@fs4113.wdf.sap.corp>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <201005111640.o4BGeqFZ020630@fs4113.wdf.sap.corp>
User-Agent: Mutt/1.5.20 (2010-03-02)
X-Auth-Type: Internal IP
X-Source-IP: acsinet15.oracle.com [141.146.126.227]
X-CT-RefId: str=0001.0A090205.4BE98D97.00BA:SCFMA922111,ss=1,fgs=0
Cc: paul.hoffman@vpnc.org, tls@ietf.org
Subject: Re: [TLS] Collisions (Re: Nico's suggestions - Re: Consensus Call:
X-BeenThere: tls@ietf.org
X-Mailman-Version: 2.1.9
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/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: Tue, 11 May 2010 17:02:30 -0000

On Tue, May 11, 2010 at 06:40:52PM +0200, Martin Rex wrote:
> Nicolas Williams wrote:
> > I don't see how to recover from collisions, transparently to apps,
> > without either adding round-trips, which is supposed to be a big no-no,
> > or making handshakes retriable (I'm assuming they aren't).
> 
> A theoretical possibility would be some kind of "epoch" counter by
> the server (or more general "peer", when caching is later extended
> to apply to client-side handshake data as well).  The server would
> have to bump that counter whenever it knows (or can not rule out)
> that the cachable data has changed.

That only helps when colliding objects all come from the same server.

> > > It normally requires closure of the existing connection and opening
> > > of a new connection because it is completely unspecified how to
> > > recover from a TLS handshake failure on a connection (and how to
> > > clear the network pipe from unprocessed data from the previous handshake).
> > 
> > It's easy to clear the "pipe" since the records have lengths.
> 
> There is *NO* guarantee that there are _only_ valid and complete TLS records
> left in the pipe.

Yeah, TLS handshakes are just not retriable.  You could have an
extension that makes them retriable, but if the TLS-GSS extension
foundered on state machine issues resulting from adding round-trips,
then so would an extension that makes handshakes retriable.

Nico
--