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

Michael StJohns <msj@nthpermutation.com> Wed, 25 September 2013 15:22 UTC

Return-Path: <msj@nthpermutation.com>
X-Original-To: tls@ietfa.amsl.com
Delivered-To: tls@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 2521321F9C4D for <tls@ietfa.amsl.com>; Wed, 25 Sep 2013 08:22:55 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.573
X-Spam-Level:
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 mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id E5zgAIDVoUu4 for <tls@ietfa.amsl.com>; Wed, 25 Sep 2013 08:22:49 -0700 (PDT)
Received: from mail-qa0-f54.google.com (mail-qa0-f54.google.com [209.85.216.54]) by ietfa.amsl.com (Postfix) with ESMTP id C12BE21F96E4 for <tls@ietf.org>; Wed, 25 Sep 2013 08:22:47 -0700 (PDT)
Received: by mail-qa0-f54.google.com with SMTP id bv4so3540596qab.20 for <tls@ietf.org>; Wed, 25 Sep 2013 08:22:46 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; 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 10.229.30.7 with SMTP id s7mr45622781qcc.7.1380122565057; Wed, 25 Sep 2013 08:22:45 -0700 (PDT)
Received: from [192.168.1.112] (c-68-83-212-126.hsd1.md.comcast.net. [68.83.212.126]) by mx.google.com with ESMTPSA id u3sm66442432qae.4.1969.12.31.16.00.00 (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Wed, 25 Sep 2013 08:22:44 -0700 (PDT)
Message-ID: <5242FFC7.7020302@nthpermutation.com>
Date: Wed, 25 Sep 2013 11:22:47 -0400
From: Michael StJohns <msj@nthpermutation.com>
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 <p.j.bakker@offspark.com>
References: <523DF3AF.6060208@nthpermutation.com> <CALTJjxHBU+1GwKyrPhikWs2OzzQkieFZ4h2vrF+HJdadK=Qp3g@mail.gmail.com> <52425A2A.3060401@nthpermutation.com> <016201ceb9ce$ccc77bb0$66567310$@offspark.com>
In-Reply-To: <016201ceb9ce$ccc77bb0$66567310$@offspark.com>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
Cc: tls@ietf.org
Subject: Re: [TLS] New Key derivations for TLS1.3
X-BeenThere: tls@ietf.org
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." <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, 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 
pain.

Mike