Resource Public Key Infrastructure

Slides:



Advertisements
Similar presentations
A Threat Model for BGPSEC
Advertisements

A Threat Model for BGPSEC Steve Kent BBN Technologies.
Holding the Internet Accountable David Andersen, Hari Balakrishnan, Nick Feamster, Teemu Koponen, Daekyeong Moon, Scott Shenker.
Local TA Management A TA is a public key and associated data used as the starting point for certificate path validation It need not be a self-signed certificate.
1 Securing BGP using DNSSEC Lutz Donnerhacke db089309: 1c1c 6311 ef09 d819 e029 65be bfb6 c9cb.
COS 461 Fall 1997 Routing COS 461 Fall 1997 Typical Structure.
An Introduction to Routing Security (and RPKI Tools) Geoff Huston May 2013.
Validation Algorithms for a Secure Internet Routing PKI David Montana Mark Reynolds BBN Technologies.
Information-Centric Networks04c-1 Week 4 / Paper 3 A Survey of BGP Security Issues and Solutions –Kevin Butler, Toni Farley, Patrick McDaniel, and Jennifer.
APNIC Trial of Certification of IP Addresses and ASes RIPE 52 Plenary George Michaelson Geoff Huston.
An Operational Perspective on BGP Security Geoff Huston GROW WG IETF 63 August 2005.
CSE5803 Advanced Internet Protocols and Applications (7) Introduction The IP addressing scheme discussed in Chapter 2 are classful and can be summarised.
Resource Certification What it means for LIRs Alain P. AINA Special Project Manager.
The Resource Public Key Infrastructure Geoff Huston APNIC.
APNIC eLearning: Intro to RPKI 10 December :30 PM AEST Brisbane (UTC+10)
Scaling IXPs Scalable Infrastructure Workshop. Objectives  To explain scaling options within the IXP  To introduce the Internet Routing Registry at.
Copyright © 2011 Japan Network Information Center JPNIC ’ s RQA and Routing Related Activities JPNIC IP Department Izumi Okutani APNIC32 Aug 2011, Busan.
1 San Diego, California 25 February Securing Routing: RPKI Overview Mark Kosters Chief Technology Officer.
RPKI Tutorial Andy Newton Chief Engineer, ARIN. Agenda Resource Public Key Infrastructure(RPKI) Route Origin Authorizations (ROAs) Certificate Authorities.
SECURING BGP Matthew Nickasch University of Wisconsin-Platteville Dept. of Computer Science & Software Engineering.
Skeeve Stevens APNIC 29, Kuala Lumpur Alternative criteria for subsequent IPv6 allocations Prop-083v002.
Lecture 4: BGP Presentations Lab information H/W update.
APNIC Internet Routing Registry An introduction to the IRR TWNIC Meeting, 3 December 2003 Nurani Nimpuno, APNIC.
BGP operations and security draft-jdurand-bgp-security-02.txt Jerome Durand Gert Doering Ivan Pepelnjak.
BCNET Conference April 29, 2009 Andree Toonk BGPmon.net Prefix hijacking! Do you know who's routing your network? Andree Toonk
Interdomain Routing Security. How Secure are BGP Security Protocols? Some strange assumptions? – Focused on attracting traffic from as many Ases as possible.
1 Madison, Wisconsin 9 September14. 2 Security Overlays on Core Internet Protocols – DNSSEC and RPKI Mark Kosters ARIN Engineering.
TCOM 509 – Internet Protocols (TCP/IP) Lecture 06_a Routing Protocols: RIP, OSPF, BGP Instructor: Dr. Li-Chuan Chen Date: 10/06/2003 Based in part upon.
Skeeve Stevens APNIC 31, Hong Kong Alternative criteria for subsequent IPv6 allocations Prop-083v003.
1 Life After IPv4 Depletion Jon Worley –Analyst Leslie Nobile Senior Director Global Registry Knowledge.
1 APNIC Trial of Certification of IP Addresses and ASes RIPE October 2005 Geoff Huston.
Routing in the Inernet Outcomes: –What are routing protocols used for Intra-ASs Routing in the Internet? –The Working Principle of RIP and OSPF –What is.
1 Auto-Detecting Hijacked Prefixes? Routing SIG 7 Sep 2005 APNIC20, Hanoi, Vietnam Geoff Huston.
Securing BGP Bruce Maggs. BGP Primer AT&T /8 Sprint /16 CMU /16 bmm.pc.cs.cmu.edu Autonomous System Number Prefix.
RPKI implementation experiences in the LAC Region Carlos M. Martínez – Arturo Servín LACSEC 2012 – LACNIC XVIII.
1 Border Gateway Protocol (BGP) and BGP Security Jeff Gribschaw Sai Thwin ECE 4112 Final Project April 28, 2005.
Securing BGP Bruce Maggs. BGP Primer AT&T /8 Sprint /16 CMU /16 bmm.pc.cs.cmu.edu Autonomous System Number Prefix.
BGP Validation Russ White Rule11.us.
Are We There Yet? On RPKI Deployment and Security
Are We There Yet? On RPKI Deployment and Security
CS 3700 Networks and Distributed Systems
Dynamic Routing Protocols II OSPF
Boarder Gateway Protocol (BGP)
Securing BGP: The current state of RPKI
BGP 1. BGP Overview 2. Multihoming 3. Configuring BGP.
CS 3700 Networks and Distributed Systems
Auto-Detecting Hijacked Prefixes?
Auto-Detecting Hijacked Prefixes?
November 2006 Geoff Huston APNIC
Encryption and Network Security
Securing BGP Bruce Maggs.
Goals of soBGP Verify the origin of advertisements
Addressing 2016 Geoff Huston APNIC.
Are We There Yet? On RPKI Deployment and Security
APNIC Trial of Certification of IP Addresses and ASes
IPv4 Addresses.
New Functionality in ARIN Online
Dynamic Routing Protocols II OSPF
IP Addresses in 2016 Geoff Huston APNIC.
Some Thoughts on Integrity in Routing
APNIC Trial of Certification of IP Addresses and ASes
Consideration on IPv6 Address Management
Why don’t we have a Secure and Trusted Inter-Domain Routing System?
Progress Report on Resource Certification
COS 561: Advanced Computer Networks
Securing BGP Bruce Maggs.
Improving global routing security and resilience
Peering Security DKNOG, March 14-15, 2019 Susan Forney and Walt Wollny
FIRST How can MANRS actions prevent incidents .
By Keessun Fokeerah Member Services(MS) Team
Presentation transcript:

Resource Public Key Infrastructure A pilot for the Internet2 Community to secure the global route table Andrew Gallo

The Basics The Internet is a self organizing network of networks. How do you find your way around? Over 500k ‘destinations’ in the current Internet routing table Define destinations as prefixes – ie networks such as 172.16.0.0/16 There are over 500k v4 destinations and about 20k v6 prefixes; depending on how your connected to other networks, this could represent well over a million paths.

BGP to the Rescue The Border Gateway Protocol (BGP) runs between network operators to share reachability information. Wildly successful and stable Internet protocol: First standardized in 1989 Current version (4) standardized in 1994

BGP – a protocol built on trust Very few mechanisms in BGP for security MD5 hash for session passwords TTL security ACLs These mechanisms protect the control plane but say nothing about the payload. About the time of BGP standardization, table size 20k routes and < 1500ASNs (source:http://www.cisco.com/web/about/ac123/ac147/archived_issues/ipj_4-1/bgp_routing_table.html) Why BGP and not something else – BGP is very policy driven. Lots of knobs for operators to turn to determine what is sent and what to do with what is received

What about Identity – who is who No hierarchical addressing or routing on the Internet backbone Any address can appear at any location Opposite of the predecessor mass communications network – PSTN Solved the problem of decoupling location and identity Created the problem table size (different talk) and topology integrity – anyone can claim to be any address Decoupling location --- local number portability, multihoming. LERG LERG LERG

How are address blocks assigned? In the old days (according to legend), in Jon Postel’s notebook Today, there is the IANA, the RIRs, LIRs, etc

If that’s how they’re assigned, how are they Validated? They aren’t. There is nothing in BGP or its operation that prevents anyone from claiming to be any address. There is no relationship between prefix, ASN, organization, etc. Current state- use Internet Routing Registry (IRR) (eg, RADB), whois data, to filter improper advertisements.

When Things go Wrong Pakistan claims to be Youtube (2008) Mistake or intentional? CTBC (Brazilian ISP) leaks full table (2008) China Telecom claims 37,000 routes (2010) Bitcoin hijacking (2014) Why does this happen Mistakes Clobber target network (blackhole target’s network) Fun and profit (Bitcoin example) Observe, capture, sniff, MITM (more advanced)

Hijacking – shortest path Bad guy can be either wil

BGP Hijacking – more specific

Current State of the Art Rely on filtering (whois data, IRR data, LOAs) Semi-automated and error prone (poor input data) Detect BGP monitoring services BGPMon Cyclpos Thousand Eyes Mitigate Call your upstream Post to NANOG Advertise more specific networks (as done with YouTube)

RPKI is the Answer (to some of the issues) Resource Public Key Infrastructure Relatively new technology Cryptographically assures an ASN is authorized to announce prefixes Extension to X.509 to carry IP prefix information Route Origin Authorization(ROA)

RPKI structure The IANA is the source of all addresses But rather than being the single root of the trust chain, each of the 5 Regionals hold self-signed certs for the resources they hold. Two modes of operation- Hosted (RIRs run the PKI infrastructure) Delegated (RIRs issue Resource Certificates to orgs that further sub-delegate IP space)

ROA Contents Origin Autonomous System Number Prefix (with optional max mask length) Validity dates When a ROA is created, it has a cryptographically provable chain to the source of authority allowing that IP to be advertised by that ASN. No more outdated, erroneous, or missing whois or IRR data

I’ve signed my routes, now what? Go collect ROAs from the TALs, process them, feed digested data to router for policy processing. RPKI-to-rtr protocol (RFC 6180) No crypto processing in the routers Not with origin validation SIDR (path validation)

What it looks like- block diag

Three Route States Valid Unknown Invalid Prefix is covered by a valid ROA Unknown No ROA exists for this prefix Invalid Unauthorized announcement Mismatch between authorized ASN and originating ASN, split origin More specific announcement than valid ROA allows

What to do with this data With 95% of the table in an unknown state, probably nothing In a fully deployed RPKI environment, do you Reject unknown, invalid routes? Set LOCALPREF low?? Set Community, put in a VRF? Still under operational development Study RFC 6483

Checking validation - CLI agallo@foghorn:~$ whois -h whois.bgpmon.net " --roa 4901 162.250.136.0/22" 0 - Valid ------------------------ ROA Details Origin ASN: AS4901 Not valid Before: 2015-07-22 04:00:00 Not valid After: 2018-07-22 04:00:00 Expires in 1y154d1h12m27.6000000014901s Trust Anchor: rpki.arin.net Prefixes: 162.250.136.0/22 (max length /24) ***** Wrong origin AS ↓↓↓↓↓ agallo@foghorn:~$ whois -h whois.bgpmon.net " --roa 65033 162.250.136.0/22" 2 - Not Valid: Invalid Origin ASN, expected 4901 Add resource slide for 193.34.50.25 and 193.34.50.26.

So, we’ve solved everything, right? RPKI provides origin validation only See SIDR working group for path validation Still some work to be done on RPKI Secure transport of the RPKI data Operational best practices And, the best part……

RPKI introduces vulnerabilities TALs become valuable targets Wasn’t the decentralized design of the Internet a reaction to the PSTN (either explicitly or implicitly) How do I trust the prefixes the TALs are using are properly originated? Bootstrap problem of using the network itself to validate its own topology (Gödel strikes the Internet?) Currently, rsync is used to collect ROAs, is there a better way? Also, doesn’t prevent Improper advertisement with correct ASN

Slow adoption About 10% of the table LACNIC has more ROAs than ARIN Chicken-and-egg problem (but not like IPv6)

Don’t Speak BGP? You’re not off the hook Using hosted applications (what the kids call The Cloud) – look at the Bitcoin hijacking case Your space can still be hijacked or clobbered by a fat finger, so: Ask your providers about RPKI plans Demand your resources be protected Not if, but when will the be protected

Hosted RPKI with ARIN Basic workflow: Initial (one-time) Request hosted RPKI with ARIN, provide public key that will be used to sign requests This is NOT the keypair used to create the ROA, just to authenticate communication between you and ARIN This take about 24 hours for ARIN to enable RPKI for your resources. Once enabled, everything is self-service.

Hosted RPKI with ARIN Step 1: Key generation See https://www.arin.net/resources/rpki/faq.html#keypairgeneration Generate key Extract Public Key

Hosted RPKI with ARIN Step 2: Requested Hosted RPKI Log into ARIN Online, ‘Ask ARIN’ Create ticket for ‘Create Hosted Resource Certificate’ Include public key created in previous step Wait. During this time ARIN is configuring the RPKI infrastructure to allow you to create ROAs

Hosted RPKI with ARIN Step 3: Create ROA (web) Log into ARIN online, navigate to the Org owning the resource Click on ‘Manage rpki’ Next screen, click on ‘Create ROA’

Hosted RPKI with ARIN Step 4: Provide Details Fill in details

Hosted RPKI with ARIN Step 4: Manual ROA request There is an option to create the signed request via CLI, and paste the data in this form, in the ‘Signed’ tab. See “Using OpenSSL” at https://www.arin.net/resources/rpki/faq.html

ARIN OT&E Operational Test and Evaluation environment Environment for testing various ARIN services Monthly refresh of data from production Restricted to specific hosts Access valid for six months Request access through ticketing system

ARIN OT&E – Key Differences You don’t request a host resource record to be created (first step above). All ROAs in the OT&E are signed using a key at: https://www.arin.net/resources/ote.html#rpki

ROA Creation – Live Demo Valid ROA Invalid ROA (should fail) Prefix outside Org’s assignment or allocation

Route Validation Second ‘half’ of RPKI: Three common validators Collect ROAs from Trust Anchors Cryptographic processing Feed digested route list to router Three common validators RIPE’s Validator* Dragon Research Labs: rcynic Validator Raytheon BBN RPSTIR Project (current??)

Route Validation – Validator Demo RIPE Validator Java, requires JRE 8 ARIN Trust Anchor Locator (TAL) must be manually added (We can hold the discussion about the legal ramifications of RPKI for another time!)

Junos Configuration Two areas to configure Validation session (connection to the validator) Under routing-options Import policy to trigger database lookup Under policy-options

Junos Configuration Validation Session Basic configuration to establish session with validator There are other options (time outs, etc)

Junos Configuration Policy This is a simple policy to trigger validation database lookup Policy is open to operational need Accept? Reject? LocalPref?

Junos Operation Show commands Useful show commands show route validation-state show validation session State Description Means invalid Invalid route validation state Mismatch in ASN/prefix mapping; more specific not covered by valid ROA unknown Unknown route validation state No ROA found unverified Unverified route validation state *Junos specific; no policy triggers database lookup valid Valid route validation state Matching ROA found

Resources RIR Resources George Tech Research Network Operations ARIN (main) ARIN OT&E RIPE (main) RIPE Validator George Tech Research Network Operations NIST RPKI Monitor

Resources RIPE Public RIPE Validator Publically accessible routers https://www.ripe.net/lir-services/resource-management/certification/tools-and-resources Public RIPE Validator http://mvuy10.labs.lacnic.net:8080 Publically accessible routers 193.34.50.25 193.34.50.26

THANK YOU Contact info Andrew Gallo agallo@gwu.edu Pilot Wiki Slack Channel: i2rpkidemo.slack.com