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

David-Sarah Hopwood <> Sat, 14 November 2009 22:08 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 305353A6359 for <>; Sat, 14 Nov 2009 14:08:39 -0800 (PST)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -2.599
X-Spam-Status: No, score=-2.599 tagged_above=-999 required=5 tests=[BAYES_00=-2.599]
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id qyHtpNjAOmRY for <>; Sat, 14 Nov 2009 14:08:38 -0800 (PST)
Received: from ( []) by (Postfix) with ESMTP id B29443A679C for <>; Sat, 14 Nov 2009 14:08:37 -0800 (PST)
Received: by with SMTP id 9so1427891eyd.51 for <>; Sat, 14 Nov 2009 14:09:05 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; 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;; 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 with SMTP id r27mr3927208ebb.25.1258236545880; Sat, 14 Nov 2009 14:09:05 -0800 (PST)
Received: from ? ( []) by with ESMTPS id 5sm2804972eyh.18.2009. (version=TLSv1/SSLv3 cipher=RC4-MD5); Sat, 14 Nov 2009 14:09:05 -0800 (PST)
Sender: David-Sarah Hopwood <>
Message-ID: <>
Date: Sat, 14 Nov 2009 22:09:04 +0000
From: David-Sarah Hopwood <>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; en-GB; rv: Gecko/20070326 Thunderbird/ Mnenhy/
MIME-Version: 1.0
References: <> <20091113005419.GQ1105@Sun.COM> <> <> <> <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-Mailman-Version: 2.1.9
Precedence: list
List-Id: "This is the mailing list for the Transport Layer Security working group of the IETF." <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-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  ⚥