Re: [Acme] Indicating scope in DNS validation label

Amir Omidi <amir@aaomidi.com> Mon, 27 November 2023 20:03 UTC

Return-Path: <amir@aaomidi.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 7F19FC151524 for <acme@ietfa.amsl.com>; Mon, 27 Nov 2023 12:03:17 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.106
X-Spam-Level:
X-Spam-Status: No, score=-2.106 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=unavailable autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=aaomidi.com
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id aCOiL8NXLAwd for <acme@ietfa.amsl.com>; Mon, 27 Nov 2023 12:03:13 -0800 (PST)
Received: from mail-ej1-x62d.google.com (mail-ej1-x62d.google.com [IPv6:2a00:1450:4864:20::62d]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id D77C8C151548 for <acme@ietf.org>; Mon, 27 Nov 2023 12:02:39 -0800 (PST)
Received: by mail-ej1-x62d.google.com with SMTP id a640c23a62f3a-a03a900956dso885807066b.1 for <acme@ietf.org>; Mon, 27 Nov 2023 12:02:39 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=aaomidi.com; s=google; t=1701115357; x=1701720157; darn=ietf.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=FueftwPrW9ig3FKwhTQUX9wJL5vMcx2Ch2DHc9nFj28=; b=YW+2hbxdQtdkD3xJKqQsYyrqzdohKrjw4usPquMtR/x3r5VUeHzjJQEWpHXtaGuhwr mz6t9/l39YsSVx14KiNjVRFEXP/nw+1IApz2g4vhQphz8XSA/90BTwC9sRwQw15hswq6 58sW4vYVF+APikrz8yJ6qGOZUnul5aV2aEaUPKKXU5GRuoCta8miFt15t+JeEkA9SCBQ pMX03wcocl9vHiyPdeAeMPucRHi7nWtxDWW6/xenxGJW1NU7Ed/kQnJCRl/kziCeb2Qf 0TsNrgMhKlVIVyTUPP1dfsgLtzHmIe+N37AAK+o/TNlhli5FxX89ehNA/DGHYKdY2alu izwQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1701115357; x=1701720157; 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=FueftwPrW9ig3FKwhTQUX9wJL5vMcx2Ch2DHc9nFj28=; b=Aw1nbYmLECzmodxYjQi6J8LWt6v6uXynrFtY2ilg2Kd48VmnO1CYu2/WebHACfD1o7 LEvEck/+7zW4BYmEA24ST1bucx1ittV+/21TVKLPq6urKuo3tuBu9LPViSWJRjt5cUWF rVOx1H6jkPKUlygZxfl09WT1zI463+h61W2yD2zOS2cC3IPZrPlj1jjg5PakCh8JXnRI hcHxku/GBjWafY4HL0H7sOthOGKe67quhvScRjVTe5zViHiFfp1kNLsuMFPjsGTazVD4 0jFhVGRHLh5VPFunF6hJxfRaDwHCwv1g4NNorccMDM7pnpxjyS+Qqlui6s+a8zfsu3Y/ nPuQ==
X-Gm-Message-State: AOJu0YyThw9QEwrq5IBVoLYRgp6b4tdfny/Zpoe+sw5c2tGakBLVVrQn ZIR/oCtfgRHNEA1xrZ12eiYAFZvr3b7dxAJ36b/T7A==
X-Google-Smtp-Source: AGHT+IHepFIaqc4zDGD0v5YtK2n4FPkt3dy7e58QZR6MMbOqaa8J43EkVtSr6h0QnvSOfP8ryeaKD4hTzmIHKmGdTUo=
X-Received: by 2002:a17:906:19d3:b0:9ad:8a9e:23ee with SMTP id h19-20020a17090619d300b009ad8a9e23eemr11853086ejd.13.1701115356916; Mon, 27 Nov 2023 12:02:36 -0800 (PST)
MIME-Version: 1.0
References: <CAKC-DJib1cE5d=NcJVbv1bO+fXs=5KTrodrHoWkJ3h-ZD1wmpQ@mail.gmail.com> <b46133ac-73ba-45f9-ac22-1d5c4de8e6d8@gmail.com> <CAMEWqGtO3zfnB9TVK-2ozOyhj+ROgjC1QOruckRFaw3ktYTGQg@mail.gmail.com> <e6937847-201c-4762-b323-3f7446caeffb@gmail.com> <CAKC-DJhUTv=hqW3=3ABiRJm5-Nhockc2tiB5TBk2xksToh=Y2g@mail.gmail.com>
In-Reply-To: <CAKC-DJhUTv=hqW3=3ABiRJm5-Nhockc2tiB5TBk2xksToh=Y2g@mail.gmail.com>
From: Amir Omidi <amir@aaomidi.com>
Date: Mon, 27 Nov 2023 15:02:25 -0500
Message-ID: <CAOG=JUJo_STy4yfTcAtqb_yUfbZZRKFRq=yaSR6WS45BL_vN9w@mail.gmail.com>
To: Erik Nygren <erik+ietf@nygren.org>
Cc: Seo Suchan <tjtncks@gmail.com>, Q Misell <q@as207960.net>, "acme@ietf.org" <acme@ietf.org>, draft-ietf-dnsop-domain-verification-techniques@ietf.org
Content-Type: multipart/alternative; boundary="0000000000009241eb060b27c8a1"
Archived-At: <https://mailarchive.ietf.org/arch/msg/acme/62dtlNPK3NgMCbc82q3gncTn8Kc>
Subject: Re: [Acme] Indicating scope in DNS validation label
X-BeenThere: acme@ietf.org
X-Mailman-Version: 2.1.39
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: Mon, 27 Nov 2023 20:03:17 -0000

Hi! Thank you for suggesting these improvements.

I'm not sure if it makes sense to add this complexity to the level of
domain validation that happens for ACME.

Main reasons I see for this:


   - A lot of DNS ACL systems have per-zone ACLing, rather than per-label.
   It's not going to immediately make it easier for someone to gate wildcard
   issuance.
   - CAA records are already able to somewhat mitigate part of this problem.
   - The ACME flow is meant for machines to follow both on the client and
   server side. The human-readability of the label arguably decreases the
   security assurances provided by ACME's automated flow.

Looking at the `domain-challenge` part of this:
https://github.com/enygren/draft-ietf-dnsop-domain-verification-techniques/blob/ec8c2ba87f3129c51347e62ec51073899a404a45/draft-ietf-dnsop-domain-verification-techniques.md#scope-indication-scope-indication.
I feel like this introduces another potential security gap.

For example, what happens if I do a domain challenge for `com.`, or
`co.uk.`. This is a pretty broad level of domain validation that doesn't
necessarily follow the hierarchical changes in DNS.

While these changes may make sense in human based flows (e.g, validating a
domain for a social media network) - I don't think they're the right
solution for automated flows.

On Sun, Nov 12, 2023 at 8:47 AM Erik Nygren <erik+ietf@nygren.org> wrote:

> CAA can help, but agreed that it's a blunt tool and only part of the
> ecosystem.
>
> it would be preferable to differentiate within the DV record being added
> to the zone,
> especially as there could be cases where both an exact cert and a wildcard
> cert may
> be desirable for a zone.  The DNS operator of the zone (or any automation
> framework that authorizes access) which is adding the record should
> preferably
> be able to distinguish what name(s) is/are being validated.  Including
> this
> in the ACME label name would give zone operators better control.
>
> This would enable CA operators to give better controls to their customers
> so would not be in conflict with the MAY in the BR.  (Although if we had a
> better
> ecosystem here it might make sense to tighten the BR at some point.)
> In the interim, CAA along with such a differentiation could be used
> by zone operators to limit allowed CAs to only those who support this
> differentiation feature, which is the scope/intent of CAA.
>
>      Erik
>
>
>
>
>
> On Wed, Oct 4, 2023 at 4:46 AM Seo Suchan <tjtncks@gmail.com> wrote:
>
>> while it's blunt tool current CAA issuewild record with whiltelist
>> accounturi would able to do that, as issuewild overides issue.
>> 2023-10-04 오후 4:59에 Q Misell 이(가) 쓴 글:
>>
>> Regardless of the inclusion of that paragraph in the BR I still think it
>> would be worthwhile to be able to limit a DNS based validation to not
>> issuing wildcards, should an admin so desire.
>> ------------------------------
>>
>> Any statements contained in this email are personal to the author and are
>> not necessarily the statements of the company unless specifically stated.
>> AS207960 Cyfyngedig, having a registered office at 13 Pen-y-lan Terrace,
>> Caerdydd, Cymru, CF23 9EU, trading as Glauca Digital, is a company
>> registered in Wales under № 12417574
>> <https://e.as207960.net/w4bdyj/Tuxjr0hL>, LEI 875500FXNCJPAPF3PD10. ICO
>> register №: ZA782876 <https://e.as207960.net/w4bdyj/w06IBwih>. UK VAT №:
>> GB378323867. EU VAT №: EU372013983. Turkish VAT №: 0861333524. South Korean
>> VAT №: 522-80-03080. AS207960 Ewrop OÜ, having a registered office at
>> Lääne-Viru maakond, Tapa vald, Porkuni küla, Lossi tn 1, 46001, trading as
>> Glauca Digital, is a company registered in Estonia under № 16755226.
>> Estonian VAT №: EE102625532. Glauca Digital and the Glauca logo are
>> registered trademarks in the UK, under № UK00003718474 and № UK00003718468,
>> respectively.
>>
>>
>> On Tue, 3 Oct 2023 at 20:04, Seo Suchan <tjtncks@gmail.com> wrote:
>>
>>> Because CA/B baseline DNS Change auth have this paragraph, I think DNS
>>> admin should consider any DNS record there to be valid for wildcard.
>>>
>>> Note: Once the FQDN has been validated using this method, the CA MAY
>>> also issue Certificates for
>>> other FQDNs that end with all the Domain Labels of the validated FQDN.
>>> This method is suitable
>>> for validating Wildcard Domain Names.
>>>
>>>
>>> 2023-10-03 오후 10:31에 Erik Nygren 이(가) 쓴 글:
>>>
>>> Within draft-ietf-dnsop-domain-verification-techniques
>>> <https://e.as207960.net/w4bdyj/KvYIoLDG> there is considerable
>>> discussion about the risks associated with DNS DCV records (such as ACME
>>> DNS-01) not being clear in the record about whether the scope applies to
>>> just a single hostname (example.com
>>> <https://e.as207960.net/w4bdyj/qLxR85iE>) or to a wildcard (*.
>>> example.com <https://e.as207960.net/w4bdyj/tcl3DZPh>).  While DNS-01
>>> has this within the token, the DNS TXT record itself only includes a hash
>>> of the token making this hard for a DNS admin to validate.
>>>
>>> We have a proposed change to use distinct labels for different scopes.
>>> For example:
>>>
>>> * "`_acme-host-challenge.example.com
>>> <https://e.as207960.net/w4bdyj/JpqJjdxE>`" applies only to the specific
>>> host name of "example.com <https://e.as207960.net/w4bdyj/oHE7qkwz>" and
>>> not to anything underneath it.
>>> * "`_acme-wildcard-challenge.example.com
>>> <https://e.as207960.net/w4bdyj/xVMcJdIL>`" applies to all host names at
>>> the level immediately underneath "example.com
>>> <https://e.as207960.net/w4bdyj/K9ajyGUJ>". For example, it would apply
>>> to "foo.example.com <https://e.as207960.net/w4bdyj/t7IJuCyq>" but not "
>>> example.com <https://e.as207960.net/w4bdyj/zyBITmRO>" nor "
>>> quux.bar.example.com <https://e.as207960.net/w4bdyj/wvu0juZp>".  In the
>>> ACME context this would be for *.example.com
>>> <https://e.as207960.net/w4bdyj/oirLEOAx>.
>>>
>>> Pull request for this is here:
>>>
>>> <http://goog_1991325217>
>>>
>>> https://github.com/ietf-wg-dnsop/draft-ietf-dnsop-domain-verification-techniques/pull/90/files
>>> <https://e.as207960.net/w4bdyj/awm4ssbi>
>>>
>>> What is the sense of the ACME WG on if this would make sense?  Roll-out
>>> would presumably take quite some time so both would need to keep working.
>>>
>>> I'd suggest that it may make sense to incorporate as part of
>>> draft-ietf-acme-dns-account-challenge since the roll-out for both would
>>> likely follow a similar pattern.  In that case I'd proposed that we'd
>>> replace the "-account" in that draft with a specification to use either
>>> "-host" or "-wildcard" depending on scope.  (That might also mean expanding
>>> the title of that draft.)
>>>
>>> There's also a scope of the domain and its subdomains, covering
>>> example.com <https://e.as207960.net/w4bdyj/LVqv0vTq>, *.example.com
>>> <https://e.as207960.net/w4bdyj/cV3n3pfP>, *.*.example.com
>>> <https://e.as207960.net/w4bdyj/xHJHAQvD>, *.{...}.example.com
>>> <https://e.as207960.net/w4bdyj/gnFjNtwj>, etc, but this isn't something
>>> specified by ACME due to the semantics of wilcards X509 certs.
>>>
>>>     Erik
>>>
>>>
>>> _______________________________________________
>>>
>>> Acme mailing list
>>> Acme@ietf.org
>>> https://www.ietf.org/mailman/listinfo/acme <https://e.as207960.net/w4bdyj/eLTGHv1V>
>>>
>>> _______________________________________________
>>> Acme mailing list
>>> Acme@ietf.org
>>> https://www.ietf.org/mailman/listinfo/acme
>>> <https://e.as207960.net/w4bdyj/cbz6pd9N>
>>>
>> _______________________________________________
>> Acme mailing list
>> Acme@ietf.org
>> https://www.ietf.org/mailman/listinfo/acme
>>
> _______________________________________________
> Acme mailing list
> Acme@ietf.org
> https://www.ietf.org/mailman/listinfo/acme
>