Ballot for draft-ietf-anima-rfc8366bis

Discuss

Deb Cooley
Éric Vyncke
Ketan Talaulikar
Roman Danyliw

Yes

Mahesh Jethanandani

No Objection

Andy Newton
Charles Eckel
Gunter Van de Velde
Jim Guichard
Tommy Jensen

No Record

Christopher Inacio
Gorry Fairhurst
Mike Bishop
Mohamed Boucadair

Summary: Has 4 DISCUSSes. Needs 4 more YES or NO OBJECTION positions to pass.

Deb Cooley
Discuss
Discuss (2026-08-05) Sent
I found this draft to be extremely difficult to review, as a result I have put the bulk of my comments in the comment section, not because I don't believe they are not important, but because there are many of them.  I do believe interoperability is unlikely given the current construction of this draft.  

Section 7, COSE:  It appears that cBRSKI relies on DTLS for cipher suites, which means that there is a PQ migration path in the case when signing utilizes COSE.  The ML-DSA draft for (D)TLS is nearly in the editor's queue. 

Section 7, CMS:  While this draft references RFC 8366, in fact CMS has been updated to include PQ signature algorithms via RFC9882.  If a composite algorithm is more useful, then that draft is in process.  One of these should be considered.  

Section 8, para 8, 9 and 10:  I support Roman's Discuss, especially since the signatures being described in the draft are likely long lived signatures.  

Section 8, para 9:  I also support Roman's discuss wrt the fact that it appears that there is no MTI.  Given the nature of this technology, I suspect that an MTI is necessary.
Comment (2026-08-05) Sent
If the goal is to enable interoperability, then this draft needs to be cleaned up to be clear, concise, and logical.  Currently, it appears to be a mishmash of terminology and loose specifications.  I will give some examples below where I think it is unclear, but I can't claim to be complete in my review:

Section 1, para 4:  I'm confused by this statement:  'the Pledge can then use the resulting anchor to authenticate other actors who are part of the network'.  Is this because other 'actors' hold the private key for the trust anchor?  Is it because other 'actors' have certificates that are signed by the trust anchor?   Does the Pledge hold a key and certificate certified by the trust anchor?

Section 1, para 7 and 8: These two paragraph does not flow from the previous paragraphs which are discussing trust anchors, vouchers and pledges.  Perhaps a sub section would help.

Section 1, para 9 and 10:  yet another jump.  This time, it might make sense to move these before para 7 and 8.  When a specification jumps around from topic to topic, it is difficult to see how any implementer will be able to follow - severely impacting interoperability.

Section 2, Bootstrapping and onboarding:  If bootstrapping is being deprecated, merely state that and point to the onboarding definition.  One can only hope that there is a good reason for this terminology shift.

Section 2, Imprinting:  This is a lovely idea, but how does it mesh with what was discussed in Section 1 where the terms Voucher, Pledge, and trust anchors.  Would the term 'Trust Anchor' be more suitable?

Section 2, Join Registrar:  How important is the phrase 'perhaps autonomically'?  And if it is referred to as 'just Registrar', then why not define 'Registrar'?

Section 2, Malicious Registrar:  What is the entity seeking to do, presumably to the Pledge?  

Section 2:  I'm not sure the terminology could be more confusing.  For example:  "Voucher:  a Voucher Artifact, not a Voucher Request...", while "Voucher Request:  a signed artifact...."  But while a Voucher Request is a signed artifact (does lower case make it different?), it is not a Voucher.  I don't even know what to suggest.

Section 4, Assertion Basis:  what is 'measured boot'? (I know what 'secure boot' is)

Section 4:  It is really unclear exactly how the use of nonces or time limits blocks a malicious registrar.  This is especially true if the nonces are transmitted in the clear.

Section 5: Where is the list of changes?  

Section 5.1:  What is the purpose of this section?  A clear and concise list of changes would be more useful.

Section 8, EcDSA:  https://www.rfc-editor.org/rpc/wiki/doku.php?id=abbrev_list suggests that this should be ECDSA (which is also the only way I've ever seen it).

Section 9.1:  'manufacturer-private?'.  Does this imply the manufacturer's private key?  Surely this isn't sent to anyone.

Section 10.1, para 2:  'Revocation artifact'?  Like an OCSP response showing that the current key/cert pair is still valid?  OCSP is specified in RFC 6960.

Section 10.1, para 3:  Updating a short-lived certificate requires the same care as the initial certification.  It is more than merely 'updates the Voucher's validity period'.  One needs to ensure that the entity that holds the private key still possesses it, and hasn't disclosed it. 

Section 11.1, para 2:  Devices with no understanding of time cannot possibly verify that the 'expires-on' field has not yet passed.  

Section 11.2:  Why not MUST?  What are the circumstances in which is it ok to not store that private key in an HSM?

Section 11.4:  For sensitive data fields which are distributed, I would expect these structures to be encrypted as well as signed.  Nonces and other private values should not be distributed in the clear (or merely signed).  I would have preferred to see the carefully constructed paragraph which is normally standard in Yang specifications.
Éric Vyncke
Discuss
Discuss (2026-08-03) Sent
# Éric Vyncke INT AD comments for draft-ietf-anima-rfc8366bis-34
CC @evyncke

Thank you for the work put into this document.

Please find below some blocking DISCUSS points (easy to address), some non-blocking COMMENT points/nits (replies would be appreciated even if only for my own education).

I hope that this review helps to improve the document,

Regards,

-éric

Note: this ballot comments follow the Markdown syntax of https://github.com/mnot/ietf-comments/tree/main, i.e., they can be processed by a tool to create github issues.

## DISCUSS (blocking)

As noted in https://datatracker.ietf.org/doc/statement-iesg-handling-ballot-positions-20220121/, a DISCUSS ballot is a request to have a discussion on the points below; I really think that the document would be improved with a change here, but can be convinced otherwise.

### Section 8.3

Perhaps due to my lack of knowledge about YANG, but what is the expected behavior when both pinned-domain-cert and pinned-domain-pubk (or pinned-domain-pubk-sha256) are present but are inconsistent ? (e.g., the SHA256 is not correct) ?
There are comments about "Choice" surrounding this part of the YANG module, but it is probably only for human beings.

### Section 11.4

Why not a MUST in `When privacy is important, the CMS signed-data content type SHOULD be encrypted,` ? Else, provide additional guidance per IESG statement: https://datatracker.ietf.org/doc/statement-iesg-statement-on-clarifying-the-use-of-bcp-14-key-words/ (even if semi obvious).
Comment (2026-08-03) Sent
## COMMENTS (non-blocking)

### YANG errors ?

The data tracker status page indicates 4 errors and 3 warnings, the shepherd's write-up is silent about these errors.

### Other DISCUSS

I second Roman Danyliw's DISCUSS about post-quantum in section 8 (and also the use of SHOULD without any additional guidance) and use of BCP14 in the IANA considerations.

### Short and long lifetime

Section 10.1 and others mention short lifetime but without giving any guidance to the readers/implementers about the duration of "short lifetime".
Ketan Talaulikar
Discuss
Discuss (2026-07-30) Sent
Thanks to the authors and the WG for their work on this document.

I support Roman's DISCUSS regarding the post-quantum transition text
and the designated-expert guidance for the Voucher Extensions registry. I do
not repeat those points below.

I have one additional point that I would like to discuss.

<discuss-1> Sections 8.3 and 14.1

876	     import ietf-yang-types {
877	       prefix yang;
878	       reference
879	         "RFC 9911: Common YANG Data Types";

881	     }
882	     import ietf-inet-types {
883	       prefix ietf;
884	       reference
885	         "RFC 9911: Common YANG Data Types";
886	     }
887	     import ietf-yang-structure-ext {
888	       prefix sx;
889	       reference
890	         "RFC 8791: YANG Data Structure Extensions";

The module imports ietf-yang-types and ietf-inet-types and explicitly
identifies RFC 9911 as their source, but RFC 9911 is absent from the reference
lists. I believe an imported YANG module requires a corresponding normative 
reference? Please add RFC 9911, "Common YANG Data Types", as a normative 
reference and perhaps recheck every import and include statement in both modules 
against Section 14.1.
Comment (2026-07-30) Sent
Please find below some comments on this document inline in the idnits output
of v34. Please look for the <EoRv34> tag at the end to ensure that you are
seeing the complete review.

<major> Sections 8.3 and 9.2

The current Datatracker YANG validation result for the exact v34 modules is not
clean. Can this be cross-checked and fixed?

200	   Some Onboarding protocols using the Voucher Artifact defined in this
201	   document include: [ZERO-TOUCH], [SECUREJOIN], [RFC8995] and [cBRSKI].

<minor> RFC 8572 is cited here only as an example of another Onboarding
protocol. It does not appear necessary to implement or use this specification.
Am I correct? If so, please move [ZERO-TOUCH] from the normative to the informative 
references.

549	   It is not possible for the Pledge or the Registrar to know which
550	   situation applies.  And because one the above situations may apply,
551	   or may occur in the future, there needs to be a contingency to allow
552	   uniquely identifying a Pledge regardless of the current or future

<nit> s/because one the above situations/because one of the above situations/

564	   For the RVR, Section 6.1 now normatively requires that the 'idevid-
565	   issuer' Attribute must be included.

567	   For the Voucher, Section 8.3 normatively requires ("must") that the
568	   'idevid-issuer' Attribute must be included by a MASA in case the MASA
569	   issues a Voucher with a serial number that is known to be not unique
570	   within the scope of all the serial numbers represented by the MASA.
571	   If this rule does not apply, the MASA SHOULD NOT include the 'idevid-
572	   issuer' Attribute in order to achieve a smaller Voucher size.

<minor> These sentences describe their requirements as normative while using
lowercase "must". Suggest to either use MUST where these sentences themselves
state requirements, or rewrite them as descriptive cross-references to the
requirements in Sections 6.1 and 8.3. I leave the final choice to the authors.

598	6.4.  Errata closed

600	   The above updates to [RFC8995] addresses errata [eid7263].

<minor> [eid7263] records the provenance of a correction that has already been
incorporated into the normative text. It does not appear necessary to
implement or use this specification. Please move it from the normative to the
informative references.

938	     revision 2025-12-18 {
939	       description
940	         "Updates and additions described by RFC XXXX";
941	       reference
942	         "RFC XXXX: A Voucher Profile for Bootstrapping Protocols";
943	     }

<nit> The document title is "A Voucher Artifact for Bootstrapping Protocols".
Perhaps use that title in the revision reference?

1739	   There are three things to defend against this: 1) devices are
1740	   required to verify that the 'expires-on' Attribute has not yet
1741	   passed, 2) devices without access to time can use nonces to get
1742	   ephemeral Vouchers, and 3) Vouchers without expiration times may be
1743	   used, which will appear in the audit log, informing the security
1744	   decision.

1746	   This document defines a Voucher format that contains time values for
1747	   expirations, which require an accurate clock in order to be processed
1748	   correctly.  Vendors planning on issuing Vouchers with expiration
1749	   values must ensure that devices have an accurate clock when shipped
1750	   from manufacturing facilities and take steps to prevent clock
1751	   tampering.  If it is not possible to ensure clock accuracy, then
1752	   Vouchers with time values for expirations should not be issued.

<minor> Please review the lowercase "must" and "should" in this security-
relevant text. Use the uppercase BCP 14 keywords where these sentences
establish requirements; otherwise rewrite them declaratively. I leave the
individual choices to the authors.

1756	   Pursuant to the recommendation made in Section 6.1 for the MASA to be
1757	   deployed as an online Voucher signing service, it is RECOMMENDED that
1758	   the MASA's private key used for signing Vouchers is protected by a
1759	   hardware security module (HSM).

<minor> Is section 6.1 the correct reference here? I was not able to find the
right one and if no section contains that recommendation, either add it to an 
appropriate specification or operational section, or remove the introductory
cross-reference and state things inline.

1822	   IANA is requested to register the following YANG module in the "YANG
1823	   Module Names" registry [RFC6020] [RFC9890] within the "YANG
1824	   Parameters" registry group.

1826	      name:  ietf-voucher
1827	      namespace:  urn:ietf:params:xml:ns:yang:ietf-voucher
1828	      prefix:  vch
1829	      reference:  RFC 8366

1831	      name:  ietf-voucher-request
1832	      namespace:  urn:ietf:params:xml:ns:yang:ietf-voucher-request
1833	      prefix:  vcr
1834	      reference:  RFC 8995

1836	   (Please note the change to the "prefix" field)

1840	   IANA is requested to register the media type: application/voucher-
1841	   cms+json, and this registration should be updated to point to this
1842	   document.

1885	   IANA is requested to register the OID 1.2.840.113549.1.9.16.1.40,
1886	   'id-ct-animaJSONVoucher'.  This registration should be updated to
1887	   point to this document.

<major> These are existing registrations, but the instructions alternate
between asking IANA to register them and asking IANA to update them. Section
12.2 also retains the old RFC references despite this document replacing or
updating the defining specifications.

Please rewrite each subsection as a precise update action. For each YANG
module registration, identify exactly which fields are updated, including the
new RFC reference and the prefix change, while preserving any registration
history required by the registry. Ask IANA to update the existing
application/voucher-cms+json and id-ct-animaJSONVoucher registrations rather
than creating new registrations. It would also help to keep one subsection per
distinct IANA action and clearly distinguish new entries from modifications of
existing entries.

<EoRv34>
Roman Danyliw
Discuss
Discuss (2026-07-28) Sent
** Section 8
      Of the above, EcDSA SHOULD be supported by all implementations, until	
      some quantum-safe variant is standardized.

Could this guidance be clarified?  It appears that this revised specification is publishing guidance which might not be resistant to attacks from a quantum computer. Aren’t there standardized “quantum-safe variants” of signature algorithms (e.g., ML-DSA)?  If those aren't possible to use for some reason, this risk needs to be documented in the Security Considerations section.

** Section 12.5.  BCP14 keywords should not be used in the guidance to IANA.

** Section 12.5
   The Designated Expert should determine if the work overlaps with
   existing efforts; and if so suggest merging/coordinating.  However,
   as registration is optional, the Designated Expert should not block
   any vendor registrations.

-- What are “existing efforts” – vendor and IETF efforts?  

-- Why is it appropriate for a DE to “suggest/coordinate” activity between multiple non-IETF parties (in the case of a vendor registrations) or a WG+vendor?

** Section 12.5
   *  For non-standards track extensions, the Designated Expert should
      review whatever document is provided, if any.  The stability of
      the reference may be of concern.

Where is the DE guidance for “non-standards track”?  All the text says is that the DE should review it.  Review it for what?
Comment (2026-07-28) Sent
** Section 8  
    When EcDSA is supported, curves secp256r1 and secp384r1 SHOULD be	
    supported.  When EdDSA is supported, curves Ed25519 and Ed448 SHOULD	
    be supported.  When RSA is supported by an implementation, it SHOULD	
    support key lengths between 2048 and 4096 bits.	

-- If all of the normative requirement for the curves are defined as a “SHOULD”, it appears that there are no MTI.  Is that desireable/intentional?

-- Under what circumstances would it be acceptable to use an RSA key length of <2048 bits? 

** Section 12.5
  Future work may allow for PEN based allocations.

Is this text needed?  No action can be taken on it.

** Section 12.5
   Extension name strings for standards track documents are single
   words, given by the YANG Module Name.  They do not contain dots.
   For vendor proprietary extensions, the string SHOULD be made unique
   by putting the extension name in the form a fully-qualified domain
   name (FQDN) [RFC3696], such as "fuubar.example.com"

What about documents which are not on the standards track (e.g., experimental on the IETF stream, and ISE or IRTF document)

** Section 12.5
   For vendor proprietary extensions, the string SHOULD be made unique
   by putting the extension name in the form a fully-qualified domain
   name (FQDN) [RFC3696], such as "fuubar.example.com"

When is it acceptable for a non-unique name to be used?  This text allows for duplicate names to be registered?

** Section 12.5
   Designated Experts should review for standards track documents for
   clarity, but the choices are tied to WG and IESG processes:

   *  There are no choices in the extension names (which is always the
      YANG module name), or SID value (which is from another IANA
      process).

   *  For non-standards track extensions, the Designated Expert should
      review whatever document is provided, if any.  The stability of
      the reference may be of concern.

-- Editorial.  Is there an editorial issue in the first sentence? s/should review for/should review/?

-- What does it mean that the “choices are tied to WG and IESG processes?”  What processes?

-- Editorial.  Why is guidance about non-standards track extensions part of guidance (a sub-bullet) of guidance for standards track.
Mahesh Jethanandani
Yes
Andy Newton
No Objection
Charles Eckel
No Objection
Comment (2026-08-05) Sent
I support Ketan's DISCUSS regarding YANG validation. It would be good to get to the bottom of this, and to fix the tooling if the tooling is in fact in error.
Gunter Van de Velde
No Objection
Jim Guichard
No Objection
Tommy Jensen
No Objection
Comment (2026-08-06) Sent
I support all four active DISCUSS ballots and share concerns around the document's current fitness, but I do not have additional DISCUSS worthy concerns independent of those, so I will stick with No Objection.

Minor point: Section 8.3 explains why the choice mechanism was commented out. Why is it still there at all then? I would encourage the authors to consider the utility of having that there if its use (uncommenting it) isn't recommended and if the prose within Section 8.3 to explain the lessons learned is sufficient.
Christopher Inacio
No Record
Gorry Fairhurst
No Record
Mike Bishop
No Record
Mohamed Boucadair
No Record