Re: [TLS] draft-ietf-tls-cached-info-02 / New "Fast-Track" draft

Stefan Santesson <stefan@aaa-sec.com> Fri, 19 February 2010 17:16 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 551DE3A7FB3 for <tls@core3.amsl.com>; Fri, 19 Feb 2010 09:16:03 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.551
X-Spam-Level:
X-Spam-Status: No, score=-1.551 tagged_above=-999 required=5 tests=[AWL=-0.699, BAYES_00=-2.599, HELO_EQ_SE=0.35, HTML_MESSAGE=0.001, MIME_QP_LONG_LINE=1.396]
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 mUoYhohB01DZ for <tls@core3.amsl.com>; Fri, 19 Feb 2010 09:15:57 -0800 (PST)
Received: from s87.loopia.se (s87.loopia.se [194.9.95.114]) by core3.amsl.com (Postfix) with ESMTP id 853323A810C for <tls@ietf.org>; Fri, 19 Feb 2010 09:15:56 -0800 (PST)
Received: from s57.loopia.se (s34.loopia.se [194.9.94.70]) by s87.loopia.se (Postfix) with ESMTP id 5C13E38D75F for <tls@ietf.org>; Fri, 19 Feb 2010 18:17:49 +0100 (CET)
Received: (qmail 26044 invoked from network); 19 Feb 2010 17:17:42 -0000
Received: from 213-64-142-247-no153.business.telia.com (HELO [192.168.1.16]) (stefan@fiddler.nu@[213.64.142.247]) (envelope-sender <stefan@aaa-sec.com>) by s57.loopia.se (qmail-ldap-1.03) with DES-CBC3-SHA encrypted SMTP for <brian@briansmith.org>; 19 Feb 2010 17:17:42 -0000
User-Agent: Microsoft-Entourage/12.23.0.091001
Date: Fri, 19 Feb 2010 18:17:39 +0100
From: Stefan Santesson <stefan@aaa-sec.com>
To: Brian Smith <brian@briansmith.org>, "Kemp, David P." <DPKemp@missi.ncsc.mil>
Message-ID: <C7A48643.869E%stefan@aaa-sec.com>
Thread-Topic: [TLS] draft-ietf-tls-cached-info-02 / New "Fast-Track" draft
Thread-Index: Acqxh2/tzJU5NCre9k2+0ZvxdMfuoA==
In-Reply-To: <4B7EC4D1.5070006@briansmith.org>
Mime-version: 1.0
Content-type: multipart/alternative; boundary="B_3349448262_5316889"
Cc: tls@ietf.org
Subject: Re: [TLS] draft-ietf-tls-cached-info-02 / New "Fast-Track" draft
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: Fri, 19 Feb 2010 17:16:03 -0000

Brian,  

The use of hash functions in this draft does not require collision
resistance.
This is actually quite easy to prove.

/Stefan



On 10-02-19 6:05 PM, "Brian Smith" <brian@briansmith.org>; wrote:

> Kemp, David P. wrote:
>>     
>>  
>> 
>> Note that the key concept described in secure_hashing.html is ³secure²: 
>>  
>>  
>>  
>> Federal agencies should stop using SHA-1 for digital signatures, digital time
>> stamping and other applications that require collision resistance as soon as
>> practical, and must use the SHA-2 family of hash functions for these
>> applications after 2010.
>>  
>>  
>>  
>> When a hash algorithm is used for non-security purposes, such as database
>> bucketing (http://en.wikipedia.org/wiki/Hash_table) or cache object
>> selection, the NIST guidance does not apply.
>>  
> Yes, I read that sentence too. And, I agree with your very common-sense
> interpretation of things. But, while the sentence you quote has the qualifier
> "that require collision resistance," the rest of the recommendations against
> SHA-1 don't have that qualifier, so I am not totally convinced. And, I am
> definitely not convinced that all users/customers will be convinced, so I
> would rather be safe than sorry.
> 
> Perhaps this all can be avoided by simply not having the client calculate
> hashes at all for . For example, would this work?:
> 
> struct {
>     CachedInformationType type;
>     opaque token<0..255>;
> } CachedObject; 
> 
> In a server hello: If CachedObject.token is empty, then the client must use
> its cached value for the given information type. The corresponding fields in
> the server hello (e.g. Certificate.certificate_list or
> CertificateRequest.certificate_authorities) MUST be empty. If
> CachedObject.token is not empty, then the server will send a new value, and
> that new value can be identified by the client in subsequent client hellos
> using the given token; an empty value (e.g. an empty
> Certificate.certificate_authorities) must not be interpreted as an indication
> to use a previously-cached value. For a given value, a server should return
> the same token string to every client, so that the token isn't used as a
> tracking cookie that could be used to distinguish distinct clients. The server
> must ensure that the same token is never used to identify different values
> (that is, every token must map to at most one value). Since the goal of this
> extension is to reduce the number of bytes transmitted, the token should be
> short. It is strongly recommended that the server use a secure hash algorithm
> (e.g. SHA-2) of the value as the token.
> 
> In a client hello: CachedObject.token must not be empty, and it must contain a
> token previously retrieved from the same server (either in a previous TLS
> handshake, or out of band).
> 
> Regards,
> Brian
> 
> 
> 
> _______________________________________________
> TLS mailing list
> TLS@ietf.org
> https://www.ietf.org/mailman/listinfo/tls