summaryrefslogtreecommitdiff
path: root/doc/rfc/rfc6480.txt
blob: 956a180d5300b66ba23f8752ab8d5e3f37a4defe (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
Internet Engineering Task Force (IETF)                       M. Lepinski
Request for Comments: 6480                                       S. Kent
Category: Informational                                 BBN Technologies
ISSN: 2070-1721                                            February 2012


          An Infrastructure to Support Secure Internet Routing

Abstract

   This document describes an architecture for an infrastructure to
   support improved security of Internet routing.  The foundation of
   this architecture is a Resource Public Key Infrastructure (RPKI) that
   represents the allocation hierarchy of IP address space and
   Autonomous System (AS) numbers; and a distributed repository system
   for storing and disseminating the data objects that comprise the
   RPKI, as well as other signed objects necessary for improved routing
   security.  As an initial application of this architecture, the
   document describes how a legitimate holder of IP address space can
   explicitly and verifiably authorize one or more ASes to originate
   routes to that address space.  Such verifiable authorizations could
   be used, for example, to more securely construct BGP route filters.

Status of This Memo

   This document is not an Internet Standards Track specification; it is
   published for informational purposes.

   This document is a product of the Internet Engineering Task Force
   (IETF).  It represents the consensus of the IETF community.  It has
   received public review and has been approved for publication by the
   Internet Engineering Steering Group (IESG).  Not all documents
   approved by the IESG are a candidate for any level of Internet
   Standard; see Section 2 of RFC 5741.

   Information about the current status of this document, any errata,
   and how to provide feedback on it may be obtained at
   http://www.rfc-editor.org/info/rfc6480.













Lepinski & Kent               Informational                     [Page 1]
^L
RFC 6480                    RPKI Architecture              February 2012


Copyright Notice

   Copyright (c) 2012 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (http://trustee.ietf.org/license-info) in effect on the date of
   publication of this document.  Please review these documents
   carefully, as they describe your rights and restrictions with respect
   to this document.  Code Components extracted from this document must
   include Simplified BSD License text as described in Section 4.e of
   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.

Table of Contents

   1. Introduction ....................................................3
      1.1. Terminology ................................................4
   2. Public Key Infrastructure for Internet Number Resources .........4
      2.1. Role in the Overall Architecture ...........................5
      2.2. CA Certificates ............................................6
      2.3. End-Entity (EE) Certificates ...............................7
      2.4. Trust Anchors ..............................................8
   3. Route Origination Authorizations ................................9
      3.1. Role in the Overall Architecture ...........................9
      3.2. Syntax and Semantics ......................................10
   4. Repositories ...................................................11
      4.1. Role in the Overall Architecture ..........................12
      4.2. Contents and Structure ....................................12
      4.3. Access Protocols ..........................................14
      4.4. Access Control ............................................15
   5. Manifests ......................................................15
      5.1. Syntax and Semantics ......................................15
   6. Local Cache Maintenance ........................................16
   7. Common Operations ..............................................17
      7.1. Certificate Issuance ......................................17
      7.2. CA Key Rollover ...........................................18
      7.3. ROA Management ............................................19
           7.3.1. Single-Homed Subscribers ...........................20
           7.3.2. Multi-Homed Subscribers ............................20
           7.3.3. Provider-Independent Address Space .................21
   8. Security Considerations ........................................21
   9. IANA Considerations ............................................21
   10. Acknowledgments ...............................................22
   11. References ....................................................22
      11.1. Normative References .....................................22
      11.2. Informative References ...................................23



Lepinski & Kent               Informational                     [Page 2]
^L
RFC 6480                    RPKI Architecture              February 2012


1.  Introduction

   This document describes an architecture for an infrastructure to
   support improved security for BGP routing [RFC4271] for the Internet.
   The architecture encompasses three principle elements:

      o  Resource Public Key Infrastructure (RPKI)

      o  digitally signed routing objects to support routing security

      o  a distributed repository system to hold the PKI objects and the
         signed routing objects

   The architecture described by this document enables an entity to
   verifiably assert that it is the legitimate holder of a set of IP
   addresses or a set of Autonomous System (AS) numbers.  As an initial
   application of this architecture, the document describes how a
   legitimate holder of IP address space can explicitly and verifiably
   authorize one or more ASes to originate routes to that address space.
   Such verifiable authorizations could be used, for example, to more
   securely construct BGP route filters.  In addition to this initial
   application, the infrastructure defined by this architecture also is
   intended to provide future support for security protocols such as
   Secure BGP [S-BGP] or Secure Origin BGP [soBGP].  This architecture
   is applicable to the routing of both IPv4 and IPv6 datagrams.  IPv4
   and IPv6 are currently the only address families supported by this
   architecture.  Thus, for example, use of this architecture with MPLS
   labels is beyond the scope of this document.

   In order to facilitate deployment, the architecture takes advantage
   of existing technologies and practices.  The structure of the PKI
   element of the architecture corresponds to the existing resource
   allocation structure.  Thus management of this PKI is a natural
   extension of the resource-management functions of the organizations
   that are already responsible for IP address and AS number resource
   allocation.  Likewise, existing resource allocation and revocation
   practices have well-defined correspondents in this architecture.
   Note that while the initial focus of this architecture is routing
   security applications, the PKI described in this document could be
   used to support other applications that make use of attestations of
   IP address or AS number resource holdings.

   To ease implementation, existing IETF standards are used wherever
   possible; for example, extensive use is made of the X.509 certificate
   profile defined by the Public Key Infrastructure using X.509 (PKIX)
   [RFC5280] working group and the extensions for IP addresses and AS
   numbers representation defined in RFC 3779 [RFC3779].  Also,
   Cryptographic Message Syntax (CMS) [RFC5652] is used as the syntax



Lepinski & Kent               Informational                     [Page 3]
^L
RFC 6480                    RPKI Architecture              February 2012


   for the newly defined signed objects [RFC6488] required by this
   infrastructure.

   As noted above, the architecture is comprised of three main
   components: an X.509 PKI in which certificates attest to holdings of
   IP address space and AS numbers; non-certificate signed objects
   (including route origination authorizations and manifests) used by
   the infrastructure; and a distributed repository system that makes
   all of these signed objects available for use by ISPs in making
   routing decisions.  These three basic components enable several
   security functions; most notably the cryptographic validation that an
   autonomous system is authorized to originate routes to a given prefix
   [RFC6483].

1.1.  Terminology

   It is assumed that the reader is familiar with the terms and concepts
   described in "Internet X.509 Public Key Infrastructure Certificate
   and Certificate Revocation List (CRL) Profile" [RFC5280] and "X.509
   Extensions for IP Addresses and AS Identifiers" [RFC3779].

   Throughout this document, we use the terms "address space holder" or
   "holder of IP address space" interchangeably to refer to a legitimate
   holder of IP address space who has received this address space
   through the standard IP address allocation hierarchy.  That is, the
   address space holder has either directly received the address space
   as an allocation from a Regional Internet Registry (RIR) or IANA; or
   else the address space holder has received the address space as a
   sub-allocation from a National Internet Registry (NIR) or Local
   Internet Registry (LIR).  We use the term "resource holder" to refer
   to a legitimate holder of either IP address or AS number resources.

   Throughout this document, we use the terms "registry" and "ISP" to
   refer to an entity that has an IP address space and/or AS number
   allocation that it is permitted to sub-allocate.

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
   "OPTIONAL" in this document are to be interpreted as described in RFC
   2119 [RFC2119].

2.  Public Key Infrastructure for Internet Number Resources

   Because the holder of a block of IP address space is entitled to
   define the topological destination of IP datagrams whose destinations
   fall within that block, decisions about inter-domain routing are
   inherently based on knowledge of the allocation of the IP address
   space.  Thus, a basic function of this architecture is to provide



Lepinski & Kent               Informational                     [Page 4]
^L
RFC 6480                    RPKI Architecture              February 2012


   cryptographically verifiable attestations as to these allocations.
   In current practice, the allocation of IP addresses is hierarchical.
   The root of the hierarchy is IANA.  Below IANA are five Regional
   Internet Registries (RIRs), each of which manages address and AS
   number allocation within a defined geopolitical region.  In some
   regions, the third tier of the hierarchy includes National Internet
   Registries (NIRs) as well as Local Internet Registries (LIRs) and
   subscribers with so-called provider-independent ("portable")
   allocations.  (The term "LIR" is used in some regions to refer to
   what other regions define as an ISP.  Throughout the rest of this
   document, we will use the term "LIR/ISP" to simplify references to
   these entities.)  In other regions, the third tier consists only of
   LIRs/ISPs and subscribers with provider-independent allocations.

   In general, the holder of a block of IP address space may sub-
   allocate portions of that block, either to itself (e.g., to a
   particular unit of the same organization), or to another
   organization, subject to contractual constraints established by the
   registries.  Because of this structure, IP address allocations can be
   described naturally by a hierarchic public key infrastructure, in
   which each certificate attests to an allocation of IP addresses, and
   issuance of subordinate certificates corresponds to sub-allocation of
   IP addresses.  The above reasoning holds true for AS number resources
   as well, with the difference that, by convention, AS numbers may not
   be sub-allocated except by RIRs or NIRs.  Thus, allocations of both
   IP addresses and AS numbers can be expressed by the same PKI.  Such a
   PKI, which is henceforth referred to as the "Resource Public Key
   Infrastructure (RPKI)", is a central component of this architecture.

2.1.  Role in the Overall Architecture

   Certificates in this PKI are called resource certificates, and
   conform to the certificate profile for such certificates [RFC6487].
   Resource certificates attest to the allocation by the (certificate)
   issuer of IP addresses or AS numbers to the subject.  They do this by
   binding the public key contained in the resource certificate to the
   IP addresses or AS numbers included in the certificate's IP Address
   Delegation or AS Identifier Delegation extensions, respectively, as
   defined in RFC 3779 [RFC3779].

   An important property of this PKI is that certificates do not attest
   to the identity of the subject.  Therefore, the subject names used in
   certificates are not intended to be "descriptive".  That is, the
   resource PKI is intended to provide authorization, but not
   authentication.  This is in contrast to most PKIs where the issuer
   ensures that the descriptive subject name in a certificate is
   properly associated with the entity that holds the private key
   corresponding to the public key in the certificate.  Because issuers



Lepinski & Kent               Informational                     [Page 5]
^L
RFC 6480                    RPKI Architecture              February 2012


   need not verify the right of an entity to use a subject name in a
   certificate, they avoid the costs and liabilities of such
   verification.  This makes it easier for these entities to take on the
   additional role of Certification Authority (CA).

   Most of the certificates in the PKI assert the basic facts on which
   the rest of the infrastructure operates.  CA certificates within the
   PKI attest to IP address space and AS number holdings.  End-entity
   (EE) certificates are issued by resource holder CAs to delegate the
   authority attested by their allocation certificates.  The primary use
   for EE certificates is the validation of Route Origination
   Authorizations (ROAs), signed objects which provide an explicit
   authorization by an address holder that a given AS is permitted to
   originate routes to a set of addresses (see Section 3).  End-entity
   certificates are also used to verify other signed objects, such as
   manifests, which will be used to help ensure the integrity of the
   repository system (see Section 5).

2.2.  CA Certificates

   Any resource holder who is authorized to sub-allocate these resources
   must be able to issue resource certificates to correspond to these
   sub-allocations.  Thus, for example, CA certificates will be
   associated with IANA and each of the RIRs, NIRs, and LIRs/ISPs.
   Also, a CA certificate is required to enable a resource holder to
   issue ROAs, because it must issue the corresponding end-entity
   certificate used to validate each ROA.  Thus, some entities that do
   not sub-allocate their resources also will need to have CA
   certificates for their allocations, e.g., a multi-homed subscriber
   with a provider-independent allocation, to enable them to issue ROAs.
   (A subscriber who is not multi-homed, whose allocation comes from an
   LIR/ISP, and who has not moved to a different LIR/ISP, need not be
   represented in the PKI.  Moreover, a multi-homed subscriber with an
   allocation from an LIR/ISP may or may not need to be explicitly
   represented, as discussed in Section 7.3.2).

   Unlike in most PKIs, the distinguished name of the subject in a CA
   certificate is chosen by the certificate issuer.  The subject's
   distinguished name must not attempt to convey the identity of the
   subject in a descriptive fashion.  The subject's distinguished name
   must include the CommonName attribute and may additionally include
   the serial attribute.

   In this PKI, the certificate issuer, being an RIR, NIR, or LIR/ISP,
   is not in the business of verifying the legal right of the subject to
   assert a particular identity.  Therefore, selecting a distinguished
   name that does not convey the identity of the subject in a
   descriptive fashion minimizes the opportunity for the subject to



Lepinski & Kent               Informational                     [Page 6]
^L
RFC 6480                    RPKI Architecture              February 2012


   misuse the certificate to assert an identity, and thus minimizes the
   legal liability of the issuer.  Since all CA certificates are issued
   to subjects with whom the issuer has an existing relationship, it is
   recommended that the issuer select a subject name that enables the
   issuer to easily link the certificate to existing database records
   associated with the subject.  For example, an authority may use
   internal database keys or subscriber IDs as the subject's common name
   in issued certificates.

   Although the subject's common name in a certificate does not convey
   identity, it is still the case that the common name must be unique
   among all subjects to whom a certification authority issues
   certificates.  That is, a CA must not issue certificates to two
   different entities that use the same common name for the subject.

   Each resource certificate attests to an allocation of resources to a
   resource holder, so entities that have allocations from multiple
   sources will have multiple CA certificates.  Note that when an entity
   receives multiple certificates from different issuers, the subject
   names in these certificates will generally be different.  A CA also
   may issue distinct certificates for each distinct allocation to the
   same entity, if the CA and the resource holder agree that such an
   arrangement will facilitate management and use of the certificates.
   For example, an LIR/ISP may have several certificates issued to it by
   one registry, each describing a distinct set of address blocks,
   because the LIR/ISP desires to treat the allocations as separate.

2.3.  End-Entity (EE) Certificates

   The private key corresponding to a public key contained in an EE
   certificate is not used to sign other certificates in a PKI.  The
   primary function of end-entity certificates in this PKI is the
   verification of signed objects that relate to the usage of the
   resources described in the certificate, e.g., ROAs and manifests.

   For ROAs and manifests, there will be a one-to-one correspondence
   between end-entity certificates and signed objects, i.e., the private
   key corresponding to each end-entity certificate is used to sign
   exactly one object, and each object is signed with only one key.
   This property allows the PKI to be used to revoke these signed
   objects, rather than creating a new revocation mechanism.  When the
   end-entity certificate used to sign an object has been revoked, the
   signature on that object (and any corresponding assertions) will be
   considered invalid, so a signed object can be effectively revoked by
   revoking the end-entity certificate used to sign it.

   A secondary advantage to this one-to-one correspondence is that the
   private key corresponding to the public key in a certificate is used



Lepinski & Kent               Informational                     [Page 7]
^L
RFC 6480                    RPKI Architecture              February 2012


   exactly once in its lifetime, and thus can be destroyed after it has
   been used to sign its one object.  This fact should simplify key
   management, since there is no requirement to protect these private
   keys for an extended period of time.

   The EE certificate used to verify a signed object appears in the
   Cryptographic Message Syntax (CMS) wrapper (see [RFC6488]) of the
   signed object.  Therefore, it is not necessary to transmit the EE
   certificate separately from the signed object.  Likewise, it is not
   necessary for the EE certificate to appear in the RPKI repository
   system except as part of the corresponding signed object.

   Although this document describes only two uses for end-entity
   certificates, additional uses will likely be defined in the future.
   For example, end-entity certificates could be used as a more general
   authorization for their subjects to act on behalf of the specified
   resource holder.  This could facilitate authentication of inter-ISP
   interactions, or authentication of interactions with the repository
   system.  These additional uses for end-entity certificates may
   require retention of the corresponding private keys, even though such
   retention is not required for keys used to sign ROAs and manifests.

2.4.  Trust Anchors

   In any PKI, each relying party (RP) chooses its own set of trust
   anchors (TAs).  This general property of PKIs applies here as well.
   There is an extant IP address space and AS number allocation
   hierarchy, and thus IANA and/or the five RIRs are obvious candidates
   to be default TAs here.  Nonetheless, each RP ultimately chooses the
   set of trust anchors it will use for certificate validation.

   For example, an RP (e.g., an LIR/ISP) could create a trust anchor to
   which all address space and/or all AS numbers are assigned, and for
   which the RP knows the corresponding private key.  The RP could then
   issue certificates under this trust anchor to whatever entities in
   the PKI it wishes, with the result that the certification paths
   terminating at this locally installed trust anchor will satisfy the
   validation requirements specified in RFC 3779.  A large ISP that uses
   private IP address space (i.e., RFC 1918) and runs BGP internally
   will need to create this sort of trust anchor to accommodate a CA to
   which all private address space is assigned.  The RP could then issue
   certificates under this CA that correspond to the RP's internal use
   of private address space.


   Note that an RP who elects to create and manage its own set of trust
   anchors may fail to detect allocation errors that arise under such
   circumstances, but the resulting vulnerability is local to the RP.



Lepinski & Kent               Informational                     [Page 8]
^L
RFC 6480                    RPKI Architecture              February 2012


   It is expected that some parties within the extant IP address space
   and AS number allocation hierarchy may wish to publish trust anchor
   material for possible use by relying parties.  A standard profile for
   the publication of trust anchor material for this public key
   infrastructure can be found in [RFC6490].

3.  Route Origination Authorizations

   The information on IP address allocation provided by the PKI is not,
   in itself, sufficient to guide routing decisions.  In particular, BGP
   is based on the assumption that the AS that originates routes for a
   particular prefix is authorized to do so by the holder of that prefix
   (or an address block encompassing the prefix); the PKI contains no
   information about these authorizations.  A Route Origination
   Authorization (ROA) makes such authorization explicit, allowing a
   holder of IP address space to create an object that explicitly and
   verifiably asserts that an AS is authorized to originate routes to a
   given set of prefixes.

3.1.  Role in the Overall Architecture

   A ROA is an attestation that the holder of a set of prefixes has
   authorized an autonomous system to originate routes for those
   prefixes.  A ROA is structured according to the format described in
   [RFC6482].  The validity of this authorization depends on the signer
   of the ROA being the holder of the prefix(es) in the ROA; this fact
   is asserted by an end-entity certificate from the PKI, whose
   corresponding private key is used to sign the ROA.

   ROAs may be used by relying parties to verify that the AS that
   originates a route for a given IP address prefix is authorized by the
   holder of that prefix to originate such a route.  For example, an ISP
   might use validated ROAs as inputs to route filter construction for
   use by its BGP routers.  (See [RFC6483] for information on the use of
   ROAs to validate the origination of BGP routes.)

   Initially, the repository system will be the primary mechanism for
   disseminating ROAs, since these repositories will hold the
   certificates and CRLs needed to verify ROAs.  In addition, ROAs also
   could be distributed in BGP UPDATE messages or via other
   communication paths, if needed to meet timeliness requirements.

3.2.  Syntax and Semantics

   A ROA constitutes an explicit authorization for a single AS to
   originate routes to one or more prefixes, and is signed by the holder
   of those prefixes.  Conceptually, the ROA syntax consists of two
   parts, a general CMS template common to all RPKI signed objects



Lepinski & Kent               Informational                     [Page 9]
^L
RFC 6480                    RPKI Architecture              February 2012


   [RFC6488] and an encapsulated content specific to the ROA that
   expresses the authorization [RFC6482].

   At a high level, the ROA's content contains (1) an AS number; (2) a
   list of IP address prefixes; and, optionally, (3) for each prefix,
   the maximum length of more specific (longer) prefixes that the AS is
   also authorized to advertise.  (This last element facilitates a
   compact authorization to advertise, for example, any prefixes of
   length 20 to 24 bits contained within a given length 20 prefix.)

   Note that a ROA contains only a single AS number.  Thus, if an ISP
   has multiple AS numbers that will be authorized to originate routes
   to the prefix(es) in the ROA, an address space holder will need to
   issue multiple ROAs to authorize the ISP to originate routes from any
   of these ASes.

   A ROA is signed using the private key corresponding to the public key
   in an end-entity (EE) certificate in the PKI.  In order for a ROA to
   be valid, its corresponding end-entity certificate must be valid, and
   the IP address prefixes of the ROA must exactly match the IP address
   prefix(es) specified in the EE certificate's RFC 3779 extension.
   Therefore, the validity interval of the ROA is implicitly the
   validity interval of its corresponding certificate.  A ROA is revoked
   by revoking the corresponding EE certificate.  There is no
   independent method of revoking a ROA.  One might worry that this
   revocation model could lead to long CRLs for the CA certification
   that is signing the EE certificates.  However, routing announcements
   on the public Internet are generally quite long lived.  Therefore, as
   long as the EE certificates used to verify a ROA are given a validity
   interval of several months, the likelihood that many ROAs would need
   to be revoked within that time is quite low.




















Lepinski & Kent               Informational                    [Page 10]
^L
RFC 6480                    RPKI Architecture              February 2012


             ---------                ---------
             |  RIR  |                |  NIR  |
             |  CA   |                |  CA   |
             ---------                ---------
                 |                        |
                 |                        |
                 |                        |
             ---------                ---------
             |  ISP  |                |  ISP  |
             |  CA 1 |                |  CA 2 |
             ---------                ---------
              |     \                      |
              |      -----                 |
              |           \                |
          ----------    ----------      ----------
          |  ISP   |    |  ISP   |      |  ISP   |
          |  EE 1a |    |  EE 1b |      |  EE 2  |
          ----------    ----------      ----------
              |             |               |
              |             |               |
              |             |               |
          ----------    ----------      ----------
          | ROA 1a |    | ROA 1b |      | ROA 2  |
          ----------    ----------      ----------

   Figure 1: This figure illustrates an ISP with allocations from two
   sources (an RIR and an NIR).  It needs two CA certificates due to the
   rules defined in RFC 3779.

   Because each ROA is associated with a single end-entity certificate,
   the set of IP prefixes contained in a ROA must be drawn from an
   allocation by a single source, i.e., a ROA cannot combine allocations
   from multiple sources.  Address space holders who have allocations
   from multiple sources, and who wish to authorize an AS to originate
   routes for these allocations, must issue multiple ROAs to the AS.

4.  Repositories

   Initially, an LIR/ISP will make use of the resource PKI by acquiring
   and validating every ROA, to create a table of the prefixes for which
   each AS is authorized to originate routes.  To validate all ROAs, an
   LIR/ISP needs to acquire all the certificates and CRLs.  The primary
   function of the distributed repository system described here is to
   store these signed objects and to make them available for download by
   LIRs/ISPs.  Note that this repository system provides a mechanism by
   which relying parties can pull fresh data at whatever frequency they
   deem appropriate.  However, it does not provide a mechanism for
   pushing fresh data to relying parties (e.g., by including resource



Lepinski & Kent               Informational                    [Page 11]
^L
RFC 6480                    RPKI Architecture              February 2012


   PKI objects in BGP or other protocol messages) and such a mechanism
   is beyond the scope of the current document.

   The digital signatures on all objects in the repository ensure that
   unauthorized modification of valid objects is detectable by relying
   parties.  Additionally, the repository system uses manifests (see
   Section 5) to ensure that relying parties can detect the deletion of
   valid objects and the insertion of out-of-date, valid signed objects.

   The repository system is also a point of enforcement for access
   controls for the signed objects stored in it, e.g., ensuring that
   records related to an allocation of resources can be manipulated only
   by authorized parties.  The use of access controls prevents denial-
   of-service attacks based on deletion of or tampering with repository
   objects.  Indeed, although relying parties can detect tampering with
   objects in the repository, it is preferable that the repository
   system prevent such unauthorized modifications to the greatest extent
   possible.

4.1.  Role in the Overall Architecture

   The repository system is the untrusted clearing-house for all signed
   objects that must be globally accessible to relying parties.  When
   certificates and CRLs are created, they are uploaded to this
   repository, and then downloaded for use by relying parties (primarily
   LIRs/ISPs).  ROAs and manifests are additional examples of such
   objects, but other types of signed objects may be added to this
   architecture in the future.  This document briefly describes the way
   signed objects (certificates, CRLs, ROAs, and manifests) are managed
   in the repository system.  As other types of signed objects are added
   to the repository system, it will be necessary to modify the
   description, but it is anticipated that most of the design principles
   will still apply.  The repository system is described in detail in
   [RFC6481].

4.2.  Contents and Structure

   Although there is a single repository system that is accessed by
   relying parties, it is comprised of multiple databases.  These
   databases will be distributed among registries (RIRs, NIRs,
   LIRs/ISPs).  At a minimum, the database operated by each registry
   will contain all CA and EE certificates, CRLs, and manifests signed
   by the CA(s) associated with that registry.  Repositories operated by
   LIRs/ISPs also will contain ROAs.  Registries are encouraged to
   maintain copies of repository data from their customers, and their
   customer's customers (etc.), to facilitate retrieval of the whole
   repository contents by relying parties.  Ideally, each RIR will hold
   PKI data from all entities within its geopolitical scope.



Lepinski & Kent               Informational                    [Page 12]
^L
RFC 6480                    RPKI Architecture              February 2012


   For every certificate in the PKI, there will be a corresponding file
   system directory in the repository that is the authoritative
   publication point for all objects (certificates, CRLs, ROAs, and
   manifests) verifiable via this certificate.  A certificate's Subject
   Information Access (SIA) extension [RFC5280] contains a URI that
   references this directory.  Additionally, a certificate's Authority
   Information Access (AIA) extension [RFC5280] contains a URI that
   references the authoritative location for the CA certificate under
   which the given certificate was issued.  That is, if certificate A is
   used to verify certificate B, then the AIA extension of certificate B
   points to certificate A, and the SIA extension of certificate A
   points to a directory containing certificate B (see Figure 2).

                         +--------+
              +--------->| Cert A |<----+
              |          | CRLDP  |     |
              |          |  AIA   |     |
              |  +--------- SIA   |     |
              |  |       +--------+     |
              |  |                      |
              |  |                      |
              |  |                      |
              |  |  +-------------------|------------------+
              |  |  |                   |                  |
              |  +->|   +--------+      |   +--------+     |
              |     |   | Cert B |      |   | Cert C |     |
              |     |   | CRLDP ----+   |   | CRLDP -+-+   |
              +----------- AIA   |  |   +----- AIA   | |   |
                    |   |  SIA   |  |       |  SIA   | |   |
                    |   +--------+  |       +--------+ |   |
                    |               V                  |   |
                    |           +---------+            |   |
                    |           | A's CRL |<-----------+   |
                    |           +---------+                |
                    | A's Repository Publication Directory |
                    +--------------------------------------+

           Figure 2: Use of SIA and AIA extensions in the RPKI

   In Figure 2, certificates B and C are issued by CA A.  Therefore, the
   AIA extensions of certificates B and C point to (certificate) A, and
   the SIA extension of certificate A points to the repository
   publication point of CA A's subordinate products, which includes
   certificates B and C, as well as the CRL issued by A.  The CRL
   Distribution Points (CRLDP) extension in certificates B and C both
   point to the CRL issued by A.





Lepinski & Kent               Informational                    [Page 13]
^L
RFC 6480                    RPKI Architecture              February 2012


   If a CA certificate is reissued with the same public key, it should
   not be necessary to reissue (with an updated AIA URI) all
   certificates signed by the certificate being reissued.  Therefore, a
   certification authority SHOULD use a persistent URI naming scheme for
   issued certificates.  That is, reissued certificates should use the
   same publication point as previously issued certificates having the
   same subject and public key, and should overwrite such certificates.

4.3.  Access Protocols

   Repository operators will choose one or more access protocols that
   relying parties can use to access the repository system.  These
   protocols will be used by numerous participants in the infrastructure
   (e.g., all registries, ISPs, and multi-homed subscribers) to maintain
   their respective portions of it.  In order to support these
   activities, certain basic functionality is required of the suite of
   access protocols, as described below.  No single access protocol
   needs to implement all of these functions (although that may be the
   case), but each function MUST be implemented by at least one access
   protocol deployed by a repository operator.

   Download: Access protocols must support the bulk download of
   repository contents and subsequent download of changes to the
   downloaded contents, since this will be the most common way in which
   relying parties interact with the repository system.  Other types of
   download interactions (e.g., download of a single object) may also be
   supported.

   Upload/change/delete: Access protocols must also support mechanisms
   for the issuers of certificates, CRLs, and other signed objects to
   add them to the repository, and to remove them.  Mechanisms for
   modifying objects in the repository may also be provided.  All access
   protocols that allow modification to the repository (through
   addition, deletion, or modification of its contents) must support
   verification of the authorization of the entity performing the
   modification, so that appropriate access controls can be applied (see
   Section 4.4).

   To ensure all relying parties are able to acquire all RPKI signed
   objects, all publication points MUST be accessible via rsync (see
   [RFC5781] and [RSYNC]), although other download protocols MAY also be
   supported.  A repository publication point may provide
   update/change/delete functionality via (set of) access protocols that
   it desires, provided that the supported protocols are clearly
   communicated to all certification authorities publishing data at a
   given publication point.





Lepinski & Kent               Informational                    [Page 14]
^L
RFC 6480                    RPKI Architecture              February 2012


4.4.  Access Control

   In order to maintain the integrity of information in the repository,
   controls must be put in place to prevent the addition, deletion, or
   modification of objects in the repository by unauthorized parties.
   The identities of parties attempting to make such changes can be
   authenticated through the relevant access protocols.  Although
   specific access control policies are subject to the local control of
   repository operators, it is RECOMMENDED that repositories allow only
   the issuers of signed objects to add, delete, or modify them.
   Alternatively, it may be advantageous in the future to define a
   formal delegation mechanism to allow resource holders to authorize
   other parties to act on their behalf, as suggested in Section 2.3.

5.  Manifests

   A manifest is a signed object listing of all of the signed objects
   (except for the manifest itself) issued by an authority responsible
   for a publication in the repository system.  For each unexpired
   certificate, CRL, or ROA issued by the authority, the manifest
   contains both the name of the file containing the object, and a hash
   of the file content.

   As with ROAs, a manifest is signed by a private key, for which the
   corresponding public key appears in an end-entity certificate.  This
   EE certificate, in turn, is signed by the CA in question.  Since the
   private key in an EE certificate is used to sign only a single
   manifest, then the manifest can be revoked by revoking the EE
   certificate.  In such a case, to avoid needless CRL growth, the EE
   certificate used to validate a manifest SHOULD expire at the same
   time that the manifest expires.

   Manifests may be used by relying parties when constructing a local
   cache (see Section 6) to mitigate the risk of an attacker who deletes
   files from a repository or replaces current signed objects with stale
   versions of the same object.  Such protection is needed because,
   although all objects in the repository system are signed, the
   repository system itself is untrusted.

5.1.  Syntax and Semantics

   A manifest constitutes a list of (the hashes of) all the files in a
   repository point at a particular point in time.  A detailed
   specification of the manifest's content is provided in [RFC6486] but,
   at a high level, a manifest consists of (1) a manifest number; (2)
   the time the manifest was issued; (3) the time of the next planned
   update; and (4) a list of filename and hash value pairs.




Lepinski & Kent               Informational                    [Page 15]
^L
RFC 6480                    RPKI Architecture              February 2012


   The manifest number is a sequence number that is incremented each
   time a manifest is issued by the authority.  An authority is REQUIRED
   to issue a new manifest any time it alters any of its items in the
   repository, or when the specified time of the next update is reached.
   A manifest is thus valid until the specified time of the next update
   or until a manifest is issued with a greater manifest number,
   whichever comes first.  (Note that when an EE certificate is used to
   sign only a single manifest, whenever the authority issues the new
   manifest, the CA MUST also issue a new CRL that includes the EE
   certificate corresponding to the old manifest.  The revoked EE
   certificate for the old manifest will be removed from the CRL when it
   expires; thus, this procedure ought not to result in significant CRL
   growth.)

6.  Local Cache Maintenance

   In order to utilize signed objects issued under this PKI, a relying
   party must first obtain a local copy of the valid EE certificates for
   the PKI.  To do so, the relying party performs the following steps:

      1. Query the repository system to obtain a copy of all
         certificates, manifests, and CRLs issued under the PKI.

      2. For each CA certificate in the PKI, verify the signature on the
         corresponding manifest.  Additionally, verify that the current
         time is earlier than the time indicated in the nextUpdate field
         of the manifest.

      3. For each manifest, verify that certificates and CRLs issued
         under the corresponding CA certificate match the hash values
         contained in the manifest.  Additionally, verify that no
         certificate or manifest listed on the manifest is missing from
         the repository.  If the hash values do not match, or if any
         certificate or CRL is missing, notify the appropriate
         repository administrator that the repository data has been
         corrupted.

      4. Validate each EE certificate by constructing and verifying a
         certification path for the certificate (including checking
         relevant CRLs) to the locally configured set of TAs.  (See
         [RFC6487] for more details.)

   Note that since relying parties will perform these operations
   regularly, it is more efficient for the relying party to request from
   the repository system only those objects that have changed since the
   relying party last updated its local cache.





Lepinski & Kent               Informational                    [Page 16]
^L
RFC 6480                    RPKI Architecture              February 2012


   Note also that by checking all issued objects against the appropriate
   manifest, the relying party can be certain that it is not missing an
   updated version of any object.

7.  Common Operations

   Creating and maintaining the infrastructure described above will
   entail additional operations as "side effects" of normal resource
   allocation and routing authorization procedures.  For example, a
   subscriber with provider-independent ("portable") address space who
   enters a relationship with an ISP will need to issue one or more ROAs
   identifying that ISP, in addition to conducting any other necessary
   technical or business procedures.  The current primary use of this
   infrastructure is for route filter construction; using ROAs, route
   filters can be constructed in an automated fashion with high
   assurance that the holder of the advertised prefix has authorized the
   origin AS to originate an advertised route.

7.1.  Certificate Issuance

   There are several operational scenarios that require certificates to
   be issued.  Any allocation that may be sub-allocated requires a CA
   certificate, e.g., so that certificates can be issued as necessary
   for the sub-allocations.  Holders of provider-independent IP address
   space allocations also must have certificates, so that a ROA can be
   issued to each ISP that is authorized to originate a route to the
   allocation (since the allocation does not come from any ISP).
   Additionally, multi-homed subscribers may require certificates for
   their allocations if they intend to issue the ROAs for their
   allocations (see Section 7.3.2).  Other resource holders need not be
   issued CA certificates within the PKI.

   In the long run, a resource holder will not request resource
   certificates, but rather receive a certificate as a side effect of
   the allocation process for the resource.  However, initial deployment
   of the RPKI will entail issuance of certificates to existing resource
   holders as an explicit event.  Note that in all cases, the authority
   issuing a CA certificate will be the entity who allocates resources
   to the subject.  This differs from most PKIs in which a subject can
   request a certificate from any certification authority.

   If a resource holder receives multiple allocations over time, it may
   accrue a collection of resource certificates to attest to them.  If a
   resource holder receives multiple allocations from the same source,
   the set of resource certificates may be combined into a single
   resource certificate, if both the issuer and the resource holder
   agree.  This is accomplished by consolidating the IP Address
   Delegation and AS Identifier Delegation extensions into a single



Lepinski & Kent               Informational                    [Page 17]
^L
RFC 6480                    RPKI Architecture              February 2012


   extension (of each type) in a new certificate.  However, if these
   certificates attest to allocations that are valid for different
   periods of time, creating a certificate that combines them might
   create problems, as the combined certificate can express only a
   single validity interval.

   If a resource holder's allocations come from different sources, they
   will be signed by different CAs and cannot be combined.  When a set
   of resources is no longer allocated to a resource holder, any
   certificates attesting to such an allocation MUST be revoked.  A
   resource holder SHOULD NOT use the same public key in multiple CA
   certificates that are issued by the same or differing authorities, as
   reuse of a key pair complicates path construction.  Note that since
   the subject's distinguished name is chosen by the issuer, a subject
   who receives allocations from two sources generally will receive
   certificates with different subject names.

7.2.  CA Key Rollover

   Whenever a certification authority wishes to change the public key
   (and corresponding private key) associated with its RPKI CA
   certificate, it MUST perform a key rollover procedure.  Key rollover
   is typically performed on a periodic basis, where the frequency of
   key rollovers is specified in the certification practice statement of
   the given CA.  Additionally, unscheduled rollovers may be required in
   the event of suspected key compromises.

   Note that rollover is only required when the CA's key actually
   changes; it is not required in cases where a new CA certificate is
   issued with the same key as the previous certificate for this CA.
   For example, a new CA certificate must be issued if the CA gains or
   relinquishes a resource, or if the validity period of the resource
   allocation is extended.  However, in such cases, the new certificate
   will generally use the same public (and private) key as the previous
   certificate; thus, key rollover is not required.

   The document [RFC6489] specifies a conservative key rollover
   procedure that should be used by a certification authority when it
   changes the public (and private) keys associated with its RPKI CA
   certificate.  At a high level, the two key properties of the rollover
   procedure are as follows.  First, as data from RPKI signed objects
   may be used in routing operations, the procedure ensures that at any
   point in the rollover procedure, a relying party will never reach
   incorrect conclusions about the validity of a signed object.  Note in
   particular, that the CA cannot assume that a relying party will use
   any particular algorithm for constructing a certificate path from an
   EE certificate to (one of) the relying party's trust anchor(s);
   therefore, the key rollover procedure is designed to preserve the



Lepinski & Kent               Informational                    [Page 18]
^L
RFC 6480                    RPKI Architecture              February 2012


   integrity of the SIA and AIA points within the RPKI hierarchy to the
   greatest extent possible.  Second, the key rollover procedure is
   designed so that the reissuance of all certificates below the CA in
   the RPKI hierarchy is not required.  Of course, it is necessary to
   re-sign all certificates issued directly under the CA whose key is
   changing.  However, the SIA and AIA pointers within the certificates
   are populated so that no further reissuance is required.

7.3.  ROA Management

   Whenever a holder of IP address space wants to authorize an AS to
   originate routes for a prefix within his holdings, he MUST issue an
   end-entity certificate containing that prefix in an IP Address
   Delegation extension.  He then uses the corresponding private key to
   sign a ROA containing the designated prefix and the AS number for the
   AS.  The resource holder MAY include more than one prefix in the EE
   certificate and corresponding ROA if desired.  As a prerequisite,
   then, any address space holder that issues ROAs for a prefix must
   have a resource certificate for an allocation containing that prefix.
   The standard procedure for issuing a ROA is as follows:

      1. Create an end-entity certificate containing the prefix(es) to
         be authorized in the ROA.

      2. Construct the payload of the ROA, including the prefixes in the
         end-entity certificate and the AS number to be authorized.

      3. Sign the ROA using the private key corresponding to the end-
         entity certificate (the ROA is comprised of the payload
         encapsulated in a CMS signed message [RFC5652]).

      4. Upload the end-entity certificate and the ROA to the repository
         system.

   The standard procedure for revoking a ROA is to revoke the
   corresponding end-entity certificate by creating an appropriate CRL
   and uploading it to the repository system.  The revoked ROA and end-
   entity certificate SHOULD be removed from the repository system.

   Care must be taken when revoking ROAs in that revoking a ROA may
   cause a relying party to treat routing advertisements corresponding
   to the prefixes and origin AS number in the ROA as unauthorized (and
   potentially even change routing behavior to no longer forward packets
   based on those advertisements).  In particular, resource holders
   should adhere to the principle of "make before break" as follows.
   Before revoking a ROA corresponding to a prefix that the resource
   holder wishes to be routable on the Internet, it is very important
   for the resource holder to ensure that there exists another valid



Lepinski & Kent               Informational                    [Page 19]
^L
RFC 6480                    RPKI Architecture              February 2012


   alternative ROA that lists the same prefix (possibly indicating a
   different AS number).  Additionally, the resource holder should
   ensure that the AS indicated in the valid alternative ROA is actually
   originating routing advertisements to the prefixes in question.
   Furthermore, a relying party must fetch new ROAs from the repository
   system before taking any routing action in response to a ROA
   revocation.

7.3.1.  Single-Homed Subscribers

   In BGP, a single-homed subscriber with Provider Aggregatable (PA)
   address space does not need to explicitly authorize routes to be
   originated for the prefix(es) it is using, since its ISP will already
   advertise a more general prefix and route traffic for the
   subscriber's prefix as an internal function.  Since no routes are
   originated specifically for prefixes held by these subscribers, no
   ROAs need to be issued under their allocations; rather, the
   subscriber's ISP will issue any necessary ROAs for its more general
   prefixes under resource certificates from its own allocation.  Thus,
   a single-homed subscriber with an IP address allocation from his
   service provider is not included in the RPKI, i.e., it does not
   receive a CA certificate, nor issue EE certificates or ROAs.

7.3.2.  Multi-Homed Subscribers

   Here we consider a subscriber who receives Provider Aggregatable (PA)
   IP address space from a primary ISP (i.e., the IP addresses used by
   the subscriber are a subset of ISP A's IP address space allocation)
   and receives redundant upstream connectivity from one or more
   secondary ISPs, in addition to the primary ISP.  The preferred option
   for such a multi-homed subscriber is for the  subscriber to obtain an
   AS number and run BGP with each of its upstream providers.  In such a
   case, there are two RECOMMENDED ways for ROA management to be
   handled.  The first is that the primary ISP issues a CA certificate
   to the subscriber, and the subscriber issues a ROA to containing the
   subscriber's AS number and the subscriber's IP address prefixes. The
   second possibility is that the primary ISP does not issue a CA
   certificate to the subscriber, and instead issues a ROA on the
   subscriber's behalf that contains the subscriber's AS number and the
   subscriber's IP address prefixes.

   If the subscriber is unable or unwilling to obtain an AS number and
   run BGP, the another option is that the multi-homed subscriber can
   request that the primary ISP create a ROA for each secondary ISP that
   authorizes the secondary ISP to originate routes to the subscriber's
   prefixes.  The primary ISP will also create a ROA containing its own
   AS number and the subscriber's prefixes, as it is likely in such a
   case that the primary ISP wishes to advertise precisely the



Lepinski & Kent               Informational                    [Page 20]
^L
RFC 6480                    RPKI Architecture              February 2012


   subscriber's prefixes and not an encompassing aggregate.  Note that
   this approach results in inconsistent origin AS numbers for the
   subscriber's prefixes that are considered undesirable on the public
   Internet; thus, this approach is NOT RECOMMENDED.

7.3.3.  Provider-Independent Address Space

   A resource holder is said to have provider-independent (portable)
   address space if the resource holder received its allocation directly
   from a RIR or NIR.  Because the prefixes represented in such
   allocations are not taken from an allocation held by an ISP, there is
   no ISP that holds and advertises a more general prefix.  A holder of
   a portable IP address space allocation MUST authorize one or more
   ASes to originate routes to these prefixes.  Thus, the resource
   holder MUST generate one or more EE certificates and associated ROAs
   to enable the AS(es) to originate routes for the prefix(es) in
   question.  This ROA is required because none of the ISP's existing
   ROAs authorize it to originate routes to the subscriber's provider-
   independent allocation.

8.  Security Considerations

   The focus of this document is security; hence, security
   considerations permeate this specification.

   The security mechanisms provided by and enabled by this architecture
   depend on the integrity and availability of the infrastructure it
   describes.  The integrity of objects within the infrastructure is
   ensured by appropriate controls on the repository system, as
   described in Section 4.4.  Likewise, because the repository system is
   structured as a distributed database, it should be inherently
   resistant to denial-of-service attacks; nonetheless, appropriate
   precautions should also be taken, both through replication and backup
   of the constituent databases and through the physical security of
   database servers.

9.  IANA Considerations

   Instructions for IANA's participation in the RPKI are provided in
   [RFC6491].











Lepinski & Kent               Informational                    [Page 21]
^L
RFC 6480                    RPKI Architecture              February 2012


10.  Acknowledgments

   The architecture described in this document is derived from the
   collective ideas and work of a large group of individuals.  This work
   would not have been possible without the intellectual contributions
   of George Michaelson, Robert Loomans, Sanjaya and Geoff Huston of
   APNIC, Robert Kisteleki and Henk Uijterwaal of the RIPE NCC, Tim
   Christensen and Cathy Murphy of ARIN, Rob Austein of ISC, and Randy
   Bush of IIJ.

   Although we are indebted to everyone who has contributed to this
   architecture, we would like to especially thank Rob Austein for the
   concept of a manifest, Geoff Huston for the concept of managing
   object validity through single-use EE certificate key pairs, and
   Richard Barnes for help in preparing an early version of this
   document.

11.  References

11.1.  Normative References

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119, March 1997.

   [RFC3779]  Lynn, C., Kent, S., and K. Seo, "X.509 Extensions for IP
              Addresses and AS Identifiers", RFC 3779, June 2004.

   [RFC4271]  Rekhter, Y., Ed., Li, T., Ed., and S. Hares, Ed., "A
              Border Gateway Protocol 4 (BGP-4)", RFC 4271, January
              2006.

   [RFC5280]  Cooper, D., Santesson, S., Farrell, S., Boeyen, S.,
              Housley, R., and W. Polk, "Internet X.509 Public Key
              Infrastructure Certificate and Certificate Revocation List
              (CRL) Profile", RFC 5280, May 2008.

   [RFC5652]  Housley, R., "Cryptographic Message Syntax (CMS)", STD 70,
              RFC 5652, September 2009.

   [RFC5781]  Weiler, S., Ward, D., and R. Housley, "The rsync URI
              Scheme", RFC 5781, February 2010.

   [RFC6481]  Huston, G., Loomans, R., and G. Michaelson, "A Profile for
              Resource Certificate Repository Structure", RFC 6481,
              February 2012.

   [RFC6482]  Lepinski, M., Kent, S., and D. Kong, "A Profile for Route
              Origin Authorizations (ROAs)", RFC 6482, February 2012.



Lepinski & Kent               Informational                    [Page 22]
^L
RFC 6480                    RPKI Architecture              February 2012


   [RFC6486]  Austein, R., Huston., G., Kent, S., and M. Lepinski,
              "Manifests for the Resource Public Key Infrastructure",
              RFC 6486, February 2012.

   [RFC6487]  Huston, G., Michaelson, G., and R. Loomans, "A Profile for
              X.509 PKIX Resource Certificates", RFC 6487, February
              2012.

   [RFC6488]  Lepinski, M., Chi, A., and S. Kent, "Signed Object
              Template for the Resource Public Key Infrastructure", RFC
              6488, February 2012.

   [RFC6491]  Manderson, T., Vegoda, L., and S. Kent, "Resource Public
              Key Infrastructure (RPKI) Objects Issued by IANA", RFC
              6491, February 2012.

11.2.  Informative References

   [RFC6483]  Huston, G. and G. Michaelson, "Validation of Route
              Origination Using the Resource Certificate Public Key
              Infrastructure (PKI) and Route Origin Authorizations
              (ROAs)", RFC 6483, February 2012.

   [RFC6489]  Huston, G., Michaelson, G., and S. Kent, "Certification
              Authority (CA) Key Rollover in the Resource Public Key
              Infrastructure (RPKI)", BCP 174, RFC 6489, February 2012.

   [RFC6490]  Huston, G., Weiler, S., Michaelson, G., and S. Kent,
              "Resource Public Key Infrastructure (RPKI) Trust Anchor
              Locator", RFC 6490, February 2012.

   [RSYNC]    rsync web pages, <http://rsync.samba.org/>.

   [S-BGP]    Kent, S., Lynn, C., and Seo, K., "Secure Border Gateway
              Protocol (Secure-BGP)", IEEE Journal on Selected Areas in
              Communications Vol. 18, No. 4, April 2000.

   [soBGP]    White, R., "soBGP", May 2005,
              <ftp://ftp-eng.cisco.com/sobgp/index.html>












Lepinski & Kent               Informational                    [Page 23]
^L
RFC 6480                    RPKI Architecture              February 2012


Authors' Addresses

   Matt Lepinski
   BBN Technologies
   10 Moulton St.
   Cambridge, MA 02138

   EMail: mlepinski@bbn.com


   Stephen Kent
   BBN Technologies
   10 Moulton St.
   Cambridge, MA 02138

   EMail: kent@bbn.com



































Lepinski & Kent               Informational                    [Page 24]
^L