Re: [TLS] TLS1.3 + PSK with multiple identities

Ilari Liusvaara <> Mon, 08 August 2016 08:28 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 854F312D77A for <>; Mon, 8 Aug 2016 01:28:47 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -3.147
X-Spam-Status: No, score=-3.147 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RP_MATCHES_RCVD=-1.247] autolearn=ham autolearn_force=no
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id 5zBrHKp0Kzen for <>; Mon, 8 Aug 2016 01:28:45 -0700 (PDT)
Received: from ( []) by (Postfix) with ESMTP id 8540012B053 for <>; Mon, 8 Aug 2016 01:28:45 -0700 (PDT)
Received: from localhost (localhost []) by (Postfix) with ESMTP id 1450E10A26; Mon, 8 Aug 2016 11:28:44 +0300 (EEST)
X-Virus-Scanned: Debian amavisd-new at
Received: from ([IPv6:::ffff:]) by localhost ( [::ffff:]) (amavisd-new, port 10024) with ESMTP id Attv5nGaKM_8; Mon, 8 Aug 2016 11:28:43 +0300 (EEST)
Received: from LK-Perkele-V2 ( []) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPSA id D706A27F; Mon, 8 Aug 2016 11:28:43 +0300 (EEST)
Date: Mon, 8 Aug 2016 11:28:37 +0300
From: Ilari Liusvaara <>
To: Nikos Mavrogiannopoulos <>
Message-ID: <>
References: <>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <>
User-Agent: Mutt/1.6.2-neo (2016-07-23)
Archived-At: <>
Cc: "" <>
Subject: Re: [TLS] TLS1.3 + PSK with multiple identities
X-Mailman-Version: 2.1.17
Precedence: list
List-Id: "This is the mailing list for the Transport Layer Security working group of the IETF." <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Mon, 08 Aug 2016 08:28:48 -0000

On Mon, Aug 08, 2016 at 10:17:40AM +0200, Nikos Mavrogiannopoulos wrote:
> Hello,
>  I'm reading the "Pre-Shared Key Extension" section of the TLS 1.3
> draft [0], and I noticed quite some deviations (IMO) from typical TLS
> protocol behavior. No rationale is given about them so I ask on list.
> To summarize, the client sends a list of identitities and the server
> replies with an index indicating which identity is approved.
> 1. The server reply with an index is unique in TLS. It is not used in
> ciphersuite selection or in any other negotiation in TLS where the
> client sends multiple options. Why not have the server reply with the
> selected username.

More compact and makes the option where server sends some bad option
more clear.
> 2. Why does the client send multiple identities? In TLS-SRP a single
> identity is sent, and the same in the existing TLS-PSK rfc. How is this
> envisioned to be used? A client sends: I'm probably one of Bob, Nikos,
> George, take a look on that list and tell me who I really am? In that
> case why not allow the server, to reply with a username outside that
> list (i.e., assign a new one to be used at the next session - see point
> 1).

You already need multiple if you try to "resume"[1] DHE-PSK session
(since "resumption" shares the PSK space).

Additionally, TLS 1.2 had identity hint, but TLS 1.3 eliminates that
due to flight limits.

> 3. The maximum size of the username is 2^16. Isn't that excessive for a
> user name or a user identifier? Why not set 2^8? That would fit a uuid
> or anything similarly large.

If one wants to do the equivalent of tickets in TLS 1.2, one needs
pretty large usernames.

[1] IMO, TLS 1.3 does not have session resumption (doesn't stop others
from calling the relevant features "resumption").