Re: [TLS] Allow KeyShare in HelloRetry if not advertised in ClientHello?

Eric Rescorla <ekr@rtfm.com> Tue, 07 March 2017 17:49 UTC

Return-Path: <ekr@rtfm.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 424CC1295FB for <tls@ietfa.amsl.com>; Tue, 7 Mar 2017 09:49:27 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.898
X-Spam-Level:
X-Spam-Status: No, score=-1.898 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=rtfm-com.20150623.gappssmtp.com
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 9WYyyOOTVcmO for <tls@ietfa.amsl.com>; Tue, 7 Mar 2017 09:49:25 -0800 (PST)
Received: from mail-ot0-x229.google.com (mail-ot0-x229.google.com [IPv6:2607:f8b0:4003:c0f::229]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 997341295ED for <tls@ietf.org>; Tue, 7 Mar 2017 09:49:25 -0800 (PST)
Received: by mail-ot0-x229.google.com with SMTP id o24so11053455otb.1 for <tls@ietf.org>; Tue, 07 Mar 2017 09:49:25 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rtfm-com.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=LJoKQ3GJ1A3LtfS4+NKebG6oyauM5+m0/GOfRBlU9AM=; b=QOrK8l1oSFrn9MKj6WdMvxRQJgo6oOMPp5PsN4MnYDPYy4NSJBSk785zFuJi2gcemr W94cYiMcmXQmY0u8NMz4MINzh60x+BJ0GKdpr+x0+COXVrs6ivNj7oYwDDz5w45ftAwS G5S39L5Nf7MYR/EL+4kdpZt+pY0Xzyij9NNM2LUyIpXIZRprIW07m12KqWDmtvXEEdol D9Ddxj11DhrHedMBJgWy5Xr+zem8q8aAANG5woM7a6GQEAewhju+KQ8ryaU+pBmbYGBo 4zddyEx+yvNWlGNxdU7cneNNbYTD4Y6Om1EX5Layfvva8Iesgzs4bHXiLj0Z8U75APjg VKtQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=LJoKQ3GJ1A3LtfS4+NKebG6oyauM5+m0/GOfRBlU9AM=; b=Jlg+K8WOmZi+OZYSaxHxZZkN4vRFckUnrLGchszrNcjSmmA0BH17uvg0r+1X9fKFVD u2SCzWHL9fIzj8mtm83voZDr3YY6M6Le5Y26JkGDNsHDMUR9UioEWZEvEHO705SLd2tu Bv+q4EDRBetnglJqboOf+Lj+5AFhUuBa9HehV6ehbuGniRHSxDb/Kb5AgpZDfBqDK6rn SUZoG3SE1hwQMgNs5CoVHe3W8iFntcmY4bErdAF1wT1OU1isD/pcU2Sj9yEQZ9UGRL/X qPG6V2YGRRBq42EPwChefCxozi2B0Cisf9V+W/Qu1iGWIfshUYtEYRHR2Vxx56FXmTw7 1eOg==
X-Gm-Message-State: AMke39mfC6z/SOH/MsMk2HX3k5F3oBiHQKlTw8akkYhDxgMJeXmz13+el6BqInxGAMlRpcyhYehv/nFFzce52A==
X-Received: by 10.129.108.214 with SMTP id h205mr490920ywc.71.1488908965008; Tue, 07 Mar 2017 09:49:25 -0800 (PST)
MIME-Version: 1.0
Received: by 10.129.154.210 with HTTP; Tue, 7 Mar 2017 09:48:44 -0800 (PST)
In-Reply-To: <B6B302EF-6836-4E50-B916-D9260C16D25B@symantec.com>
References: <B6B302EF-6836-4E50-B916-D9260C16D25B@symantec.com>
From: Eric Rescorla <ekr@rtfm.com>
Date: Tue, 7 Mar 2017 09:48:44 -0800
Message-ID: <CABcZeBPT7W=hY5KZVW=A-3FpzpY_c_Gj4Tfh+YzYBgNqrVcHfw@mail.gmail.com>
To: Roelof Du Toit <Roelof_Dutoit@symantec.com>
Content-Type: multipart/alternative; boundary=001a114e81dcf6b37b054a27a1cb
Archived-At: <https://mailarchive.ietf.org/arch/msg/tls/YhwMz9MFz5WRNmfmrjOP49EcDBU>
Cc: "tls@ietf.org" <tls@ietf.org>
Subject: Re: [TLS] Allow KeyShare in HelloRetry if not advertised in ClientHello?
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: Tue, 07 Mar 2017 17:49:27 -0000

On Tue, Mar 7, 2017 at 9:44 AM, Roelof Du Toit <Roelof_Dutoit@symantec.com>
wrote:

> All,
>
>
>
> The current language in https://tlswg.github.io/tls13-
> spec/#rfc.section.4.1.4 states:
>
> As with ServerHello, a HelloRetryRequest MUST NOT contain any extensions
> that were not first offered by the client in its ClientHello, with the
> exception of optionally the “cookie” (see Section 4.2.2
> <https://tlswg.github.io/tls13-spec/#cookie>) extension.
>
>
>
> I am analyzing the following message flow:
>
> ClientHello
>
> + early_data
>
> + psk_key_exchange_modes = psk_ke
>
> + pre_shared_key --------->
>
> (Early Data) ---------> *reject*
>
> <--------- HelloRetryRequest (not allowed to add key_share)
>
> ClientHello
>
> + supported_groups
>
> + key_share ---------> *not supported*
>
>
>
> At that point in the flow the server is not allowed to send another
> HelloRetryRequest.  To avoid that the client would need some hints in the
> HelloRetryRequest.
>
> Would it be possible to allow an exception to send key_share and/or
> supported_groups in a HelloRetryRequest if not offered in ClientHello?
>

I would prefer not. If the client is willing to do DH, it should offer
KeyShare in its initial ClientHello.

-Ekr


>
> Roelof du Toit
>
>
>
> _______________________________________________
> TLS mailing list
> TLS@ietf.org
> https://www.ietf.org/mailman/listinfo/tls
>
>