Re: [Acme] Review of draft-friel-acme-subdomains-02

Felipe Gasper <felipe@felipegasper.com> Thu, 03 September 2020 13:14 UTC

Return-Path: <felipe@felipegasper.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 BCF2E3A0BD5 for <acme@ietfa.amsl.com>; Thu, 3 Sep 2020 06:14:05 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.1
X-Spam-Level:
X-Spam-Status: No, score=-2.1 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, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=felipegasper.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 SHAFIfgjhs54 for <acme@ietfa.amsl.com>; Thu, 3 Sep 2020 06:14:04 -0700 (PDT)
Received: from web1.siteocity.com (web1.siteocity.com [67.227.147.204]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 223F33A0BC8 for <acme@ietf.org>; Thu, 3 Sep 2020 06:14:04 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=felipegasper.com; s=default; h=To:References:Message-Id: Content-Transfer-Encoding:Cc:Date:In-Reply-To:From:Subject:Mime-Version: Content-Type:Sender:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id: List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=DC3Dk+zt0tqguHgIOQLM/uybTfJQgC+AbhqHVHoG10U=; b=j2/GVBpiwutEfVOq3FTz/o9LP 2oGnZlg343Zf81UmlBg5SXtUAiJhaEGnRoQ8xik6leGYC5igdrdnyAipRY+RVZB8zJA44BWbJm5Wl m7hhukY9BZod0zUopcNklZy0QWSjO4Sv2vm7PHccyHsfmle9XuTc3dcjkAdgTBty5tthiW+E0B9aK HKzhoWXYNVMDmd0rqrka8RWMNSyeuw3olK/PF1mP+RYCv9ZLbO/Eqix0iE7O8uqlnKGVfIIYOmtLp 87G8nEAcixmY7fjJrVr2hpZcgXZ/4PGHGXxnug7IAQSnGLZB2WTI3Zzntg7Ii55fK/TnMDmPkD7Sc gw9y64AqQ==;
Received: from [149.248.87.40] (port=54259 helo=felipes-mbp.lan) by web1.siteocity.com with esmtpsa (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.93) (envelope-from <felipe@felipegasper.com>) id 1kDp3w-007Mzm-Uh; Thu, 03 Sep 2020 08:14:01 -0500
Content-Type: text/plain; charset="utf-8"
Mime-Version: 1.0 (Mac OS X Mail 12.4 \(3445.104.15\))
From: Felipe Gasper <felipe@felipegasper.com>
In-Reply-To: <CY4PR11MB168513A0ECC978396BEF5313DB2F0@CY4PR11MB1685.namprd11.prod.outlook.com>
Date: Thu, 03 Sep 2020 09:14:25 -0400
Cc: Russ Housley <housley@vigilsec.com>, IETF ACME <acme@ietf.org>
Content-Transfer-Encoding: quoted-printable
Message-Id: <9C66A87D-070B-43E9-BAF1-EF971144358D@felipegasper.com>
References: <39F039BC-BFEA-49D4-9D75-267A5446FE99@vigilsec.com> <CY4PR11MB168513A0ECC978396BEF5313DB2F0@CY4PR11MB1685.namprd11.prod.outlook.com>
To: "Owen Friel (ofriel)" <ofriel=40cisco.com@dmarc.ietf.org>
X-Mailer: Apple Mail (2.3445.104.15)
X-OutGoing-Spam-Status: No, score=0.3
X-AntiAbuse: This header was added to track abuse, please include it with any abuse report
X-AntiAbuse: Primary Hostname - web1.siteocity.com
X-AntiAbuse: Original Domain - ietf.org
X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12]
X-AntiAbuse: Sender Address Domain - felipegasper.com
X-Get-Message-Sender-Via: web1.siteocity.com: authenticated_id: fgasper/from_h
X-Authenticated-Sender: web1.siteocity.com: felipe@felipegasper.com
X-Source:
X-Source-Args:
X-Source-Dir:
X-From-Rewrite: unmodified, already matched
Archived-At: <https://mailarchive.ietf.org/arch/msg/acme/vVUNLXDXCaB3ziQj8V4DhMeUD-w>
Subject: Re: [Acme] Review of draft-friel-acme-subdomains-02
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: Thu, 03 Sep 2020 13:14:06 -0000

Hi all,

	What if … there’s no need for a standard for this? Or at least, the standard would require no significant changes to the protocol?

	The application that I help manage integrates alternately with Sectigo and with Let’s Encrypt. Sectigo, when they verify domain control, always checks parent domains along with the domain(s) given in the certificate order. If any of those checks succeeds, the authz is valid. Perhaps the standard could be defined merely in those terms, such that CAs who so choose could simply indicate in the authz objects that parent/ancestor domains suffice for the verification?

	This would also allow CAs to mandate that such liberty apply only to DNS-based authz, while still requiring HTTP-based authz to be against the literal identifier.

	A bit of context: our application runs on shared-hosting servers that we don’t administer, subject to firewall rules that neither we nor the admin may control. The admins run the gamut of competence, from highly-skilled on down. The domains are end-user-controlled, not necessarily registered with the same organization that administers the server. We’ve seen all kinds of crazy setups that complicate SSL issuance, as a result of which our certificate-provision logic attempts to accommodate potential misconfigurations. Sectigo’s acceptance of ancestor domains for authz helps toward that end since all we have to do to capitalize on it is to create the relevant HTTP docroot files or DNS records all at once, then send the order. Some oddity might frustrate direct authz against “www.whatever.bobs-store.com”, but as long as “bobs-store.com” works, we can still secure the subdomain.

	An alternate implementation might be for authz objects to include challenges against whatever ancestor domains and methods the server allows; thus, if I do newAuthz against “foo.bar.example.com”, I might get back:

- http-01, foo.bar.example.com
- tls-alpn-01, foo.bar.example.com
- dns-01, foo.bar.example.com
- dns-01, bar.example.com
- dns-01, example.com

	The disadvantage to that, for us, would be that we’d have to recreate the authz for every failure. I assume that that’s also disadvantageous for the ACME server--more so than simply doing “fallback” authz checks against parent domains.

	That aside, as to Owen’s proposal document:

- How is the client to indicate that they want to authz the parent domain (example.com) rather than the literal identifier (sub0.example.com)? And for foo.bar.example.com, how shall the client indicate which parent domain is to be used for authz?


Thank you!

cheers,
-Felipe Gasper


> On Sep 2, 2020, at 5:41 AM, Owen Friel (ofriel) <ofriel=40cisco.com@dmarc.ietf.org> wrote:
> 
> Thanks Russ. I've addressed all these in github at: https://github.com/upros/acme-subdomains/blob/master/draft-friel-acme-subdomains.md. I have not pushed out draft-03 yet, lets see what Jacob and Felipe have to say on the related thread about challenge options, and I will incorporate then.
> 
> 
> -----Original Message-----
> From: Acme <acme-bounces@ietf.org> On Behalf Of Russ Housley
> Sent: 05 August 2020 06:44
> To: IETF ACME <acme@ietf.org>
> Subject: [Acme] Review of draft-friel-acme-subdomains-02
> 
> Document: draft-friel-acme-subdomains-02
> Reviewer: Russ Housley
> Date: 2020-08-04
> 
> Major Concern:
> 
> The TODO markers regarding wildcard domain names, the 200 response code, and the security considerations should be filled in with strawman text before this I-D is adopted by the ACME WG.
> 
> 
> Minor Concerns:
> 
> General: s/certificate authority/certification authority/ (many)
> 
> Abstract: s/certificate authority policy/certificate policy/
> 
> Introduction: s/X.509 (PKIX)/X.509v3 (PKIX) [RFC5280]/
> 
> Terminology: Correct CA, please.  See above.
> 
> Terminology: Please add a definition of subdomain.
> 
> 
> Nits:
> 
> Section 3: says:
> 
>   3.  client sends POST-as-GET requests to retrieve the
>       "authorizations", with the downloaded "authorization" object(s)
>       containing the "identifier" that the client must prove control of
> 
> s/client must prove control of/client must prove that they control/
> 
> There is something wrong with the table formatting in Section 6.2.
> 
> _______________________________________________
> 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