Re: [TLS] First TLS cached information draft posted

Simon Josefsson <simon@josefsson.org> Tue, 09 June 2009 13:41 UTC

Return-Path: <simon@josefsson.org>
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 1BBE63A6806 for <tls@core3.amsl.com>; Tue, 9 Jun 2009 06:41:32 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.599
X-Spam-Level:
X-Spam-Status: No, score=-2.599 tagged_above=-999 required=5 tests=[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 zH1+7Hp66JDI for <tls@core3.amsl.com>; Tue, 9 Jun 2009 06:41:31 -0700 (PDT)
Received: from yxa-v.extundo.com (yxa-v.extundo.com [83.241.177.39]) by core3.amsl.com (Postfix) with ESMTP id E79E73A659B for <TLS@ietf.org>; Tue, 9 Jun 2009 06:41:30 -0700 (PDT)
Received: from mocca.josefsson.org (c80-216-24-60.bredband.comhem.se [80.216.24.60]) (authenticated bits=0) by yxa-v.extundo.com (8.14.3/8.14.3/Debian-5) with ESMTP id n59DfRXN004037 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES128-SHA bits=128 verify=NOT); Tue, 9 Jun 2009 15:41:34 +0200
From: Simon Josefsson <simon@josefsson.org>
To: martin.rex@sap.com
References: <87ab4hisev.fsf@mocca.josefsson.org> <200906091223.n59CNqov028494@fs4113.wdf.sap.corp>
OpenPGP: id=B565716F; url=http://josefsson.org/key.txt
X-Hashcash: 1:22:090609:martin.rex@sap.com::8o9NlcPhAbYWy4Vg:EMJY
X-Hashcash: 1:22:090609:tls@ietf.org::L/NjGcMnGviO1vW4:P6He
Date: Tue, 09 Jun 2009 15:41:27 +0200
In-Reply-To: <200906091223.n59CNqov028494@fs4113.wdf.sap.corp> (Martin Rex's message of "Tue, 9 Jun 2009 14:23:52 +0200 (MEST)")
Message-ID: <87k53lh6d4.fsf@mocca.josefsson.org>
User-Agent: Gnus/5.110011 (No Gnus v0.11) Emacs/23.0.94 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Cc: TLS@ietf.org
Subject: Re: [TLS] First TLS cached information draft 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, 09 Jun 2009 13:41:32 -0000

Martin Rex <Martin.Rex@sap.com> writes:

> Simon Josefsson wrote:
>> 
>> Martin Rex <Martin.Rex@sap.com> writes:
>>
>> >Simon Josefsson wrote: 
>> >> 
>> >> Good point, but how would a client know whether a server replaced the
>> >> cached information with a hash or not if there is no signaling whether
>> >> this happened or not?
>> >
>> > The client knows which Hash it would find, if the server would sent
>> > the hash, so it could check for that.  Even a collision of the
>> > hash and the original handshake data would not cause a problem
>> > with this "heuristical" determination.
>> >
>> > I'm wondering about the following: we should give a strong recommendation
>> > about the minimum size of an object in order for caching to make any
>> > sense at all, like >= 2x the size of the hash.
>> >
>> > Maybe the minimum size should be rather 3x hash size, considering
>> > the rest of the protocol overhead.
>> 
>> This seems like a good idea -- and it solves the problem in the client
>> to identify whether the server replaced the data or not.  If the minimum
>> size is 3x hash size, the client can look at the length of the data.  If
>> it is longer than 3x hash size, it knows the server opted out from
>> sending the hash.  If it is shorter than 3x hash size, it knows the
>> server actually did replace the data with a hash value.
>
> Not quite.
>
> The caching extension is supposed to be generic, and the to-be-cached
> real data may in some situations be quite short or even the same size
> than the hash value (probably not for the server certificate caching,
> but maybe for the list of certification authorities in the certificate
> request message, which consists of distinguished names only, and
> there could be just one very short DName (or none at all with TLS v1.1+)

Then why use the extension?  The point of the extension, as I understood
it, is to replace large data with a small hash of the same data.  If the
data is small, the extension doesn't serve any purpose and should not be
used.  That is why I liked your suggestion to limit the use of the
extension when the data is larger than 3x hash size.

/Simon