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

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

Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com) by megatron.ietf.org with esmtp (Exim 4.43) id 1H6X96-0005tk-7j; Mon, 15 Jan 2007 14:05:28 -0500
Received: from [10.91.34.44] (helo=ietf-mx.ietf.org) by megatron.ietf.org with esmtp (Exim 4.43) id 1H6X94-0005tc-NC for tls@ietf.org; Mon, 15 Jan 2007 14:05:26 -0500
Received: from raman.networkresonance.com ([198.144.196.3]) by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1H6X93-0003E9-BT for tls@ietf.org; Mon, 15 Jan 2007 14:05:26 -0500
Received: by raman.networkresonance.com (Postfix, from userid 1001) id A55D71E8C28; Mon, 15 Jan 2007 11:05:24 -0800 (PST)
To: home_pw@msn.com
Subject: Re: [TLS] Re: when is it ok to resume a cached SSL/TLS session
References: <200701151803.TAA01170@uw1048.wdf.sap.corp> <BAY126-DAV3FB5F2BEE682A4281A02A92B50@phx.gbl>
From: Eric Rescorla <ekr@networkresonance.com>
Date: Mon, 15 Jan 2007 11:05:24 -0800
In-Reply-To: <BAY126-DAV3FB5F2BEE682A4281A02A92B50@phx.gbl> (home pw's message of "Mon, 15 Jan 2007 10:57:50 -0800")
Message-ID: <86tzys9kln.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: 8b431ad66d60be2d47c7bfeb879db82c
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:

>>> > You say choked, I say graceful fail.
>>>
>>> No, I don't agree with this analysis. The server being unwilling
>>> to resume a session is normal behavior. The TLS state machine
>>> explicitly handles such cases. Implementations which choke
>>> rather than doing a full handshake are broken.
>>
>> I fully agree with Eric that a client MUST deal gracefully with
>> a server that does not resume a proposes SSL session (ID) for
>> whatever reason.
>
>
> Show me the text in the standard that says MUST (or even half hints
> MUST from the English wording). Tell me it MUST apply to EAP-TLS,
> too. More importantly, tell me what "appropriate" and "graceful" then
> mean, for packets on the wire. Tell me what the server MUST do, if the
> client does not comply. Your both making this out to be security- or
> interoperability- critical (it's a MUST, Peter!!)
>
> Eric is clear that this is not a new concept (for novel discussion);
> but an ancient one. It must be pretty obviously disclosed, or have
> been improved (by now) due to the years of text review.
>
> Now, for my part, I already pointed out text that says, I the
> implementer have 100% control over open and closing
> connections. NOTHING IN THIS STANDARD SHALL ...

RFC 4346 S 7.3.

   If a match is found, and the server is willing to re-establish the
   connection under the specified session state, it will send a
   ServerHello with the same Session ID value.  At this point, both
   client and server MUST send change cipher spec messages and proceed
   directly to finished messages.  Once the re-establishment is
   complete, the client and server MAY begin to exchange application
   layer data.  (See flow chart below.)  If a Session ID match is not
   found, the server generates a new session ID and the TLS client and
   server perform a full handshake.

In other words, refused session resumptions are totally normal
behavior. Clients which treat them as anomalous are confused.

Yes, a client can terminate the connection at any time and for
any reason, including that it doesn't like the phase of the moon,
but that doesn't make the assumption that a server will always
resume a session---presenting an error to the user if it
doesn't---any less insane. No such error occurred.

-Ekr

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