A PKI for IP Address Space and AS Numbers Stephen Kent.

Slides:



Advertisements
Similar presentations
1 APNIC Resource Certification Service Project Routing SIG 7 Sep 2005 APNIC20, Hanoi, Vietnam George Michaelson.
Advertisements

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.
RPKI Certificate Policy Status Update Stephen Kent.
Chapter 14 – Authentication Applications
Authentication Applications. will consider authentication functions will consider authentication functions developed to support application-level authentication.
Cryptography and Network Security Third Edition by William Stallings Lecture slides by Lawrie Brown.
RPKI Certificate Policy Stephen Kent, Derrick Kong, Ronald Watro, Karen Seo July 21, 2010.
Overview of draft-ietf-sidr-roa-format-01.txt Matt Lepinski BBN Technologies.
An Introduction to Routing Security (and RPKI Tools) Geoff Huston May 2013.
Resource Certificate Profile Geoff Huston, George Michaelson, Rob Loomans APNIC IETF 67.
Validation Algorithms for a Secure Internet Routing PKI David Montana Mark Reynolds BBN Technologies.
Cryptography and Network Security Third Edition by William Stallings Lecture slides by Lawrie Brown.
Grid Security Infrastructure Tutorial Von Welch Distributed Systems Laboratory U. Of Chicago and Argonne National Laboratory.
CSCE 715: Network Systems Security Chin-Tser Huang University of South Carolina.
Geneva, Switzerland, 2 June 2014 Introduction to public-key infrastructure (PKI) Erik Andersen, Q.11 Rapporteur, ITU-T Study Group 17 ITU Workshop.
Review of draft-ietf-sidr-arch-01.txt Steve Kent BBN Technologies.
Identity Standards (Federal Bridge Certification Authority – Certificate Lifecycle) Oct,
Chapter 14 From Cryptography and Network Security Fourth Edition written by William Stallings, and Lecture slides by Lawrie Brown, the Australian Defence.
Chapter 5 Network Security Protocols in Practice Part I
Authentication Cristian Solano. Cryptography is the science of using mathematics to encrypt and decrypt data. Public Key Cryptography –Problems with key.
Public Key Infrastructure (PKI) Providing secure communications and authentication over an open network.
Securing the Border Gateway Protocol Using S-BGP Dr. Stephen Kent Chief Scientist - Information Security APNIC Open Policy Meeting Routing.
DESIGNING A PUBLIC KEY INFRASTRUCTURE
Resource PKI: Certificate Policy & Certification Practice Statement Dr. Stephen Kent Chief Scientist - Information Security.
Securing the Border Gateway Protocol (S-BGP) Dr. Stephen Kent Chief Scientist - Information Security.
16.1 © 2004 Pearson Education, Inc. Exam Planning, Implementing, and Maintaining a Microsoft® Windows® Server 2003 Active Directory Infrastructure.
APNIC Trial of Certification of IP Addresses and ASes RIPE 52 Plenary George Michaelson Geoff Huston.
Resource Certificate Profile SIDR WG Meeting IETF 66, July 2006 draft-ietf-sidr-res-certs-01 Geoff Huston Rob Loomans George Michaelson.
A S I A P A C I F I C N E T W O R K I N F O R M A T I O N C E N T R E 36th RIPE Meeting Budapest 2000 APNIC Certificate Authority Status Report.
CERTIFICATES “a document containing a certified statement, especially as to the truth of something ”
CS470, A.SelcukPKI1 Public Key Infrastructures CS 470 Introduction to Applied Cryptography Instructor: Ali Aydin Selcuk.
The Resource Public Key Infrastructure Geoff Huston APNIC.
14 May 2002© TrueTrust Ltd1 Privilege Management in X.509(2000) David W Chadwick BSc PhD.
APNIC eLearning: Intro to RPKI 10 December :30 PM AEST Brisbane (UTC+10)
ECE454/599 Computer and Network Security Dr. Jinyuan (Stella) Sun Dept. of Electrical Engineering and Computer Science University of Tennessee Fall 2012.
Cryptography and Network Security Chapter 14 Fifth Edition by William Stallings Lecture slides by Lawrie Brown.
1 San Diego, California 25 February Securing Routing: RPKI Overview Mark Kosters Chief Technology Officer.
Chapter 9: Using and Managing Keys Security+ Guide to Network Security Fundamentals Second Edition.
Public Key Infrastructure (X509 PKI) Presented by : Ali Fanian.
Unit 1: Protection and Security for Grid Computing Part 2
Certificate-Based Operations. Module Objectives By the end of this module participants will be able to: Define how cryptography is used to secure information.
Routing Security and the Border Gateway Protocol Dr. Stephen Kent Chief Scientist - Information Security.
CERTIFICATES. What is a Digital Certificate? Electronic counterpart to a drive licenses or a passport. Enable individuals and organizations to secure.
HEPKI-PAG Policy Activities Group David L. Wasley University of California.
A Brief Overview of draft-ietf-sidr-cp-01.txt draft-ietf-sidr-cps-rirs-01.txt draft-ietf-sidr-cps-isp-00.txt Steve Kent BBN Technologies.
Public Key Infrastructure (X509 PKI) Presented by : Ali Fanian
1 Madison, Wisconsin 9 September14. 2 Security Overlays on Core Internet Protocols – DNSSEC and RPKI Mark Kosters ARIN Engineering.
Updates to the RPKI Certificate Policy I-D Steve Kent BBN Technologies.
Cryptography and Network Security Chapter 14 Fourth Edition by William Stallings Lecture slides by Lawrie Brown.
“Trust me …” Policy and Practices in PKI David L. Wasley Fall 2006 PKI Workshop.
Manifests (and Destiny?) Stephen Kent BBN Technologies.
Bridge Certification Architecture A Brief Overview by Tim Sigmon May, 2000.
1 APNIC Trial of Certification of IP Addresses and ASes RIPE October 2005 Geoff Huston.
Status Report SIDR and Origination Validation Geoff Huston SIDR WG, IETF 71 March 2008.
Overview of draft-ietf-sidr-roa-00.txt Steve Kent BBN Technologies.
Comments on draft-ietf-pkix-rfc3280bis-01.txt IETF PKIX Meeting Paris - August 2005 Denis Pinkas
1 Public Key Infrastructure Dr. Rocky K. C. Chang 25 February, 2002.
1 Public Key Infrastructure Rocky K. C. Chang 6 March 2007.
Prof. Reuven Aviv, Nov 2013 Public Key Infrastructure1 Prof. Reuven Aviv Tel Hai Academic College Department of Computer Science Public Key Infrastructure.
RPKI Certificate Policy Status Update Stephen Kent.
November 2006 Geoff Huston APNIC
Cryptography and Network Security
RPKI Trust Anchor Geoff Huston APNIC.
APNIC Trial of Certification of IP Addresses and ASes
Public-Key Certificates
APNIC Trial of Certification of IP Addresses and ASes
Resource Certificate Profile
Digital Certificates and X.509
Progress Report on Resource Certification
Resource Certificate Profile SIDR WG Meeting IETF 66, July 2006
Presentation transcript:

A PKI for IP Address Space and AS Numbers Stephen Kent

2 Presentation Outline  Why a PKI?  Very brief PKI background  Address & AS number allocation system  The proposed PKI  Procedures  Initial certificate request, renewal, revocation  Requesting route origination  Authorizing route origination  Multi-homing  Address space transfer

3 Why A PKI?  All major proposals for improving the security of BGP rely on a secure infrastructure that attests to address space and AS number holdings by ISPs and subscribers  A PKI is a natural way to satisfy this requirement  The proposed PKI provides a first step towards improved BGP security, offering a way to detect bogus route origination info in UPDATEs  It also can help ISPs avoid “social engineering” attacks that attempt to trick them into issuing bogus routes

4 Principles for the PKI  Use standards  X.509 certificates as per IETF PKIX profile  RFC 3779 extensions to resource holdings (represent address space and AS numbers)  No new organizations as CAs  Support improved security for route filter generation and inter-ISP communication of out-of-band routing info  Accommodate existing allocation practices  Portable allocations from registries  Subscriber multi-homing  Subscriber moves and takes address space  Legacy address allocations  Registry transfers  …

5 PKI Terminology  Certificate: a digitally-signed data structure; typically an X.509 public key certificate (PKC), the certificate standard adopted by the IETF and employed in SSL/TLS, IPsec (IKE), S/MIME, and many other security protocol standards  Certification Authority (CA): an entity that issues (signs) certificates, aka an Issuer  Subject: an entity to whom a certificate is issued; for a PKC, the subject is the holder of the private key corresponding to the public key in the certificate  End entity (EE): a certificate subject that does not issue certificates, i.e., does not act as a CA  Relying party (RP): an individual or organization that takes actions based on using a public key from a certificate

6 More PKI Terminology  Trust anchor (aka root): a public key and associated data used as a reference for validating certificates  A trust anchor is often represented as a self-signed certificate, but it need not be  Certification path: a series of certificates between a trust anchor and a certificate being validated, linked by subject/issuer name  Certificate validation: the process of determining that a certificate is valid  creating a certificate path between a certificate and a trust anchor  verifying the signature on each certificate in the path  checking the revocation status of each certificate in the path  PKI: a set of procedures, policies, and technical measures employed to manage (issue, renew, revoke, publish) certificates

7 What Does the PKI Look Like?  The PKI consists of three parts:  X.509 certificates that attest to address space and AS number holdings  Route Origination Authorizations (ROAs) that allow an address space holder to identify the AS(es) it authorizes to originate routes to its holdings  A repository system for certificates and CRLs (and for ROAs and similar signed objects)  The PKI makes use of the existing address space and AS number allocation system  This PKI also embodies the “principle of least privilege” to minimze the impact of errors

8 X.509 Certificate (v3) Version Serial Number Signature Algorithm Issuer Validity Period Subject Subject Public Key Extensions Name of the CA Name of the User New data types added in Version 3 version 3 e.g., RSA w/SHA-256 not before / not after Algorithm ID & bits

9 Certificate Extensions for the PKI  Basic Constraints  Marks the certificate as for a CA (vs. an EE)  Certificate Policy  Marks the certificate as being restricted to use with this PKI  Key Usage  Says how the public key may be used, e.g., certificate/CRL validation vs. more general signed data validation  Key Identifiers  Subject and Issuer identifiers, based on public key hash values, optionally used to assist in selecting the right CA certificate when there are multiple CA certificates with the same name  Address space & AS Number (RFC 3779)  one extension represents a list of address ranges  the other extension represents a list of AS number ranges

10 Certificate Extensions for the PKI ?  Subject Alternative Name?  An extension that allows another name to be associated with the Subject, e.g., DN, a DNS name, or address  Authority Info Access  A pointer to help find the CA certificate in the repository system  Subject Info Access  A URI pointing to repository data associated with the subject, e.g., a file of certificates issued by a CA or ROAs and other data signed by a resource holder; a repository support feature  CRL Distribution Point  A pointer to the CRL for this certificate in the repository system

11 What are we doing with Certificates?  The intent in this PKI is to issue certificates that attest to resource holdings by registries, ISPs, and subscribers (where appropriate)  Because the allocation of these resources is done via a simple, hierarchic scheme, the PKI should parallel this scheme  Each entity that participates in the allocation process should act as a CA, issuing certificates to match the resource allocation records of that entity

12 Address Allocation Hierarchy Subscriber Organization Regional Registry ISP IANA Subscriber Organization National/Local Registry ISP Subscriber Organization

13 AS Number Assignment Hierarchy Subscriber Organization Regional Registry ISP IANA National or Local Registry Subscriber Organization ISP

14 How Will the PKI Work?  The 5 RIRs and IANA act as trust anchors (roots)  Each RIR issues certificates to national registries (if applicable) and to ISPs and subscribers  ISPs issue certificates to downstream providers and to subscribers  Each organization issues certificates that match the address space (and AS number) allocations in its database records  All resource holders are certification authorities (CAs)  Address and AS number data represented via RFC 3779  Each certificate path represents sub-allocation by the organizations noted above, a subset constraint that can be verified by ISPs downloading these certificates

15 PKI Top Tier Example (APNIC) ARIN (CA) APNIC (CA) LACNIC (CA) AFRINIC (CA) RIPE (CA) JPNIC (CA) CNNIC (CA) TWNIC (CA) KRNIC (CA) APJII (CA) IANA (CA) Legacy & reserved allocations

16 PKI Vertical Slice Example Some NIR (CA) Some RIR (CA) Subscriber (CA) ISP (CA) ISP (CA) Subscriber (CA) ISP (CA) Subscriber (CA) ISP (CA) Subscriber (CA)

17 Certificate Chain Example Issuer = APNICSubject = APNICAddr: W,X,Y,ZASN: A,B,C,D Issuer = APNICSubject = JPNICAddr: W,X,YASN: A,B Issuer = JPNICSubject = ISPAddr: X,Y Issuer = ISPSubject = SubscriberAddr: X ASN: A (self signed root certificate)

18 Names in Certificates  Because the intent of the PKI is to enable digital signing of objects that express authorization, is it not necessary for these certificates to contain meaningful names!  This is a big departure from most PKI designs, but it is appropriate for this context, and it helps avoid liability issues for CAs  We anticipate using “real” names only for the top tiers (registries & IANA) of the PKI, where the names are well- known and unambiguous  Encourage CAs to assign non-meaningful names (locally), but also allow a subscriber to request the same name from two CAs (once it has been assigned a name by one of them), to facilitate consolidation of allocations from multiple sources

19 Some Name Examples  IANA CA Name  C = US, O = Internet Assigned Numbers Authority, CN = Resource Allocation CA  RIR CA name  C = AU, O = APNIC, CN = Resource Registry CA  NIR CA name  C = JP, O = JPNIC, CN = Resource Registry CA  ISP or subscriber CA name  CN = FC

20 Certificate Request Procedure (1/2)  An ISP (or subscriber) contacts an RIR to request a certificate for its resource allocation from that RIR  The RIR could issue one certificate for ALL the ISP resources OR split the resources across multiple certificates if requested  The RIR verifies that it is communicating with the ISP in question, based on the RIR’s database and whatever technical security means it employs  The ISP generates a key pair, and sends the public key to the RIR via an integrity-secure channel  The RIR issues a certificate to the ISP, containing:  The ISP’s public key  A name generated by the RIR, unique to the RIR’s space  An RFC 3779 extension listing the ISP’s address allocations

21 Certificate Request Procedure (2/2)  The same procedure applies to  an ISP or subscriber requesting an address space certificate from an NIR/LIR  an ISP or subscriber requesting an address space certificate from an ISP  an ISP or subscriber requesting a certificate for his AS number holdings  The certificate duration would typically be tied to the contract with the registry or ISP, plus a grace period (need to reconcile multiple allocations of different durations in one certificate)

22 Adding Resources  If a resource holder acquires additional resources from the same source (e.g., a registry) then that source can issue a new certificate reflecting these additional resources  The resource holder requests the additional resources, and indicates that it wants them added to its current certificate  The registry will start with the current resource holder certificate, modify the RFC 3779 extension(s) to reflect the additional resources, assign a new serial number, update the validity interval, and sign the new certificate  Note: there is no need to change the public key in the certificate, and no need to revoke the old certificate if resources are ADDED  Or, if the subject desires, he can get a new certificate with just the new allocation in it

23 Multiple Allocation Sources  If a subscriber (or ISP) acquires resources from multiple sources, he needs multiple certificates to reflect the different sources  Each certificate may use the same subject name and may use the same public key, if the subscriber wants to bundle these allocations, OR each certificate may use a different name and public key  If the subscriber wants certificates with the same name, he MUST demonstrate that the name has been assigned by another registry or ISP when requesting a new certificate from a different source

24 Multi-source Allocations SUB (CA) RIR A (CA) ISP X (CA) SUB (CA) This subscriber has allocations of addresses from ISP X and from RIR A. He needs two CA certificates to preserve the subset Property, but both certificates can carry the same CA name. It is not uncommon for a CA to have multiple certificates issued to it by other CAs The Subscriber CA certificates MAY use the same name & public key

25 Route Origination Security  One PKI goal is to enable ISPs to verify route origination  To support this goal, each address space holder will digitally sign an object enumerating the AS(es) authorized to advertise routes on behalf of the address space holder  We call the object a route origination authorization (ROA)  An address space holder issues one ROA if he wants all of his ISPs to advertise the same set of prefixes  If an address space holder wants different ISPs to advertise different sets of prefixes, then the holder issues multiple ROAs, one for each set of prefixes to be originated separately  Since each ISP is an address space holder, it would sign a ROA authorizing itself to advertise the addresses it holds

26 ROA Data Elements  Address prefixes: one of more prefixes, corresponding to the NLRI that the ROA signer authorizes for origination by one or more ISPs, enumerated below  AS numbers: the ISP(s) authorized to originate routes to the above list of prefixes  Validity Interval: start and end time & date defining the interval for which the ROA is valid  Signature List: a set of pairs of data used to verify the ROA  Certificate pointer: to help a verifier locate the certificate needed to verify the signature on the ROA  Signature: digitally signed hash of the above data, plus an indication of the hash algorithm and digital signature algorithm employed

27 ROA Format Address Block List Origin AS Numbers List Validity Interval Signature Certificate Pointer Data Address blocks to be advertised Time/date for which the ROA is valid One or more signatures applied by the ROA signer, and back pointers to the signer certs AS(es) authorized to advertise the addresses Signature List

28 PKI Details re ROAs  Each entity in the PKI is represented as a CA, so that it can issue certificates to reflect sub-allocation  Also, each resource holder may issue certificates to operations personnel (for repository management) or to routers (e.g., for BGP session protection)  Good security practice says that a CA should NOT sign objects other than certificates and CRLs  We introduce an end-entity (EE) certificate under each ISP & each subscriber CA, and use the corresponding private key to sign ROAs  We call this a “shadow” certificate  This indirection helps manage ROA revocation, i.e., to revoke a ROA before it expires, a resource holder revokes the shadow certificate (issue a CRL with that certificate)

29 PKI with Shadow Certificates ISP (CA) SUB (CA) ISP (shadow) SUB (shadow) Public key used to verify certificates issued by the ISP Public key used to verify certs issued by the subscriber Public key used to verify ROAs signed by the subscriber Public key used to verify ROAs signed by the ISP ROA Signed object authorizing route origination Signed objects authorizing route origination Router Certificate(s)

30 Generating a ROA  An ISP (or subscriber) generates one ROA for each set of addresses for which it wants to authorize route origination  If all prefixes of the resource holder are to be advertised by the same ISPs, and came from one source, then the entity signs one ROA with all the prefixes and all the AS numbers of the holder  If the resource holder wants to authorize some ISPs to originate some prefixes, and other ISPs to originate other prefixes, the holder signs one ROA for each set of addresses to be independently originated  If a resource holder has addresses from different sources, it must generate a separate ROA to accommodate each source, even if the same ISPs will appear in each ROA

31 Multi-source Allocations & ROAs SUB (CA) RIR A (CA) ISP X (CA) SUB (shadow) SUB (CA ) SUB (shadow) This subscriber has allocations of addresses from ISP X and from RIR A. He needs two CA certificates to preserve the subset property, and must issue separate shadow certificates to sign ROAs for each allocation. ROA 1 ROA 2 The Subscriber shadow certificates MAY use the same name and public key ROA 1+2

32 Open Issues re ROAs  What encoding should be used for ROAs?  ASN.1, text, binary TLV?  Need to consider what software will be used to sign and verify ROAs, plus canonicalization issues, reuse of existing structures, …  Should ROAs be an example of a generic signed object format used in the PKI, or specific to this purpose?  What from should the certificate pointer(s) take (given the possibility that multiple signer certificates may have the same name and public key), or should we just put certificates in a ROA?

33 Single-homed to Multi-homed  If a subscriber has an address from his ISP, and is connected ONLY to that ISP, the subscriber does NOT need a certificate and does NOT sign a ROA  If the subscriber wants to be dual-homed, THEN he needs a certificate, so that he can sign a ROA naming both the current and the new ISPs as authorized originators of his address space  After he gets a certificate from his current ISP  Generate an EE (shadow) certificate  Sign a ROA naming both ISPs  Provide ROA to both ISPs, as part of convincing them to advertise the allocation  Publish the certificate, CRL, and ROA in the repository

34 Subscriber Move  If a subscriber has an address allocation from an ISP, AND he wants to move to a new ISP, AND he wants to keep his current address space, THEN he needs to  Get a certificate from his current ISP  Generate an EE (shadow) certificate  Generate and sign a ROA for his new ISP  Provide ROA to his new ISP, as part of convincing it to advertise the allocation  Publish the certificate, CRL, and ROA in the repository  Is it OK to have the certificate from the old ISP be in the path for the subscriber, forever, or should there be a transfer of the resource through the issuing registry?

35 Subscriber with Portable Allocation  A subscriber may acquire an address allocation from a registry  The registry will issue a certificate to the subscriber as discussed earlier  The subscriber must  Generate an EE (shadow) certificate under its CA  Sign a ROA naming one of more ISPs as authorized to originate routes to the prefix  Publish his certificate, CRL, and ROA  Communicate the ROA to the ISP(s) in question, to convince them to advertise the prefix for this subscriber

36 Registry Transfers  One RIR transfers addresses to another by issuing a cross-certificate to the other RIR  But, to preserve the subset property demanded by RFC 3779, the target RIR certificate MUST NOT contain the IANA-allocation  So, each RIR may need as many as 4 additional certificates to accommodate transfers from the other RIRs  These other certificates are NOT trust anchors; each is reached via a cross-certificate from another RIR

37 PKI with (some) Cross Certificates ARIN (CA) APNIC (CA) LACNIC (CA) AFRINIC (CA) RIPE (CA) RIPE (CA) APNIC (CA) APNIC (CA) RIPE (CA) AFRINIC (CA) AFRINIC (CA) ARIN (CA) ARIN (CA)

38 Repositories We prefer a model with one distributed, replicated repository, with an instance at each RIR  On a daily basis  ISPs & subscribers push their own new data (or each RIR pulls it)  ISPs & subscribers download repository changes  rsync is the proposed repository technology  Each ISP will need to contact its RIR repository to gather all the data need to verify ROAs (if the RIRs agree to sync their repositories)  Repositories can use the PKI to enforce access controls to counter DoS attacks  Modify access granted only to PKI users  An ISP or subscriber is automatically prevented from overwriting data of another ISP or subscriber

39 Using the PKI (I)  Simple route filter generation  Download repository data: certificates, CRLs, and ROAs  Verify the certificate paths  Use shadow certificates to verify ROAs  Construct a table of authorized origin ASes and address prefixes from the validated ROAs  Securing route origination requests  Subscriber (or downstream ISP) sends a ROA to the ISP that it wants to advertise its prefix, e.g,, via S/MIME  ISP verifies the ROA and that the sender is the subscriber in question  ISP can now accept request from user with confidence

40 Using the PKI (II)  More ambitious route filtering  An ISP can generate a signed object that authorizes a neighbor to advertise a route  The object would include the AS number(s) of the neighbor, the AS number(s) of the signer, and the prefixes to be advertised  The object also would contain previous instances of objects of this sort, to form a chain of signed authorizations, paralleling the route being advertised  These objects could be distributed via an IRR, or just passed around privately among ISPs, …

41 Summary  The proposed PKI provides  A more secure basis for route filter generation than current IRR data, because of the intrinsic strong authentication, integrity, and authorization controls the PKI provides  A foundation for more comprehensive BGP security mechanisms  A basis for ISPs to counter social engineering attacks intended to can them to originate bogus routes  Work is underway to make this PKI a reality  Test certificates are being generated  A draft CP for the PKI has been written  A draft CPS for registries and one for ISPs has been written  APNIC & RIPE are developing software to support the PKI  An initial operational capability is planned for the end of 2006

42 Questions?