Re: [Spasm] CAA erratum 4515

Ryan Sleevi <ryan-ietf@sleevi.com> Wed, 15 March 2017 14:46 UTC

Return-Path: <ryan-ietf@sleevi.com>
X-Original-To: spasm@ietfa.amsl.com
Delivered-To: spasm@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 329CC1315B8 for <spasm@ietfa.amsl.com>; Wed, 15 Mar 2017 07:46:57 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.294
X-Spam-Level:
X-Spam-Status: No, score=-4.294 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-2.796, RCVD_IN_SORBS_SPAM=0.5, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=sleevi.com
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 y1cp3HC3UIYf for <spasm@ietfa.amsl.com>; Wed, 15 Mar 2017 07:46:55 -0700 (PDT)
Received: from homiemail-a107.g.dreamhost.com (sub4.mail.dreamhost.com [69.163.253.135]) (using TLSv1.1 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 898D21315BB for <spasm@ietf.org>; Wed, 15 Mar 2017 07:46:55 -0700 (PDT)
Received: from homiemail-a107.g.dreamhost.com (localhost [127.0.0.1]) by homiemail-a107.g.dreamhost.com (Postfix) with ESMTP id 11ADD20051C26 for <spasm@ietf.org>; Wed, 15 Mar 2017 07:46:55 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=sleevi.com; h=mime-version :in-reply-to:references:from:date:message-id:subject:to:cc :content-type; s=sleevi.com; bh=ui92KfIXM0E5iWnocnymxLdSgZk=; b= PS45row3e8PYCX/UMNEAzC7oVDPC30pAb4ZF89GPtafkcxrj2bzp6Z7QcL4Dc0qA 6B497PLN6FiY5gaRaJG9AuCYzxtKRuTxDiTG1g2wz3Ezr0xrXiMWp8Y54kN9Ck5I QOi02qSWtRYSjTWGzResfK73k90hDjw90nieiy5TPek=
Received: from mail-lf0-f53.google.com (mail-lf0-f53.google.com [209.85.215.53]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) (Authenticated sender: ryan@sleevi.com) by homiemail-a107.g.dreamhost.com (Postfix) with ESMTPSA id D64A220051C23 for <spasm@ietf.org>; Wed, 15 Mar 2017 07:46:54 -0700 (PDT)
Received: by mail-lf0-f53.google.com with SMTP id z15so7952688lfd.1 for <spasm@ietf.org>; Wed, 15 Mar 2017 07:46:54 -0700 (PDT)
X-Gm-Message-State: AFeK/H3Dk6rM27s5BuaKqZmE58Flm+oiBat2Yx4FYRjgdjhnwqCME/lmhqsuD0o/kqEh4Ms1My4M5AwXxeCISw==
X-Received: by 10.25.171.9 with SMTP id u9mr1120153lfe.151.1489589212937; Wed, 15 Mar 2017 07:46:52 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.25.193.197 with HTTP; Wed, 15 Mar 2017 07:46:52 -0700 (PDT)
In-Reply-To: <7129a939-35f1-f55b-703b-9f39f6110520@eff.org>
References: <79cf5707-693e-abf0-9e35-5dcc94a3e877@eff.org> <CAErg=HFtk0EKASTpWwNVhcT4zk2+ei-KPv=cMYDQej2oGJi=rw@mail.gmail.com> <9c55abf5-b81b-d9cb-c88c-7ea5bc6390c8@eff.org> <CAErg=HGT7FyDKgm8cAUojhGDOzLUkn=bw1Xdghbqnxw-79zQiw@mail.gmail.com> <20170311201904.GQ7733@mournblade.imrryr.org> <fede5d8f9f2c43518d8a3c502c60558a@usma1ex-dag1mb1.msg.corp.akamai.com> <389a248f-37e4-9ff7-b330-b840e7c47931@eff.org> <CAErg=HEC=YL-wWEygqtmivN0axZ_cddkM-WDc8RA+jVTJYmVgQ@mail.gmail.com> <0d7afa83-a9d7-f977-ca36-533fc13b720e@eff.org> <CAErg=HF2WnSYtxs6r_svx-zCmt8ApkVsg6R7cezaYO=3WoVKQA@mail.gmail.com> <7129a939-35f1-f55b-703b-9f39f6110520@eff.org>
From: Ryan Sleevi <ryan-ietf@sleevi.com>
Date: Wed, 15 Mar 2017 10:46:52 -0400
X-Gmail-Original-Message-ID: <CAErg=HESLRQU=vg3sOFhBoBas7bBmL-z4ZkeeXOLD+y60OU5NA@mail.gmail.com>
Message-ID: <CAErg=HESLRQU=vg3sOFhBoBas7bBmL-z4ZkeeXOLD+y60OU5NA@mail.gmail.com>
To: Jacob Hoffman-Andrews <jsha@eff.org>
Cc: Ryan Sleevi <ryan-ietf@sleevi.com>, Patrick Donahue <pat@cloudflare.com>, Gervase Markham <gerv@mozilla.org>, "Salz, Rich" <rsalz@akamai.com>, Peter Bowen <pzb@amzn.com>, "spasm@ietf.org" <spasm@ietf.org>, Rob Stradling <rob.stradling@comodo.com>, Phillip Hallam-Baker <phill@hallambaker.com>
Content-Type: multipart/alternative; boundary="94eb2c1cc5e6e6082d054ac60399"
Archived-At: <https://mailarchive.ietf.org/arch/msg/spasm/9IZoD-ktLrLmGXFc6U9goJmPfr8>
Subject: Re: [Spasm] CAA erratum 4515
X-BeenThere: spasm@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: "This is a venue for discussion of doing Some Pkix And SMime \(spasm\) work." <spasm.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/spasm>, <mailto:spasm-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/spasm/>
List-Post: <mailto:spasm@ietf.org>
List-Help: <mailto:spasm-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/spasm>, <mailto:spasm-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 15 Mar 2017 14:46:57 -0000

On Sun, Mar 12, 2017 at 7:53 PM, Jacob Hoffman-Andrews <jsha@eff.org> wrote:

> > 1. Policy set by user-facing domain owner for their own hostnames.
> > 2. Blanket policy set by CDN for hostnames they operate on their
> customers' behalf.
> > 3. Policy set by CDN for their own hostnames, which share the same
> base domain as the CNAME targets used in (2).
>
> So, back to the subjective evaluation: Now it's clear that the CDN in our
> scenario is the only one who can add CAA records. If a customer wants (1)
> they need cooperation from their CDN, and the CDN needs to implement a
> trampoline no matter what.
>
> *In the non-tree-climbing world*
>
> If a CDN wants to implement (3), they put in place a single CAA record and
> it doesn't impact (1) or (2). If the CDN wants to implement (1) or (2),
> they put in a CAA record at each of their CNAME targets. Neither policy
> affects the other in any way, assuming that CNAME targets are never base
> domains.
>
> *In the tree-climbing world*
>
> If a CDN wants to implement (3), they have to carefully understand CAA and
> be sure to add a separate "any" record to each of their CNAME targets. They
> also have to make sure to copy that CAA record to any new CNAME targets
> they create.
>
> I argue that this is less intuitive and more difficult than in the
> tree-climbing world.
>

Agreed. I think the lack of 'client' override - and apologies for my own
ignorance here, as I couldn't find where the exclusivity was stated that
ONLY a CNAME record may exist - is a pretty compelling argument against the
tree climbing.

While I disagree with some of the points below, I think this is the key
argument about why recursion-into-CNAME-and-tree-climb may not be desirable
- because it affords less control in the default configuration, and makes
it easier to misconfigure.


> More difficult, because it requires deploying extra CAA records to express
> a straightforward policy. Less intuitive, because most DNS-using
> applications don't care about the hostnames that are part of a CNAME chain,
> only the "final value" received from a recursive resolver. For instance,
> when looking up an A record, Chrome doesn't care about the CNAME aliases in
> between, only the final A record.
>

As an argument, I think this is unnecessary/unrelated, right? As in, you
can look up the existence *of* a CNAME record without transiting that CNAME
record. Put differently, and perhaps selfishly, it's "just" DNS :)


> Also, as a concrete example of the non-intuitiveness, Rob (one of the CAA
> authors) mentioned on the CA/Browser Forum list that he has had to
> double-check the lookup algorithm with Phill, his co-author.
>

I don't know how well this as an argument works. It's been nearly four
years since CAA was published before CAs got around to using it, nearly
seven years since it was first proposed, and the algorithm went through
several substantive revisions as part of the process :) I would say it's
reasonable to expect the people most involved and invested in it to have a
lot more mental state to sort through as to where "the process" finally
ended up ;)


> I've also been confused by the CAA lookup algorithm, as have my coworkers.
> I can't speak for Rob, but for me a big part of the confusion has been the
> fact that tree-climbing seems like an anomaly in the DNS world.
>

Perhaps in the DNS world, but it's SOP for the Certificate Authority world.
Consider the act of validating using approved email addresses - or
validating the 'registerable' domain. Both of these algorithms start with
an FQDN and then climb the tree until they are able to establish an
authortative link, and then everything below that tree is accepted as
validated.