<div dir="ltr"><div><font size="1">[sorry if you're getting this twice, I accidentally sent from the wrong address and it was rejected from the list]</font></div><div dir="ltr">Hi Dovid,<br></div><div dir="ltr"><div><br></div><div>BGPSEC (as specified in <a href="https://tools.ietf.org/html/rfc8205" target="_blank">RFC8205</a>) is the next level of routing security which provides the kind of in-band guarantees that you describe. In my view, RPKI with its ROAs is a stepping stone to get to an end state where BGPSEC can be deployed and routes validated end-to-end in the BGP control plane itself. Specifically, RPKI gets the roots of trust out there, and in use, and these can then be used in the future to bootstrap the BGPSEC ecosystem (<a href="https://tools.ietf.org/html/rfc8209" target="_blank">RFC 8209</a> proposes a certificate profile for BGPSEC based on the RPKI)</div><div><br></div><div>From what I have seen, there are some roadblocks to widespread adoption of BGPSEC, notably:</div><div><ul><li style="margin-left:15px">I'm not aware of any ready to use out of the box implementations of RFC8205 on off the shelf routers from major vendors,</li><ul><li style="margin-left:15px">There is a <a href="http://www.securerouting.net/tools/bird/" target="_blank">patch to BIRD </a>(site appears down ATM, but referenced from: <a href="https://bird.network.cz/pipermail/bird-users/2015-August/009877.html" target="_blank">https://bird.network.cz/pipermail/bird-users/2015-August/009877.html</a>) and a <a href="https://www.nist.gov/services-resources/software/bgp-secure-routing-extension-bgp-srx-prototype" target="_blank">variant of Quagga</a> which supports BGPSEC, though.</li></ul><li style="margin-left:15px">There will be increased memory and CPU requirements for routers performing these validations in the control plane</li></ul></div><div>I think the offloading approach we've seen with RPKI validators running on another host would be an interesting one to consider as it could relieve the need for routers themselves to be upgraded with more performant hardware to perform the required signature verifications etc.</div><div><br></div><div>I found <a href="https://www.de-cix.net/Files/11a60fcb156e443c98010211f498f5ae4439dab0/Matthias-Waehlisch---BGPSec---AS-path-validation.pdf" target="_blank">this presentation</a> to be very informative about BGPSEC's guarantees and failure modes, it's a few years old but still provides a nice overview.</div><div><br></div><div>Hope that helps,</div><div>Rayhaan</div><div><br></div><div><font size="1">Disclaimer: any and all views expressed here are those of myself in a personal capacity, and not necessarily those of my employer.</font></div></div><div class="gmail-yj6qo gmail-ajU" style="outline:none;padding:10px 0px;width:22px;margin:2px 0px 0px"><br class="gmail-Apple-interchange-newline"></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sun, Aug 23, 2020 at 2:43 PM Dovid Bender <<a href="mailto:dovid@telecurve.com">dovid@telecurve.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">Ok. So here is another n00b question. Why don't we have something where when we advertise IP space we also pass along a cert that can independently be verified by going back to the RIR to see if that cert was signed by them. This would also stop someone spoofing my ASN.<div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Aug 20, 2020 at 10:53 AM Tom Beecher <beecher@beecher.cc> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">ROA = Route Origin Authorization . Origin is the key word. <div><br></div><div>When you create an signed ROA and do all the publishing bits, RPKI validator software will retrieve that , validate the signature, and pass that up to routers, saying "This prefix range that originates from this ASN is valid." Then, any BGP advertisement that contains a prefix in that range, with an origin ASN that matches, is treated as valid. The intermediary as-path isn't a factor. </div><div><br></div><div>If another ASN ORIGINATES an announcement for your space, then RPKI routers will treat that announcement as INVALID, because that isn't authorized. </div><div><br></div><div>If another ASN spoofs your ASN , pretending that they are your upstream, RPKI won't solve that. But that is a different problem set. </div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Aug 20, 2020 at 10:02 AM Dovid Bender <<a href="mailto:dovid@telecurve.com" target="_blank">dovid@telecurve.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">Fabien,<div><br></div><div>Thanks. So to sum it up there is nothing stopping a bad actor from impersonating me as if I am BGP'ing with them. It's to stop any other AS other then mine from advertising my IP space. Is that correct? How is verification done? They connect to the RIR and verify that there is  a cert signed by the RIR for my range?</div><div><br></div><div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Aug 20, 2020 at 9:51 AM Fabien VINCENT (NaNOG) via NANOG <<a href="mailto:nanog@nanog.org" target="_blank">nanog@nanog.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div style="font-size:10pt;font-family:Verdana,Geneva,sans-serif">
<p>Hi,</p>
<p>In fact, RPKI does nothing about AS Path checks if it's your question. RPKI is based on ROA where signatures are published to guarantee you're the owner of a specific prefix with optionnal different maxLength from your ASN. </p>
<p>So if the question is about if RPKI is sufficient to secure the whole BGP path, well, it's not. RPKI guarantee / permit only to verify the ressource announcements (IPvX block) is really owned by your ASN. But even if it's not sufficient, we need to deploy it to start securing resources', not the whole path.</p>
<p>Don't know if it replies to your question, but you can read also the pretty good documentation on RPKI here : <a href="https://rpki.readthedocs.io/en/latest/rpki/introduction.html" target="_blank">https://rpki.readthedocs.io/en/latest/rpki/introduction.html</a> or the corresponding RFC ;)  </p>
<p id="gmail-m_-8957535846000188938gmail-m_-2076389750968690803gmail-m_7565174273827900049gmail-m_8735878062570954351reply-intro">Le 20-08-2020 15:20, Dovid Bender a écrit :</p>
<blockquote type="cite" style="padding:0px 0.4em;border-left:2px solid rgb(16,16,255);margin:0px">
<div id="gmail-m_-8957535846000188938gmail-m_-2076389750968690803gmail-m_7565174273827900049gmail-m_8735878062570954351replybody1">
<div dir="ltr">Hi,<br>
<div> </div>
<div>I am sorry for the n00b question. Can someone help point me in the right direction to understand how RPKI works? I understand that from my side that I create a key, submit the public portion to ARIN and then send a signed request to ARIN asking them to publish it. How do ISP's that receive my advertisement (either directly from me, meaning my upstreams or my upstreams upstream) verify against the cert that the advertisement is coming from me? If say we have</div>
<div>Medium ISP (AS1000) -> Large ISP (AS200)</div>
<div>in the above case AS200 know it's peering with AS1000 so it will take all advertisements. What's stopping AS1000 from adding a router to their network to impersonate me,  make it look like I am peering with them and then they re-advertise the path to Large ISP?</div>
<div> </div>
<div>Again sorry for the n00b question, I am trying to make sense of how it works.</div>
<div> </div>
<div>TIA.</div>
<div> </div>
<div>Dovid</div>
<div> </div>
</div>
</div>
</blockquote>
<div id="gmail-m_-8957535846000188938gmail-m_-2076389750968690803gmail-m_7565174273827900049gmail-m_8735878062570954351signature">-- <br>
<div style="margin:0px;padding:0px;font-family:monospace"><strong>Fabien VINCENT</strong></div>
<div style="margin:0px;padding:0px;font-family:monospace"><em>@beufanet</em></div>
</div>
</div>
</blockquote></div>
</blockquote></div>
</blockquote></div>
</blockquote></div>