Re: [Trans] Directory instead of .well-known for URL structure

Ryan Sleevi <ryan-ietf@sleevi.com> Tue, 09 July 2019 05:21 UTC

Return-Path: <ryan.sleevi@gmail.com>
X-Original-To: trans@ietfa.amsl.com
Delivered-To: trans@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 545911201D0 for <trans@ietfa.amsl.com>; Mon, 8 Jul 2019 22:21:25 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.107
X-Spam-Level:
X-Spam-Status: No, score=-0.107 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, FREEMAIL_FORGED_FROMDOMAIN=0.247, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.249, HTML_MESSAGE=0.001, PDS_NO_HELO_DNS=1.295, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=no autolearn_force=no
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 KAy-o3yzNZ21 for <trans@ietfa.amsl.com>; Mon, 8 Jul 2019 22:21:24 -0700 (PDT)
Received: from mail-ed1-f52.google.com (mail-ed1-f52.google.com [209.85.208.52]) (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 9F73A1200EC for <trans@ietf.org>; Mon, 8 Jul 2019 22:21:23 -0700 (PDT)
Received: by mail-ed1-f52.google.com with SMTP id w20so16505729edd.2 for <trans@ietf.org>; Mon, 08 Jul 2019 22:21:23 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=pEMlajfhqyAbNiKl9WgyEahbmX5/kwZWkMvAn8SUhFI=; b=GSkHUnqE9iUvLA6T2acFBMFN7vfFY+gty94OnJp+TZYDNGyvTZWDzBcpjg3mvEYNJ6 ui23H15NMCv5MddSzyQWO8+PeHjtYlj0x1Br3gUOFshEB9veLBzbGLEqxVq51v5h8KXO qltRsgJ3r/nwRAOBznYMG8zNsEm/A6iH2gQHtGN3hopGyLMSzdZBPrfHZ5+tNd8XSlJN boVvspjd50x02b6l4qwUUiA82ypFHBva/vO+Jy3UE4CP+4rffuAbCTRuOOsIXUOuwAME SsniIFxImgB8nzQhKBz51HsOsCaHBWEP+TfgEEFqk1mtQST1n+H1Q3sAfQIpnk+Pnahp 1UPA==
X-Gm-Message-State: APjAAAWdVzvtEbp9ZjfHQiZJ/SkQk/ySSVf1rr7gh9OkGq4LVCCy292J n0nTQUCqY2ARcfAddzyx6aNeL5A7
X-Google-Smtp-Source: APXvYqzglktECYyYf6882m4n92jAYKnqAfBsn03xkHc7F5UuqYKr/+WlmJfUxLTCCTEhr2oRtcMhgA==
X-Received: by 2002:a17:906:4354:: with SMTP id z20mr19276418ejm.163.1562649681729; Mon, 08 Jul 2019 22:21:21 -0700 (PDT)
Received: from mail-wr1-f43.google.com (mail-wr1-f43.google.com. [209.85.221.43]) by smtp.gmail.com with ESMTPSA id q18sm3808481ejm.5.2019.07.08.22.21.21 for <trans@ietf.org> (version=TLS1_3 cipher=AEAD-AES128-GCM-SHA256 bits=128/128); Mon, 08 Jul 2019 22:21:21 -0700 (PDT)
Received: by mail-wr1-f43.google.com with SMTP id g17so9323447wrr.5 for <trans@ietf.org>; Mon, 08 Jul 2019 22:21:21 -0700 (PDT)
X-Received: by 2002:adf:ab4a:: with SMTP id r10mr20569075wrc.95.1562649680963; Mon, 08 Jul 2019 22:21:20 -0700 (PDT)
MIME-Version: 1.0
References: <0d5e05fc-8f1e-54b5-536d-231153e7baf7@eff.org> <20190701123701.b3ba6b44ef85a74da6209e64@andrewayer.name> <2cbff182-7c7a-4c55-b2d2-a67f41dd7436@sectigo.com> <CAPbZxJTvk805WtR6FF8xUR0GS=E9gcEMphJR658GuTN8V0h_qg@mail.gmail.com> <047d5a04-4176-6651-b200-6ce7ce8a8266@sectigo.com> <CALzYgEc_aE+pcB-Y59VsG-s9PHyEW=94vUQdWZ7o-PvOra9PmQ@mail.gmail.com> <20190703092938.a19bf6ad88155f0b82c9fca5@andrewayer.name> <83f686e3-4e15-32a1-5a5f-ffb90822ae89@sectigo.com> <CALzYgEdQg1scqdMkeD3MCXkn_tGWG65U3Kq2ci5J-tfUXp0zSQ@mail.gmail.com> <8eb2939b-c6b1-a80b-787f-4d3c02b73f8b@sectigo.com> <20190708175745.563c1e39f82c3b176900043e@andrewayer.name>
In-Reply-To: <20190708175745.563c1e39f82c3b176900043e@andrewayer.name>
From: Ryan Sleevi <ryan-ietf@sleevi.com>
Date: Tue, 09 Jul 2019 01:21:11 -0400
X-Gmail-Original-Message-ID: <CAErg=HHHCX+mRbLpEFWNN2us1zaDL6f3tZi=jD603sjyFHHZmg@mail.gmail.com>
Message-ID: <CAErg=HHHCX+mRbLpEFWNN2us1zaDL6f3tZi=jD603sjyFHHZmg@mail.gmail.com>
To: Andrew Ayer <agwa@andrewayer.name>
Cc: "trans@ietf.org" <trans@ietf.org>
Content-Type: multipart/alternative; boundary="000000000000246d5e058d38bbcb"
Archived-At: <https://mailarchive.ietf.org/arch/msg/trans/Nf6fAuVNKRElF-0NqPg1j8DgEwg>
Subject: Re: [Trans] Directory instead of .well-known for URL structure
X-BeenThere: trans@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Public Notary Transparency working group discussion list <trans.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/trans>, <mailto:trans-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/trans/>
List-Post: <mailto:trans@ietf.org>
List-Help: <mailto:trans-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/trans>, <mailto:trans-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 09 Jul 2019 05:21:25 -0000

On Mon, Jul 8, 2019 at 8:51 PM Andrew Ayer <agwa@andrewayer.name> wrote:

> On Fri, 5 Jul 2019 11:44:38 +0000
> Rob Stradling <rob@sectigo.com> wrote:
>
> > James Manager commented on this PR [1]:
> >
> > "The log parameters are not URLs, but URL templates.
> > The variables that can appear in the templates need to be defined as
> > well. That is, 'first', 'second', 'hash', 'start, and 'end' for
> > various templates.
> > Otherwise the spec is still forcing URL structure on servers (ie
> > variables MUST be querystring fields with these given names)."
> >
> > How do folks feel about this?
>
> I'm opposed to using URL templates, as it would increase client
> complexity by forcing them to include template interpolation logic.
>
> This WG has already reached consensus that BCP 190 compliance is
> unnecessary for CT, as years of real-world experience with RFC6962
> deployment has showed that no log operator needs the additional
> flexibility that BCP 190 aims to provide.  I think we should go further
> and say that BCP 190 compliance is detrimental to CT, as we've
> explored several options to add compliance and they all make CT worse -
> by *reducing* flexibility for log operators in a way that actually
> causes them problems (well-known), increasing the load on logs
> (directories), or by adding complexity to clients (URL templates).  I
> doubt that the intent of BCP 190 was to make protocols worse.  I hope
> we can move forward without BCP 190 compliance in CT.
>

As Andrew mentioned, many of the suggestions seem to concretely make the
ecosystem less reliable, by making it easier for Log Operators to exploit
the non-cryptographically-verifiable portions of the protocol. A
significant motivating factor in the development of Chrome's CT Policy, for
example, was to attempt to profile down the extant RFC 6962 flexibility,
such as with HTTP error codes and the ability to request payments or
authorization for "public" data, in order to ensure that the Logs it used
were themselves useful to clients. These, in turn, are themselves arguably
security considerations that impact the overall utility of CT.

I agree with the discussion about the reasons against .well-known and
directories; they highlight real tradeoffs that cause more harm than good.
.well-known should be tightly controlled and restricted; and thus, as a
practical matter, makes it difficult to impossible to host CT Logs on a
number of domains or server infrastructures. Similarly, as noted,
directories pass on costs not only to clients, but to the monitoring
ecosystem and to those that wish to ensure Logs adhere to a stated set of
operational policies and practices.

As it relates to URL templates, I'm less opposed, if only because I expect
that a natural consequence of this would be to use policy to profile the
URL templates into a predictable form in order to provide the necessary
security and reliability. As a consequence, I don't anticipate clients ever
needing to implement these, except those clients which might interact with
CT Logs that are limited in scope or application, and not widely used.
Functionally, this means that the flexibility intended by the use of URL
templates is unlikely to be realized in practice in running code. As a
consequence, it's a joint of flexibility that will quickly rust shut,
because keeping it well-oiled is counterintuitively hostile to the
ecosystem.

Hopefully that provides a compelling argument against adopting some of said
flexibility. However, if there is consensus to do so, despite the various
arguments against, I would prefer the URL templates so that they can be
most easily profiled away with limited impact to clients and with the least
'industry' profiling of the applicable standard.