Thanks a lot, Michael
Wrt. the process: As a reviewer, keeping everything in a single file is always
easier
than breaking it up into issues. Especially because the more you revisit a
document, the
more you go back and forth and maybe delete comments or change them.
When i sent this as an attachment, i was under the (mis)interpretation, that
attachments
would give me different file-size limits. I did learn in the meantime this is
not the case,
but in that review (for another WG doc), i ended up having to zip the review so
it could
go through *sigh*.
I think i should have created the tags for each review point that would have
allowed to
auto-create github issues from them. I remember that someone in IESG did
provide such feedback,
but i could not find it again. WOuld be nice to have a very simple way to find
such a
preferred tagging method documented on authors.ietf.org..
Thanks again!
Toerless
On Tue, Dec 19, 2023 at 09:53:29AM -0500, Michael Richardson wrote:
>
> Hi, I have processed the complete review from Toerless.
> (Making it a file attach is a bit hostile to the archives, btw)
>
> I have opened 40 issues at: https://github.com/anima-wg/brski-cloud/issues
>
> A few have text fixes on the branch
> https://github.com/anima-wg/brski-cloud/pull/88
> A few will require some discussion, and I've marked them for Toerless'
> attention. Most can be handled by authors, however, and I'll endeavour to
> get that posted by Jan. 2.
>
> Here is my comments/issues for the comments that Toerless made.
> (In two parts)
> Some comments inline as well.
>
> 1) many typos are at: https://github.com/anima-wg/brski-cloud/pull/88
>
> > 10 BRSKI Cloud Registrar 11 draft-ietf-anima-brski-cloud-05
>
> > 13 Abstract
>
> > 15 This document specifies the behavior of a BRSKI Cloud Registrar, and
> > 16 how a pledge can interact with a BRSKI Cloud Registrar when 17
> > bootstrapping.
>
> > If you can, add an explanation what the core aspects of a Cloud
> > Registrar are for tthe purpose of this document... discovery ?
> > untrusted connection,.... ?
>
> https://github.com/anima-wg/brski-cloud/issues/48
>
> > 95 1. Introduction
>
> > 97 Bootstrapping Remote Secure Key Infrastructures [BRSKI] specifies 98
> > automated bootstrapping of an Autonomic Control Plane. BRSKI
>
> > Suggest to replace after BRSKI with:
>
> > ... BRSKI specifies automated and secure provisioning of nodes (which
> > are called pledges) with cryptographic keying material (trust anchors
> > and certificates) to enable authenticated and confidential
> > communication with other similarily enrolled nodes. This is also called
> > enrolment.
>
> > No need to mention Autonomic Control Plane here IMHO (just sounds like
> > limiting scope of BRSKI Cloud).
>
> > If you really want folks to understand what is happening here, i
> > suggest to include explanations such as the following.
>
> > In BRSKI, the pledge performs enrolment by communicating with a BRSKI
> > Registrar belonging to the domain that provides the cryptopgraphic
> > keying material and usually is or acts upon the owner of the
> > pledge. The pledge does not know who its owner is. Insted, in BRSKI it
> > is assumed that the network to which the pledge connects belongs to the
> > owner of the pledge and therefore network-supported discovery
> > mechanisms can resolve generic, non-owner specific names to the owners
> > Registrar. To support enrolment of pledges without such an owner based
> > access network, the mechanisms of BRSKI Cloud are required which assume
> > that Pledge and Registrar simply connect to the Internet. The Internet
> > ("Cloud") connected Registrar will then determine ownership of the
> > Pledge and redirect the Plege to its owners Registar.
>
> https://github.com/anima-wg/brski-cloud/issues/49
>
> > 99 Section 2.7 describes how a pledge "MAY contact a well-known URI of
> > a 100 cloud registrar if a local registrar cannot be discovered or if
> > the 101 pledge's target use cases do not include a local registrar".
>
> > I would remove parenthesis and lowercase the MAY. No need for this
> > formalism to expose your internal repetition of sentence. This is still
> > introduction, repetition is perfectly fine.
>
> https://github.com/anima-wg/brski-cloud/issues/50
>
> > 131 * Local Domain Registrar: The Registrar discovered on the Local 132
> > Domain. There may not be a Local Domain Registrar in all 133
> > deployment scenarios.
>
> > Isn't one core aspect of interest (which should be discussed in the
> > text), that the pledge does discover a Registar locally, but its not of
> > its owner ?
>
> https://github.com/anima-wg/brski-cloud/issues/51
>
> > 135 1.2. Target Use Cases
>
> > 137 Two high level use cases are documented here. There are more
> > details
>
> > This document specifies and standardizes procedures for two high level
> > use cases.
>
> > (use case documentation is fine, but the beef of standard tracks RFCs
> > is the specification of standardized procedures).
>
> https://github.com/anima-wg/brski-cloud/issues/52
>
> > 152 or vertically (more equipment at one site) scaled. It is also 153
> > entirely possible that all devices sold by through a particular VAR
> > ^^^^^^^^^^ 154 might be preloaded with a configuration that changes the
> > Cloud 155 Registrar URL to point to a VAR. Such an effort would
> > require 156 unboxing each device in a controlled environment, but the
> > 157 provisioning could occur using a regular BRSKI or SZTP [RFC8572]
> > 158 process.
>
> > I think VAR is an unnecessary term and the whole paragraph is somewhat
> > confusing.
>
> > If i understand it correctly, the core argument is like this:
>
> > The procedures specified in this document are an alternative to
> > mechanisms possible with just BRSKI to reduce operational cost.
>
> > Consider pledges are to be enrolled when being connected solely to the
> > Internet, but no owner based network. Likewise, the Registar is assumed
> > to be only connected to the Internet. The challenge in this case is for
> > the pledge to discover a URI for the Oners Registar. In the absence of
> > the procdures described in this doument, BRSKI could be used, but the
> > pledge would need to be pre-staged with that URI. In one instance, the
> > seller of the pledge could attach to the shipment of the pledge a USB
> > stick pre-populated with a file containing that Owner Registar URI, and
> > that USB stick would need to be inserted into the pledge to enavble
> > enrolment. This is but one option, and compared to similar
> > alternatives, it does not require unpacking/configuration/repackaging
> > of the pledge at the sellers site, but only configuration of a USB
> > stick
>
> > Yada yada... i really don't know how to make this shorter without
> > looking readers who do not live & breathe this stuff, so it probably is
> > all better suited to be put later into the document and only put a
> > pointer to such a chapter here into the Introduction.
>
> https://github.com/anima-wg/brski-cloud/issues/53
>
> > 160 1.2.1. Owner Registrar Discovery
>
> ...
>
> > This option can be used to introduce the benefits of BRSKI for an
> > initial period when BRSKI is not available in existing EST-Servers. But
> > it can also be used long-term as an security-equivalent solution in
> > which BRSKI and EST-Server are set up in a modular fashion.
>
> > Would also suggest to add:
>
> > The use of an EST-Server instead of a BRSKI Registrar may mean thatno t
> > all the EST options required by [BRSKI] may be available and hence this
> > option may not support all BRSKI deployment cases. For example,
> > certificates to enroll into an ACP [RFC8994] needs to include an
> > AcpNodeName (see [RFC8994], Section 6.2.2), which non-BRSKI capable
> > EST-Servers ma not support.
>
> > At this point in the doc you need to insert 1.2.3 Summary
>
> https://github.com/anima-wg/brski-cloud/issues/54
>
> > 204 If the cloud registrar issues a voucher itself without redirecting
> > 205 the pledge to an owner registrar, the cloud registrar will inform
> > the 206 pledge what domain to use for accessing EST services in the
> > voucher 207 response.
>
> > These two paragrapsh need to be specifically referring to which of the
> > section 1 mentioned use cases they are. Aka: in case of 1.2.2 ..., In
> > case of 1.2.2...
>
> https://github.com/anima-wg/brski-cloud/issues/55
>
> > 209 Finally, when bootstrapping against an owner registrar, this 210
> > registrar may interact with a backend CA to assist in issuing 211
> > certificates to the pledge. The mechanisms and protocols by which 212
> > the registrar interacts with the CA are transparent to the pledge and
> > 213 are out-of-scope of this document.
>
> > "will interact with a CA" (aka: i don't think we hacve a case where a
> > CA is not involved, but no need to express opinion about where it's
> > located "backend..." superflous).
>
> > More importantly: This paragraph applies to both owner registar and
> > owner EST-Server, rewrite all occurrances within paragraph to cover
> > both cases. (i think...!)
>
> https://github.com/anima-wg/brski-cloud/issues/56
>
> > 219 TWO CHOICES: 1. Cloud Registrar redirects to Owner Registrar 2.
> > 220 Cloud Registrar returns VOUCHER pinning Owner Register.
>
> > This paragraph comes totall unexpected without context. Pinning is
> > unexplained. Maybe less ternse explanation here.
>
> https://github.com/anima-wg/brski-cloud/issues/57
>
> > 242 Figure 1: High Level Architecture
>
> https://github.com/anima-wg/brski-cloud/issues/58
>
> > 246 1. OEM - Equipment manufacturer. Operate the MASA.
>
> > The rest of the document does not use the term OEM. Delete
>
> https://github.com/anima-wg/brski-cloud/issues/59
> I think we need this term.
>
> > 248 2. Network operator. Operate the Owner Registrar. Often operated
> > 249 by end owner (company), or by outsourced IT entity.
>
> > This is only used twice below and the second time its not clear its the
> > same operator.
>
> > 251 3. Network integrator. They operate a Cloud Registrar.
>
> https://github.com/anima-wg/brski-cloud/issues/60
>
> > 253 2.2. Network Connectivity
>
> > 255 The assumption is that the pledge already has network connectivity
> > 256 prior to connecting to the cloud registrar. The pledge must have
> > an 257 IP address, must be able to make DNS queries, and must be able
> > to 258 send HTTP requests to the cloud registrar. The pledge operator
> > has
>
> > I would remove the "able to send HTTP requests" as this opens a rathole
> > of questions re. HTTP and mutual authentication, which are just
> > resolved later in the doc.
>
> https://github.com/anima-wg/brski-cloud/issues/61
>
> > 262 2.3. Pledge Certificate Identity Considerations
>
> > 264 BRSKI section 5.9.2 specifies that the pledge MUST send an EST 265
> > [RFC7030] CSR Attributes request to the registrar. The registrar MAY
>
> > which registrar - cloud or owner ?
>
> https://github.com/anima-wg/brski-cloud/issues/62
>
> > 266 use this mechanism to instruct the pledge about the identities it
> > 267 should include in the CSR request it sends as part of enrollment.
> > 268 The registrar may use this mechanism to tell the pledge what
> > Subject 269 or Subject Alternative Name identity information to include
> > in its 270 CSR request. This can be useful if the Subject must have a
> > specific 271 value in order to complete enrollment with the CA.
>
> > So... In case of using an owner EST-Server instead of the Owner BRSKI
> > Registrar, this paragraph seems to hint at the option that the pledge
> > does the CSR Attribute request so that the Cloud registrar provides
> > this information because the EST-Server may not ? That should be said
> > more explicitly.
>
> > For the case of Cloud and Owner Registrar it seems that the CSR attr
> > request could also be sent to the cloud registrar, but also to owner
> > registrar. Should both be sent ?? Be more explicit please.
>
> https://github.com/anima-wg/brski-cloud/issues/63
>
> > 280 For example, the pledge may only be aware of its IDevID Subject
> > which 281 includes a manufacturer serial number, but must include a
> > specific 282 fully qualified domain name in the CSR in order to
> > complete domain 283 ownership proofs required by the CA.
>
> > puuh... interesting, but bring up security challenge if i understand it
> > correctly:
>
> > So the pledge would learn attributes from the cloud registrar via
> > CSRattr request/reply and later on uses them in the cert enrolment step
> > with the EST-Server/Owner-Registrar.
>
> > Yes ?
>
> ... https://github.com/anima-wg/brski-cloud/issues/64
>
> > 294 3.1.1. Cloud Registrar Discovery
>
> > 296 BRSKI defines how a pledge MAY contact a well-known URI of a cloud
> > 297 registrar if a local domain registrar cannot be discovered.
>
> > Actually, it would really be good if some text in the introduction of
> > brski cloud would discus/refer to RFC8995 section 2.7 "Cloud Registar",
> > such as:
>
> https://github.com/anima-wg/brski-cloud/issues/65
>
> > 298 Additionally, certain pledge types may never attempt to discover a
> > 299 local domain registrar and may automatically bootstrap against a
> > 300 cloud registrar.
>
> > 302 The details of the URI are manufacturer specific, with BRSKI giving
> > 303 the example "brski-registrar.manufacturer.example.com".
>
> > Hmm. RFC8995 says:
>
> > performing a DNS lookup using a well-known URI such as
> > "brski-registrar.manufacturer.example.com"
>
> > but i think thats wrong text because "brski-..." is not a URI given how
> > it has no scheme. Sentence should have been "DNS lookup using the host
> > of the well-known URI".
>
> https://github.com/anima-wg/brski-cloud/issues/66
>
> > 313 with pre-loaded trust-anchors that are used to validate the TLS 314
> > connection. This can be using a public Web PKI trust anchors using 315
> > [RFC6125] DNS-ID mechanisms, a pinned certification authority, or 316
> > even a pinned raw public key. This is a local implementation 317
> > decision.
>
> > I am mostly worried of this being mis-read such that it could be
> > appropriate to include the teirrbly long list of WebPKI Trust Anchors
> > and think thats good security. If we sa WebPKI it would certainlt be
> > good to suggest limiting WebPKI Trust anchros to only the ones known to
> > be required for the Cloud Registar.
>
> https://github.com/anima-wg/brski-cloud/issues/67
>
> > 319 The pledge MUST NOT establish a provisional TLS connection (see
> > BRSKI 320 section 5.1) with the cloud registrar.
>
> > Reads confusingly here. Suggest to remove paragraph here and explain
> > after the following paragraph that compared to BRSKI, the TLS
> > connection is immediately mutually authenticated and not first a
> > provisional TLS connection as in BRSKI.
>
> https://github.com/anima-wg/brski-cloud/issues/68
>
> > 322 The cloud registrar MUST validate the identity of the pledge by 323
> > sending a TLS CertificateRequest message to the pledge during TLS 324
> > session establishment. The cloud registrar MAY include a 325
> > certificate_authorities field in the message to specify the set of 326
> > allowed IDevID issuing CAs that pledges may use when establishing 327
> > connections with the cloud registrar.
>
> > 329 The cloud registrar MAY only allow connections from pledges that
> > have 330 an IDevID that is signed by one of a specific set of CAs, e.g.
> > 331 IDevIDs issued by certain manufacturers.
>
> > How about we upgrade this ?
>
> > To protect itself against DoS attacks, the cloud registrar SHOULD
> > reject TLS connections when it can determine during TLS authentication
> > that it can not support the pledge, for example because the plege can
> > not provide an IDevID signed by a CA recognized/supported by the cloud
> > registrar.
>
> https://github.com/anima-wg/brski-cloud/issues/69
>
> > 334 identity certificates or using Raw Public Key [RFC7250]
> > certificates.
>
> > I think you're mention this because you have a good business case, such
> > as reduction in manufacturing cost by doing self enrolment or raw
> > public keys during manufacturing and capturing those into MASA and
> > manufacturing databases - instead of also having to bother about a
> > CA. It might be useful to add a paragraph about this benefit, although
> > it is AFAIK not really BRSKI Cloud specific - but it seems like this
> > could be even a more common case as peldges with non-self-signed certs.
>
> https://github.com/anima-wg/brski-cloud/issues/70
>
> > 339 registrar and has verified the cloud registrar PKI identity, the
>
> > s/and has verified the cloud registrar PKI identity,// ??
>
> https://github.com/anima-wg/brski-cloud/issues/71
> (I disagree)
>
> > 350 * return a suitable 4xx or 5xx error response to the pledge if the
> > 351 registrar is unwilling or unable to handle the voucher request
>
> > call this " * error: " ?
>
> https://github.com/anima-wg/brski-cloud/issues/72
>
>
> --
> Michael Richardson <[email protected]> . o O ( IPv6 IøT consulting )
> Sandelman Software Works Inc, Ottawa and Worldwide
>
>
>
>
--
---
[email protected]
_______________________________________________
Anima mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/anima