Re: [Acme] Optional "Wildcard" authorization field

Daniel McCarney <cpu@letsencrypt.org> Fri, 02 March 2018 22:23 UTC

Return-Path: <dmccarney@letsencrypt.org>
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 43D211250B8 for <acme@ietfa.amsl.com>; Fri, 2 Mar 2018 14:23:28 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.7
X-Spam-Level:
X-Spam-Status: No, score=-2.7 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=letsencrypt.org
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 uzL20jeODwbr for <acme@ietfa.amsl.com>; Fri, 2 Mar 2018 14:23:25 -0800 (PST)
Received: from mail-it0-x22f.google.com (mail-it0-x22f.google.com [IPv6:2607:f8b0:4001:c0b::22f]) (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 7492912EA55 for <acme@ietf.org>; Fri, 2 Mar 2018 14:23:25 -0800 (PST)
Received: by mail-it0-x22f.google.com with SMTP id l187so3619297ith.4 for <acme@ietf.org>; Fri, 02 Mar 2018 14:23:25 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=letsencrypt.org; s=google; h=mime-version:reply-to:in-reply-to:references:from:date:message-id :subject:to:cc; bh=stRCgi1qzNSEoMS2BS1AC70Pk65icYXDNCI1qzNCUOY=; b=SFMmu994Pbsby4bmxyPasuGT/BSnqt5iLyHaLTsyPOwJBzbma94HXcyJFuYEiXxYII mlD7tlhxL1HltMXnHt4RvmAr2TbIaqRYZV9hcO25sgPZIXSe/oX2hPDb0FgRtm31x36U WWGh2dgCNaqs7Fakh1P3fTh53nqPsDS8GptSw=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:reply-to:in-reply-to:references :from:date:message-id:subject:to:cc; bh=stRCgi1qzNSEoMS2BS1AC70Pk65icYXDNCI1qzNCUOY=; b=ok2JYk2EjVaERO6O5mSJUsB/gZn188Zv68uheAXjr1XEcgWflH1hC/XNAL/eAMsA4p lKv5jjrekL/PCBJV1yqvHREs4AzCVJUiFqgzjfIdx8xg/DkJ+W5N8pQiPbZCuMyA7gbu kY072PBRAs7UrYau2ZTA4k8SbV/kjvZuUF6aHth/+6LFGiBvR9G5yO3Vl+KzYYIDB3mZ pfH6Fe2rnLZwTdukdfYZ5GsAxywhRCxQqvaj6nsdzG2dHFc1QuXy45eALDAipbc/IZIi 5qSmkRrOiUV8GdqiRdnTGLWjPoG1f26r5l4AophPio5agJy85DHq5cykXAgeXsKanLhk iQDw==
X-Gm-Message-State: AElRT7EM1AVG8AJIzjooF8kd7DYnItEOD310sYMPYoN2l35Jkh4/m7MC 0v96H+AYo/iws0EAE49Tsx4YpFpg7Z/nkKMCKQd6KJPS9yI=
X-Google-Smtp-Source: AG47ELsQNTGIMn9O9pWAyvQF60H2rCGrs0nSAXQZdYTSE4imXDNFPrW03C8mtYQnO7T6EYmM0ocQzDGM3JHLURH3R2s=
X-Received: by 10.36.190.199 with SMTP id i190mr4506264itf.11.1520029404659; Fri, 02 Mar 2018 14:23:24 -0800 (PST)
MIME-Version: 1.0
Reply-To: cpu@letsencrypt.org
Received: by 10.107.21.2 with HTTP; Fri, 2 Mar 2018 14:23:23 -0800 (PST)
In-Reply-To: <CAL02cgQcZvdLGcNMG710E3YDv21G9zPTBnH4y4btMK9zF7MsbA@mail.gmail.com>
References: <CAKnbcLjuVPZa5P2FZa_cKAGmk1dP6ezrv3AgWSp9KK5HCzxPbg@mail.gmail.com> <CAL02cgQwZzKXvPsWr=tAbB-bi2s-gw3+TtJwkawHoEEb=6MiFw@mail.gmail.com> <CAKnbcLiQdjaPN32j8WOo5vhvfoTvHPYZj5pictb47ZTWvmJXYA@mail.gmail.com> <09d9ab58-2b1b-5515-8313-128705e86437@hemio.de> <CAKnbcLgbviD_-2bsXUuZfsg+2gQCtieXkj0wHRFk8ovUNGEBtw@mail.gmail.com> <CAL02cgQcZvdLGcNMG710E3YDv21G9zPTBnH4y4btMK9zF7MsbA@mail.gmail.com>
From: Daniel McCarney <cpu@letsencrypt.org>
Date: Fri, 02 Mar 2018 17:23:23 -0500
Message-ID: <CAKnbcLj7dtUg1MYSqUE-=QyOsPWfpE6JKOybL+rjr6PRRq+fKw@mail.gmail.com>
To: Richard Barnes <rlb@ipv.sx>
Cc: Sophie Herold <sophie_herold@hemio.de>, IETF ACME <acme@ietf.org>
Content-Type: multipart/alternative; boundary="94eb2c19e890b6996b0566756cbf"
Archived-At: <https://mailarchive.ietf.org/arch/msg/acme/18lKRCTDgGqV15kSmdSlr7OzzPE>
Subject: Re: [Acme] Optional "Wildcard" authorization field
X-BeenThere: acme@ietf.org
X-Mailman-Version: 2.1.22
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, 02 Mar 2018 22:23:28 -0000

>
> I would propose we stick with a simpler solution here.  While Sophie's
> solution does seem more general, in the interest of getting the spec
> shipped, I would propose we just add the boolean flag and write an
> extension spec if a more general solution is needed.


That sounds sensible to me. +1



On Fri, Mar 2, 2018 at 5:22 PM, Richard Barnes <rlb@ipv.sx> wrote:

> This is seeming like a lot of work for a pretty minor use case.
>
> I would propose we stick with a simpler solution here.  While Sophie's
> solution does seem more general, in the interest of getting the spec
> shipped, I would propose we just add the boolean flag and write an
> extension spec if a more general solution is needed.
>
> --Richard
>
>
> On Fri, Mar 2, 2018 at 4:58 PM, Daniel McCarney <cpu@letsencrypt.org>
> wrote:
>
>> This sounds like you want to provide the order identifiers that
>>> triggered this authorization within the authorization object?
>>
>>
>> Generally speaking yes.
>>
>> In principle, several order identifiers could lead to a single
>>> authorization I guess?
>>>
>>
>> I think in principle that's true. ACME doesn't prescribe that there be a
>> single authorization per-identifier. Perhaps Wildcards are just the most
>> immediate case of there being a disconnect between the order identifiers
>> and the authorizations. I was thinking only of identifier value but you're
>> right that there may be a disconnect in the quantity of order
>> authorizations compared to requested identifiers.
>>
>> It would be helpful if a CA with intentions to implement an issuance
>> policy that differs from "n order identifiers, n authorizations" would
>> speak up. I'm partial to the optional bool field because its very simple.
>> Your proposal is more robust but also a bigger change and I'd like to know
>> someone in the real world will benefit from the work involved :-)
>>
>> - Daniel / cpu
>>
>>
>> On Fri, Mar 2, 2018 at 3:46 PM, Sophie Herold <sophie_herold@hemio.de>
>> wrote:
>>
>>> On 02/03/18 18:32, Daniel McCarney wrote:
>>> > Richard: That's up to the client and the situation. In the linked
>>> Certbot
>>> > issues there were questions about error output/UX. In this case if the
>>> > client saw an error attached to an authorization with the identifier `{
>>> > "type": "dns", "value": "example.com"}` and the authorization had
>>> > `wildcard: true` the client could say "Failed to authorize *.
>>> example.com:
>>> > blah blah blah" or otherwise use the knowledge to inform their actions
>>> > (whatever they may be).
>>>
>>> This sounds like you want to provide the order identifiers that
>>> triggered this authorization within the authorization object?
>>>
>>> I think, in general it is just a guess that exmaple.com + wildcard means
>>> that the order contains *.example.com. This depends on which
>>> authorizations are created for which order identifiers, which is not
>>> specified by acme.
>>>
>>> In principle, several order identifiers could lead to a single
>>> authorization I guess? For example, if sub1.example.org and
>>> sub2.example.org lead to just an example.org authorization. Therefore
>>> "orderIdentifiers", as I call it here, needs to be a list:
>>>
>>>    {
>>>      "status": "valid",
>>>      "expires": "2015-03-01T14:09:00Z",
>>>
>>>      "identifier": {
>>>        "type": "dns",
>>>        "value": "example.org"
>>>      },
>>>
>>>      "orderIdentifiers": [
>>>        {
>>>          "type": "dns",
>>>          "value": "*.example.org"
>>>        }
>>>      ],
>>>
>>>      "challenges": [
>>>      …
>>>
>>> Best,
>>> Sophie
>>>
>>> _______________________________________________
>>> 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
>>
>>
>