Re: [TLS] Adding an additional step to exporters

Ilari Liusvaara <ilariliusvaara@welho.com> Fri, 24 February 2017 17:42 UTC

Return-Path: <ilariliusvaara@welho.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 41F6C12943F for <tls@ietfa.amsl.com>; Fri, 24 Feb 2017 09:42:48 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.901
X-Spam-Level:
X-Spam-Status: No, score=-1.901 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_NONE=-0.0001, RP_MATCHES_RCVD=-0.001] autolearn=ham autolearn_force=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 BdwHGShnmBDO for <tls@ietfa.amsl.com>; Fri, 24 Feb 2017 09:42:22 -0800 (PST)
Received: from welho-filter2.welho.com (welho-filter2.welho.com [83.102.41.24]) by ietfa.amsl.com (Postfix) with ESMTP id 4DD71129445 for <tls@ietf.org>; Fri, 24 Feb 2017 09:42:21 -0800 (PST)
Received: from localhost (localhost [127.0.0.1]) by welho-filter2.welho.com (Postfix) with ESMTP id 72B001F315; Fri, 24 Feb 2017 19:42:19 +0200 (EET)
X-Virus-Scanned: Debian amavisd-new at pp.htv.fi
Received: from welho-smtp1.welho.com ([IPv6:::ffff:83.102.41.84]) by localhost (welho-filter2.welho.com [::ffff:83.102.41.24]) (amavisd-new, port 10024) with ESMTP id uZ4SnRlH5adz; Fri, 24 Feb 2017 19:42:19 +0200 (EET)
Received: from LK-Perkele-V2 (87-92-51-204.bb.dnainternet.fi [87.92.51.204]) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by welho-smtp1.welho.com (Postfix) with ESMTPSA id 34DFDC4; Fri, 24 Feb 2017 19:42:19 +0200 (EET)
Date: Fri, 24 Feb 2017 19:42:15 +0200
From: Ilari Liusvaara <ilariliusvaara@welho.com>
To: Hugo Krawczyk <hugo@ee.technion.ac.il>
Message-ID: <20170224174215.GA13873@LK-Perkele-V2.elisa-laajakaista.fi>
References: <CABkgnnVo0gU=jaR-qV4hypmsjVW6Vdu1RizVD0OPh0ry6vzKfQ@mail.gmail.com> <04431852-c05f-7db8-faf1-7aa622c01b75@cs.tu-darmstadt.de> <CABkgnnU2fXmh=MRANU341n+G16t=Dnt8vQeCSHV4=J=89nWBhQ@mail.gmail.com> <CADi0yUM4NQkj_y49Gxg6D_1CXq7sNVReaAS3XWv5C9yoqQdT2A@mail.gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Disposition: inline
In-Reply-To: <CADi0yUM4NQkj_y49Gxg6D_1CXq7sNVReaAS3XWv5C9yoqQdT2A@mail.gmail.com>
User-Agent: Mutt/1.5.23 (2014-03-12)
Sender: ilariliusvaara@welho.com
Archived-At: <https://mailarchive.ietf.org/arch/msg/tls/20zSSHuuwWPp-ar0sYyEz3leyYU>
Cc: "tls@ietf.org" <tls@ietf.org>
Subject: Re: [TLS] Adding an additional step to exporters
X-BeenThere: tls@ietf.org
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." <tls.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/tls>, <mailto:tls-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/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: Fri, 24 Feb 2017 17:42:48 -0000

On Fri, Feb 24, 2017 at 11:47:32AM -0500, Hugo Krawczyk wrote:
> Martin,
> 
> Which of these two derivation schemes are you proposing?
> Are you assuming that all uses of the exporter_secret are known at the end
> of
> the handshake? If not, you still need to keep an exporter_secret beyond the
> handshake.
> 
> Master Secret
>       |
>       |
>       +-----> Derive-Secret(., "exporter master secret 1",
>       |                     ClientHello...Server Finished)
>       |                     = exporter_secret_1
>       |
>       +-----> Derive-Secret(., "exporter master secret 2",
>                             ClientHello...Server Finished)
>                             = exporter_secret_2
> 
> Or:
> 
> Master Secret
>       |
>       |
>       +-----> Derive-Secret(., "exporter master secret",
>                             ClientHello...Server Finished)
>                             = exporter_secret
>                                  |
>                                  +-----> Derive-Secret(., "exporter secret
> 1",
>                                  |                     what_exactly)
>                                  |                     = exporter_secret_1
>                                  |
>                                  |
>                                  +-----> Derive-Secret(., "exporter secret
> 2",
>                                                        what_exactly)
>                                                        = exporter_secret_2
> 
> 
> (I wrote "what exactly" since I am not sure what do you plan to include
> there.)

I interpretted it to be something like follows:

Master secret
 + Derive-Secret(label="exporter master secret", context=ClientHello...ServerFinished)
    + Derive-Secret(label=EXPORTER-FOO, context=<blank>)
      + Derive-Secret(label="exporter", context=<context#1>)
      + Derive-Secret(label="exporter", context=<context#2>)
    + Derive-Secret(label=EXPORTER-BAR, context=<blank>)
      + Derive-Secret(label="exporter", context=<context#1>)
      + Derive-Secret(label="exporter", context=<context#3>)


But I don't know how useful that would be, as it requires knowing all
labels one is going to use (or one needs to keep EMS around anyway).


-Ilari