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

Stefan Santesson <stefan@aaa-sec.com> Tue, 11 May 2010 16:11 UTC

Return-Path: <stefan@aaa-sec.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 6418B3A691B for <tls@core3.amsl.com>; Tue, 11 May 2010 09:11:42 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.545
X-Spam-Level:
X-Spam-Status: No, score=-0.545 tagged_above=-999 required=5 tests=[AWL=0.744, BAYES_00=-2.599, HELO_EQ_SE=0.35, RCVD_IN_BL_SPAMCOP_NET=1.96, RCVD_IN_DNSWL_LOW=-1]
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 rzQHaYalcUSk for <tls@core3.amsl.com>; Tue, 11 May 2010 09:11:41 -0700 (PDT)
Received: from s87.loopia.se (s87.loopia.se [194.9.94.112]) by core3.amsl.com (Postfix) with ESMTP id 28BF93A6936 for <tls@ietf.org>; Tue, 11 May 2010 09:11:40 -0700 (PDT)
Received: from s24.loopia.se (s34.loopia.se [194.9.94.70]) by s87.loopia.se (Postfix) with ESMTP id 31F9229CAE3 for <tls@ietf.org>; Tue, 11 May 2010 18:11:35 +0200 (CEST)
Received: (qmail 33422 invoked from network); 11 May 2010 16:11:28 -0000
Received: from 77-44-20-79.xdsl.business-dsl.co.uk (HELO [42.33.36.86]) (stefan@fiddler.nu@[77.44.20.79]) (envelope-sender <stefan@aaa-sec.com>) by s24.loopia.se (qmail-ldap-1.03) with DES-CBC3-SHA encrypted SMTP for <Nicolas.Williams@oracle.com>; 11 May 2010 16:11:28 -0000
User-Agent: Microsoft-Entourage/12.24.0.100205
Date: Tue, 11 May 2010 17:11:23 +0200
From: Stefan Santesson <stefan@aaa-sec.com>
To: Nicolas Williams <Nicolas.Williams@oracle.com>
Message-ID: <C80F403B.AB91%stefan@aaa-sec.com>
Thread-Topic: [TLS] Collisions (Re: Nico's suggestions - Re: Consensus Call:
Thread-Index: AcrxJJmBIuwspOogCUSLktQjT18WAQ==
In-Reply-To: <20100511155738.GJ9429@oracle.com>
Mime-version: 1.0
Content-type: text/plain; charset="US-ASCII"
Content-transfer-encoding: 7bit
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 16:11:42 -0000

On 10-05-11 5:57 PM, "Nicolas Williams" <Nicolas.Williams@oracle.com> wrote:

> On Tue, May 11, 2010 at 04:45:51PM +0200, Stefan Santesson wrote:
>> Wouldn't this be solved automatically if the cache is flushed upon failure?
> 
> Not really:
> 
> a) the failed handshake will be visible to the application
> (handshake_failure is a fatal error);
> 

Yes

> b) the failure will eventually happen again (since the user will most
> likely want to talk to the same servers whose objects' checksums
> collided.
> 

Yes, and with the cash for that server flushed, the client will be bound to
retry without caching (since it has no data cached anymore).

The client will then (typically) update it's cache on the next successful
handshake and problem should be fixed.

/Stefan

> I think you'll want to say that the cache must not be flushed, but
> rather that objects with colliding checksums must be flagged as such so
> that they are never used again via this extension.
> 
> Again, I expect this will not often be a problem, but when and if it is
> then this problem might be difficult to diagnose and re-occur too often.
> 
> I think this argues for a cryptographic hash.  Collisions are not a
> security problem here, but they are an operational problem.  IMO this
> rules out FNV-1a.  Also, as Uri points out, you will want to have larger
> numbers of hash bits (64 is too few for this application).
> 
> Nico