Sorry, I somehow missed this one.

> ----------------------------------------------------------------------
> DISCUSS:
> ----------------------------------------------------------------------
> 
> I think we need to have some privacy considerations text about how this
> mechanism exposes ACME account URLs, which are otherwise intended to be
> unguessable, in the public DNS view.  While ACME is generally intended
> to remain secure in the face of such information disclosure, it does
> have potential to enable some forms of correlation attacks, and could
> lead to DoS attempts specific to a given account or accounts.
I agree. How's this?


    Revelation of Account URIs
    --------------------------

    Because CAA records are publically accessible, use of the
    "accounturi" parameter enables third parties to observe the
    authorized account URIs for a domain. This may allow third parties
    to identify a correlation between domains if those domains use the
    same account URIs.

    CAs MUST select and process account URIs under the assumption that
    untrusted third parties may learn of them.


> ----------------------------------------------------------------------
> COMMENT:
> ----------------------------------------------------------------------
> 
> I support Barry's Discusses (noting in particular that the "ca-" prefix is
> not reserved for local use by RFC 8555).
> 
> Did we consider supplying ABNF descriptions of the parameter values?  In
> particular, this would unambiguously specify whether optional whitespace
> is admitted in the comma-separated list used by "validationmethods".
I don't believe this was considered, but it seems like an improvement.
How's this?

    The value of the "validationmethods" parameter MUST comply with the
    following ABNF {{RFC5234}}:

        value = [*(label ",") label]
        label = 1*(ALPHA / DIGIT / "-")

> The shepherd writeup notes that there used to be hyphens in
> "account-uri" and "accepted-challenges".  It seems that rfc6844bis has
> expanded the grammar to allow such hyphens; do we want to revisit their
> removal from this document?  Noting that rfc6844bis is also slated for
> approval on this week's telechat, it may be worth updating the
> references as well, regardless of the decision on hyphens.
I agree we should change this to rfc6844bis, done.

I'm neutral on reintroducing hyphens. I don't think it's worth doing,
since there is now an implementation out there:

<https://community.letsencrypt.org/t/acme-caa-validationmethods-support/63125>

> Section 3
> 
>    The presence of this parameter constrains the property to which it is
>    attached.  Where a CAA property has an "accounturi" parameter, a CA
>    MUST only consider that property to authorize issuance in the context
>    of a given certificate issuance request if the CA recognises the URI
>    specified as identifying the account making that request.
> 
> nit: perhaps "URI specified in the value portion of the accounturi
> parameter" for maximum clarity?

Changed to:
    The presence of this parameter constrains the property to which it
    is attached. Where a CAA property has an "accounturi" parameter, a
    CA MUST only consider that property to authorize issuance in the
    context of a given certificate issuance request if the CA recognises
    the URI specified in the value portion of that parameter as
    identifying the account making that request.

> 
> Section 4
> 
>    The presence of this parameter constrains the property to which it is
>    attached.  A CA MUST only consider a property with the
>    "validationmethods" parameter to authorize issuance where the name of
>    the challenge method being used is one of the names listed in the
>    comma-separated list.
> 
> nit: I'm not sure that we've really defined "challenge method" in the
> sense it's used here.  (We do define it in the sense of "names listed in
> the comma-separated list", but it seems like this usage is trying to
> refer to the actual actions taken by the CA to authorize the issuance
> request.
s/challenge/validation/ -- consistency.
s/name/label/ -- consistency with the ACME Validation Methods IANA
registry.

Revised this a little to make things more watertight.
The text of this section is now:

    A CAA parameter "validationmethods" is also defined for the "issue"
    and "issuewild" properties. The value of this parameter, if
    specified, MUST be a comma-separated string of validation method
    labels.

    A validation method label identifies a validation method. A
    validation method is a particular way in which a CA can validate
    control over a domain.

    The presence of this parameter constrains the property to which it
    is attached. A CA MUST only consider a property with the
    "validationmethods" parameter to authorize issuance where the
    validation method being used is identified by one of the validation
    method labels listed in the comma-separated list.

    Each validation method label MUST be either the label of a method
    defined in the ACME Validation Methods IANA registry, or a
    CA-specific non-ACME validation method label as defined below.

    Where a CA supports both the "validationmethods" parameter and one
    or more non-ACME validation methods, it MUST assign labels to those
    methods. If appropriate non-ACME labels are not present in the ACME
    Validation Methods IANA registry, the CA MUST use labels beginning
    with the string "ca-", which are defined to have CA-specific
    meaning.

    The value of the "validationmethods" parameter MUST comply with the
    following ABNF {{RFC5234}}:

        value = [*(label ",") label]
        label = 1*(ALPHA / DIGIT / "-")

> 
> Section 5.2
> 
> I think this section may be predicated on an understanding of CAA
> "issue"/"issuewild" parameters that does not match my own.  (Note that
> this includes the possibility that my understanding is incorrect.)
> Specifically, my reading of draft-ietf-lamps-rfc6844bis-06 Section 4.2
> indicates that a given paramter is only defined for usage in a CAA
> "issue" record at the explicit specification of the Issuer, and that the
> Issuer alone determines their semantics.  So when this text says that
> parameters are not an effective control absent out-of-band establishment
> of support, that's either a non sequitur or a tautology -- nobody has
> any business adding parameters to an Issuer's CAA entry unless that
> Issuer has told them to do so, full stop.
> Granted, we are complicating things by providing a preestablished
> specification for a set of parameters that an Issuer may choose to
> incorporate by reference, but I don't see that as changing the fact that
> the parameters are still specific to the given Issuer (and their CAA
> entry).
> Similarly, "MUST NOT assume" and "SHOULD also document" are repeating
> requirements from rfc6844bis, when starting from my frame of reference
> (and thus would not need to use the normative capitalization).
I agree with your interpretation, and this interpretation is in fact
explicitly stated in the IANA considerations section — but I don't think
how this is worded currently is a problem.

I mean, it's the security considerations section — it's not just there
to add more normative requirements, but to point out ways you could
shoot yourself in the foot. We need to spell it out for people.

> Section 5.7
> 
> This seems perhaps more appropriate in the core CAA specification than
> in this document.  Conveniently, rfc6844bis is open and in IESG
> evaluation...
I've changed to rfc6844bis, but I don't think it's worth removing this.
It was added on request, and applying more security properties to CAA is
a good opportunity to remind people of this subtlety.

_______________________________________________
Acme mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/acme

Reply via email to