Re: [TLS] New Key derivations for TLS1.3

Michael StJohns <> Wed, 25 September 2013 15:22 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 2521321F9C4D for <>; Wed, 25 Sep 2013 08:22:55 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -3.573
X-Spam-Status: No, score=-3.573 tagged_above=-999 required=5 tests=[AWL=0.026, BAYES_00=-2.599, RCVD_IN_DNSWL_LOW=-1]
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id E5zgAIDVoUu4 for <>; Wed, 25 Sep 2013 08:22:49 -0700 (PDT)
Received: from ( []) by (Postfix) with ESMTP id C12BE21F96E4 for <>; Wed, 25 Sep 2013 08:22:47 -0700 (PDT)
Received: by with SMTP id bv4so3540596qab.20 for <>; Wed, 25 Sep 2013 08:22:46 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=20130820; h=x-gm-message-state:message-id:date:from:user-agent:mime-version:to :cc:subject:references:in-reply-to:content-type :content-transfer-encoding; bh=cSWNdnzJVN+rYfMTC6mGeTdwiav9brPaNgdkADcfg6Y=; b=hIxwE4JAlC8GdBQnBxRjBIO0CxS0mukCNRrEvVKqg1WwP0r9WcNPHUQE+7DjP+GWWh HI/A/iB8CxsFbIMW4D5sHwk1e7918UzvLJbAbzzaP60N1fWQhOIiW36xLrVB2eoa/jnp fGIy7h2U1OKRRsUZohfgqRvKtE0E4IZzVy/pLfGKDfu8/tXG1fp070zY1p1ryWQpfNgn Dk21FM6hMnvY1wOjZAveT3j6/UX7fEBPNfvRDrGtUsd4CaOkrhNvY3tW2WvNQJBZmam4 HY0M2m4hvhnrO94UzQUQystOPetND2ueMpbvtsQBngWmRLdCfDjKrmrMFGLJ0gavESOs H4sg==
X-Gm-Message-State: ALoCoQnAlpltvVaZWxky6PsWuMqOTzmKpOggGDioihCaymUGKoWkeO9eMiwSPxAI2u35cYuFvNzC
X-Received: by with SMTP id s7mr45622781qcc.7.1380122565057; Wed, 25 Sep 2013 08:22:45 -0700 (PDT)
Received: from [] ( []) by with ESMTPSA id u3sm66442432qae.4.1969. (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Wed, 25 Sep 2013 08:22:44 -0700 (PDT)
Message-ID: <>
Date: Wed, 25 Sep 2013 11:22:47 -0400
From: Michael StJohns <>
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:17.0) Gecko/20130801 Thunderbird/17.0.8
MIME-Version: 1.0
To: Paul Bakker <>
References: <> <> <> <016201ceb9ce$ccc77bb0$66567310$>
In-Reply-To: <016201ceb9ce$ccc77bb0$66567310$>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
Subject: Re: [TLS] New Key derivations for TLS1.3
X-Mailman-Version: 2.1.12
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: Wed, 25 Sep 2013 15:22:56 -0000

On 9/25/2013 5:08 AM, Paul Bakker wrote:
>> Simply by adding the length fields to the KDF inputs used with the key
>> material exporters.  So if an exporter needs 4 keys, there are 4 length
>> values, 2 keys, 2 length values etc.   That makes what gets passed into
>> the KDF the secret, the public values including the label,  and the length
> of
>> each key and that construct can be used for the pre-master to master,
>> master to key expansion and for any key exporters.  This is just an
> off-the-
>> cuff suggestion at this point.
>> One other alternative is to only provide lengths for keys - anything
>> after the end of the keys is public data.   That allows the
>> private/public division  of data consistent with the current model without
>> having to build a special function just for the key-expansion step.  And -
> if
>> you run this without providing any key lengths, you end up with the same
>> key stream as the old function -and that simplifies the
>> PKCS11 implementation.
> Wouldn't using the 'ciphersuite id' in the KDF provide the same (as the
> ciphersuite determines all those values) and is simpler in the process?

Considered that, but that would mean that a PKCS11 implementation would 
need to have the mapping between each and every TLS ciphersuite and the 
composition of its keys.  That would mean that each time a new cipher 
suite ID was issued, PKCS11 implementations would have to change.  Not 
the most general solution.

There's also this problem that the pre-master mechanism can be used for 
many different ciphersuites - and figuring out how to make sure policy 
controls apply to the downstream (master, key expansions, etc) keys is a