Hi!

I conducted an AD review of draft-ietf-acme-dtnnodeid-04.  Thanks for all of 
the work on this extension to support DTN.  My feedback is as follows:

** This document proposes an update to draft-ietf-dtn-bpbis.

-- Editorially, if that's the case, the document header has a typo of 
"-ietf-dtn-bpbis".  The abstract should explicitly state that what document is 
being updated and how.

-- On the process side, this arrangement is rather unusual.  No quarrels with 
the substance of the update which will improve extensibility.  However, this 
particular document has experimental status and the document being updated 
(draft-ietf-dtn-bpbis) is proposed standard (PS).  Having a lower maturity 
document updating one of higher status is my concern -- "experiments fail".  
Was this issue considered?  Discussed with the DTN WG?  I'll note that 
draft-ietf-dtn-bpbis has not yet been published (although it is in the late 
state of the RFCEd queue).  Could the changes just be added there directly?

**I need a little help on DTN addressing.  The text notes that that the intent 
is to issue certificates with DTN Node IDs as a URI in subjectAltName.

(a) From the ABNF in Section 4.2.5.1.1 of draft-ietf-dtn-bpbis-31 of the dtn 
schema says:
   dtn-uri = "dtn:" ("none" / dtn-hier-part)

   dtn-hier-part = "//" node-name name-delim demux ; a path-rootless

   node-name = 1*(ALPHA/DIGIT/"-"/"."/"_") reg-name

   name-delim = "/"

   demux = *VCHAR

(b) The dtn schema does have circumstances where there is an authority part to 
the URI.  The definition of reg-name in Section 3.2.2 of RFC3986 seems to 
suggest sufficient flexibility such that it would not represent a name valid 
(at least in syntax) in the DNS

(c) Section of 4.2.1.6 of RFC5280 says the following about URIs in the SAN:

   URIs that
   include an authority ([RFC3986], Section 3.2) MUST include a fully
   qualified domain name or IP address as the host.

Given the constraint of (c) and the flexibility afforded with the definition of 
a node ID in (a)+(b), will DTN Node IDs always satisfy the requirement from (c) 
to be FQDN?  Is language needed to ensure that (likely in a few places in the 
document)?

** Section 1.  Editorial.  The paragraph starting with "Once an ACME server 
validates ..." jumps immediately into discussion a "uri" without explicitly 
describing it.  The text also transitions from the previous paragraph talking 
DTN Node Ids being URIs and now talking about "uri".  I would have appreciate a 
bit more hand-holding use the ACME terminology of a new "identifier type" and 
the need for a new DTN specific "challenge type".

** Section 1.  
This document also updates BPv7 to explicitly use the IANA
   administrative record type registry in Section 6.

Please explicitly cite a reference to BPv7

** Section 1.2.

   When a ACME client requests a pre-authorization or an order with a
   "uri" having one of the DTN Node ID schemes, the ACME server offers a
   challenge type to validate that Node ID.  

As noted in section 1, please explicitly state that what a "uri" is - a new 
ACME identifier type.  I would recommend:

When a ACME client requests a pre-authorization or an order with a "uri" 
identifier type with a value being one of the DTN Node ID schemes, the ACME 
server offers an "dtn-nodeid-01" challenge type to validate that Node ID.  

** Figure 1.  For clarity, it would be helpful to number the arrows between 
nodes and also use the corresponding numbers in the narrative text.

** Section 1.3.  The explicit guidance on extracting the CDDL from the XML is 
very useful.  Thanks for including it.

** Section 1.4.  Per the definition of "Challenge Bundle", shouldn't text 
clarify that it's the BP agent of the ACME server?  The Response Bundle 
helpfully makes that distinction.
OLD
     It is a Bundle created by the ACME
      server to challenge a Node ID claim.

NEW
It is a Bundle created by the BP agent managed by the ACME
      server to challenge a Node ID claim.

** Section 2. 
   Identifiers of type "uri" in certificate requests MUST appear in an
   extensionRequest attribute [RFC2985] containing a subjectAltName
   extension of type uniformResourceIdentifier having a value consistent
   with the requirements of [RFC3986].  Because the
   uniformResourceIdentifier is encoded as an IA5String it SHALL be
   treated as being in the percent-encoded form of Section 2.1 of
   [RFC3986].  

Section 1 invokes the use of the PKIX profile [RFC5280].  The above described 
guidance is only part of the constraints on using a SAN on the URI.  Section 
4.2.1.6 of [RFC5280] covers the rest.

** Section 3.  
   "token-chal"  This token is unique to, and constant for, each ACME
      authorization.  

This sentence reads to me as saying inconsistent things - "unique to ... each 
ACME authorization" suggests that each authorization gets a different token.  
"... and constant for each ACME authorization" seems to suggest is the same 
token across all ACME authorizations.  That doesn't seem right.

** Section 3.  Editorially.  I found the validation process being described as 
two separate lists of action, one for the client and one from the server, 
instead of interleaving them hard to follow.  However, I yield to the WG on 
this one.

** Section 3.3.
   Source Node ID:  The Source Node ID SHALL indicate the Node ID of the
      ACME server performing the challenge.

Is it the "Node ID of the ACME server" or the "Node ID of the BP agent of the 
ACME server"  

** Section 3.4.  Typo. s/Each Each/Each/

** Section 3.4. Typo. s/the the/the/

** Section 3.4.1.

   *  The Response Bundle was received within the time interval allowed
      for the challenge.

It would be helpful to state if this check based is based on the Creation Time 
and Lifetime fields.

** Section 4.  The text here is generic describing the functionality of the 
gateway.  Figure 1 presented an architecture where only the Response Bundle 
would pass through the integrity gateway.  Is it envisioned that the Challenge 
Bundle could use it as well?

** Section 8.  It would be worth repeating that the Security Considerations of 
draft-ietf-dtn-bpbis apply to the BP-to-BP agent communication.  Likewise, that 
RFC8555 applies to the ACME client/server communication.

** Section 8.  Section 1.1 states that the communication between the ACME 
client and ACME server and their respective BP agents is out of scope.  
However, the integrity of the entire ACME issuance process rests on security of 
this communication.  Can the risks of and considerations for that communication 
please be documented?

Regards,
Roman

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

Reply via email to