Mohamed Boucadair has entered the following ballot position for
draft-ietf-anima-brski-prm-18: Discuss

When responding, please keep the subject line intact and reply to all
email addresses included in the To and CC lines. (Feel free to cut this
introductory paragraph, however.)


Please refer to 
https://www.ietf.org/about/groups/iesg/statements/handling-ballot-positions/ 
for more information about how to handle DISCUSS and COMMENT positions.


The document, along with other ballot positions, can be found here:
https://datatracker.ietf.org/doc/draft-ietf-anima-brski-prm/



----------------------------------------------------------------------
DISCUSS:
----------------------------------------------------------------------

Hi Steffen, Thomas, Eliot, and Michael,

Many thanks for editing such a well-written document. Enjoyed reading it,
although some repetition here and there but that can be easily fixed.

Special thanks for the well thought management/logging/operational
considerations.

Thanks to Ran Chen for the opsdir review.

I have some few DISCUSS/COMMENT points. I will send you offline a set of
minor/edits.

# DISCUSS

# Unconditional MUST

CURRENT:
   The pledge MUST respond to all requests regardless of the
   Host header field provided by the client (i.e., ignore it).

I don’t think that is safe.

I’m afraid this needs some scoping; as there are other legitimate conditions
where the pledge doe snot have to reply.

# Compliance with HTTP BCP (RFC9205)

CURRENT:
   If the pledge is unable to create the PVR, it SHOULD respond with an
   HTTP error status code to the Registrar-Agent.  The following client
   error status codes SHOULD be used:

The use of normative language is IMO not compliant with the guidance in
RFC9205, about error handling.

There are several similar constructs in the document.

# Cluster with 8366bis

CURRENT:

   The JSON PVR Data MUST contain the following fields of the “ietf-
   voucher-request” YANG module as defined in
   [I-D.ietf-anima-rfc8366bis];

I think this spec should be clustered with 8366bis. There are several structure
that used in this document and which depends on what is defined in 8366bis.
Changes to the bis will have implications on this one.

With that in mind, I tend to suggest holding approval of this specification
till we finalize the bis spec.

# Requires TLS1.3

CURRENT:
   As already stated in [RFC8995], the use of TLS 1.3 (or newer) is
   encouraged.  TLS 1.2 or newer is REQUIRED on the Registrar-Agent
   side.  TLS 1.3 (or newer) SHOULD be available on the registrar, but
   TLS 1.2 MAY be used.  TLS 1.3 (or newer) SHOULD be available on the
   MASA, but TLS 1.2 MAY be used.

Please update to take into to reflect draft-ietf-uta-require-tls13.


----------------------------------------------------------------------
COMMENT:
----------------------------------------------------------------------

# Consider having a reference figure early in the document with the various
entities.

# Be consistent through the document about how you expand as both forms are
used: Xccc Xccc Xcc (XXX) or XXX (Xccc Xccc Xcc).

# Entities are functional one: There might be multiple servers, RAs, pledges,
etc. Consider fixing this through the document. For example:

OLD:
   EST in turn
   relies for the authentication and authorization of the certification
   request on the credentials used by the underlying TLS between the EST
   client and the EST server.

NEW:
   EST in turn
   relies for the authentication and authorization of the certification
   request on the credentials used by the underlying TLS between the EST
   client and an EST server.

OLD: BRSKI addresses scenarios in which the pledge initiates the
NEW: BRSKI addresses scenarios in which a pledge initiates the

OLD:
   *  introduces the Registrar-Agent as new component to facilitate the
      communication between the pledge and the domain registrar.

NEW:
   *  introduces the Registrar-Agent as new component to facilitate the
      communication between the pledge and a domain registrar.

OLD: is cryptographically bound to the end entity (EE) certificate.
NEW: is cryptographically bound to an end entity (EE) certificate.

Etc.

# Consider providing an example of non-IP

CURRENT:
   *  also enables the usage of alternative transports, both IP-based
      and non-IP,

# Capability management:

CURRENT
   There may be pledges that can support both modes, initiator and
   responder mode.  In these cases, BRSKI-PRM can be combined with BRSKI
   as defined in [RFC8995] or BRSKI-AE [I-D.ietf-anima-brski-ae] to
   allow for more bootstrapping flexibility.

Do we need to expose these capabilities to a management system? How this can be
managed/controlled?

# Not a definition

CURRENT:
  CSR:  Certificate Signing Request.

This is not a definition. May be point to the RFC you cited in the doc.

# Resource vs. Endpoint

CURRENT:
   endpoint:  Term equivalent to resource in HTTP [RFC9110] and CoAP
      [RFC7252].  Endpoints are accessible via Well-Known URIs
      [RFC8615].

For the CoAP mention, this may be confusing as CoAP has also the concept of
“Endpoint”, which is not identical to resource.

# Lack of reference

CURRENT:
 mTLS:  mutual Transport Layer Security.

# Unfortunate acronym

PoP: Unfortunate as this one is widely used for Point of Presence. No need to
change anything, though.

# Consistency

OLD: Registrar_Agent
NEW: Registrar-Agent

# Mysterious

CURRENT: Requirements Discussion and Mapping to Solution-Elements

What does Solution-Elements mean?

# Thanks!

CURRENT:
   An abstract overview of the BRSKI-PRM protocol can be found on slide
   8 of [BRSKI-PRM-abstract].

That figure is helpful. I didn’t checked though that all the steps are still
valid in the latest version of the spec. I trust you have done that check.

# Outsource Key Infrastructure

This is currently drawn within the customer domain. Can this be
outsourced/external to the customer domain?

# HTTP(S)

CURRENT: the pledge and the Registrar-Agent is assumed to be HTTP(S)

In which case the non-secure mode is allowed?

# Group OPS considerations in one single section

Consider moving the following to the OPS cons section:

CURRENT:
   The benefits of BRSKI-PRM can be achieved even without the
   operational complexity of stand-alone Registrar-Agents by integrating
   the necessary functionality of the Registrar-Agent as a module into
   the domain registrar as shown in Figure 3 so that it can support the
   BRSKI-PRM communications to the pledge.

And

CURRENT
   Overall, this may have
   operational implications when the registrar is part of a scalable
   framework as described in Section 1.3.1 of
   [I-D.richardson-anima-registrar-considerations].

# Need concrete behavior

CURRENT: Further, the Registrar-Agent SHOULD have synchronized time.

Should we provide more concrete behavior here?

# Non-discovery

CURRENT:
  6.1.1.  Discovery of the Registrar

This is more about non-discovery :-)

Consider changing to “Explicit Configuration of Registrars”

# hostname and intermittent connectivity

CURRENT:
   While the Registrar-Agent requires the IP address of the domain
   registrar to initiate a TLS session, a separate discovery of the
   registrar is likely not needed and a configuration of the domain
   registrar IP address or hostname is assumed.

How to reconcile this with the intermittent connectivity condition mentioned
early in the document, including with a name resolution service which may not
be reachable?

BTW, multiple IP addresses may be available. Consider updating to:

NEW:
   While the Registrar-Agent requires an IP address of the domain
   registrar to initiate a TLS session, a separate discovery of the
   registrar is likely not needed and a configuration of the domain
   registrar IP address or hostname is assumed.

# Configurable knobs

CURRENT:
   In the absence of a more general discovery as defined in
   [I-D.ietf-anima-brski-discovery] the Registrar-Agent MUST use

Do we need to have a control parameter here to instruct the behavior of the RA?

The same applies for the following:

CURRENT:
   A nonceless voucher MAY be accepted as in [RFC8995] if allowed by the
   pledge implementation of the manufacturer.

# Expired I-Ds

CURRENT: e.g., as proposed in [I-D.richardson-emu-eap-onboarding].

I suggest to remove citations of expired individual I-Ds.

# “MUST …unless” constructs should be “SHOULD …unless”

OLD:
   To enable interaction as responder with the Registrar-Agent, pledges
   in responder mode MUST act as servers and MUST provide the endpoints
   defined in Table 1 within the BRSKI-defined /.well-known/brski/ URI
   path, except for the OPTIONAL endpoint "qps".  The endpoints are
   defined with short names to also accommodate for resource-constrained
   devices.

NEW:
   To enable interaction as responder with a Registrar-Agent, pledges
   in responder mode MUST act as servers and SHOULD provide the endpoints
   defined in Table 1 within the BRSKI-defined /.well-known/brski/ URI
   path, except for the OPTIONAL endpoint "qps".  The endpoints are
   defined with short names to also accommodate for resource-constrained
   devices.

(also s/the/a)

# Redundant language (many occurrences in the text)

OLD: Optionally, TLS MAY be used to provide transport security
NEW: TLS MAY be used to provide transport security

# TTL

CURRENT:
   Note that the pledge provisionally accepts the registrar EE
   certificate contained in the tPVR until it receives the voucher (see
   Section 5.4).

Shouldn’t that be TTLed as well for better security control?

# Inappropriate use of normative language

CURRENT:
   The following assumes that a Registrar-Agent MAY need to query the
   overall status of a pledge.

This is an assumption, s/MAY/may

# Rate-limit log actions

CURRENT:
   The registrar SHOULD log certain events to provide an audit trail for
   the onboarding of pledges into its domain.

In order to protect the registrar from overload attacks, consider adding a
rate-limit guard for logging the same event.

# Missing IANA action

CURRENT: IANA has registered the following service names

Please ad an action for IANA to update that entry. Thanks.

# You are allowed to not use the template!

CURRENT:
   The use of YANG to define data structures via the [RFC8971]
   "structure" statement, is relatively new and distinct from the common
   use of YANG to define an API accessed by network management protocols
   such as NETCONF [RFC6241] and RESTCONF [RFC8040].  For this reason,
   these guidelines do not follow the template described by Section 3.7
   of [RFC8407] (Security Considerations).

You can delete this text. 8407bis have the required provisions for you :-)

   Documents that define exclusively modules following the extension in
   [RFC8791] are not required to include the security template in
   Section 3.7.1.  Likewise, following the template is not required for
   modules that define YANG extensions such as [RFC7952].

Hope this helps.

Cheers,
Med



_______________________________________________
Anima mailing list -- anima@ietf.org
To unsubscribe send an email to anima-le...@ietf.org

Reply via email to