[DNSOP] Re: [Ext] Persistence of DCV, including for Delegated DCV (for draft-ietf-dnsop-domain-verification-techniques)
Erik Nygren <erik+ietf@nygren.org> Sun, 08 June 2025 15:30 UTC
Return-Path: <nygren@gmail.com>
X-Original-To: dnsop@mail2.ietf.org
Delivered-To: dnsop@mail2.ietf.org
Received: from localhost (localhost [127.0.0.1]) by mail2.ietf.org (Postfix) with ESMTP id 864D7325FFB0 for <dnsop@mail2.ietf.org>; Sun, 8 Jun 2025 08:30:04 -0700 (PDT)
X-Virus-Scanned: amavisd-new at ietf.org
X-Spam-Flag: NO
X-Spam-Score: -1.783
X-Spam-Level:
X-Spam-Status: No, score=-1.783 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, FREEMAIL_FORGED_FROMDOMAIN=0.001, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_KAM_HTML_FONT_INVALID=0.01, URI_HEX=0.1] autolearn=no autolearn_force=no
Received: from mail2.ietf.org ([166.84.6.31]) by localhost (mail2.ietf.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id na7EKAVXw4bx for <dnsop@mail2.ietf.org>; Sun, 8 Jun 2025 08:30:02 -0700 (PDT)
Received: from mail-lj1-f182.google.com (mail-lj1-f182.google.com [209.85.208.182]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature ECDSA (P-256) server-digest SHA256) (No client certificate requested) by mail2.ietf.org (Postfix) with ESMTPS id 7BF01325FFA8 for <dnsop@ietf.org>; Sun, 8 Jun 2025 08:30:02 -0700 (PDT)
Received: by mail-lj1-f182.google.com with SMTP id 38308e7fff4ca-32ade3723adso24893421fa.0 for <dnsop@ietf.org>; Sun, 08 Jun 2025 08:30:02 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1749396601; x=1750001401; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=5ZJRP3ENaiXKtTUehTb1j1y501TRF4zAIDK2hsSaWCI=; b=Wo41W2xi6TQbmduRSf+kAjUOb+a+34d8ydl5rxghbxZDaHm4ZwkoxdUVUEkzE/gWh8 QBhzULL4KIEB8tun9c/2KYAd01CuQiAuN/3cPvn9IARlfQwi3TBY9+gecMfNN1/a8zpp CDaF5MeoPhvbIpJyjyhs/yDvhLc9GHFUAkOWJnD2Iw9oYub/0ffj2x2XDaYxwIcNPuDz j7f2fljZiWgo1FwW5ojDXIpQ0L74ro8g+ppZt3NF2Tn5Wx0PeQ0WoKcBubG94tKPWBP3 SBy+xbW1ouofJT0lCs1HCNvygYJNpkUQYsJ/8zt63FRVM1b5D1A/DXrWCedtKsz16MuL CIjg==
X-Forwarded-Encrypted: i=1; AJvYcCUtKcb403Mfu5gWLC1D4fQCZuzN1u64skaWXHYa2XHimKd2bq2Eqb/58CRvjY1CrAB9EKf31w==@ietf.org
X-Gm-Message-State: AOJu0YxBeo3gNF1ufrW4gKwHjpMgQ2unGY525rPFROyumH32Vb6IGYc6 WZ7rA/Fys50hIeTQhG9/LJTfL6nw1de+sD0lkQbXiUtx/nqjOYxCuE7hUrbaWVJNZ1zLkJ2eev2 86ccgFmQgt8uKVD/MDPazzj5K6bHPUYI=
X-Gm-Gg: ASbGncvbofW63IboihJJ8MdrADQESc6C4jhsfPFciCBwkvP3sztxZ37hxcF1ZZWL8qL NLhiKig6MtsRV2QmMqhrSHRWHzCz3eBUUCedYg4vceY0XYMYqtV7lntA5LCOa69kEx6suXNioG8 wwL6qW+lk7165dW5cRld38TM9IqkPz/CX+lbLSoCbVdkkwWj7ygJWs9AyzIp1Sb/SCNGMkN06Be /vM
X-Google-Smtp-Source: AGHT+IFyhKuDuBXy/leT5CTeApvSvEMnzdJHsVeIdrQOkTDBjDKJOVUV6iiUvGDURgcnInbonNnMwswUSvG0pGB1wAA=
X-Received: by 2002:a2e:a302:0:b0:32a:648e:7ed5 with SMTP id 38308e7fff4ca-32adfe19e29mr23038221fa.36.1749396600782; Sun, 08 Jun 2025 08:30:00 -0700 (PDT)
MIME-Version: 1.0
References: <CAKC-DJhS4_1P5Bqu-0YWWr9jkxBOt40rx5804UAUp7DhAsc31g@mail.gmail.com> <40408285-974A-4790-B653-DF4C3798F1E0@nohats.ca> <F7E48A3F-DA2C-4E54-92DA-90CD0EDE78DA@icann.org> <478e1879-93d4-4b0b-a99f-bbdb422bc073@taugh.com>
In-Reply-To: <478e1879-93d4-4b0b-a99f-bbdb422bc073@taugh.com>
From: Erik Nygren <erik+ietf@nygren.org>
Date: Sun, 08 Jun 2025 11:29:48 -0400
X-Gm-Features: AX0GCFvPFmDFwvIsPMxm844fTNZf7XDFY1SxP6Pr6kzluAOVnoSir0Ey-mNhYow
Message-ID: <CAKC-DJh4ck_okAmdssMTfj5iq9X2o_-_Z6MzLQRSfZyjUJ3t6g@mail.gmail.com>
To: John R Levine <johnl@taugh.com>
Content-Type: multipart/alternative; boundary="000000000000f6034c0637112273"
Message-ID-Hash: 7I6GSP5XQHYQ4YPAARCSINHVNRYQB3MA
X-Message-ID-Hash: 7I6GSP5XQHYQ4YPAARCSINHVNRYQB3MA
X-MailFrom: nygren@gmail.com
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-dnsop.ietf.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header
CC: Paul Hoffman <paul.hoffman@icann.org>, "dnsop@ietf.org" <dnsop@ietf.org>
X-Mailman-Version: 3.3.9rc6
Precedence: list
Subject: [DNSOP] Re: [Ext] Persistence of DCV, including for Delegated DCV (for draft-ietf-dnsop-domain-verification-techniques)
List-Id: IETF DNSOP WG mailing list <dnsop.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/dnsop/tMhOlGbbC7kyy0KBneSS4toYHU0>
List-Archive: <https://mailarchive.ietf.org/arch/browse/dnsop>
List-Help: <mailto:dnsop-request@ietf.org?subject=help>
List-Owner: <mailto:dnsop-owner@ietf.org>
List-Post: <mailto:dnsop@ietf.org>
List-Subscribe: <mailto:dnsop-join@ietf.org>
List-Unsubscribe: <mailto:dnsop-leave@ietf.org>
> This is an OK start, but it would be better if the draft covered the actual security issues (on-path attackers) and dealt with time more carefully. Good point. I've proposed some text on this as part of my PR: https://github.com/ietf-wg-dnsop/draft-ietf-dnsop-domain-verification-techniques/commit/ac42020800b807dc4d71f70b1145cc86e7a1e268 > Persistent validation doesn't need the token that is needed by the initial validation. As mentioned by John, this is critical to include for persistent validation. It's a different token (as shown in the draft) but it needs to be there and it needs to be bound carefully to the User (or User account) at the Intermediary. Otherwise the dangling CNAME risks are much much higher. Rather than saying "I authorize this action" in a one-off validation, persistent validation is saying "I authorize this User/account" I wonder if it would be helpful to explicitly use this "authorization" language in the draft? > The new material still doesn't explain why introducing a new mechanism (intermediaries) should be part of a Best Current Practice RFC. For the intermediary mechanism being a (best? but at least common) current practice, here are a number cases where this persistent CNAME to a service that does one-off validations is being used today for ACME certs by large-scale CDNs, smaller entities, and an open source project: - Akamai - Customers CNAME _acme-challenge.domain.com to validation.validate-akdv.net https://techdocs.akamai.com/property-mgr/docs/add-hn-with-default-cert-la - Fastly - Customers CNAME _acme-challenge.domain.com to token.fastly-validations.com https://docs.fastly.com/en/guides/setting-up-tls-with-certificates-fastly-manages - Cloudflare - Customers CNAME _acme-challenge.domain.com to Cloudflare's validation URL (for partial DNS setups) https://developers.cloudflare.com/ssl/edge-certificates/changing-dcv-method/methods/delegated-dcv/ - F5 Distributed Cloud - Customers create a CNAME record for _ acme-challenge.demo.f5lab.com with the value provided by F5 Distributed Cloud https://f5cloud.zendesk.com/hc/en-us/articles/24624288087959-What-is-an-ACME-challenge-and-how-should-I-enter-these-records-in-my-DNS-zone - Google Cloud Certificate Manager - Google's Certificate Manager uses DNS authorization where customers add CNAME records like _ acme-challenge.myorg.example.com pointing to Google's validation domains for certificate provisioning https://cloud.google.com/certificate-manager/docs/deploy-google-managed-dns-auth - Certify DNS - A cloud hosted version of the acme-dns protocol that uses CNAME delegation of ACME challenge TXT records to a dedicated challenge response service https://docs.certifytheweb.com/docs/dns/providers/certifydns/ - acme-dns (open source) - An open source limited DNS server with RESTful HTTP API where customers create CNAME records like _acme-challenge.domainiwantcertfor.tld CNAME a097455b-52cc-4569-90c8-7a4b97c6eba8.auth.example.org https://github.com/joohoi/acme-dns Given how common it is it seems to be important to cover how to do this safely (eg, but having a high-entropy binding to an account identifier in the CNAME target). Best, Erik On Sat, Jun 7, 2025 at 9:33 AM John R Levine <johnl@taugh.com> wrote: > On Fri, 6 Jun 2025, Paul Hoffman wrote: > > This is an OK start, but it would be better if the draft covered the > actual security issues (on-path attackers) and dealt with time more > carefully. Persistent validation doesn't need the token that is needed by > the initial validation. > > Why not? Let's say I have three accounts with FooCo and then cancel one > of them. It needs something more than "I have some relationship with > FooCo". > > I don't object to documenting on-path attackers but it still seems > awfully hypothetical. > > > The new material still doesn't explain why introducing a new mechanism > (intermediaries) should be part of a Best Current Practice RFC. > > I agree with that bit. > > Regards, > John Levine, johnl@taugh.com, Taughannock Networks, Trumansburg NY > Please consider the environment before reading this e-mail. https://jl.ly > > _______________________________________________ > DNSOP mailing list -- dnsop@ietf.org > To unsubscribe send an email to dnsop-leave@ietf.org >
- [DNSOP] Persistence of DCV, including for Delegat… Erik Nygren
- [DNSOP] Re: Persistence of DCV, including for Del… Ben Schwartz
- [DNSOP] Re: Persistence of DCV, including for Del… Paul Wouters
- [DNSOP] Re: [Ext] Persistence of DCV, including f… Paul Hoffman
- [DNSOP] Re: [Ext] Persistence of DCV, including f… Paul Wouters
- [DNSOP] Re: [Ext] Persistence of DCV, including f… Erik Nygren
- [DNSOP] Re: [Ext] Persistence of DCV, including f… Ben Schwartz
- [DNSOP] Re: [Ext] Persistence of DCV, including f… Paul Wouters
- [DNSOP] Re: [Ext] Persistence of DCV, including f… Ben Schwartz
- [DNSOP] Re: [Ext] Persistence of DCV, including f… John Levine
- [DNSOP] Re: [Ext] Persistence of DCV, including f… Watson Ladd
- [DNSOP] Re: [Ext] Persistence of DCV, including f… Erik Nygren
- [DNSOP] Re: [Ext] Persistence of DCV, including f… Paul Hoffman
- [DNSOP] Re: [Ext] Persistence of DCV, including f… Ben Schwartz
- [DNSOP] Re: [Ext] Persistence of DCV, including f… John Levine
- [DNSOP] Re: [Ext] Persistence of DCV, including f… Paul Hoffman
- [DNSOP] Re: [Ext] Persistence of DCV, including f… John Levine
- [DNSOP] Re: [Ext] Persistence of DCV, including f… Paul Hoffman
- [DNSOP] Re: [Ext] Persistence of DCV, including f… John R Levine
- [DNSOP] Re: [Ext] Persistence of DCV, including f… Joe Abley
- [DNSOP] Re: [Ext] Persistence of DCV, including f… John R Levine
- [DNSOP] Re: [Ext] Persistence of DCV, including f… Paul Wouters
- [DNSOP] Re: [Ext] Persistence of DCV, including f… John R Levine
- [DNSOP] Re: [Ext] Persistence of DCV, including f… Erik Nygren
- [DNSOP] Re: [Ext] Persistence of DCV, including f… Paul Wouters
- [DNSOP] Re: [Ext] Persistence of DCV, including f… Paul Hoffman
- [DNSOP] Re: [Ext] Persistence of DCV, including f… John R Levine
- [DNSOP] Re: [Ext] Persistence of DCV, including f… Erik Nygren
- [DNSOP] Re: [Ext] Persistence of DCV, including f… John R Levine
- [DNSOP] Re: [Ext] Persistence of DCV, including f… Ben Schwartz
- [DNSOP] Re: [Ext] Persistence of DCV, including f… Erik Nygren
- [DNSOP] Re: [Ext] Persistence of DCV, including f… Ben Schwartz
- [DNSOP] Re: everything bagels, Persistence of DCV… John Levine
- [DNSOP] Re: everything bagels, Persistence of DCV… Ben Schwartz
- [DNSOP] Re: everything bagels, Persistence of DCV… Erik Nygren
- [DNSOP] Re: everything bagels, Persistence of DCV… John R Levine
- [DNSOP] Re: everything bagels, Persistence of DCV… Paul Wouters