Thank you for your review and comments!

These all seem like good suggestions - I will incorporate them as
appropriate.
------------------------------

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://find-and-update.company-information.service.gov.uk/company/12417574>,
LEI 875500FXNCJPAPF3PD10. ICO register №: ZA782876
<https://ico.org.uk/ESDWebPages/Entry/ZA782876>. 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 Thu, 21 Nov 2024 at 03:57, Dale Worley via Datatracker <nore...@ietf.org>
wrote:

> Reviewer: Dale Worley
> Review result: Ready with Nits
>
> I am the assigned Gen-ART reviewer for this draft. The General Area
> Review Team (Gen-ART) reviews all IETF documents being processed
> by the IESG for the IETF Chair.  Please treat these comments just
> like any other last call comments.
>
> For more information, please see the FAQ at
>
> <https://wiki.ietf.org/en/group/gen/GenArtFAQ>.
>
> Document:  draft-ietf-acme-onion-04
> Reviewer:  Dale R. Worley
> Review Date:  2024-11-20
> IETF LC End Date:  2024-11-26
> IESG Telechat date:  not known
>
> Summary:
>
>     I have not assessed the technical details of how these changes
>     integrate with the rest of the ACME protocols, not being
>     well-versed in ACME.  (I expect that the WG will do that
>     adequately.)  Similarly, I have not assessed the security
>     properties of this protocol.  (I expect the SecDir review will do
>     that adequately.)  I have assessed the quality of the exposition.
>
>     This draft is basically ready for publication, but has nits that
>     should be fixed before publication.
>
> Nits/editorial comments:
>
> 2.  Identifier
>
>    [...] as defined in Part .onion of [tor-address-spec].  [...]
>
> For consistency, I think you want to say 'Part ".onion" of'.
>
> 3.2.  New "onion-csr-01" Challenge
>
>    type (required, string)  The string onion-csr-01
>
> Comparing RFC 8555 sections 8.3 and 8.4 suggests you want:
>
>    type (required, string)  The string "onion-csr-01".
>
> 5.  ACME over hidden services
>
>    [...] this document suggests at least 30 minutes however it is
>    entirely up to operator preference.
>
> There are various places in the document which seem to be wanting BCP
> 14 language.  For instance, here it seems it would be clearer to call
> out
>
>    [...] this document RECOMMENDS at least 30 minutes however it is
>    entirely up to operator preference.
>
> A number of uses of "can" seem like they should be "MAY".
>
> Actually, RECOMMENDS isn't proper BCP 14; you probably need something
> like
>
>    [...] it is RECOMMENDED the server allow at least 30 minutes;
>    however it is entirely up to operator preference.
>
> 6.  Certification Authority Authorization (CAA)
>
>    To this end a new field is added to the second layer hidden service
>    descriptor Part "Second layer plaintext format" of [tor-rend-spec-v3]
>    with [...]
>
> There seems to be a word missing between "hidden service descriptor"
> and "Part".  There seems to be a similar issue with the reference to
> tor-rend-spec-v3 in section 6.3.
>
>    A hidden service's second layer descriptor using CAA could look
>    something like the following (linebreaks have been added for
>    readability only):
>
>    create2-formats 2
>    single-onion-service
>    caa 128 issue "test.acmeforonions.org;validationmethods=onion-csr-01"
>    caa 0 iodef "mailto:secur...@example.com";
>    introduction-point AwAGsAk5nSMpAhRqhMHbTFCTSlfhP8f5PqUhe6DatgMgk7kSL3
>            KHCZUZ3C6tXDeRfM9SyNY0DlgbF8q+QSaGKCs=
>    ...
>
> Taking this text literally, that means that the "second layer
> descriptor" starts
>
> create2-formats 2single-onion-servicecaa 128 issue
> "test.acmeforonions.org;validationmethods=onion-csr-01" [...]
>
> but I doubt you meant that.  I suspect you mean that the linebreak and
> subsequence whitespace at the end of the "introduction-point" line is
> to be ignored but the other linebreaks are intended to be part of the
> descriptor.  To say that requires revising the wording.  There are
> also a couple of situations like this in section 6.4.2.
>
> 6.1.  Relevant Resource Record Set
>
>    but these do not:
>
> It might be worth adding "a.b.onion" to that list to show that an
> intermediate label can't be elided in order to match "a.onion".
>
> 6.3.  Preventing mis-issuance by unknown CAs
>
>    In the case of a hidden service requiring client authentication it is
>    impossible to read them without the hidden service trusting a ACME
>    server's public key [...]
>
> In re "it is impossible to read them", it is not clear who is trying
> to read what.  You probably want to make that clear.  Also, "a ACME"
> should be "an ACME".
>
>    would disclose unwanted information about the hidden
>    service operator
>
> "unwanted information" is incorrect, really.  Probably you mean
> "unwantedly disclose information" or perhaps "disclose unwantedly
> information".  (Check that with the Editor.)
>
> 6.4.  Alternative in-band presentation of CAA
>
>    If an ACME server receives a validly signed CAA record set in the
>    finalize request it need not check the CAA set in the hidden service
>    descriptor and can proceed with issuance on the basis of the client
>    provided CAA record set only.  An ACME server MAY ignore the client
>    provided record set, and is free to always fetch the record set from
>    the service descriptor.
>
> I think you want some "MAY"s in this paragraph to explicitly call out
> the various permissions.  Something like
>
>    If an ACME server receives a validly signed CAA record set in the
>    finalize request it MAY proceed with issuance on the basis of the
>    client provided CAA record set only without without checking the
>    CAA set in the hidden service.  Alternatively, an ACME server MAY
>    ignore the client provided record set and fetch the record set from
>    the service descriptor.  In any case, the server always MAY fetch
>    the record set from the service descriptor.
>
> 8.2.1.  "http-01" Challenge
>
>    The CA would follow the procedure set out in Section 8.3 of [RFC8555]
>    [...]
>
> Under what circumstances "would" the CA follow this procedure?  The
> remainder of the paragraph suggests that this is in some sort of error
> situation, but none of the context is supplied here.  (It appears that
> the last paragraph of appendix A may be the intended context.)
> Sections 8.2.2 and 8.2.3 have similar issues.
>
> 8.4.  Use of Tor for non ".onion" domains
>
> It seems that this should be 'Use of Tor for non-".onion" domains',
> but ask the Editor.  There are other instances of this construction
> elsewhere.
>
>    [...] due to the risk of exit hijacking.
>
> You probably want to explain or provide a reference for "exit
> hijacking" as the term doesn't seem to be used in RFCs and Google
> doesn't turn up any references other than the acme-onion documents.
>
> 8.7.  In-band CAA
>
>    CAA records are still verified against the same hidden service key.
>
> "still" probably isn't the right word, as there doesn't seem to be a
> time-sequence involved.  Also, the referent of "the same" is unclear.
> Do you mean "there is no difference in the security model between
> accepting CAA records directly from the ACME client and fetching them
> over Tor; the CAA records are verified using the same hidden service
> key in either case"?
>
> 8.8.  Access of the Tor network
>
>    The ACME server MUST make its own connection to the hidden service
>    via the Tor network, and MUST NOT outsource this, such as by using
>    Tor2Web.
>
> This should have more detail, since any connection to any part of the
> Internet "is outsourced" at some level of the protocol stack.  I
> suspect that what is meant is that some particular activity is here
> described as "making a connection to the hidden service via the Tor
> network" and that activity MUST be done within the ACME server; what
> that activity is should have its proper technical name given here.  I
> suspect the needed concept is "the server's endpoint of the XXX layer
> connection stack MUST be within the server itself, and not outsourced
> to a less-trusted facility".
>
> 8.9.  Anonymity of the ACME client
>
>    ACME clients requesting certificates for ".onion" Special-Use Domain
>    Names can inadvertently expose the existence of a hidden service on
>    the host requesting certificates to unintended parties - even when
>    features such as ECH [I-D.ietf-tls-esni] are utilised, as the IP
>    addresses of ACME servers are generally well-known, static, and not
>    used for any other purpose.
>
> Given the following paragraph, I suspect that this applies only when
> the request is done not over Tor.  Also, moving "to unintended
> parties" makes the sentence clearer, so I suggest
>
>    ACME clients requesting certificates for ".onion" Special-Use Domain
>    Names not over the Tor network can inadvertently expose to
>    unintended parties the existence of a hidden service on
>    the host requesting certificates [...]
>
> --
>
>    Hidden Service
>    operators SHOULD consider the privacy implications of this before
>    requesting certificates.
>
> I think you should add to this sentence "before requesting WebPKI
> certificates", as there are other certificate requests (like ACME
> .onion requests) to which seems not to apply.  Then again, perhaps
> there are additional types of certificate requests to which this does
> apply.  Indeed, looking at the abstract of RFC 9162, it talks of TLS
> server certificates rather than WebPKI -- are these the same or
> different from WebPKI certificates?  Clarification is in order.
>
> 9.1.  Normative References
>
>    [tor-rend-spec-v3]
>               The Tor Project, "Tor Rendezvous Specification - Version
>               3", <https://spec.torproject.org/rend-spec/index.html>.
>
>    [tor-dir-spec-v3]
>               The Tor Project, "Tor Directory Protocol - Version 3",
>               <https://spec.torproject.org/dir-spec/index.html>.
>
> Both of these references go not to documents, but to a set of
> hyperlinked pages.  I much dislike this sort of reference, especially
> as a normative reference, because it leaves ill-defined what the
> reference *is*.  It also requires using the web site's tools to search
> the "document", and the actual behavior of those tools is unknown.
>
> And looking for the reference in section 6, "Part "Second layer
> plaintext format" of [tor-rend-spec-v3]", I notice that the sidebar
> outline of index.html does *not* include an item "Second layer
> plaintext format".
>
> Instead, I strongly recommend you give the URL of an actual document.
> There clearly is one, as the "print" icon will return a document.  In
> that document, I can search for, e.g. "Second layer plaintext format",
> using my tools.
>
> [END]
>
>
>
>
_______________________________________________
Acme mailing list -- acme@ietf.org
To unsubscribe send an email to acme-le...@ietf.org

Reply via email to