Re: [TLS] relax certificate_list requirements - opinion call (was Re: [tls13-spec] relax certificate_list ordering requirements to match current practice (#169)) I wonder if anyone is reading the full subject line or does it just get truncated at some poi

Dave Garrett <davemgarrett@gmail.com> Thu, 21 May 2015 02:15 UTC

Return-Path: <davemgarrett@gmail.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 C02C51ACE69 for <tls@ietfa.amsl.com>; Wed, 20 May 2015 19:15:56 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.6
X-Spam-Level:
X-Spam-Status: No, score=-0.6 tagged_above=-999 required=5 tests=[BAYES_05=-0.5, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, SPF_PASS=-0.001] 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 SrHYVVRf989O for <tls@ietfa.amsl.com>; Wed, 20 May 2015 19:15:54 -0700 (PDT)
Received: from mail-qc0-x22a.google.com (mail-qc0-x22a.google.com [IPv6:2607:f8b0:400d:c01::22a]) (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 A3B381ACE6D for <tls@ietf.org>; Wed, 20 May 2015 19:15:54 -0700 (PDT)
Received: by qctt3 with SMTP id t3so32850870qct.1 for <tls@ietf.org>; Wed, 20 May 2015 19:15:54 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:subject:date:user-agent:cc:references:in-reply-to :mime-version:content-type:content-transfer-encoding:message-id; bh=wW6uTZQPdRHSXiwwqeg6J6QoYGtTCHzAvvwp0n9FiqA=; b=CSEO1AVgr4c1aE4MCYLmbSfIBQl9w4M7DCUNV9vo67xjl8brp1HN53wj2+9Yu1tCG9 n/0zlORcg44bFODobviALgLz7YQxibDDGaOGVO1oSRMEMK8uDFcoGiC/N+ZNweeFsu4V yM5GFOy6VcBIS9pD3d6vKxN7teyNRZHQbTVJUQuBgceHMvjsobSpsFo56kzxiRAQPLtk lufsqD2u1prBxkHUDOkP1CWZkm0/ixwruslcIWWv9604tCXIHEmhCNBA0KFew5p5Kp/5 Gl5ludFgH6K5a7cWqcyxxxG6hZ1KuEHXnXEDfHSBCNYhXICF3WWdCkGY+Kch1yePKBOX sn8g==
X-Received: by 10.140.42.105 with SMTP id b96mr443362qga.105.1432174553990; Wed, 20 May 2015 19:15:53 -0700 (PDT)
Received: from dave-laptop.localnet (pool-96-245-254-195.phlapa.fios.verizon.net. [96.245.254.195]) by mx.google.com with ESMTPSA id k85sm12464727qkh.48.2015.05.20.19.15.53 (version=TLSv1 cipher=RC4-SHA bits=128/128); Wed, 20 May 2015 19:15:53 -0700 (PDT)
From: Dave Garrett <davemgarrett@gmail.com>
To: tls@ietf.org, mrex@sap.com
Date: Wed, 20 May 2015 22:15:51 -0400
User-Agent: KMail/1.13.5 (Linux/2.6.32-74-generic-pae; KDE/4.4.5; i686; ; )
References: <20150521002223.27E1F1B317@ld9781.wdf.sap.corp>
In-Reply-To: <20150521002223.27E1F1B317@ld9781.wdf.sap.corp>
MIME-Version: 1.0
Content-Type: Text/Plain; charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
Message-Id: <201505202215.52302.davemgarrett@gmail.com>
Archived-At: <http://mailarchive.ietf.org/arch/msg/tls/xOlea1Np_45UQUbnF7hr6HVPJt8>
Subject: Re: [TLS] relax certificate_list requirements - opinion call (was Re: [tls13-spec] relax certificate_list ordering requirements to match current practice (#169)) I wonder if anyone is reading the full subject line or does it just get truncated at some poi
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: <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: Thu, 21 May 2015 02:15:56 -0000

On Wednesday, May 20, 2015 08:22:23 pm Martin Rex wrote:
> Currently, the amount of TLS servers and TLS clients that are sending
> junk seems to either negigible small, or limited to pure Web-Browser to
> third-party Web-Server scenarios, i.e. pretty much none of our customers
> are trying to make our software interoperate with such clients or servers.
[...]
> For the handful of customers who had that interop problem, contacting
> the server admin and having them fix their server configuration was
> possible every time, and I could point to the spec after analyzing
> the problem to pass the blame.

Thank you for posting the actual concrete reason why you're opposing this.
That said, your argument is basically just that it doesn't affect you so it's
not worth dealing with. TLS is a general security protocol used on the Web,
not just by your customers. In the same way that IoT people will have to
deal with stuff that isn't ideal for tiny embedded systems, people not
accustomed to the mess that is the Web will have to deal with stuff that
isn't ideal for people who can actually contact server admins every time.

The ability to reliably contact server admins to deal with interop reports
from users sounds wonderful, but it's a fantasy to us trying to triage the
mess on the Web side of the spectrum. Seriously; we're not debating
this issue from the same world, but TLS has to operate in both.

Also, I don't care about blame; I don't want to pass the buck; I just want
the thing to work (without affecting security, which this does not).

> in the installed base -- which is going to create interoperability
> problems and headaches as a result.

You're worried about creating the reality that already exists.

(replying to quote out of order)
> Not adhering to the requirements will cause *REAL* interoperability
> problems in the installed base, because there are implementations
> that will fail if TLS peers start sending junk.  For 13 years,
> our implementation was very strict and tolerated not even duplicates
> nor incorrect order of path certificates

The requirements are still a SHOULD, though. As said elsewhere, unless
an actual case as to why not to can be provided, a SHOULD should be
interpreted as a MUST. In your case of an admin screw up, you still can
point at it and say "I told you so". (Though, I'd much rather the server
implementor fix the fact that the admin was capable of configuring it
wrongly in the first place.) If you get a list you can't parse because
of two intermediates that are different but both valid, yeah, you'll
want to update your implementations to handle that.

If you want a hard requirement of an aborted handshake and error
message on something stupid like an exact duplicate, I'd actually
be on your side for that one, but I suspect others would not be.

> For those who have been and still are ignoring the requirements in
> the specification today, why do you need these requirements changed?

I'm going to point to Ryan's big post again:
https://www.ietf.org/mail-archive/web/tls/current/msg16238.html

If all paths the server has can be provided to the client, then various
different clients with different capabilities can all be supported, and
the server can transition to newer capabilities with less breakage.
This is directly helpful to adoption rates in the real world. A tactic
of forcing everyone to "Break the Web" and just cut off the old stuff all
at once might actually be a better idea, but you try convincing anyone
to actually do that. We can't even kill off stuff like insecure fallback that
was _never_ legitimate. :/


Dave