Re: [TLS] Refactoring client auth/re-key

Eric Rescorla <ekr@rtfm.com> Sat, 18 October 2014 16:11 UTC

Return-Path: <ekr@rtfm.com>
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 A7EDA1A19E9 for <tls@ietfa.amsl.com>; Sat, 18 Oct 2014 09:11:43 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.977
X-Spam-Level:
X-Spam-Status: No, score=-1.977 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7] autolearn=ham
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 kUVTvlE4xzM8 for <tls@ietfa.amsl.com>; Sat, 18 Oct 2014 09:11:41 -0700 (PDT)
Received: from mail-wi0-f182.google.com (mail-wi0-f182.google.com [209.85.212.182]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 86A6F1A19E4 for <tls@ietf.org>; Sat, 18 Oct 2014 09:11:41 -0700 (PDT)
Received: by mail-wi0-f182.google.com with SMTP id n3so3315449wiv.15 for <tls@ietf.org>; Sat, 18 Oct 2014 09:11:40 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc:content-type; bh=uhFBRahZvxe8X32G9jEZXqqEdcWr739HBOFBvoxf7ew=; b=QSiF/oUyg/lupNt+ER9AWjHZaB+6EtHfWejELaxgLN2iQ6vm87T7P45OQtet0SsR41 MkPEbrCe2bM9mXZs0UXcH0oc3h1kTiLO1xqLqqJy/PhqZwOB2dTowMDssXLHnkpnw80T acD1yPX9+RlCtOuBFN1ZhTTBlhImoY1XB4ERzO/0vb0P0DnVFo1xJEygCTGgViVvjc62 cJcZPNqTCeNPLvb5NZVSHIt73/kOVLqJEM+NUiaIcbaw9086DQjkoRON/74Hss+paTtW 92a8rujjKkOo8o+UuI+tnH1DYbn7jk/nb5TgKBwOlLXMdaNHC7HKGeReruK6SfUsv2Ka mpqQ==
X-Gm-Message-State: ALoCoQlEbEc0ZXud56+SJkAZdkmjY/y+o6285R9lE7GBY032SW99zWdbWO76cvyX8CsW/4Wg80Wt
X-Received: by 10.194.200.36 with SMTP id jp4mr4225454wjc.114.1413648700140; Sat, 18 Oct 2014 09:11:40 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.216.49.198 with HTTP; Sat, 18 Oct 2014 09:10:59 -0700 (PDT)
In-Reply-To: <CACsn0cmYs8TMeKcTvqxv1DUGizcp5k7uo86muoqYbGRH4xDQHA@mail.gmail.com>
References: <CABcZeBOdpK_JEH4EwnsoTA8Rje5pS5CtSbFGh8rHQzse92m9Wg@mail.gmail.com> <CACsn0cmYs8TMeKcTvqxv1DUGizcp5k7uo86muoqYbGRH4xDQHA@mail.gmail.com>
From: Eric Rescorla <ekr@rtfm.com>
Date: Sat, 18 Oct 2014 17:10:59 +0100
Message-ID: <CABcZeBMxw3Oz1U-6GeTAuUJ1bZbBYhRWsQgscrHFLcTHh=_H1g@mail.gmail.com>
To: Watson Ladd <watsonbladd@gmail.com>
Content-Type: multipart/alternative; boundary="047d7b8743f69c24560505b4bc95"
Archived-At: http://mailarchive.ietf.org/arch/msg/tls/eppfLOBIOAEGfzJ65BOd-M3WCus
Cc: "tls@ietf.org" <tls@ietf.org>
Subject: Re: [TLS] Refactoring client auth/re-key
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: Sat, 18 Oct 2014 16:11:43 -0000

Watson,

Thanks for your comments.

On Sat, Oct 18, 2014 at 4:15 PM, Watson Ladd <watsonbladd@gmail.com> wrote:

> On Sat, Oct 18, 2014 at 7:32 AM, Eric Rescorla <ekr@rtfm.com> wrote:
> >
> So I seem to remember DJB telling me that once you have a properly
> made channel via Diffie-Hellman, that authenticating requires just
> signing a value derived from the key. (Sadly I forgot/don't know the
> proof, so someone will have to check this or tell me I'm completely
> wrong) So we don't need the session hash to include the certificates,
> and so don't need to keep the running hash going past the first
> exchange.
>
> Concretely the idea would be as follows: A sends to B g^x, and B
> responds with g^y. Both calculate MS=H(g^xy, g^x, g^y). (Of course, we
> need to hash the actual messages.)
>
> At this point we can compute channel_AtoB_key=PRF(MS, "channel AtoB
> key"),  channel_BtoA_key=PRF(MS, "channel BtoA key"),
> A_authstr=PRF(MS, "A authstr"), B_authstr=PRF(MS, "B authstr"). The
> channel keys can be used to encrypt each side as in the proposal, and
> the authstrs can be signed and sent over the channel to provide a
> proof of identity.



Trying to think through this a bit, is this a generic comment on the
session-hash proposal even for TLS 1.2 where they are careful to
sign everything up to CertificateVerify? See:

https://tools.ietf.org/html/draft-ietf-tls-session-hash-02#section-4.1

Perhaps one of the authors of that document can weigh in here.

Best,
-Ekr