Re: [Acme] Issuing certificates based on Simple HTTP challenges

Michael Wyraz <michael@wyraz.de> Wed, 16 December 2015 20:11 UTC

Return-Path: <michael@wyraz.de>
X-Original-To: acme@ietfa.amsl.com
Delivered-To: acme@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 6E14A1A896D for <acme@ietfa.amsl.com>; Wed, 16 Dec 2015 12:11:32 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.56
X-Spam-Level:
X-Spam-Status: No, score=-1.56 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HELO_EQ_DE=0.35, T_RP_MATCHES_RCVD=-0.01] autolearn=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 5BwwG761RSbX for <acme@ietfa.amsl.com>; Wed, 16 Dec 2015 12:11:25 -0800 (PST)
Received: from mail.wyraz.de (web.wyraz.de [37.120.164.129]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 396BF1A896A for <acme@ietf.org>; Wed, 16 Dec 2015 12:11:25 -0800 (PST)
Received: from localhost (localhost [127.0.0.1]) by mail.wyraz.de (Postfix) with ESMTP id 7F973A0716; Wed, 16 Dec 2015 21:11:22 +0100 (CET)
X-Virus-Scanned: Debian amavisd-new at web.wyraz.de
Received: from mail.wyraz.de ([127.0.0.1]) by localhost (web.wyraz.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id cmOeiSEp8eQt; Wed, 16 Dec 2015 21:11:14 +0100 (CET)
Received: from [192.168.1.200] (p57857E5C.dip0.t-ipconnect.de [87.133.126.92]) (Authenticated sender: michael@wyraz.de) by mail.wyraz.de (Postfix) with ESMTPSA id 61377A06FE; Wed, 16 Dec 2015 21:11:14 +0100 (CET)
To: Stephen Farrell <stephen.farrell@cs.tcd.ie>, acme@ietf.org
References: <CAF+SmEpOLoaREymVhi=qOUg2opz1vKzzNp6tGrDTZAjYSKFDkg@mail.gmail.com> <566F15DC.7090607@wyraz.de> <6B677A87-C6A0-485E-80DF-24960D585F46@coderanger.net> <566F2CB5.90402@wyraz.de> <89774336-0BA6-48FC-821D-1E8F3ED9AC14@coderanger.net> <566F4701.7050308@wyraz.de> <F3DA31B1-B27C-4C63-8ED4-6D27D46FF282@coderanger.net> <C2C239F2-E8A7-499B-BE52-3A48EA92B86D@dropmann.org> <BF7F8411-3E83-4A1F-B3A1-4C37DC8B4618@coderanger.net> <3CDE1749-3143-49EE-BD66-0AE4A8CC4175@dropmann.org> <566FDAB7.2030403@cs.tcd.ie> <56700F68.3040103@wyraz.de> <56701904.2070009@cs.tcd.ie> <56702EFA.1050008@wyraz.de> <13B5E9A8-E9CE-4018-8A9D-7856CBF06B4F@coderanger.net> <CAMm+Lwhvf+nRVV38q1U1DKm1WStV1UJv4+EJ_zvq0G_Tb25S9w@mail.gmail.com> <2761E0B2-8DCC-4150-813F-8CAB756C0392@coderanger.net> <174B082E-2721-41AE-992D-2937DCCB74CB@dropmann.org> <894b0ad1f1c34184bbbc9133702ed474@usma1ex-dag1mb1.msg.corp.akamai.com> <5671BBB5.4050308@wyraz.de> <5671C174.5040004@cs.tcd.ie>
From: Michael Wyraz <michael@wyraz.de>
X-Enigmail-Draft-Status: N1110
Message-ID: <5671C562.9090803@wyraz.de>
Date: Wed, 16 Dec 2015 21:11:14 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.4.0
MIME-Version: 1.0
In-Reply-To: <5671C174.5040004@cs.tcd.ie>
Content-Type: multipart/signed; micalg="pgp-sha256"; protocol="application/pgp-signature"; boundary="uktsAenkDV1IiGW6AKPVf3uEET8Jw6FpC"
Archived-At: <http://mailarchive.ietf.org/arch/msg/acme/Nd6QEqqoxhGCArw6IhYSYC0ORPA>
Subject: Re: [Acme] Issuing certificates based on Simple HTTP challenges
X-BeenThere: acme@ietf.org
X-Mailman-Version: 2.1.15
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: Wed, 16 Dec 2015 20:11:32 -0000

Stephen,

I fear I have no idea what you mean with a "suffix list" and such. Maybe
it's what Phillip pointed out in his mail a few minutes ago. I mean a
SRV record for ACME challenge/response that replaces the A record for
this use case if pressent.

Example:
mydomain.com. IN A 1.1.1.1
sub1.mydomain.com. IN A 2.2.2.2
sub2.mydomain.com. IN A 3.3.3.3
_acme-validate._tcp.sub2.mydomain.com. IN SRV 80 acme.mydomain.com.
sub3.mydomain.com. IN A 4.4.4.4
_acme-validate._tcp.sub3.mydomain.com. IN SRV 8080 sub3.mydomain.com.


ACME server would expect the challenge's response:
for mydomain.com at http://mydomain.com/.well-kown/...
for sub1.mydomain.com at http://sub1.mydomain.com/.well-kown/...
for sub2.mydomain.com at http://acme.mydomain.com/.well-kown/...
for sub3.mydomain.com at http://sub3.mydomain.com:8080/.well-kown/...
for subsub.sub2.mydomain.com at
http://subsub.sub2.mydomain.com/.well-kown/...

That's exactly the way MX works for mail and SRV works for those
services that uses it. It behaves exactly as with A, so if the zone contains
other.mydomain.com. IN NS sometwherelse.com.
This NS can A records as well as _acme-validate._tcp SRV records for
other.mydomain.com and all it's subdomains.

So just don't add this SRV record and you will be as happy as you are at
the moment (probably more happy since xmas is comming ;-) )

Kind regards,
Michael.




>
> On 16/12/15 19:29, Michael Wyraz wrote:
>> An optional ACME SRV record in the spec would make all happy:
> tl;dr: No, it would not make me happy and I will object to it.
>
> Sorry about that but it's just a bad idea;-)
>
> We'd need something like the public suffix list for that to
> work. I really don't want the basic mechanism for acme to
> depend on dbound. [1] If someone suggests walking the DNS
> tree to find the RR, then that'll not be accepted by DNS
> folks - there's lots of history for how that discussion
> goes.
>
> And even if/when the public suffix issue is sorted, it'd
> still be a bad idea for people in my specific situation.
> For example, a record in tcd.ie (which is the correct public
> suffix) could prevent me from getting down.dsg.cs.tcd.ie certified
> even though the nearest real DNS authority is for cs.tcd.ie who
> probably would not publish such a record. That would push me
> back to using self-signed certs which would mean that acme was
> a step backwards, not forwards. Again, I don't know what the
> numbers are like for folks in my situation, but every time I
> have described it, people have recognised it as not uncommon.
>
> And even if none of that were an issue, I want (me and others)
> to be able to use acme to deal with CAs without there being
> a new complex RA interaction as a part of the basic mode of
> operation. An optional SRV scheme would inevitably evolve to
> have that level of complexity. In my case, cs.tcd.ie if they
> wanted to publish such a record would need a way to point to
> different PIs (i.e. people) in the department as being the
> ones who were responsible for authorizing certification
> requests. And those people would decide to delegate that to
> some student, so we'd have all sorts of non-trivial delegation
> issues to tackle if the SRV scheme is to be well-defined.
> Even optional things need to be well-defined.
>
> By all means define an SRV based challenge but I will argue
> strongly against it's inclusion as an option in the basic
> mechanism. I will also argue against the basic mechanism
> having any documentation dependency on such a scheme (because
> I think it'll take 1-2 more years to get done right). OTOH,
> if acme gets the basics done and soon and deployed, then I'll
> be happy to try help with subsequent work on RA features.
>
> Cheers,
> S.
>
> [1] https://tools.ietf.org/wg/dbound/
>