Re: [art] On BCP 190

Mark Nottingham <mnot@mnot.net> Wed, 24 July 2019 17:59 UTC

Return-Path: <mnot@mnot.net>
X-Original-To: art@ietfa.amsl.com
Delivered-To: art@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 324CE12015B for <art@ietfa.amsl.com>; Wed, 24 Jul 2019 10:59:32 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.7
X-Spam-Level:
X-Spam-Status: No, score=-2.7 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=mnot.net header.b=OOWF+txr; dkim=pass (2048-bit key) header.d=messagingengine.com header.b=QeL5eH2q
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 LEpHdRdZ-r8x for <art@ietfa.amsl.com>; Wed, 24 Jul 2019 10:59:29 -0700 (PDT)
Received: from wout2-smtp.messagingengine.com (wout2-smtp.messagingengine.com [64.147.123.25]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 38632120059 for <art@ietf.org>; Wed, 24 Jul 2019 10:59:29 -0700 (PDT)
Received: from compute3.internal (compute3.nyi.internal [10.202.2.43]) by mailout.west.internal (Postfix) with ESMTP id 616B33F1; Wed, 24 Jul 2019 13:59:28 -0400 (EDT)
Received: from mailfrontend2 ([10.202.2.163]) by compute3.internal (MEProxy); Wed, 24 Jul 2019 13:59:28 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mnot.net; h= content-type:mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; s=fm3; bh=C UEBiFzsWGSPjquvLspoJv4lqp1KFAfoURxJNSkF0V0=; b=OOWF+txrBLK6fNP09 OVBEmh3FL25dLpsFEIudV+FtUJSBhkk8nIN3zQIDPF0pkGwS9Z6XTR2tCFq2r0iv o5voxk+6W745/9qY3p8/6EmkNR7LRBGx9hl1C9CCbQPgdEzLulT5T11T9REiVlw6 kIZUVkdn8oPBSw8L1mg9IrUF5cc6cgP+kMFX26sIlywgahJSGR7m2CTgAxv/mpDI Y/s5hOQYecc14Enmd62YzY+mDfmiM5nOxFSW0CSMOrkCz1VYY7+DmGMyT2VJW2Ro X8N+HijJTa/V6ybmvVSgUv8OdgBKh+/bHLyl2/oocGx6dTq+qhcixmdeUScM3Dda UX9jA==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:content-type :date:from:in-reply-to:message-id:mime-version:references :subject:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender :x-sasl-enc; s=fm3; bh=CUEBiFzsWGSPjquvLspoJv4lqp1KFAfoURxJNSkF0 V0=; b=QeL5eH2qLLFuX8v4XE3yXcp9kvaGTweDcLhGbbxDTUGVVtIzAN6Q3sOrc lwI+UkwTare6VSL4Gm3TAFS0O3Yp2DqMwbpimmhdMmgCqEGDRpouDCk7UXG/gWiz F8BuWBbtbYY+U8XyX07ghikoITigSt/FHrR0nb+waj238UXHiA5mMpKOOBwlPo8e GupHcB3YXk9k+gG6QbNB4QWyLWJLLNpuzWC8zBkOSjhOwfIc2/mWofCT71xy8uP+ bjjI5/f1kTjJaardWRlpHzYOKq7/43tVsmAGaBlySsJ//K19BTCDnmXKbTvyv3Ia eD6r/4K4s4E5C4mUMZbhbyUc7bVjA==
X-ME-Sender: <xms:fpw4XZjxrC2nVhN5x1DaMu3Hx1GHktW0EIXWztM8JcTM7UJ5iDTGhg>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeduvddrkedtgdduudegucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurheptggguffhjgffgffkfhfvofesthhqmhdthhdtvdenucfhrhhomhepofgrrhhk ucfpohhtthhinhhghhgrmhcuoehmnhhothesmhhnohhtrdhnvghtqeenucffohhmrghinh eptggvrhhtihhfihgtrghtvgdqthhrrghnshhprghrvghntgihrdhorhhgpdhmnhhothdr nhgvthenucfkphepfedurddufeefrdduheehrddvgeeknecurfgrrhgrmhepmhgrihhlfh hrohhmpehmnhhothesmhhnohhtrdhnvghtnecuvehluhhsthgvrhfuihiivgeptd
X-ME-Proxy: <xmx:fpw4XWb2LmE2jUy7zL5HhTYwELa-zAnTCurJqfWyP5uIxcoxGBiLYg> <xmx:fpw4XTXTnc0BgGucwJeUB3ee6kRulirKUjhfGJmKw6Mk8g2ou3WroA> <xmx:fpw4XS2VrxpZ7OLN224mzcBuotcQr_86VrPnCeN1eDMqu_pmQKiPNw> <xmx:f5w4XUdBSFg8-21-jkhaV5ywVmTAFWETqs1yb19UCtGsvNh9WTIiAQ>
Received: from dhcp-9bf8.meeting.ietf.org (dhcp-9bf8.meeting.ietf.org [31.133.155.248]) by mail.messagingengine.com (Postfix) with ESMTPA id 9B411380079; Wed, 24 Jul 2019 13:59:26 -0400 (EDT)
Content-Type: text/plain; charset="us-ascii"
Mime-Version: 1.0 (Mac OS X Mail 12.4 \(3445.104.11\))
From: Mark Nottingham <mnot@mnot.net>
In-Reply-To: <CAN3x4QmJsfx48MdhcBB+XWX+vfv=skSR2Z6kNPBWGVobvzNuFA@mail.gmail.com>
Date: Wed, 24 Jul 2019 13:59:25 -0400
Cc: ART Area <art@ietf.org>, Devon O'Brien <devon.obrien@gmail.com>
Content-Transfer-Encoding: quoted-printable
Message-Id: <D2286E82-7050-4A67-8C96-747465082F55@mnot.net>
References: <58BF6171-03BB-4F83-940F-3A101EFDD67F@mnot.net> <CAN3x4Q=Jo1uBvfCG6CSrociYgdG+E4jq+4cB1txPjgboth2q9g@mail.gmail.com> <372FA049-7B33-4981-A0E0-41BD454CB770@mnot.net> <CAN3x4QmJsfx48MdhcBB+XWX+vfv=skSR2Z6kNPBWGVobvzNuFA@mail.gmail.com>
To: Jacob Hoffman-Andrews <jsha@letsencrypt.org>
X-Mailer: Apple Mail (2.3445.104.11)
Archived-At: <https://mailarchive.ietf.org/arch/msg/art/tV0HWWiWeiXo5VmCRL166VTI_DU>
Subject: Re: [art] On BCP 190
X-BeenThere: art@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Applications and Real-Time Area Discussion <art.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/art>, <mailto:art-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/art/>
List-Post: <mailto:art@ietf.org>
List-Help: <mailto:art-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/art>, <mailto:art-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 24 Jul 2019 17:59:32 -0000


> On 24 Jul 2019, at 1:49 pm, Jacob Hoffman-Andrews <jsha@letsencrypt.org> wrote:
> 
> On Wed, Jul 24, 2019 at 10:24 AM Mark Nottingham <mnot@mnot.net> wrote:
> > It's this part of BCP 190 Section 2.3 that is causing the issue:
> > 
> > >  Specifying a fixed path relative to another (e.g., {whatever}/myapp)
> > >  is also bad practice (even if "whatever" is discovered as suggested
> > >   in Section 3); while doing so might prevent collisions, it does not
> > >   avoid the potential for operational difficulties (for example, an
> > >   implementation that prefers to use query processing instead, because
> > >   of implementation constraints).
> > 
> > To be clear, the "whatever" in this case is referred to as <log server> in CT, and is discovered via the known logs list (https://www.certificate-transparency.org/known-logs) and browser CT programs.
> 
> Yes -- and this text should definitely be considered when revising 190. Like I said, we've moved on a fair amount since then (although we still have a ways to go). 
> 
> One thing I'd like to see in a revision is a clearer separation between "you're potentially harming others by doing this; don't do it" and "you're potentially harming yourself by doing this; think carefully before proceeding."
> 
> Which category to you think that paragraph of Section 2.3 (call it 2.3b) belongs to? It sounds like it belongs to the "harming yourself" category, which means that it's not actually protecting a commons.

Probably the latter. That's just my opinion, though -- which is why if you want to go down the exception path, the best thing to do would be to coordinate with the AD and figure out what that's going to take.

> And to be clear, even though 2.3b sounds advisory-only, it's this clause at the top of Section 2.3 that has broader normative language:
> 
> > specifications MUST NOT constrain,
> >   or define the structure or the semantics for any path component.

Yep.

> a) that some people don't have access to .well-known on their servers -- but this seems like a very poor argument for this particular use case.
> 
> Andrew Ayer presented one concrete case where the use of .well-known presented implementation difficulties for Google, a company that presumably has full control over its servers. I don't know the details of why, but I can guess: .well-known is dangerous. As a hosting provider, allowing users to upload abritrary files to /.well-known/acme-challenge means the users can get certificates for the hosted domain name. Probably there are other security-relevant things under /.well-known/. The safe and reasonable thing is to just block access to /.well-known/. I would guess that Google's security team has set a policy: All access to .well-known is blocked at the frontends unless it's gone through a detailed review.

Having a local policy for control of the name space of a web server seems like a good thing. I'm not finding that a particularly convincing reason -- especially when the review will likely amount to "consult the RFC."  Shrug.

> So we have advice in BCP 190 meant to ensure that protocols allow implementers to implement any way they want (e.g. with query parameters to represent semantics). But instead, the advice to require /.well-known/ is creating practical barriers for implementers to implement things in the way they want.

Going from "google has a policy for their web servers" to "practical barriers" for the entire protocol seems like a long bow to draw. 


Cheers,

--
Mark Nottingham   https://www.mnot.net/