Re: [TLS] New cached-info draft 09 posted

Marsh Ray <marsh@extendedsubset.com> Tue, 13 July 2010 17:26 UTC

Return-Path: <marsh@extendedsubset.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 323283A6B2C for <tls@core3.amsl.com>; Tue, 13 Jul 2010 10:26:05 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.95
X-Spam-Level:
X-Spam-Status: No, score=-1.95 tagged_above=-999 required=5 tests=[AWL=0.649, BAYES_00=-2.599]
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 s33D0IsHgnYb for <tls@core3.amsl.com>; Tue, 13 Jul 2010 10:26:04 -0700 (PDT)
Received: from mho-01-ewr.mailhop.org (mho-01-ewr.mailhop.org [204.13.248.71]) by core3.amsl.com (Postfix) with ESMTP id 4E6053A6824 for <tls@ietf.org>; Tue, 13 Jul 2010 10:26:04 -0700 (PDT)
Received: from xs01.extendedsubset.com ([69.164.193.58]) by mho-01-ewr.mailhop.org with esmtpa (Exim 4.68) (envelope-from <marsh@extendedsubset.com>) id 1OYjFF-000ISr-0p; Tue, 13 Jul 2010 17:26:13 +0000
Received: from [192.168.1.15] (localhost [127.0.0.1]) by xs01.extendedsubset.com (Postfix) with ESMTP id 0C6246342; Tue, 13 Jul 2010 17:26:10 +0000 (UTC)
X-Mail-Handler: MailHop Outbound by DynDNS
X-Originating-IP: 69.164.193.58
X-Report-Abuse-To: abuse@dyndns.com (see http://www.dyndns.com/services/mailhop/outbound_abuse.html for abuse reporting information)
X-MHO-User: U2FsdGVkX1+TYZruo9ryitjIPlLFJS9UHUr+JXxrC0Y=
Message-ID: <4C3CA1B1.4030902@extendedsubset.com>
Date: Tue, 13 Jul 2010 12:26:09 -0500
From: Marsh Ray <marsh@extendedsubset.com>
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1.10) Gecko/20100527 Thunderbird/3.0.5
MIME-Version: 1.0
To: mrex@sap.com
References: <201007131544.o6DFigWr026771@fs4113.wdf.sap.corp>
In-Reply-To: <201007131544.o6DFigWr026771@fs4113.wdf.sap.corp>
Content-Type: text/plain; charset="ISO-8859-1"; format="flowed"
Content-Transfer-Encoding: 7bit
Cc: tls@ietf.org
Subject: Re: [TLS] New cached-info draft 09 posted
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, 13 Jul 2010 17:26:05 -0000

On 07/13/2010 10:44 AM, Martin Rex wrote:
> Marsh Ray wrote:
>
> I do not see a convincing argument to cripple this extension to TLSv1.2,

I agree. This could save lots of overhead in the right circumstances.

> Spelling it out for all three existing TLS protocol versions might
> avoid confusions and incorrect conclusions.
> for TLSv1.0&  TLSv1.1 use SHA-1, for TLSv1.2 use SHA-256.

Yes, a valid example never hurts.

>> To me, the PRF seems simpler because it's consistently defined in each
>> TLS version.
>
> How come?

PRF("cached info", "cached info", <as defined for Finished>)
       [0..object_hash_length - 1];

Hard to get much simpler. And it already exists in everyone's 
implementation!

>         P_hash(secret, seed) = HMAC_hash(secret, A(1) + seed) +
>                                HMAC_hash(secret, A(2) + seed) +
 >
> There is neither a secret nor a seed involved in the cache identifier,

Where that "seed" it's just meaning the third input parameter to PRF().

True there is no secret key for the MAC, this is inherent in the usage.

> and we also do not need an arbitrary length output, so the PRF() looks
> like a square peg to a round hole.

It's not a perfect match, but neither is SHA-1. In order to match TLS 
1.0-1.1, we need (SHA-1||MD5). Compared to 36 bytes of lousy hash, that 
arbitrary length output looks pretty good.

> When used for caching
> it is sufficient when the client learns the hash algorithm to use
> on receipt of the ServerHello handshake message that creates
> the cache entry.

If "the server" proposed that you cache some object using MD5 as the 
identifier, would you want your client to accept it?

TLS 1.0 doesn't use bare SHA-1 anywhere (except where it's due to some 
certificate limitations). So the choice comes down to unkeyed PRF, or 
SHA-256.

Personally, I'd go with SHA-256. I suggested it earlier, but it did not 
get a very enthusiastic response.

- Marsh