Skip to Content.
Sympa Menu

netsec-sig - Re: [External] Re: [Security-WG] Generating an RPKI ROA request with lots of prefixes

Subject: Internet2 Network Security SIG

List archive

Re: [External] Re: [Security-WG] Generating an RPKI ROA request with lots of prefixes


Chronological Thread 
  • From: "Montgomery, Douglas (Fed)" <>
  • To: "" <>
  • Subject: Re: [External] Re: [Security-WG] Generating an RPKI ROA request with lots of prefixes
  • Date: Mon, 20 Aug 2018 15:23:32 +0000
  • Accept-language: en-US
  • Authentication-results: spf=none (sender IP is ) ;
  • Ironport-phdr: 9a23:UgHfnxAChAY2+JSklLC0UyQJP3N1i/DPJgcQr6AfoPdwSP36o82wAkXT6L1XgUPTWs2DsrQY07SQ6/iocFdDyK7JiGoFfp1IWk1NouQttCtkPvS4D1bmJuXhdS0wEZcKflZk+3amLRodQ56mNBXdrXKo8DEdBAj0OxZrKeTpAI7SiNm82/yv95HJbAhEmDuwbaluIBmqsA7cqtQYjYx+J6gr1xDHuGFIe+NYxWNpIVKcgRPx7dqu8ZBg7ipdpesv+9ZPXqvmcas4S6dYDCk9PGAu+MLrrxjDQhCR6XYaT24bjwBHAwnB7BH9Q5fxri73vfdz1SWGIcH7S60/Vjq476dvVRTmliEJOTAk+23Tk8B9g6dXrRS8rBJ93oHUepmYOvpgcK3AYdMUS2lPXshTWCNPA4Ozc4QAAvEbMupEqonwvUcCoAG8CASqGejhyiVIhnjz3aAi3egvFgbG3Ao8H9IBt3TUqcv6NL0SUOyt0aLGwzLDb+5Z2Tf58ofIaQ0qrfWMU71ubMXdzEcjHB7Cg1qNrozlIjyV1uEWvmid7upgTv6vh3QoqwF2vDii38EhgZTHiIISz1DL7yR5wIAtKNKiUk56bt+kEIVKuyGdLYt2TdsuQ2dpuCYh1r0Ko5G7fC8UyJg/3RHfcf2Hc46S7hLlSumRPS90hH1keLKjhxay7FOvxvfgWcmz1VZGtitFncfQtnADzRDT7dKHSvRl8kemxDaPywTT6uZDIUA3j6bUN5khwrs2m5EOskrDBjf7lFvsg6OKa0kp//Wk5/n6brjjqJ+ROJN4hh37P6Qgh8OzHfg0Pw0LUmWZ5Oix0KXv8VP4TblXkvE7l7fVvIzfKMkauKK1HRFZ34M+5xuwEzur1dcVkmUaI19HfR+KjobkO1/NLf39FviznlChnTluyv3CP7DuHJvAImDNkLj/frtx90tRxQ88wN9D5p9ZC7QMLfPwV0PvrtPVCwM2PBa1zubpDdhxy54SVGaTDaKfLajcq0WH5vg1LOmJfIIVuCjyK/wi5/P2jHE0h0EQcbW00ZcOdn23HOlqL1yeYXX3nNgNC2AKvhciTOPxj12CTDhTaGuoU6Ik/DE7D56mApnfSYCxgbyB2yG7EodRZmBbFlCMFXDod4KHW/sWdC2SJcphniQFVbinVYAhyQmjuBHgxLZ7M+bZ/zAUuY/+2NVw6e3emg0++SBxAsSTzm6BU314k2YNSjI0waxypVRxylKZ3qh5h/xYG8ZT5/RMUgoiKJHcyPF6C9/3Wg/aeNeJSU2mQsm8DTE+SdIx3ccCY1xhFNW6khDDwy2qDqcOl7OVGJM077jc33ntJ8d90nrH2qYhgkIiQstOLm2mmrV/+xbJC47IlUWZi7ildb4a3CHT6GeP03CCs19FXw5tAu35WiVVfUbdsM74+lKHULCGCLI7PxFHxNLYbKZGd5eh2U5LT+r5OcjPJn2+s2a2GRuSwL6QNsznd3hLjwvHD01R2SUU+2qJMg0zHDbl607ZETNqHEmnI23h/ag04Ce3SVI7yimMblZ9kbWy5EhG1rSnV/oP0+dc628aoDJuEQP4g4iMWdOduwpserldatoh4VBBkHjUrBF5Iof9cvJ5nlBLdQNxsguuzBhxBoha2ekS5HIxhEs6MqeEyBVEfjKc04r3P+jbLXT9+TiparXKnF7ZzoXe9w==
  • Spamdiagnosticmetadata: NSPM
  • Spamdiagnosticoutput: 1:99

I can assure you the issue of supporting planned and unplanned (emergency) announcements from DDoS mitigation providers was discussed throughout the development of RPKI.

 

There is a bit of a double edged sword here.   Any ROA authorized announcement of a longer prefix than is actually announced under normal operation, creates the opportunity for a forged origin attack of just prepending the authorized AS to a bogus announcement.  While the resulting bogus path will be 1 hop longer than otherwise necessary, the BGP decision process assures it would always win.

 

There are some proposals under development to address this issue – see: https://datatracker.ietf.org/doc/draft-azimov-sidrops-aspa-profile/, but they are in the early stages.  These proposals include registered peering relationships in RPKI objects, thus making prepending the authorized origin even harder, because you would have to prepend the first “N” hops.   The semantics of such approaches allow one to validate that a subset (first N hops) are a feasible path.  This is slightly different than actually signing the update at each hop.

 

Or course long term BGPsec, that signs each hop, would address these authorized origin pre-pending attacks.

 

WRT RPKI propagation times, these are clearly a function of the rate at RIRs update their publication points, validating caches sync vs RIRs, and routers sync against caches.   In theory the worst case is the sum of each of these timers, average is half of that.  In practice, there have been some emulation studies of parts of this process: https://datatracker.ietf.org/meeting/interim-2012-sidr-05/materials/slides-interim-2012-sidr-5-4

 

The only measurements of how things are actually playing out in the Internet today that I know of is here:

 

Towards a Rigorous Methodology for Measuring Adoption of RPKI Route Validation and Filtering:  https://arxiv.org/pdf/1706.04263.pdf  Their work sees measured / inferred ROA propagation times of up to 8 hours.

 

Also from that work is a monitor of networks that appear to be filtering based upon RPKI based upon experiments from the project above.

 

dougm

--

Doug Montgomery, Manager Internet & Scalable Systems Research @ NIST

https://www.nist.gov/itl/antd/internet-scalable-systems-research

 

From: <> on behalf of Brad Fleming <>
Reply-To: " List:" <>
Date: Friday, August 17, 2018 at 6:11 PM
To: " List:" <>
Subject: Re: [External] Re: [Security-WG] Generating an RPKI ROA request with lots of prefixes

 

Agreed. It seems odd that features like "prefix-length-range" or "prefix-list 1.1.1.1/16 ge 23 le 24" have been around for a long time but didn’t make it into the RPKI standards. Seems like it would this problems gracefully.

 

As far as maximum length I’m assuming “The Internet” will probably not allow prefixes more specific than /48; much like the social norm around announcing a /24 IPv4 prefix to the DFZ.

 

Either way, the tools not accepting the ROA means I doubt anyone ever thought the use case through (unfortunately).

--
Brad Fleming
Assistant Director for Technology
Kansas Research and Education Network
Office:

785-856-9805
Mobile:

785-865-7231
NOC:

785-856-9820

 

On Aug 17, 2018, at 3:38 PM, Garrett, Seth B <> wrote:

 

Wishful thinking...  It would be handy if the RPKI ROA allowed for a range and not just a limit of maxlength.  Similar to the Juniper route filter.

 

route-filter 129.79.0.0/16 prefix-length-range /24-/24

2001:18e8::/44 prefix-length-range /64-/64

 

Allows only /24's from within the /16 for IPv4 or /64's from the /44 for IPv6.  

 

Seth Garrett
Principal Network Engineer
Indiana University


From:  <> on behalf of Brad Fleming <>
Sent: Friday, August 17, 2018 4:13 PM
To: 
Subject: [External] Re: [Security-WG] Generating an RPKI ROA request with lots of prefixes

 

This message was sent from a non-IU address. Please exercise caution when clicking links or opening attachments from external sources.

Thanks very much for the script and examples.

 

So is prevailing notion to make a ROA including the 65K /48s within a typical /32 assignment? I suppose I’m OK with the approach, just seems like that ROA is gonna crazy huge.

--
Brad Fleming
Assistant Director for Technology
Kansas Research and Education Network

 

On Aug 15, 2018, at 12:55 PM, Andrew Gallo <> wrote:

 

Greetings, Security WG:

Seth Garrett and I have been trading some emails about creating a ROA request with a lot of prefixes.  I've written a script that can make this easier.
https://github.com/CAAREN-engineering/generateSignedROAreq

Here's the scenario and use-case:

If you have a large summary prefix, let's say an IPv4 /16, and you would like to cover this prefix AND all the /24s within it, you *could* use the Max Length feature to create a ROA request for 172.16.0.0/16-24. HOWEVER, use of Max Length field is no longer recommended (can lead to larger attack surface).

You might want ROAs covering all the constituent /24s so that they can be originated by a DDoS scrubbing service.

At this point, following best practices, you're left with entering 256 prefixes by hand in the Hosted RPKI portal.  There is another way!

You can pasted into the portal pre-formatted, pre-signed text.

ARIN's instructions are here:
https://www.arin.net/resources/rpki/roarequest.html

I wrote a script to help make this process easier.  What you'll need:
Python 3.3+
a file containing a list of prefixes you want included in the ROA (you can mix v4 and v6)
Your private key

The script will ask you some basic information needed to create the ROA request data:
Origin ASN
ROA name
Validity Start Date
Validity End Date


Let me know if you have any questions.



-- 
________________________________
Andrew Gallo
The George Washington University

 

 

 




Archive powered by MHonArc 2.6.19.

Top of Page