Randy:

Hi!  Thanks for working on this document!

I have two issues I want to highlight upfront, and then some comments (below).  
I would like to see these two issues addressed, along with the Major comments 
below, before moving the document forward.

These two upfront issues are probably more questions for the Chairs/Shepherd.

1. Why is this document a BCP?  A BCP is a document that describes “the 
community's best current thinking…on what is believed to be the best way to 
perform some operations” [rfc2026].  This document meets that bar of the 
description, but there is clearly not a lot of practice behind the 
considerations – which I think is reflected in the lack of significant comments 
from the WG.  I would prefer if this document as Informational, pending some 
actual experience.  But I’ll settle for a good explanation (to be also included 
in the Shepherd’s write-up) of why BCP.

2. This document, as a companion of draft-ietf-sidr-bgpsec-protocol, is the 
only place where Operational (or Management) Considerations are discussed.  
However, important items recommended in RFC5706 (Guidelines for Considering 
Operations and Management of New Protocols and Protocol Extensions), such as 
migration or fault management are not covered anywhere.  Given the tone and 
current content of this document, I don’t think extending it is the way forward 
-- so, in my review of draft-ietf-sidr-bgpsec-protocol [1], I asked the authors 
to include an Operations and Management Section there and to consider using 
this document as the base.  Merging this document into 
draft-ietf-sidr-bgpsec-protocol is an action that the 
WG/authors/Chairs/Shepherds should consider.  While that is my preferred 
solution, I will move forward with publication of this document if that is the 
consensus.

Thanks!

Alvaro.

[1] https://mailarchive.ietf.org/arch/msg/sidr/UOSfI4drrFvnO7271ivU3j9RFm4


Major:
M1. In Section 5, you wrote: “As they are not formally verifiable, an eBGP 
listener SHOULD NOT strongly trust unsigned security markings such as 
communities received across a trust boundary.”  After reading this piece of 
text several times, I think I picked up on the subtle message: don’t trust 
unsigned *security markings* -- vs what I got from the first n-1 readings: 
don’t trust communities.  I think that this paragraph would greatly benefit 
from more details or an example related to security markings.

M2. In Section 7. (Routing Policy): “As BGPsec will be rolled out over…a long 
time.  Hence a normal operator's policy SHOULD NOT be overly strict, perhaps 
preferring Valid paths and giving very low preference, but still using, Not 
Valid paths.”  This recommendation concerns me because “Not Valid” talks 
directly to the fact that the announcement is, well, not valid – vs just unable 
to be verified (because there’s no BGPsec_Path  attribute, for example).  The 
next sentence is a reflection of my concern: “Operators should be aware that 
accepting Not Valid announcements…will often be the equivalent of treating them 
as fully Valid.”  I-D.sidr-bgpsec-protocol suggests the same thing (in 5.1, 
pointing to this document).  I am left with the question: why validate at all 
if the BCP recommendation is to use all announcements no matter the state?  I 
obviously realize that it is still early days – maybe it is too early for a BCP 
document if the “practice” is not there yet…

M3. Also in Section 7: “…signed paths that are Not Valid and yet 
propagated…SHOULD have their signatures kept intact…”  Section 4.2. 
(Constructing the BGPsec_Path Attribute) of draft-ietf-sidr-bgpsec-protocol 
says: “a Signature_Block which is not deemed 'Valid'…such Signature_Blocks MUST 
NOT be removed.”  The “SHOULD” in this document is at odds with the “MUST NOT” 
in the BGPSec spec; please s/SHOULD/MUST, or (even better) s/SHOULD/should.

M4. Still in Section 7: “To prevent exposure of the internals of BGP 
Confederations [RFC5065], a BGPsec speaker which is a Member-AS of a 
Confederation MUST NOT sign updates sent to another Member-AS of the same 
Confederation.”  This is another case where the BGPSec spec says something 
different: Section 4.3. (Processing Instructions for Confederation Members) 
presents a mandatory mechanism that includes signing, but not necessarily 
validating.  BTW, if the updates are not signed, then the signed path would be 
broken, even if all the routers in the path support BGPSec, right?  Is that the 
recommendation?

M5. In Section 8: “…routers' clocks MUST be correct…”  What does this mean?  
Correct with respect to what?  Later (2 paragraphs) you do mention RFC5905, 
should that be the reference here?  Maybe make the clock topic one paragraph to 
avoid confusion.


References:
R1. The reference to BGPsec should be draft-ietf-sidr-bgpsec-protocol (and not 
I-D.ietf-sidr-bgpsec-overview).  I think it is ok to reference 
I-D.ietf-sidr-bgpsec-overview in the Suggested Reading as an Informative 
reference.  Similarly, rfc6480, rfc6481 and rfc6482 should be made Informative 
as well.

R2. Section 7: “This implies that the route server creates signatures per 
client including its own AS in the BGPsec_Path and the target ASes, see 2.2.2 
of [I-D.ietf-idr-ix-bgp-route-server].”  I think this reference is not correct 
because I-D.ietf-idr-ix-bgp-route-server doesn’t say anything about BGPSec.  
That section does say the opposite: “the route server SHOULD NOT prepend its 
own AS number to the AS_PATH segment nor modify the AS_PATH segment in any 
other way”.  Maybe point at 4.2 of draft-ietf-sidr-bgpsec-protocol instead.

R3. RFC6811 should be a Normative reference.


Minor:
m1. The IPv4 examples in Section 7 should use addressed from rfc6890.

m2. In Section 7: “Therefore, unless local policy ensures otherwise, a signed 
path learned via iBGP MAY be Not Valid.”  That “MAY” is not normative in this 
context, but it is stating a fact: s/MAY/may.

m3. Also in Section 7: “If it is known that a BGPsec neighbor is not a 
transparent route server, and the router provides a knob to disallow a received 
pCount (prepend count, zero for transparent route servers) of zero, that knob 
SHOULD be applied.”  There are other cases when pCount 0 is ok, 
draft-ietf-sidr-as-migration for example.  I know that “SHOULD” allows other 
cases, but maybe working in the router server as an example might be an 
improvement.

m4. Section 9. (Security Considerations): “The major security considerations 
for the BGPsec protocol are described in [I-D.ietf-sidr-bgpsec-protocol].”  Are 
there other security considerations not mentioned there?



Nits:
n1. Introduction: “…origin validation…will occur over the next two to three 
years and that BGPsec will start to deploy well after that.”  Recommendation: 
avoid specific timeframes, be a little vaguer (short/medium/long term).  I 
noticed that the first version of draft-ymbk-bgpsec-ops also mentioned “two to 
five years” (in 2011!).

n2. s/ client cone, i.e. an RR client or the transitive closure of their 
customers' customers' customers' etc./ client cone, i.e. an RR client or 
reachable transitively through one of them.

n3. “As the vast majority (84%) of ASs are stubs, and they announce the 
majority of prefixes…” A reference would be nice.

n4. “Because of possible RPKI version skew…”  I guess you mean lack of sync…

n5. Security Considerations.  Please write something along the lines of: “This 
document describes operational considerations for the deployment of BGPsec.  
The security considerations for BGPsec are…”
_______________________________________________
sidr mailing list
sidr@ietf.org
https://www.ietf.org/mailman/listinfo/sidr

Reply via email to