Re: [TLS] Re: when is it ok to resume a cached SSL/TLS session

Eric Rescorla <ekr@networkresonance.com> Mon, 15 January 2007 16:17 UTC

Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com) by megatron.ietf.org with esmtp (Exim 4.43) id 1H6UWh-0003Ra-TO; Mon, 15 Jan 2007 11:17:39 -0500
Received: from [10.91.34.44] (helo=ietf-mx.ietf.org) by megatron.ietf.org with esmtp (Exim 4.43) id 1H6UWg-0003RS-Gw for tls@ietf.org; Mon, 15 Jan 2007 11:17:38 -0500
Received: from raman.networkresonance.com ([198.144.196.3]) by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1H6UWe-0002ww-HC for tls@ietf.org; Mon, 15 Jan 2007 11:17:38 -0500
Received: by raman.networkresonance.com (Postfix, from userid 1001) id C6C531E8C28; Mon, 15 Jan 2007 08:17:35 -0800 (PST)
To: home_pw@msn.com
Subject: Re: [TLS] Re: when is it ok to resume a cached SSL/TLS session
References: <20070115154600.A77285C01E@laser.networkresonance.com> <BAY126-DAV649C9E2DAC40983624F6292B50@phx.gbl>
From: Eric Rescorla <ekr@networkresonance.com>
Date: Mon, 15 Jan 2007 08:17:35 -0800
In-Reply-To: <BAY126-DAV649C9E2DAC40983624F6292B50@phx.gbl> (home pw's message of "Mon, 15 Jan 2007 08:06:23 -0800")
Message-ID: <86ac0ke02o.fsf@raman.networkresonance.com>
User-Agent: Gnus/5.1007 (Gnus v5.10.7) XEmacs/21.4.19 (berkeley-unix)
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
X-Spam-Score: 0.0 (/)
X-Scan-Signature: 5a9a1bd6c2d06a21d748b7d0070ddcb8
Cc: tls@ietf.org
X-BeenThere: tls@lists.ietf.org
X-Mailman-Version: 2.1.5
Precedence: list
Reply-To: EKR <ekr@networkresonance.com>
List-Id: "This is the mailing list for the Transport Layer Security working group of the IETF." <tls.lists.ietf.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/tls>, <mailto:tls-request@lists.ietf.org?subject=unsubscribe>
List-Archive: <http://www1.ietf.org/pipermail/tls>
List-Post: <mailto:tls@lists.ietf.org>
List-Help: <mailto:tls-request@lists.ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/tls>, <mailto:tls-request@lists.ietf.org?subject=subscribe>
Errors-To: tls-bounces@lists.ietf.org

<home_pw@msn.com> writes:

>>> The server doesn't recognize that session and replies with
>>> a Server Hello containing his highest protocol version, plus
>>> plus server certificate message plus client cert request plus
>>> server hello done.  The popular Web Browser closes the network
>>> connection without sending any kind of SSL alert and shows
>>> "Page cannot be displayed" to the user.
>>>
>>>
>>> I firmly believe that this is a conceptual flaw on the client
>>> side, making a flawed assumption about when a cached SSL session
>>> can be expected to be resumable.
>>
>> ISTM that there are two issues here:
>>
>> 1. Whether the client should have offered asession ID.
>> 2. Whether it should have choked when the server refused.
>>
>> Without taking a position on the first, which I think is tricky,
>> the client should definitely not have choked. Servers can always
>> refuse to accept a resumption.
>>
>> -Ekr
>
> I reasoned differently, because this is an https context -
> there is thus a URL resolver involved. The validity of a secure URL is
> not the same as the validity of an SSL-named layer 4 TCP port (or
> SSL-named PPP tunnel connection,....)
>
> At the SSL layer, the client sought a session resumption from a named
> layer 4 port. Session resumption means that the URL resolver at the
> https layer, however, is based on the client's connection state , not
> the host/port parsing. This includes the binding of URLs used in
> session creation, and the URL used in connection establishment (which
> are allowed to differ)
>
> IN the cited case, a server responding from a given layer 4 port of
> the second URL refused to resume a session (for some reason, like it
> didn't share session state records with another implementation). It
> then correctly engaged in a full handshake (with unusual custom
> pipelining of full handshake messages).
>
> The client is entitled to reject the handshake, as in any full/partial
> rehandshake case. The client uses the conforming option to close the
> TLS Transport (TCP) rather than perform a close. This is reasonable,
> given the URL resource showed no knowledge of the sessionid/keying
> material.

Peter, 

TLS session IDs do not come with any guarantee that the server will
actually honor a resumption request. The server may implement any
session cache policy it chooses. Therefore the client *must* be
prepared for the server to refuse resumption.

-Ekr

_______________________________________________
TLS mailing list
TLS@lists.ietf.org
https://www1.ietf.org/mailman/listinfo/tls