Meticulous Keyed ISAAC for BFD Optimized Authentication
draft-ietf-bfd-secure-sequence-numbers-27
Discuss
Yes
No Objection
Andy Newton
Jim Guichard
Abstain
Recuse
No Record
Gunter Van de Velde
Orie Steele
Summary: Has a DISCUSS. Has enough positions to pass once DISCUSS positions are resolved.
Éric Vyncke
Discuss
Discuss
(2025-08-26 for -23)
Sent
# Éric Vyncke, INT AD, comments for draft-ietf-bfd-secure-sequence-numbers-23 CC @evyncke Thank you for the work put into this document. I find the idea smart and useful. Please find below one blocking DISCUSS points (easy to address), some non-blocking COMMENT points/nits (replies would be appreciated even if only for my own education). Special thanks to Reshad Rahman for the shepherd's detailed write-up including the WG consensus and the justification of the intended status. I am puzzled though by `No implementations and no known plans to implement.` ... It also claims that there is no YANG module while there is one. I hope that this review helps to improve the document, Regards, -éric ## 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. ### Update to RFC 5880 As the section 2 contains `this document describes an experimental update to BFD [RFC5880].`, then I think that there is a need for an "Update" tag.
Comment
(2025-08-26 for -23)
Sent
## COMMENTS (non-blocking) ### No implementation plans ? Per shepherd's write-up: `No implementations and no known plans to implement.` ... This is rather sad for a set of 3 I-Ds. ### Use of optimized Like Gorry, I would prefer "lightweight" rather than "optimized" (the latter being a little unclear about which part is optimized). ### Abstract s/This document describes a *new* BFD/This document describes a BFD/ ### Section 1 Even if obvious, s/it is possible for an attacker/it is possible for an *on-path* attacker/ ### Section 1.1 BIG thank you for the explanation about "meticulous" :-) ### Sectin 2 Please consider rewriting `existing document` as this I-D will be a RFC once published and this sentence will flip sense. ### Section 3 The SEC ADs will have a better view of course, but why `Auth Keys` as they are more suitable terms such as "nonces" or "cookies" (like TCP cookies)? ### Section 3.1 Who is the "we" in `so we explain why ISAAC was chosen` ? The authors ? The WG ? The IETF community ? Please rephrase to avoid using "we". Possible typo in `the internal state un an irreversible fashion` s/secret key/shared key/ ? The page size of 256 sequence number is not really justified, I would naively have expected a much larger "page". Rate of 100's of pps is rather low level. ### Section 4 Unsure how to address my comment, but I had to read twice the subsection to understand the role of "opt mode". A leading text would make the reading task easier. Also, why using a full octet for just 1 bit of information? ### Section 4.3 The figure 3 should be clearer that the "auth key" is 20 octets long. Also, the text is about "Auth Key/Digest" and not about "Hash" ### Section 6 It is unclear whether the procedure applies to all BFD packets or only to the non-Up ones.
Ketan Talaulikar
Yes
Comment
(2025-08-19 for -23)
Not sent
This document is one of a 3 document set from the BFD WG that enhances BFD authentication mechanism. The suggested order for reviewing them is as follows: 1) draft-ietf-bfd-optimizing-authentication (specifies extension to BFD auth with an optimized auth mechanism) 2) draft-ietf-bfd-secure-sequence-numbers (specifies an optimized auth mechanism based on meticulously keyed ISAAC that uses (1)) 3) draft-ietf-bfd-stability (is not an auth mechanism but uses the auth sequence numbers for monitoring loss of BFD packets)
Andy Newton
No Objection
Deb Cooley
(was Discuss)
No Objection
Comment
(2025-10-17)
Sent
Update: Many thanks to the authors for the tremendous amount of work done to address my discuss. [Note: I've left my comments below as I wrote them initially, just for historical purposes.] Thanks to Rich Salz for their secdir review. Section 1: Please mention earlier in the specification that this technique can only be used in conjunction with draft-ietf-bfd-optimizing-authentication. As it stands, there is no use for this specification without that specification. Section 1: Please add a little bit more explanation to remind the reader why these normally fast hashes are too slow/hard. Please address both speed of the transmission and capability of the device performing the hashes. Section 1, Paragraph 3 and many other places: significant cryptanalysis/some cryptanalysis (2 documented efforts over 30 years is hardly 'significant'). I'm not sure who the authors are trying to convince. Section 2: Please define CSPRNG (I don't care where). This draft currently makes the assumption that everyone knows what a CSPRNG is. [Note: even though RFC 4086 is a decade younger than ISAAC, it is not considered to be up-to-date] Section 4.1, sequence number and Section 6, para 1: It is unclear to me how an unprotected sequence number prevents a replay attack. Certainly the attacker can change the sequence number, or replay a packet with a modified sequence number. The only protection against replay attacks for this system is via the Auth Key. The sequence number is merely helpful for the recipient to attempt to determine the place on the table (and that only works if the packet hasn't been replayed). Section 4.2 and 4.3: These sections are merely repeats of sections in draft-ietf-bfd-optimizing-authentication? Section 6, 'The Auth key field: Where the sequence number is merely an index into the table of 256 values, no? The sequence number is not part of the seeding of ISAAC. Section 7: Some of the state variables defined here have been used earlier in the specification. Consider moving this section up to a place before the variables are used. Section 8, para 2: Multiple Secret Keys: If this specification doesn't want to explain how they are used, then one should say they are 'out of scope'. Please put the 'MUST NOT' sentence second in the paragraph (and remove the 'however'. This puts the requirement where it will be more easily seen (i.e. don't bury the lead). Section 8, para 3: This could easily be put in Security Considerations. Section 8: How are the per party secret keys generated, distributed, protected? If that is in scope, please describe. If it is out of scope, please add appropriate guidance to Security Considerations. Section 9, para 8,9,&10: Starting a paragraph with 'However' isn't clear. Remove the 'However', add the word 'state' to variables, and combine the paragraphs/sentences. Remove the last paragraph, or move it into Section 10. Section 10, para 1: This is the very first mention of 'Your Discriminator' field. No where in the previous sections is this field discussed, defined. In addition My Discriminator and Your Discriminator changes depending on perspective. Does the sending and receiving systems use the same field (presumably with different values)? Section 10: In addition to ISAAC, a system is required to have a second CSPRNG to generate session seeds? Section 11.2, para 1: This paragraph is not about multiple keys, but about key distribution. Please rename this to 'Secret Key Distribution' (if indeed this section is about Secret Keys). What keys are being discussed here? The Secret Key? Are you saying that distribution of the Secret Key (aka password) is out of scope? Section 11.2, para 2: The discussion of multiple keys needs to be defined to be out of scope too (again?). Section 12: I thought that draft-ietf-optimizing-authentication required that 'strong' authentication was used periodically, see Section 5. 'Thousands of packets' doesn't seem to be what was being proposed in that draft. Please make these estimation of number of packets (currently thousands and hundreds) more realistic. Section 15: Please add a section about CSPRNGs. Describe the requirements for strength and assurance. There are multiple mentions of CSPRNG for all the various fields used in BFD (Session Seeds, Secret Keys, Sequence Numbers). What are the consequences of using a sub par PRNG? What are the mitigations? Section 15: If the Secret Key is basically a password (see Section 10 test vectors) please explain how that generation should be accomplished. Also please explain why a PBKDF isn't used to distribute what little entropy is in that password. Or alternatively, explain how a PBKDF could be used. Note: since this is virtually the only value not transmitted across the network in the clear, it is the only unknown value to the attacker on the network. Section 15.1, last paragraph: Please tone down the 'analyzed for almost 3 decades' language. I'm also curious about the perceived ineffectiveness of AES (which is commonly a standard cell in most CPUs). The choice of AES in a stream cipher mode might have been just as quick, and certainly has almost 3 decades of real analysis. Section 15.1.1, last paragraph: More accurately, this technique prevents the attacker from spoofing UP packets. It absolutely does not do anything to protect availability, injection of spoofed packets can take down a link (the definition of availability, right?). If there is an ability to modify/block packets will destroy the link in very little time. Please correct. Section 15.1.2: Are you recommending that the keys used for keyed MD5, keyed SHA1, and ISAAC be the same (aka the Secret Key)? Please change this. Any leak of any one of these keys (the ISAAC version is specified to be a password) would result in the attacker being able to construct any BFD packet, for any purpose.
Erik Kline
No Objection
Comment
(2025-08-31 for -24)
Sent
# Internet AD comments for draft-ietf-bfd-secure-sequence-numbers-24 CC @ekline * comment syntax: - https://github.com/mnot/ietf-comments/blob/main/format.md * "Handling Ballot Positions": - https://ietf.org/about/groups/iesg/statements/handling-ballot-positions/ ## Comments ### S3.1 * "and the numbers produced by it are secure" Claiming "are secure" seems a bit imprecise. Perhaps "are sufficiently secure for the BFD authentication purposes here" or something? ### S8 * "makes these attacks unfeasable" Should this be more like "computationally infeasible" or "computationally intractable" or something? ## Nits ### S1 * "therefore define a Optimized" -> "therefore defines an Optimized" ### S3.1 * "rates of hundred of packets per second" -> "rates of hundreds of packets per second" ?
Gorry Fairhurst
No Objection
Comment
(2025-08-25 for -23)
Sent
Thank you for preparing this I-D, and the careful text around how this provides an experimental change to BFD. The I-D seems related to I-D.ietf-bfd-optimizing-authentication. Whereas the current I-D in general is carefully constructed around the wording of security properties, the words here do not explain "optimizing" or "optimized" - which appear not to relate to security properties. For example, the following text states: "When the bfd.SessionState value is Up, packets MAY use an optimized authentication method (Optimizing BFD Authentication..." - As noted to the Editors of I-D.ietf-bfd-optimizing-authentication, I do wonder if this would be better described as lightweight/reduced processing requirements. I do not have any additional transport-related comments for this I-D. Best wishes, Gorry
Jim Guichard
No Objection
Mohamed Boucadair
(was Discuss)
No Objection
Comment
(2025-09-04 for -24)
Sent
Hi Jeff, all, Thanks for addressing the DISCUSS/COMMENT points [1]. I trust that you will move 8177 to be listed as normative, though. Cheers, Med [1] https://github.com/mjethanandani/bfd-secure-sequence-numbers/pull/49 and https://github.com/bfd-wg/optimized-auth/pull/73/
Paul Wouters
No Objection
Comment
(2025-09-17 for -25)
Sent for earlier
I support Deb's DICSUSS. If it weren't this late in the process, I would have suggested to use SipHash instead of ISAAC. https://en.wikipedia.org/wiki/SipHash
Mike Bishop
Abstain
Comment
(2025-09-17 for -25)
Sent
If there are no implementations and no plans to implement, why are we publishing this? In Section 3.1, "is fully use" doesn't parse. Given that it talks about the computation taking noticeable time, I thought this wasn't a simple typo of "is fully used" (i.e. consumed), but Section 11.1 suggests that it might be. Should this be something like "becomes active" or more explicitly "after a packet is received which falls into the current page"? Do we really wait for all values on one page to have been consumed before beginning computation of the next page when "the next page calculation is complex, and there is a long period of time available before the next page is needed"? I do appreciate the discussion in the Security Considerations of why the potential attacks are likely irrelevant, and would suggest copying similar language into draft-ietf-bfd-optimizing-authentication. ===NITS FOLLOW=== Section 3.1, "of design" => "by design"? Section 10, "Where the" => "The" Section 15.1.1, "infeasibe" => "infeasible"
Roman Danyliw
(was No Objection)
Abstain
Comment
(2025-09-17 for -25)
Sent
The shepherd report states that there are "no implementations and no known plans to implement." Why publish this document if there no plans to run the experiment? ==== I support the DISCUSS position of Deb Cooley. Thank you to Mallory Knodel for the GENART review. ** idnits reports: == The document seems to lack the recommended RFC 2119 boilerplate, even if it appears to use RFC 2119 keywords -- however, there's a paragraph with a matching beginning. Boilerplate error?
Mahesh Jethanandani
Recuse
Comment
(2025-08-25 for -23)
Not sent
As an author.
Gunter Van de Velde
No Record
Orie Steele
No Record