Deb Cooley has entered the following ballot position for draft-ietf-bfd-secure-sequence-numbers-27: No Objection
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-bfd-secure-sequence-numbers/ ---------------------------------------------------------------------- COMMENT: ---------------------------------------------------------------------- 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.
