Re: [TLS] MUST <x> or what?

Eric Rescorla <ekr@rtfm.com> Thu, 27 August 2015 20:07 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 5D98C1A87C9 for <tls@ietfa.amsl.com>; Thu, 27 Aug 2015 13:07:26 -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 uzLZfuSFJutK for <tls@ietfa.amsl.com>; Thu, 27 Aug 2015 13:07:24 -0700 (PDT)
Received: from mail-wi0-f182.google.com (mail-wi0-f182.google.com [209.85.212.182]) (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 0253A1A8711 for <tls@ietf.org>; Thu, 27 Aug 2015 13:07:24 -0700 (PDT)
Received: by widdq5 with SMTP id dq5so2633970wid.0 for <tls@ietf.org>; Thu, 27 Aug 2015 13:07:22 -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=Jm22WbWvt1izbSVu10uRzoq/CM4ztqtFqR8Xi5b4uOs=; b=HuHPEFcgwoVacVMthFs1uw61N3e/YY8wqCtqPUb/gvcLn5OYcoerQORU6fAyI9iAE5 B7bqlFVl/5ExSFAcqJ3UwOPyLJgN1CzwJiuwANEgovqVnshycxnsBu7TIeaWcV5JVV6v 3AN/quX7b/ND6RZeHwxApOzD2vHHUWGHdEKzgDTeluK0iTFdLUTA0FYNE2uKIk1q49VZ NvmsgPI4ekarVi9COHkd0hpi3OX0UIyYojOR4BeUaWIjXZVTF4psEIpgYXC3+H4tx8R/ G1YpHEckMawM6mnYm3QbabynARqfWAMkd4w1ftH5aTJcnor3stcNgxvR91LiUYPGq46K cXUA==
X-Gm-Message-State: ALoCoQma9B/m16xpb5phjypz+NUKb10+080mePqoj3cS6C+EPjap4weMbnbTx4WRP7lGhio4BJjM
X-Received: by 10.180.74.148 with SMTP id t20mr359362wiv.31.1440706042694; Thu, 27 Aug 2015 13:07:22 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.27.179.221 with HTTP; Thu, 27 Aug 2015 13:06:43 -0700 (PDT)
In-Reply-To: <CABkgnnXkta_mHK_k6a+RuDLnH1YFJSbjKQ+2SgF6QmEzLM6OTA@mail.gmail.com>
References: <CABkgnnXFyuf_3pPs8ByJpbOGgPDb2XMfVOZAUA42bmJEB_Vynw@mail.gmail.com> <201508271519.49848.davemgarrett@gmail.com> <CABcZeBM5SiO1dh2YxkLcmgspYm-Ug3p_mWs_OypKiHcK-iqD_w@mail.gmail.com> <201508271551.42561.davemgarrett@gmail.com> <CABkgnnXkta_mHK_k6a+RuDLnH1YFJSbjKQ+2SgF6QmEzLM6OTA@mail.gmail.com>
From: Eric Rescorla <ekr@rtfm.com>
Date: Thu, 27 Aug 2015 13:06:43 -0700
Message-ID: <CABcZeBPPRmS_KayaAcvhpKvDifWXYh77_jp0ZJYdZ11sGqOsPg@mail.gmail.com>
To: Martin Thomson <martin.thomson@gmail.com>
Content-Type: multipart/alternative; boundary="f46d043c7f5ce6ba02051e508318"
Archived-At: <http://mailarchive.ietf.org/arch/msg/tls/jFk25Ufg280-Mr9A50BKZdq2VvU>
Cc: "tls@ietf.org" <tls@ietf.org>
Subject: Re: [TLS] MUST <x> or what?
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: <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: Thu, 27 Aug 2015 20:07:26 -0000

On Thu, Aug 27, 2015 at 1:06 PM, Martin Thomson <martin.thomson@gmail.com>
wrote:

> The statement I'd like to see is something like this...
>
> An endpoint that receives an illegal combination of "things" MAY choose to
> treat that as a fatal error.
>
This seems totally reasonable.

-Ekr


> In this case, that means that if you include an ECDHE suite without an
> ECDHE named_group, don't expect to have the connection succeed.
> On Aug 27, 2015 12:51 PM, "Dave Garrett" <davemgarrett@gmail.com> wrote:
>
>> On Thursday, August 27, 2015 03:26:03 pm Eric Rescorla wrote:
>> > My problem is precisely the conflation of offering with negotiating.
>> The way that
>> > many stacks work (for instance NSS) is that they negotiate the cipher
>> suite
>> > *first* and then they check for the presence or absence of the relevant
>> extensions.
>> > It's not clear to me that it's an improvement to require them to check
>> for error
>> > conditions that are not otherwise relevant.
>>
>> I'm not fundamentally opposed to having a hard requirement of an error
>> check on negotiation, and basically a soft expectation on mere offering
>> (SHOULD, MAY, or not mentioned; stern warning and shake of finger). That
>> said, categorizing the cipher suites and just doing a quick check for which
>> categories are there and what extensions came with it is not a very
>> complicated requirement. I'm philosophically in the "do it right or explode
>> so it can be found and fixed immediately" camp when it comes to very clear
>> requirements like this, but I'm aware that this is sadly not always the
>> dominant thought process. :|
>>
>>
>> Dave
>>
>