Re: [TLS] First TLS cached information draft posted
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [TLS] First TLS cached information draft posted
I think I have to try to clarify this
The client send a cached_information extension which contains a list of
CachedObject structures.
Each ChachedObject element contains:
- type identifier (CachedInformationType type)
- a list of hash values (CachedInformationHash hashes)
Each CachedInformationHash contains:
- Algorithm identifier (HashAlgorithm hash)
- Hash value (opaque hash_value)
There are a number of issues that need to be specified or clarified in the
draft:
1) Is it allowed to send over multiple CachedObject elements containing the
same type identifier?
Proposed answer = No (you can already include multiple hashes for each type)
2) What should the server return in its server hello message for each
acceptable CachedObject?
Alternative 1 = The CachedObject element, exactly as it was received by the
client (with all hashes)
Alternative 2 = The CachedObject element, but only containing the
CachedInformationHash elements that is recognize and support.
Proposed answer = Alternative 1 (This allows the server to say YES in
principle without analyzing the hash values at the time of Hello exchange)
3) Is the server REQUIRED to honor its support of a CachedObject by
replacing the identified handshake data with a received hash?
Proposed answer = NO (for reasons raised by Martin)
4) What does the server send as replacement for the replaced handshake data?
Proposed answer = One opaque hash_value (without hash type identifier) that
was received by the client, which MUST contain a valid hash over the
replaced data.
Do you agree?
/Stefan
On 09-06-06 3:17 AM, "Stefan Santesson" <stefan at aaa-sec.com> wrote:
> Martin,
>
> I liked Simon's suggestion as he expressed my original thought that the
> Server would know beforehand the hashes for acceptable information objects.
>
> However, what you suggest actually makes sense to me.
>
> I also found another minor error as the draft refer to hash_value (single
> hash) when I should refer to the "hashes" (multiple hash) element.
>
> We have to think through the concept of sending over multiple hashes and
> what the appropriate response from the server is.
>
> 1) The server accepts replacement in principle, but does not know at the
> time of sending the server hello if any of the hashes match.
>
> 2) The server accepts one or more hashes from the client hello (for one
> object type) and includes the hashes it accepts in the server hello
>
> 3) The server accepts one or more hashes from the client hello (for one
> object type) but includes only 1 (the preferred one) hash for that object
> type in the server hello.
>
> Once we can agree on this, I will update and submit a new version of the
> draft.
>
> /Stefan
>
>
>
>
> On 09-06-05 10:55 PM, "Martin Rex" <Martin.Rex at sap.com> wrote:
>
>> Simon Josefsson wrote:
>>>
>>> First, this paragraph:
>>>
>>> Servers that receive an extended client hello containing a
>>> "cached_information" extension, MAY indicate that they support one or
>>> more of the cached information objects by including an extension of
>>> type "cached_information" in the (extended) server hello, which SHALL
>>> contain at least one CachedObject received from the client.
>>>
>>> The intention here appears under-specified. What does it mean if the
>>> client sent two CachedObject's and the server just returned one of them?
>>> One plausible interpretation would be that the server did not support
>>> the hash/type-combination that were not returned. Enforcing that
>>> interpretation is needed to resolve my second concern.
>>>
>>> I suggest to add a sentence:
>>>
>>> The CachedObject's returned by the server MUST include the types the
>>> server supports and has accepted to replace with cached data.
>>
>> I don't know whether I correctly understand the suggestion
>> that you're making. But I'm very unhappy with one possible
>> interpretation that I see in your poposal.
>>
>> Having the TLS server indicate for which objects its TLS implementation
>> supports the caching _in_principle_ is fine with me.
>>
>> Requiring the server to already know the hash values of
>> parts the contents of future SSL handshake messages, specifically
>> the to-be-cached data at the time when composing the ServerHello
>> handshake message is something I would definitely not like.
>>
>> The impact on implementations of TLS should be as small as possible.
>> To me, a requirement for a TLS server to precompute hashes over
>> parts of future handshake messages during ServerHello looks like
>> a significant additional burden, and personally, I do not yet see
>> any benefit this might provide.
>>
>>
>> -Martin
>
>
> _______________________________________________
> TLS mailing list
> TLS at ietf.org
> https://www.ietf.org/mailman/listinfo/tls
Note: Messages sent to this list are the opinions of the senders and do not imply endorsement by the IETF.