Re: [TLS] Unifying tickets and sessions

Richard Fussenegger <richard@fussenegger.info> Wed, 22 October 2014 18:59 UTC

Return-Path: <richard@fussenegger.info>
X-Original-To: tls@ietfa.amsl.com
Delivered-To: tls@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id B7F4A1ACFEB for <tls@ietfa.amsl.com>; Wed, 22 Oct 2014 11:59:35 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.3
X-Spam-Level:
X-Spam-Status: No, score=-1.3 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, J_CHICKENPOX_15=0.6] autolearn=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id chlbXzFSazMX for <tls@ietfa.amsl.com>; Wed, 22 Oct 2014 11:59:34 -0700 (PDT)
Received: from mx202.easyname.com (mx202.easyname.com [212.232.28.123]) (using TLSv1.2 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 1AD6F1ACFEF for <tls@ietf.org>; Wed, 22 Oct 2014 11:59:32 -0700 (PDT)
Received: from 89-26-76-175.goll.dyn.salzburg-online.at ([89.26.76.175] helo=[192.168.0.11]) by mx.easyname.eu with esmtpsa (TLS1.2:DHE_RSA_AES_128_CBC_SHA1:128) (Exim 4.80) (envelope-from <richard@fussenegger.info>) id 1Xh183-0002Va-SH; Wed, 22 Oct 2014 20:59:30 +0200
Message-ID: <5447FE79.1050008@fussenegger.info>
Date: Wed, 22 Oct 2014 20:59:05 +0200
From: Richard Fussenegger <richard@fussenegger.info>
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:31.0) Gecko/20100101 Thunderbird/31.2.0
MIME-Version: 1.0
To: Nico Williams <nico@cryptonector.com>, "tls@ietf.org" <tls@ietf.org>
References: <2A0EFB9C05D0164E98F19BB0AF3708C71D3A8C48AF@USMBX1.msg.corp.akamai.com> <5445775E.3050108@fussenegger.info> <54458113.1050304@polarssl.org> <20141020235832.GK19158@mournblade.imrryr.org> <CAK3OfOj9bZcSDdWhHGeGT0STg6XBkYaExW+rQFN-FFE4oaPLrw@mail.gmail.com>
In-Reply-To: <CAK3OfOj9bZcSDdWhHGeGT0STg6XBkYaExW+rQFN-FFE4oaPLrw@mail.gmail.com>
Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg="sha1"; boundary="------------ms020301050103070208060201"
X-ACL-Warn: X-DNSBL-v4bl
Archived-At: http://mailarchive.ietf.org/arch/msg/tls/eK-Y2mCv0dWa_W_NogBj1DYCzqU
Subject: Re: [TLS] Unifying tickets and sessions
X-BeenThere: tls@ietf.org
X-Mailman-Version: 2.1.15
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/options/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: Wed, 22 Oct 2014 18:59:36 -0000

On 10/22/2014 8:46 PM, Nico Williams wrote:
> On Mon, Oct 20, 2014 at 6:58 PM, Viktor Dukhovni <ietf-dane@dukhovni.org> wrote:
>> On Mon, Oct 20, 2014 at 11:39:31PM +0200, Manuel P?gouri?-Gonnard wrote:
>>>> The RFC should clarify that the negotiated cipher **MUST** be honored
>>>> when encrypting the state that will be sent to the client. [1]
>> I am having trouble parsing the original suggestion above.
> Even parsed as the context implies, there's problems: a) the client
> can't verify that the ticket is encrypted in any given cipher, b) why
> on Earth should the server let the client choose what cipher is used
> for the Ticket?, c) given (a), what is to be gained by any party from
> the server using the client's desired cipher for encrypting the
> ticket?
[erm] That was not the original suggestion and 'negotiated cipher' 
doesn't imply that the cipher was chosen by the client. It's merely a 
fact that the server and the client have to negotiate a cipher before 
they can establish an encrypted communication channel. It doesn't matter 
how they do that, but at some point they'll negotiate a cipher (or no 
connection is established at all).

If the two of us agree upon using AES-256, wouldn't you be a little bit 
disappointed if I send you an encrypted ticket of that stuff we agreed 
upon to encrypt with AES-256 that is actually encrypted with AES-128? 
You wouldn't notice, because you can't read the ticket and trust that I 
honor our negotiations (after all, we were communication through a 
AES-256 secured channel which we negotiated, didn't we).

Well—fact is—today web servers are doing exactly that with tickets and 
that's why some people have problems with them and that's what I was 
referring to in my very first mail (quoted above).

>>> While I'm sympathetic with the goal, I'm afraid that will complicate
>>> implementations more than necessary. How about requiring to use a key length at
>>> least a high as the highest supported ciphersuite instead?
> This is just as silly.  The server should choose what cipher to use, full stop.
It does.

>> Does it mean (as I think you're saying) that session tickets MUST
>> be encrypted with the session's negotiated ciphersuite?  That seems
>> rather unmanageable.  A single sufficiently strong key is likely
>> far more realistic.
> Yes.
I already agreed upon the single key solution.


>> With keys for clusters of servers rotated by code external to the
>> TLS library, asking for a key for every algorith/size is impractical.
> One would derive keys for all ciphers from a single cluster master
> key.  Nonetheless, it's just plain silly to let the client/connection
> dictate how to encrypt the ticket -- that's the server's prerogative.
>
> Nico
> --
>
> _______________________________________________
> TLS mailing list
> TLS@ietf.org
> https://www.ietf.org/mailman/listinfo/tls
That's impractical for administrators that aren't running dedicated key 
generation servers within their own data center.

Actually everything Viktor Dukhovni said is perfectly correct and Nico I 
think you may have misunderstood a few things here.

Regards
Richard