Re: [TLS] Server validation of a second ClientHello

Benjamin Kaduk <bkaduk@akamai.com> Wed, 13 February 2019 15:04 UTC

Return-Path: <bkaduk@akamai.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 A03F412867A for <tls@ietfa.amsl.com>; Wed, 13 Feb 2019 07:04:59 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.702
X-Spam-Level:
X-Spam-Status: No, score=-2.702 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=akamai.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 4Z4Yf5j0OS5N for <tls@ietfa.amsl.com>; Wed, 13 Feb 2019 07:04:58 -0800 (PST)
Received: from mx0a-00190b01.pphosted.com (mx0a-00190b01.pphosted.com [IPv6:2620:100:9001:583::1]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id EA917126C7E for <tls@ietf.org>; Wed, 13 Feb 2019 07:04:56 -0800 (PST)
Received: from pps.filterd (m0122332.ppops.net [127.0.0.1]) by mx0a-00190b01.pphosted.com (8.16.0.27/8.16.0.27) with SMTP id x1DF1Ufx014733; Wed, 13 Feb 2019 15:04:56 GMT
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=akamai.com; h=date : from : to : cc : subject : message-id : references : mime-version : content-type : in-reply-to; s=jan2016.eng; bh=wD5SmBq6M3v6T4uuFZ7Vn9yeN8SwOJih+NhFkhOeLB0=; b=GlhFKV6CdWqQecWfmpIjcz1UuwfXhz/FcjlAHYm0M/9Opm6zxBaZtZB7pAZniHUpbuPa ZoakIF36FubRajuFeaXdmFlvCvlyvJeUX0Q9Qt4zXWtv9eRitDkRmPPiuSDQMRj4/hKj f1dLkVRGzsv8JcAGs/FJfETX0GnZ6chOHSpAQdHznvQWCeRHArXWTZr3LrG6Gam7Amzn Qm2iuCeWLORt08MCGYBL/PR1otjrbb9RKqssSpYzPsKCBrvi1DFI2dOa1qFxfV/dkfO1 4TYKlU96W0HNVexVk1DNaRbVGIY1QvZNaoqcYS0XdDLI/7j7AaUKKPZmxkq2d2FCA9ke vQ==
Received: from prod-mail-ppoint1 (prod-mail-ppoint1.akamai.com [184.51.33.18]) by mx0a-00190b01.pphosted.com with ESMTP id 2qm9mj9ys0-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 13 Feb 2019 15:04:56 +0000
Received: from pps.filterd (prod-mail-ppoint1.akamai.com [127.0.0.1]) by prod-mail-ppoint1.akamai.com (8.16.0.27/8.16.0.27) with SMTP id x1DF1hmD024650; Wed, 13 Feb 2019 10:04:55 -0500
Received: from prod-mail-relay11.akamai.com ([172.27.118.250]) by prod-mail-ppoint1.akamai.com with ESMTP id 2qhu319emv-1; Wed, 13 Feb 2019 10:04:55 -0500
Received: from bos-lpczi.kendall.corp.akamai.com (bos-lpczi.kendall.corp.akamai.com [172.19.17.86]) by prod-mail-relay11.akamai.com (Postfix) with ESMTP id 060151FC74; Wed, 13 Feb 2019 15:04:55 +0000 (GMT)
Received: from bkaduk by bos-lpczi.kendall.corp.akamai.com with local (Exim 4.86_2) (envelope-from <bkaduk@akamai.com>) id 1gtw5m-00074x-BW; Wed, 13 Feb 2019 09:04:54 -0600
Date: Wed, 13 Feb 2019 09:04:54 -0600
From: Benjamin Kaduk <bkaduk@akamai.com>
To: Martin Thomson <mt@lowentropy.net>
Cc: Hubert Kario <hkario@redhat.com>, tls@ietf.org
Message-ID: <20190213150454.GH13623@akamai.com>
References: <1549596678.898774.1653407000.2B2ACE8E@webmail.messagingengine.com> <3192766.6rApcoU5jf@pintsize.usersys.redhat.com> <1549842219.465443.1655100776.7BADB4DA@webmail.messagingengine.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <1549842219.465443.1655100776.7BADB4DA@webmail.messagingengine.com>
User-Agent: Mutt/1.5.24 (2015-08-30)
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:, , definitions=2019-02-13_08:, , signatures=0
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 malwarescore=0 phishscore=0 bulkscore=0 spamscore=0 mlxscore=0 mlxlogscore=810 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1810050000 definitions=main-1902130109
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:, , definitions=2019-02-13_08:, , signatures=0
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 priorityscore=1501 malwarescore=0 suspectscore=0 phishscore=0 bulkscore=0 spamscore=0 clxscore=1011 lowpriorityscore=0 mlxscore=0 impostorscore=0 mlxlogscore=836 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1810050000 definitions=main-1902130109
Archived-At: <https://mailarchive.ietf.org/arch/msg/tls/a_93g_5zf4SUMuUreNmiZ8Gcnzg>
Subject: Re: [TLS] Server validation of a second ClientHello
X-BeenThere: tls@ietf.org
X-Mailman-Version: 2.1.29
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: Wed, 13 Feb 2019 15:05:00 -0000

On Mon, Feb 11, 2019 at 10:43:39AM +1100, Martin Thomson wrote:
> On Fri, Feb 8, 2019, at 23:53, Hubert Kario wrote:
> 
> > > If we require or allow checking - and I think that we should definitely
> > > allow a check - the details of the conditions under which a check might
> > > fail aren't completely obvious for new extensions.  A new extension might
> > > be defined that has special handling in HelloRetryRequest, so it might be
> > > reasonable to allow new extensions to be changed.
> > 
> > yes, and we already had discussion on this ML about this: if the extension 
> > needs to change (based on protocol definition), the server MUST include it in 
> > HRR to signal to client, "yes, I do know about it, you can update it" and 
> > client MUST NOT change it otherwise
> 
> I remember having that discussion, but I guess the only way it made it into the spec was as:
> 
>    -  Other modifications that may be allowed by an extension defined in
>       the future and present in the HelloRetryRequest.
> 
> Which isn't particularly direct, but I guess that's enough.

I think I pressed for that text, on the grounds that the core spec should state the
core expectations but try to assume as little as possible about future extensions' needs.
It's pretty clear that this implies that (with the current set of extensions) a current
server can rely on the "only extensions in HRR can change" property (modulo the existing
exceptions in the core spec).

-Ben