Analysis of Bidirectional Forwarding Detection (BFD) Security According to the Keying and Authentication for Routing Protocols (KARP) Design Guidelines
RFC 7492
Yes
(Adrian Farrel)
No Objection
(Alissa Cooper)
(Barry Leiba)
(Jari Arkko)
(Martin Stiemerling)
(Richard Barnes)
Note: This ballot was opened for revision 06 and is now closed.
Adrian Farrel Former IESG member
Yes
Yes
(for -06)
Unknown
Alia Atlas Former IESG member
No Objection
No Objection
(2014-08-21 for -06)
Unknown
This document could be strongly - both in describing the scaling issues for how BFD is run and the locality. For instance, the difference between BFD sessions for a one-hop session where the TTL can be trivially checked and the BFD sessions run at ms granularity vs. multi-hop sessions where they can be much slower. The document would really benefit from a section discussing deployment use-cases and discussing the attacks and appropriate mitigation in each of those scenarios. As written, I don't feel that the draft conveys much useful or actionable information and is more likely to be interpreted as not quite understanding realistic deployments - which is a pity. I am tempted to make this a discuss...
Alissa Cooper Former IESG member
No Objection
No Objection
(for -06)
Unknown
Barry Leiba Former IESG member
No Objection
No Objection
(for -06)
Unknown
Jari Arkko Former IESG member
No Objection
No Objection
(for -06)
Unknown
Joel Jaeggli Former IESG member
No Objection
No Objection
(2014-08-20 for -06)
Unknown
It would be helpful to distinguish between cases where a replay attack requires that you be on-link (e.g. some link-layer encapsulation) versus the cases such as ipv4/ipv6 maybe mpls that could potentially be injected /spoofed from offlink.
Kathleen Moriarty Former IESG member
(was Discuss, No Objection)
No Objection
No Objection
(2015-01-19 for -06)
Unknown
I agree with Stephen's comment and would also liked to have seen a better discussion in this draft on the issues. A more complete discussion of vulnerabilities in the draft would have been helpful. I'll move my discuss to a comment with the same reasoning as STephen, that more analysis is needed… although I'm not sure of the value of this raft without that analysis. In addition to Stephen's points, I'd also like to highlight the following that came up during the SecDir review and has not been added into the draft: A discussion of algorithm agility would be helpful and expanding on limitations (if any) rather than just adding stronger hash algorithms. As Stephen points out, the computation factors may not be as bad as the author detailed in the draft from what we know of OpenSSL. The draft should also explain how it came to the following premise, that BFD needs to use algorithms that match the routing algorithm strength. It would be good to know if there is anything to it or not. Are the attack models aligned? Moving the routing protocols to a stronger algorithm while using weaker algorithm for BFD would allow the attacker to bring down BFD in order to bring down the routing protocol. BFD therefore needs to match the routing protocols in its strength of algorithm. Should we be bothering with this draft given the last comment in the SecDir review: Lastly, RFC5880 (the BFD spec) says: An attacker who is in complete control of the link between the systems can easily drop all BFD packets but forward everything else (causing the link to be falsely declared down), or forward only the BFD packets but nothing else (causing the link to be falsely declared up). This attack cannot be prevented by BFD. Link to SecDir review: https://www.ietf.org/mail-archive/web/secdir/current/msg04976.html
Martin Stiemerling Former IESG member
No Objection
No Objection
(for -06)
Unknown
Richard Barnes Former IESG member
No Objection
No Objection
(for -06)
Unknown
Spencer Dawkins Former IESG member
No Objection
No Objection
(2014-08-18 for -06)
Unknown
Is this text: There are several requirements described in section 3 of The Threat Analysis and Requirements for Cryptographic Authentication of Routing Protocols' Transports [RFC6862] that BFD does not currently meet: still going to be true when it appears in an RFC? Perhaps “that BFD as defined in [RFC5880] does not meet”? or whatever the right reference would be …
Stephen Farrell Former IESG member
No Objection
No Objection
(2014-08-20 for -06)
Unknown
This is not a DISCUSS as I think more analysis is needed on the threats faced by BFD than is presented here (apologies if that's elsewhere and I'm ignorant) and a later solutions draft that doesn't do that can always attract a DISCUSS. Anyway, the point is that simply complaining that the current auth schemes don't work doesn't tell you what to fix. (Note: I am not saying that GMAC is the wrong answer, I'm saying that there's not enough presented here to know so a solution draft that says "look there - GMAC has to be right" could well attract such a DISCUSS.) As a separate general point, I have to say that this document doesn't explain to the reader why there's a real problem with crypto for BFD. And doing a HMAC in microseconds is not a problem - opennssl tells me that it takes about 8 microseconds for a hmac-md5 over 1024 bytes on my laptop in pure s/w - 10 milliseconds for 3 instances of HMAC is ages. I think you're neglecting here to say that there are 1000's of parallel sessions or something, but in any case, as presented, the timing constraints do not seem to be at all hard which makes the document less convincing that I believe ought be the case. (Note - I do believe from chatting with folks that there is some real problem with BFD security, but this document does not capture that well as far as I can see.) section 2: MD5 and SHA-1 are used with HMAC, right? With HMAC, collision resistance for the hash function is not the required property, but rather pre-image resistance and we don't know that SHA-1 is weak in that respect, and even HMAC-MD5 is still ok. There are still be good reasons to want new algorithms, but I don't think that lack of collision reisistance for hash function used in HMAC is one of them. section 3 says: "Echo packets are not defined in the BFD specification, though they can keep the BFD session up. The format of the echo packet is local to the sending side and there are no guidelines on the properties of these packets beyond the choice of the source and destination addresses." That seems really weird. The "add security but we're not saying how" that follows is even weirder.
Ted Lemon Former IESG member
No Objection
No Objection
(2014-08-21 for -06)
Unknown
In 3: However, in the Meticulous Keyed MD5 and the Meticulous Keyed SHA-1 mechanisms, the sequence member is required to monotonically increase with each successive packet. "monotonically increasing" means the same thing as "non-decreasing." That is, a for monotonically increasing function f, it is always true that f(x) <= f(x+k) for all positive values of k. I think you mean "strictly increasing." But really you could just say "is required to increase with each successive packet." Thanks for doing this analysis!