Re: [TLS] Comments on draft-rescorla-tls-renegotiate, and a new proposal

David-Sarah Hopwood <david-sarah@jacaranda.org> Sat, 14 November 2009 22:08 UTC

Return-Path: <djhopwood@googlemail.com>
X-Original-To: tls@core3.amsl.com
Delivered-To: tls@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 305353A6359 for <tls@core3.amsl.com>; Sat, 14 Nov 2009 14:08:39 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.599
X-Spam-Level:
X-Spam-Status: No, score=-2.599 tagged_above=-999 required=5 tests=[BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id qyHtpNjAOmRY for <tls@core3.amsl.com>; Sat, 14 Nov 2009 14:08:38 -0800 (PST)
Received: from ey-out-2122.google.com (ey-out-2122.google.com [74.125.78.24]) by core3.amsl.com (Postfix) with ESMTP id B29443A679C for <tls@ietf.org>; Sat, 14 Nov 2009 14:08:37 -0800 (PST)
Received: by ey-out-2122.google.com with SMTP id 9so1427891eyd.51 for <tls@ietf.org>; Sat, 14 Nov 2009 14:09:05 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=gamma; h=domainkey-signature:received:received:sender:message-id:date:from :user-agent:mime-version:to:subject:references:in-reply-to :x-enigmail-version:content-type; bh=6+st7AeY7Z6/7/tQqIVcDq4f2wbr6saMw5dOg2tSJN0=; b=XjJLR36Y1OnoW3z1M/yhtC7EF9R8kGruVEhJb/p5hfFweA5rkomAso2st2Oxf/1wr2 QULBei7+WbdHjP4r3JfCT3oLJjBjIGAG5DOZpbhUwk2q9rYHEC1UnuW4vq60izdEi+vh FqWYt6BRp2nzkdoRYCrtfApVi326fXTMKBgNo=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=googlemail.com; s=gamma; h=sender:message-id:date:from:user-agent:mime-version:to:subject :references:in-reply-to:x-enigmail-version:content-type; b=oKMLlQ+NUnm/8fkW03rj+no/Nfkjv7HRO68f6l1V3Zo2tMzuJSe/ZTLCT6OUldWFsD z7wqSVPpS4P9XWZ72S6GMBaJsRXyrlnlQtKFlevQEpkAec3++QxCxl4tRbYS9uSK11os xE9ykrdVRT8XrfpV4l8N3wGD71NlIEN1UZvWA=
Received: by 10.213.23.155 with SMTP id r27mr3927208ebb.25.1258236545880; Sat, 14 Nov 2009 14:09:05 -0800 (PST)
Received: from ?192.168.0.2? (5e01843c.bb.sky.com [94.1.132.60]) by mx.google.com with ESMTPS id 5sm2804972eyh.18.2009.11.14.14.09.04 (version=TLSv1/SSLv3 cipher=RC4-MD5); Sat, 14 Nov 2009 14:09:05 -0800 (PST)
Sender: David-Sarah Hopwood <djhopwood@googlemail.com>
Message-ID: <4AFF2A80.2010908@jacaranda.org>
Date: Sat, 14 Nov 2009 22:09:04 +0000
From: David-Sarah Hopwood <david-sarah@jacaranda.org>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; en-GB; rv:1.8.1.3) Gecko/20070326 Thunderbird/2.0.0.0 Mnenhy/0.7.5.666
MIME-Version: 1.0
To: tls@ietf.org
References: <73843DF9-EFCB-4B8D-913E-FE2235E5BDD3@rtfm.com> <20091113005419.GQ1105@Sun.COM> <4AFE1408.9040706@jacaranda.org> <4AFE4091.10005@jacaranda.org> <4AFE5673.9080101@jacaranda.org> <20091114084358.GG1105@Sun.COM>
In-Reply-To: <20091114084358.GG1105@Sun.COM>
X-Enigmail-Version: 0.96.0
Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="------------enig12B39FE0BF2FE90A6AEEA721"
Subject: Re: [TLS] Comments on draft-rescorla-tls-renegotiate, and a new proposal
X-BeenThere: tls@ietf.org
X-Mailman-Version: 2.1.9
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/listinfo/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, 14 Nov 2009 22:08:39 -0000

Nicolas Williams wrote:
> On Sat, Nov 14, 2009 at 07:04:19AM +0000, David-Sarah Hopwood wrote:
>> Still, that's no worse than the situation with the current
>> draft-rescorla-tls-renegotiate. So I think that what I suggested:
>>
>>> [...] only use an extension
>>> as an advisory of patched status (i.e. say that an empty extension SHOULD
>>> be sent if patched), but add the verify_data into the Finished hashes
>>> unconditionally (i.e. as a MUST) for renegotiating handshakes. Then, the
>>> concerns about extensions potentially breaking some servers, and the
>>> concerns about lack of an extension potentially resulting in a security
>>> weakness (due to a client being unable to tell whether a server is patched),
>>> would only arise in mutually exclusive sets of cases.
>> is still an overall improvement.
> 
> I think that adding to my proposed fix an _optional_ signal in the
> client's hello (and, correspondingly, in the server hello), would be
> just fine.  I don't believe it's necessary.

So we differ on whether sending signals in the hello messages is a "MAY"
or a "SHOULD". Here are the key-word definitions from RFC 2119:

# 1. MUST   This word, or the terms "REQUIRED" or "SHALL", mean that the
#    definition is an absolute requirement of the specification.

# 3. SHOULD   This word, or the adjective "RECOMMENDED", mean that there
#    may exist valid reasons in particular circumstances to ignore a
#    particular item, but the full implications must be understood and
#    carefully weighed before choosing a different course.

# 5. MAY   This word, or the adjective "OPTIONAL", mean that an item is
#    truly optional.  One vendor may choose to include the item because a
#    particular marketplace requires it or because the vendor feels that
#    it enhances the product while another vendor may omit the same item.
#    An implementation which does not include a particular option MUST be
#    prepared to interoperate with another implementation which does
#    include the option, though perhaps with reduced functionality. In the
#    same vein an implementation which does include a particular option
#    MUST be prepared to interoperate with another implementation which
#    does not include the option (except, of course, for the feature the
#    option provides.)

Since this can affect security and not just functionality, I think that
SHOULD is clearly appropriate here (but MUST is not).

-- 
David-Sarah Hopwood  ⚥  http://davidsarah.livejournal.com