Re: [Acme] CAA DNS RR IODEF e-mail spam && client side CAA verification

Phillip Hallam-Baker <phill@hallambaker.com> Fri, 06 November 2020 16:47 UTC

Return-Path: <hallam@gmail.com>
X-Original-To: acme@ietfa.amsl.com
Delivered-To: acme@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id C305E3A08AB for <acme@ietfa.amsl.com>; Fri, 6 Nov 2020 08:47:05 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.398
X-Spam-Level:
X-Spam-Status: No, score=-1.398 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, FREEMAIL_FORGED_FROMDOMAIN=0.25, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.25, HTML_MESSAGE=0.001, 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 Nm48Fa8yhYua for <acme@ietfa.amsl.com>; Fri, 6 Nov 2020 08:47:02 -0800 (PST)
Received: from mail-yb1-f175.google.com (mail-yb1-f175.google.com [209.85.219.175]) (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 B0CF63A0858 for <acme@ietf.org>; Fri, 6 Nov 2020 08:47:02 -0800 (PST)
Received: by mail-yb1-f175.google.com with SMTP id a12so1683031ybg.9 for <acme@ietf.org>; Fri, 06 Nov 2020 08:47:02 -0800 (PST)
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=jkA2Wc25IBKB2MsfmoTq35QTcgSEr/4fO7oshO4keUU=; b=YAR1E7tyZRYfch5trEMo6MM1dh02vKNtkAt2yL3tC1SyOuktXmz+odP6tQLdzuGhjH ByXvprHdPLiwjRuAcsyx+LDWzH6+4i29la1TAO2Dr243ZF8KEZtUbA8Zha+yIJr+m7HE YQb/CTvYO/9cN6s2YBXWkVIUgidqqipxmHW/tr20hQVkNW5B1O4iwZ+r0SiX57nwH4pK 9bu8l1X5XfFBc3YQbtf8NA+AEX0PbwjpoHgWqa4JxG1+f+SSPV6i+9WM0C3z+ddEhRI9 R6HD6M8qvvDg+1FmH+cKVO+i1N055NsrKS2gOADD1x7Pedsi/zjhC7Zf/twHL0wdZQj4 K2ew==
X-Gm-Message-State: AOAM530SaXH8+U+bLs1r2v10mB0G+HYl3g+pnBz3nZyDUOyWxA3hqL1J re8oIpYro+g+Jb2w3H6dHb+LWnBaDt2u+ysjiBWZvQrnImk=
X-Google-Smtp-Source: ABdhPJzTUwbtsSJRZhxRz39Y2kOoaNHcVvLK+/DNS7cAQk6wtigaACGN9rONC8HF3/CDxN80+otqEPXnWLqcD2BImbg=
X-Received: by 2002:a25:ccc7:: with SMTP id l190mr3765854ybf.56.1604681221797; Fri, 06 Nov 2020 08:47:01 -0800 (PST)
MIME-Version: 1.0
References: <fd15218159ce22d9f3f846de1b5bac498fb6116b.camel@sijanec.eu> <CAErg=HGibOhM3Ab58VrspoN=pgxTi8fHy6n+9R3izUda+29w1w@mail.gmail.com>
In-Reply-To: <CAErg=HGibOhM3Ab58VrspoN=pgxTi8fHy6n+9R3izUda+29w1w@mail.gmail.com>
From: Phillip Hallam-Baker <phill@hallambaker.com>
Date: Fri, 06 Nov 2020 11:46:51 -0500
Message-ID: <CAMm+LwiOz33PUO_vMxEkM_-3Tcq4ok4iD5qn6VmpA-ySZ0Pyjw@mail.gmail.com>
To: Ryan Sleevi <ryan-ietf@sleevi.com>
Cc: Anton Luka Šijanec <anton@sijanec.eu>, acme@ietf.org
Content-Type: multipart/alternative; boundary="00000000000033fae105b372f61c"
Archived-At: <https://mailarchive.ietf.org/arch/msg/acme/HHTMJHNYmlKOdnTcGz6Xr6KhEuA>
Subject: Re: [Acme] CAA DNS RR IODEF e-mail spam && client side CAA verification
X-BeenThere: acme@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Automated Certificate Management Environment <acme.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/acme>, <mailto:acme-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/acme/>
List-Post: <mailto:acme@ietf.org>
List-Help: <mailto:acme-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/acme>, <mailto:acme-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 06 Nov 2020 16:47:06 -0000

On Thu, Oct 22, 2020 at 1:05 PM Ryan Sleevi <ryan-ietf@sleevi.com> wrote:

>
>
> On Thu, Oct 22, 2020 at 11:59 AM Anton Luka Šijanec <anton@sijanec.eu>
> wrote:
>
>> Hello!
>>
>>
...


> If such a system is already in place, how can I make sure I am
>> correctly implementing it on my domain? Can someone direct me to the
>> specification?
>>
>> My second suggestion is that client browsers would verify certificates
>> by performing DNS CAA queries and validating if the certificate is okay
>> and optionally send violation reports. What are your thoughts?
>
>
> This is intentionally, and explicitly, not part of CAA. CAA is designed as
> an ACL on issuance; were clients to check, this would necessitate that
> domains continue to authorize future certificate issuance.
>
> For example, if I used CA A at Time 0, but later switched new issuance to
> CA B at Time 10, if clients checked at Time 11, I would be required to list
> both A and B as authorized; A, because it had authorized some of my
> existing certificates, and B, because it was authorized for new
> certificates.
>
> Short of replacing every unexpired, unrevoked certificate from A, I would
> not be able to safely and securely only authorize B going forward.
>
> Section 1 of RFC 8659 makes this unambiguous:
> > Relying Parties MUST NOT use CAA records as part of certificate
> validation.
>

All correct.

But when I originally proposed CAA, we did not have Certificate
Transparency. Nor was DNSSEC deployed. Also, the very first draft of CAA
was joint with Ben Laurie and we were proposing using CAA as a means of
publishing data of that sort.

If the application warranted it, you could establish a check of CAA by
pickling the DNSSEC validation chain in the CT logs (we did consider a cert
extension).
The problem with trying anything of that sort is that PKIX is now patches
on patches on patches and this is a lot of complexity for not very much
advantage.

The WebPKI was originally designed as an authentication and accountability
infrastructure to enable online commerce. It is used for much more but many
of the constraints imposed by that original application make it a really
poor choice for a lot of applications even if Lets Encrypt is giving free
certs.

WebPKI certs are bound to DNS names. WebPKI certs have a fixed expiry.
Neither of those properties is appropriate for the purpose of establishing
a secure conversation with my WiFi router, my coffee pot, etc. etc.

Another limitation on WebPKI is that it is built using 1980s public key
cryptography and the state of the art in crypto is now threshold.