draft-ietf-sidr-arch-02.txt   draft-ietf-sidr-arch-03.txt 
Secure Inter-Domain Routing M. Lepinski Secure Inter-Domain Routing M. Lepinski
Working Group S. Kent Working Group S. Kent
Internet Draft R. Barnes Internet Draft BBN Technologies
Intended status: Informational BBN Technologies Intended status: Informational February 25, 2008
Expires: May 2008 November 18, 2007 Expires: August 2008
An Infrastructure to Support Secure Internet Routing An Infrastructure to Support Secure Internet Routing
draft-ietf-sidr-arch-02.txt draft-ietf-sidr-arch-03.txt
Status of this Memo Status of this Memo
By submitting this Internet-Draft, each author represents that By submitting this Internet-Draft, each author represents that
any applicable patent or other IPR claims of which he or she is any applicable patent or other IPR claims of which he or she is
aware have been or will be disclosed, and any of which he or she aware have been or will be disclosed, and any of which he or she
becomes aware will be disclosed, in accordance with Section 6 of becomes aware will be disclosed, in accordance with Section 6 of
BCP 79. BCP 79.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
skipping to change at page 1, line 35 skipping to change at page 1, line 35
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt http://www.ietf.org/ietf/1id-abstracts.txt
The list of Internet-Draft Shadow Directories can be accessed at The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html http://www.ietf.org/shadow.html
This Internet-Draft will expire on May 18, 2007. This Internet-Draft will expire on August 25, 2008.
Copyright Notice Copyright Notice
Copyright (C) The IETF Trust (2007). Copyright (C) The IETF Trust (2008).
Abstract Abstract
This document describes an architecture for an infrastructure to This document describes an architecture for an infrastructure to
support secure Internet routing. The foundation of this architecture support secure Internet routing. The foundation of this architecture
is a public key infrastructure (PKI) that represents the allocation is a public key infrastructure (PKI) that represents the allocation
hierarchy of IP address space and Autonomous System Numbers; hierarchy of IP address space and Autonomous System Numbers;
certificates from this PKI are used to verify signed objects that certificates from this PKI are used to verify signed objects that
authorize autonomous systems to originate routes for specified IP authorize autonomous systems to originate routes for specified IP
address prefixes. The data objects that comprise the PKI, as well as address prefixes. The data objects that comprise the PKI, as well as
skipping to change at page 2, line 26 skipping to change at page 2, line 24
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in RFC-2119 [1]. document are to be interpreted as described in RFC-2119 [1].
Table of Contents Table of Contents
1. Introduction...................................................3 1. Introduction...................................................3
2. PKI for Internet Number Resources..............................4 2. PKI for Internet Number Resources..............................4
2.1. Role in the overall architecture..........................5 2.1. Role in the overall architecture..........................5
2.2. CA Certificates...........................................5 2.2. CA Certificates...........................................5
2.3. End-Entity (EE) Certificates..............................7 2.3. End-Entity (EE) Certificates..............................7
2.4. Trust Anchors.............................................8 2.4. Trust Anchors.............................................7
2.5. Default Trust Anchor Considerations.......................8 2.5. Default Trust Anchor Considerations.......................8
2.6. Representing Early-Registration Transfers (ERX)...........9 2.6. Representing Early-Registration Transfers (ERX)...........9
3. Route Origination Authorizations..............................10 3. Route Origination Authorizations..............................10
3.1. Role in the overall architecture.........................11 3.1. Role in the overall architecture.........................11
3.2. Syntax and semantics.....................................11 3.2. Syntax and semantics.....................................11
4. Repositories..................................................13 4. Repositories..................................................13
4.1. Role in the overall architecture.........................14 4.1. Role in the overall architecture.........................13
4.2. Contents and structure...................................14 4.2. Contents and structure...................................13
4.3. Access protocols.........................................16 4.3. Access protocols.........................................15
4.4. Access control...........................................16 4.4. Access control...........................................15
5. Manifests.....................................................17 5. Manifests.....................................................16
5.1. Manifest Syntax..........................................17 5.1. Syntax and semantics.....................................16
5.2. Certificate Requests.....................................18 6. Local Cache Maintenance.......................................17
5.3. Publication Repositories.................................19 7. Common Operations.............................................18
5.4. Relying Party processing of a Manifest...................19 7.1. Certificate issuance.....................................18
5.4.1. The nominal good case:..............................20 7.2. ROA management...........................................19
5.4.2. The bad cases:......................................20
5.4.3. Warning List........................................21
6. Local Cache Maintenance.......................................22
7. Common Operations.............................................23
7.1. Certificate issuance.....................................23
7.2. ROA management...........................................24
7.2.1. Single-homed subscribers (without portable allocations) 7.2.1. Single-homed subscribers (without portable allocations)
...........................................................25 ...........................................................20
7.2.2. Multi-homed subscribers.............................25 7.2.2. Multi-homed subscribers.............................20
7.2.3. Portable allocations................................26 7.2.3. Portable allocations................................21
7.3. Route filter construction................................26 7.3. Route filter construction................................21
8. Security Considerations.......................................27 8. Security Considerations.......................................22
9. IANA Considerations...........................................27 9. IANA Considerations...........................................22
10. Acknowledgments..............................................28 10. Acknowledgments..............................................23
11. References...................................................29 11. References...................................................24
11.1. Normative References....................................29 11.1. Normative References....................................24
11.2. Informative References..................................29 11.2. Informative References..................................24
Author's Addresses...............................................30 Authors' Addresses...............................................25
Intellectual Property Statement..................................30 Intellectual Property Statement..................................25
Disclaimer of Validity...........................................31 Disclaimer of Validity...........................................26
1. Introduction 1. Introduction
This document describes an architecture for an infrastructure to This document describes an architecture for an infrastructure to
support improved security for BGP routing [2] for the Internet. The support improved security for BGP routing [2] for the Internet. The
architecture encompasses three principle elements: architecture encompasses three principle elements:
. a public key infrastructure (PKI) . a public key infrastructure (PKI)
. digitally-signed routing objects to support routing security . digitally-signed routing objects to support routing security
skipping to change at page 3, line 38 skipping to change at page 3, line 30
signed routing objects signed routing objects
The architecture described by this document supports, at a minimum, The architecture described by this document supports, at a minimum,
two aspects of routing security; it enables an entity to verifiably two aspects of routing security; it enables an entity to verifiably
assert that it is the legitimate holder of a set of IP addresses or a assert that it is the legitimate holder of a set of IP addresses or a
set of Autonomous System (AS) numbers, and it allows the holder of IP set of Autonomous System (AS) numbers, and it allows the holder of IP
address space to explicitly and verifiably authorize one or more ASes address space to explicitly and verifiably authorize one or more ASes
to originate routes to that address space. In addition to these to originate routes to that address space. In addition to these
initial applications, the infrastructure defined by this architecture initial applications, the infrastructure defined by this architecture
also is intended to be able to support security protocols such as S- also is intended to be able to support security protocols such as S-
BGP [8] or soBGP [9]. This architecture is applicable to the routing BGP [10] or soBGP [11]. This architecture is applicable to the
of both IPv4 and IPv6 datagrams. IPv4 and IPv6 are currently the only routing of both IPv4 and IPv6 datagrams. IPv4 and IPv6 are currently
address families supported by this architecture. Thus, for example, the only address families supported by this architecture. Thus, for
use of this architecture with MPLS labels is beyond the scope of this example, use of this architecture with MPLS labels is beyond the
document. scope of this document.
In order to facilitate deployment, the architecture takes advantage In order to facilitate deployment, the architecture takes advantage
of existing technologies and practices. The structure of the PKI of existing technologies and practices. The structure of the PKI
element of the architecture corresponds to the existing resource element of the architecture corresponds to the existing resource
allocation structure. Thus management of this PKI is a natural allocation structure. Thus management of this PKI is a natural
extension of the resource-management functions of the organizations extension of the resource-management functions of the organizations
that are already responsible for IP address and AS number resource that are already responsible for IP address and AS number resource
allocation. Likewise, existing resource allocation and revocation allocation. Likewise, existing resource allocation and revocation
practices have well-defined correspondents in this architecture. To practices have well-defined correspondents in this architecture. To
ease implementation, existing IETF standards are used wherever ease implementation, existing IETF standards are used wherever
skipping to change at page 4, line 39 skipping to change at page 4, line 31
within that block, decisions about inter-domain routing are within that block, decisions about inter-domain routing are
inherently based on knowledge the allocation of the IP address space. inherently based on knowledge the allocation of the IP address space.
Thus, a basic function of this architecture is to provide Thus, a basic function of this architecture is to provide
cryptographically verifiable attestations as to these allocations. In cryptographically verifiable attestations as to these allocations. In
current practice, the allocation of IP address is hierarchic. The current practice, the allocation of IP address is hierarchic. The
root of the hierarchy is IANA. Below IANA are five Regional Internet root of the hierarchy is IANA. Below IANA are five Regional Internet
Registries (RIRs), each of which manages address and AS number Registries (RIRs), each of which manages address and AS number
allocation within a defined geopolitical region. In some regions the allocation within a defined geopolitical region. In some regions the
third tier of the hierarchy includes National Internet Registries and third tier of the hierarchy includes National Internet Registries and
(NIRs) as well as Local Internet Registries (LIRs) and subscribers (NIRs) as well as Local Internet Registries (LIRs) and subscribers
with so-called "portable" (provider-independent) allocations. (The with so-called ''portable'' (provider-independent) allocations. (The
term LIR is used in some regions to refer to what other regions 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 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 the term LIR/ISP to simplify references to these entities.) In other
regions the third tier consists only of LIRs/ISPs and subscribers regions the third tier consists only of LIRs/ISPs and subscribers
with portable allocations. with portable allocations.
In general, the holder of a set of IP addresses may sub-allocate In general, the holder of a set of IP addresses may sub-allocate
portions of that set, either to itself (e.g., to a particular unit of portions of that set, either to itself (e.g., to a particular unit of
the same organization), or to another organization, subject to the same organization), or to another organization, subject to
contractual constraints established by the registries. Because of contractual constraints established by the registries. Because of
skipping to change at page 5, line 26 skipping to change at page 5, line 18
conform to the certificate profile for such certificates [6]. conform to the certificate profile for such certificates [6].
Resource certificates attest to the allocation by the (certificate) Resource certificates attest to the allocation by the (certificate)
issuer of IP addresses or AS numbers to the subject. They do this by 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 binding the public key contained in the Resource Certificate to the
IP addresses or AS numbers included in the certificate's IP Address IP addresses or AS numbers included in the certificate's IP Address
Delegation or AS Identifier Delegation Extensions, respectively, as Delegation or AS Identifier Delegation Extensions, respectively, as
defined in RFC 3779 [5]. defined in RFC 3779 [5].
An important property of this PKI is that certificates do not attest An important property of this PKI is that certificates do not attest
to the identity of the subject. Therefore, the subject names used in to the identity of the subject. Therefore, the subject names used in
certificates are not intended to be "descriptive." That is, this PKI certificates are not intended to be ''descriptive.'' That is, this
is intended to provide authorization, but not authentication. This is PKI is intended to provide authorization, but not authentication.
in contrast to most PKIs where the issuer ensures that the This is in contrast to most PKIs where the issuer ensures that the
descriptive subject name in a certificate is properly associated with descriptive subject name in a certificate is properly associated with
the entity that holds the private key corresponding to the public key the entity that holds the private key corresponding to the public key
in the certificate. Because issuers need not verify the right of an in the certificate. Because issuers need not verify the right of an
entity to use a subject name in a certificate, they avoid the costs entity to use a subject name in a certificate, they avoid the costs
and liabilities of such verification. This makes it easier for these and liabilities of such verification. This makes it easier for these
entities to take on the additional role of CA. entities to take on the additional role of CA.
Most of the certificates in the PKI assert the basic facts on which Most of the certificates in the PKI assert the basic facts on which
the rest of the infrastructure operates. CA certificates within the the rest of the infrastructure operates. CA certificates within the
PKI attest to IP address space and AS number holdings. End-entity PKI attest to IP address space and AS number holdings. End-entity
skipping to change at page 10, line 9 skipping to change at page 10, line 5
2.6. Representing Early-Registration Transfers (ERX) 2.6. Representing Early-Registration Transfers (ERX)
Currently, IANA allocates IPv4 address space to the RIRs at the level Currently, IANA allocates IPv4 address space to the RIRs at the level
of /8 prefixes. However, there exist allocations that cross these RIR of /8 prefixes. However, there exist allocations that cross these RIR
boundaries. For example, A LACNIC customer may have an allocation boundaries. For example, A LACNIC customer may have an allocation
that falls within a /8 prefix administered by ARIN. Therefore, the that falls within a /8 prefix administered by ARIN. Therefore, the
resource PKI must be able to represent such transfers from one RIR to resource PKI must be able to represent such transfers from one RIR to
another in a manner that permits the validation of certificates with another in a manner that permits the validation of certificates with
RFC 3779 extensions. RFC 3779 extensions.
--------------------------------- +-------------------------------+
| | | |
| LACNIC Administrative | | LACNIC Administrative |
| Boundary | | Boundary |
| | | |
---------- | ---------- | ---------- +--------+ | +--------+ | +--------+
| ARIN | | | LACNIC | | | RIPE | | ARIN | | | LACNIC | | | RIPE |
| ROOT | | | ROOT | | | ROOT | | ROOT | | | ROOT | | | ROOT |
---------- | ---------- | ---------- +--------+ | +--------+ | +--------+
\ | | / \ | | /
------------ ------------ ------------ ------------
| \ / | | \ / |
| ---------- ---------- | | +--------+ +--------+ |
| | LACNIC | | LACNIC | | | | LACNIC | | LACNIC | |
| | CA | | CA | | | | CA | | CA | |
| ---------- ---------- | | +--------+ +--------+ |
| | | |
--------------------------------- +-------------------------------+
FIGURE 1: Representing EXR FIGURE 1: Representing EXR
To represent such transfers, RIRs will need to manage multiple CA To represent such transfers, RIRs will need to manage multiple CA
certificates, each with distinct public (and corresponding private) certificates, each with distinct public (and corresponding private)
keys. Each RIR will have a single "root" certificate (e.g., a self- keys. Each RIR will have a single ''root'' certificate (e.g., a self-
signed certificate or a certificate signed by IANA, see Section 2.5), signed certificate or a certificate signed by IANA, see Section 2.5),
plus one additional CA certificate for each RIR from which it plus one additional CA certificate for each RIR from which it
receives a transfer. Each of these additional CA certificates will be receives a transfer. Each of these additional CA certificates will be
issued under the "root" certificate of the RIR from which the issued under the ''root'' certificate of the RIR from which the
transfer is received. This means that although the certificate is transfer is received. This means that although the certificate is
bound to the RIR that receives the transfer, for the purposes of bound to the RIR that receives the transfer, for the purposes of
certificate path construction and validation, it does not appear certificate path construction and validation, it does not appear
under that RIR's "root" certificate (see Figure 1). under that RIR's ''root'' certificate (see Figure 1).
3. Route Origination Authorizations 3. Route Origination Authorizations
The information on IP address allocation provided by the PKI is not, The information on IP address allocation provided by the PKI is not,
in itself, sufficient to guide routing decisions. In particular, BGP in itself, sufficient to guide routing decisions. In particular, BGP
is based on the assumption that the AS that originates routes for a 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 particular prefix is authorized to do so by the holder of that prefix
(or an address block encompassing the prefix); the PKI contains no (or an address block encompassing the prefix); the PKI contains no
information about these authorizations. A Route Origination information about these authorizations. A Route Origination
Authorization (ROA) makes such authorization explicit, allowing a Authorization (ROA) makes such authorization explicit, allowing a
skipping to change at page 11, line 37 skipping to change at page 11, line 34
Initially, the repository system will be the primary mechanism for Initially, the repository system will be the primary mechanism for
disseminating ROAs, since these repositories will hold the disseminating ROAs, since these repositories will hold the
certificates and CRLs needed to verify ROAs. In addition, ROAs also certificates and CRLs needed to verify ROAs. In addition, ROAs also
could be distributed in BGP UPDATE messages or via other could be distributed in BGP UPDATE messages or via other
communication paths, if needed to meet timeliness requirements. communication paths, if needed to meet timeliness requirements.
3.2. Syntax and semantics 3.2. Syntax and semantics
A ROA constitutes an explicit authorization for a single AS to A ROA constitutes an explicit authorization for a single AS to
originate routes to one or more prefixes, and is signed by the holder originate routes to one or more prefixes, and is signed by the holder
of those prefixes. Syntactically, a ROA is a CMS signed-data object of those prefixes. A detailed specification of the ROA syntax can be
whose content is defined as follows: found in [7] but, at a high level, a ROA consists of (1) an AS
number; (2) a list of IP address prefixes; and (3) a flag indicating
RouteOriginAttestation ::= SEQUENCE { whether an exact match is required between the IP address prefix(es)
version [0] INTEGER DEFAULT 0, of the ROA and the IP address prefix(es) originated by the AS, or
asID ASID, whether the AS is also authorized to advertise long (more specific)
exactMatch BOOLEAN, prefixes.
ipAddrBlocks ROAIPAddrBlocks }
ASID ::= INTEGER
ROAIPAddrBlocks ::= SEQUENCE of ROAIPAddressFamily
ROAIPAddressFamily ::= SEQUENCE {
addressFamily OCTET STRING (SIZE (2..3)),
addresses SEQUENCE OF IPAddress }
-- Only two address families are allowed: IPv4 and IPv6
IPAddress ::= BIT STRING
That is, the signed data within the ROA consists of a version number,
the AS number that is being authorized, and a list of IP prefixes to
which the AS is authorized to originate routes. If the exactMatch
flag is set to TRUE, then the AS is authorized to originate routes
only for the specific prefix(es) listed in the ROA. If the exactMatch
flag is set to FALSE, the AS is authorized to originate routes to the
prefix(es) in the ROA as well as any longer (more specific) prefixes.
Note that a ROA contains only a single AS number. Thus, if an ISP has 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 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 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 multiple ROAs to authorize the ISP to originate routes from any of
these ASes. these ASes.
A ROA is signed using the private key corresponding to the public key A ROA is signed using the private key corresponding to the public key
in an end-entity certificate in the PKI. In order for a ROA to be in an end-entity certificate in the PKI. In order for a ROA to be
valid, its corresponding end-entity (EE) certificate must be valid valid, its corresponding end-entity (EE) certificate must be valid
skipping to change at page 14, line 32 skipping to change at page 13, line 44
certificates and CRLs are created, they are uploaded to this certificates and CRLs are created, they are uploaded to this
repository, and then downloaded for use by relying parties (primarily repository, and then downloaded for use by relying parties (primarily
LIRs/ISPs). ROAs and manifests are additional examples of such LIRs/ISPs). ROAs and manifests are additional examples of such
objects, but other types of signed objects may be added to this objects, but other types of signed objects may be added to this
architecture in the future. This document briefly describes the way architecture in the future. This document briefly describes the way
signed objects (certificates, CRLs, ROAs and manifests) are managed signed objects (certificates, CRLs, ROAs and manifests) are managed
in the repository system. As other types of signed objects are added in the repository system. As other types of signed objects are added
to the repository system it will be necessary to modify the to the repository system it will be necessary to modify the
description, but it is anticipated that most of the design principles description, but it is anticipated that most of the design principles
will still apply. The repository system is described in detail in will still apply. The repository system is described in detail in
[??]. [9].
4.2. Contents and structure 4.2. Contents and structure
Although there is a single repository system that is accessed by Although there is a single repository system that is accessed by
relying parties, it is comprised of multiple databases. These relying parties, it is comprised of multiple databases. These
databases will be distributed among registries (RIRs, NIRs, databases will be distributed among registries (RIRs, NIRs,
LIRs/ISPs). At a minimum, the database operated by each registry will LIRs/ISPs). At a minimum, the database operated by each registry will
contain all CA and EE certificates, CRLs, and manifests signed by the contain all CA and EE certificates, CRLs, and manifests signed by the
CA(s) associated with that registry. Repositories operated by CA(s) associated with that registry. Repositories operated by
LIRs/ISPs also will contain ROAs. Registries are encouraged maintain LIRs/ISPs also will contain ROAs. Registries are encouraged maintain
skipping to change at page 15, line 14 skipping to change at page 14, line 25
manifests) verifiable via this certificate. A certificate's Subject manifests) verifiable via this certificate. A certificate's Subject
Information Authority (SIA) extension provides a URI that references Information Authority (SIA) extension provides a URI that references
this directory. Additionally, a certificate's Authority Information this directory. Additionally, a certificate's Authority Information
Authority (AIA) extension contains a URI that references the Authority (AIA) extension contains a URI that references the
authoritative location for the CA certificate under which the given authoritative location for the CA certificate under which the given
certificate was issued. That is, if certificate A is used to verify certificate was issued. That is, if certificate A is used to verify
certificate B, then the AIA extension of certificate B points to certificate B, then the AIA extension of certificate B points to
certificate A, and the SIA extension of certificate A points to a certificate A, and the SIA extension of certificate A points to a
directory containing certificate B (see Figure 2). directory containing certificate B (see Figure 2).
---------- +--------+
---------->| Cert A |<----- +--------->| Cert A |<----+
| | CRLDP | | ----------- | | CRLDP | | +---------+
| | AIA | | --->| A's CRL |<-- | | AIA | | +-->| A's CRL |<-+
| --------+- SIA | | | ----------- | | +--------- SIA | | | +---------+ |
| | ---------- | | | | | +--------+ | | |
| | | | | | | | | |
| | ----+----- | | | +---+----+ |
| | | | | | | | | |
| | ----------------|---|------------------ | | | +---------------|---|-----------------+ |
| | | | | | | | | | | | | |
| -->| ---------- | | ---------- | | | +->| +--------+ | | +--------+ | |
| | | Cert B | | | | Cert C | | | | | | Cert B | | | | Cert C | | |
| | | CRLDP -+--- | | CRLDP -+----|---- | | | CRLDP ----+ | | CRLDP -+--------+
----------+- AIA | ----+- AIA | | +----------- AIA | +----- AIA | |
| | SIA | | SIA | | | | SIA | | SIA | |
| ---------- ---------- | | +--------+ +--------+ |
| | | |
--------------------------------------- +-------------------------------------+
FIGURE 3: In this example, certificates B and C are issued under FIGURE 3: In this example, certificates B and C are issued under
certificate A. Therefore, the AIA extensions of certificates B and C certificate A. Therefore, the AIA extensions of certificates B and C
point to A, and the SIA extension of certificate A points to the point to A, and the SIA extension of certificate A points to the
directory containing certificates B and C. directory containing certificates B and C.
If a CA certificate is reissued with the same public key, it should If a CA certificate is reissued with the same public key, it should
not be necessary to reissue (with an updated AIA URI) all not be necessary to reissue (with an updated AIA URI) all
certificates signed by the certificate being reissued. Therefore, a certificates signed by the certificate being reissued. Therefore, a
certification authority SHOULD use a persistent URI naming scheme for certification authority SHOULD use a persistent URI naming scheme for
skipping to change at page 16, line 34 skipping to change at page 15, line 42
Upload/change/delete: Access protocols MUST also support mechanisms Upload/change/delete: Access protocols MUST also support mechanisms
for the issuers of certificates, CRLs, and other signed objects to for the issuers of certificates, CRLs, and other signed objects to
add them to the repository, and to remove them. Mechanisms for add them to the repository, and to remove them. Mechanisms for
modifying objects in the repository MAY also be provided. All access modifying objects in the repository MAY also be provided. All access
protocols that allow modification to the repository (through protocols that allow modification to the repository (through
addition, deletion, or modification of its contents) MUST support addition, deletion, or modification of its contents) MUST support
verification of the authorization of the entity performing the verification of the authorization of the entity performing the
modification, so that appropriate access controls can be applied (see modification, so that appropriate access controls can be applied (see
Section 4.4). Section 4.4).
Current efforts to implement a repository system use RSYNC [10] as Current efforts to implement a repository system use RSYNC [12] as
the single access protocol. RSYNC, as used in this implementation, the single access protocol. RSYNC, as used in this implementation,
provides all of the above functionality. A document specifying the provides all of the above functionality. A document specifying the
conventions for use of RSYNC in the PKI will be prepared. conventions for use of RSYNC in the PKI will be prepared.
4.4. Access control 4.4. Access control
In order to maintain the integrity of information in the repository, In order to maintain the integrity of information in the repository,
controls must be put in place to prevent addition, deletion, or controls must be put in place to prevent addition, deletion, or
modification of objects in the repository by unauthorized parties. modification of objects in the repository by unauthorized parties.
The identities of parties attempting to make such changes can be The identities of parties attempting to make such changes can be
authenticated through the relevant access protocols. Although authenticated through the relevant access protocols. Although
specific access control policies are subject to the local control of specific access control policies are subject to the local control of
repository operators, it is recommended that repositories allow only repository operators, it is recommended that repositories allow only
the issuers of signed objects to add, delete, or modify them. the issuers of signed objects to add, delete, or modify them.
Alternatively, it may be advantageous in the future to define a Alternatively, it may be advantageous in the future to define a
formal delegation mechanism to allow resource holders to authorize formal delegation mechanism to allow resource holders to authorize
other parties to act on their behalf, as suggested in Section 2.3 other parties to act on their behalf, as suggested in Section 2.3
above. above.
skipping to change at page 17, line 18 skipping to change at page 16, line 26
A manifest is a signed object listing of all of the signed objects A manifest is a signed object listing of all of the signed objects
issued by an authority responsible for a publication in the issued by an authority responsible for a publication in the
repository system. For each certificate, CRL, or ROA issued by the repository system. For each certificate, CRL, or ROA issued by the
authority, the manifest contains both the name of the file containing authority, the manifest contains both the name of the file containing
the object, and a hash of the file content. the object, and a hash of the file content.
As with ROAs, a manifest is signed by a private key, for which the As with ROAs, a manifest is signed by a private key, for which the
corresponding public key appears in an end-entity certificate. This corresponding public key appears in an end-entity certificate. This
EE certificate, in turn, is signed by the CA in question. The EE EE certificate, in turn, is signed by the CA in question. The EE
certificate private key may be used to sign one for more manifests. certificate private key may be used to issue one for more manifests.
If the private key is used to sign only a single manifest, then the If the private key is used to sign only a single manifest, then the
manifest can be revoked by revoking the EE certificate. In such a manifest can be revoked by revoking the EE certificate. In such a
case, to avoid needless CRL growth, the EE certificate used to case, to avoid needless CRL growth, the EE certificate used to
validate a manifest SHOULD expire at the same time that the manifest validate a manifest SHOULD expire at the same time that the manifest
expires, i.e., the notAfter value in the EE certificate should be the expires. If an EE certificate is used to issue multiple (sequential)
same as the nextUpdate value in the manifest. If a private key manifests for the CA in question, then there is no revocation
corresponding to a the public key in an EE certificate is used to mechanism for these individual manifests.
sign multiple (sequential) manifests for the CA in question, then
there is no revocation mechanism for these manifests. In such a case
a relying party will treat a manifest as valid until either (a) he
obtains a new manifest for the same CA having a higher
manifestNumber; or (b) the nextUpdate time is reached.
This EE certificate has an SIA extension access description field
with an accessMethod OID value of id-ad-signedobjectrepository where
the associated accessLocation references the publication point of the
manifest as an object URL.
5.1. Manifest Syntax
Syntactically, a manifest is a CMS signed-data object. As it is
intended that the manifest will be used in the context of assembling
a local copy of the entire RPKI repository, then the necessary
information to validate the certificate path for the manifest's
signature will be at hand for the relying party, thus duplication of
superior certificates and of CRLs in the CMS SignedData of the
manifest is not required. Only the EE certificate needed to directly
verify the signature on the manifest MUST be included in the CMS
SignedData; other certificates MUST NOT be included and CRLs MUST NOT
be included.
The CMS timestamp field MUST be included in the CMS SignedData.
The content of the CMS signed-data object is defined as follows:
Manifest ::= SEQUENCE {
version [0] INTEGER DEFAULT 0,
manifestNumber INTEGER,
thisUpdate GeneralizedTime,
nextUpdate GeneralizedTime,
fileHashAlg OBJECT IDENTIFIER,
fileList SEQUENCE OF (SIZE 0..MAX) FileAndHash
}
FileAndHash ::=SEQUENCE {
file IA5String
hash BIT STRING
}
The manifestNumber field is a sequence number that is incremented
each time a manifest is issued by a authority. The thisUpdate field
contains the time when the manifest was created and the nextUpdate
field contains the time at which the next scheduled manifest will be
issued. If the authority alters any of its items in the repository,
then it MUST issue a new manifest before nextUpdate. A manifest is
valid until the time specified in nextUpdate 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 which 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 result in significant CRLs growth.)
The fileHashAlg field contains the OID of the hash algorithm used to
hash the files that the authority has placed into the repository. The
mandatory to implement hash algorithm is SHA-256 and its OID is
2.16.840.1.101.3.4.2.1. [12]
The fileList field contains a sequence of FileAndHash pairs, one for
each currently valid certificate, CRL and ROA that has been issued by
the authority. Each of the FileAndHash pairs contains the name of the
file in the repository that contains the object in question, and a
hash of the file's contents.
5.2. Certificate Requests
A request for a CA certificate MUST include in the SIA of the request
an accessMethod OID of id-ad-manifest, where the associated
accessLocation refers to the subject's published manifest object as
an object URL. The manifest refers to the list of all products of
this CA certificate (except of course the manifest itself) that are
published at the publication point referred to by the SIA repository
pointer. This implies that the name of the manifest object is known
in advance, requiring the manifest object name to be a PURL, i.e., a
URL that is unchanged across manifest generation cycles.
Certificate requests for EE certificates MUST include in the SIA of
the request an access method OID of id-ad-manifest, where the
associated access location refers to the publication point of the
object verified using this EE certificate.
This implies that all certificate issuance requests where there is an
SIA extension present should include the id-ad-manifest access method
and the associated access location in the request, and the issuer
should honour these values in the issued certificate.
5.3. Publication Repositories
The RPKI publication directory model requires that every publication
point be associated with a CA, and be non-empty. Upon creation of the
publication repository, the CA MUST create an manifest. The manifest
will contain at least one entry, the CRL issued by the CA.
For a CA-issuer who is digitally signing documents and publishing
these signed objects, the EE certifate used to verify the signing of
an object would use the id-ad-manifest SIA access method to refer to
the signed object itself. If the signing format is CMS and the EE
certificate is attached to the signed document, then there is no
requirement to publish the EE cert in the publication repository of
the CA. On the other hand, of the CA wants to ensure that relying
parties can assure themselves that they have the complete collection
of signed objects then publishing the EE cert in the CA's publication
repository would be sufficient.
5.4. Relying Party processing of a Manifest
In this section, we describe the recommended behavior of a relying
party when processing a manifest. We begin by describing the
scenario where the relying party is able to successfully validate a
manifest the corresponds to the contents of the repository. We then
describe the recommended behavior in the various cases where the
relying party is unable to validate such a manifest.
5.4.1. The nominal good case:
A manifest is present in the repository, is current (i.e., the
current time is bounded by the manifest validity interval), and its
signature can be verified. All files listed in the manifest are found
in the repository and the hashes match. Any files in the repository
that are NOT listed in the manifest but that validate anyway SHOUD be
ignored (since they could be older instances of objects covered by
the manifest).
5.4.2. The bad cases:
1. No manifest is found in the repository at the publication point.
In this case, the relying party cannot use the manifest in question.
a. If the relying party has a prior manifest for this publication
point, he should use most recent, verified manifest for the
publication point in question and generate warning A.
b. If no prior manifest for this publication point is available,
there is no basis for detecting missing files, so just process
certificate, CRL, and ROA files and generate warning B.
2. The Signature on manifest fetched from the repository cannot be
verified (or the format is bad). In this case, the relying party
cannot use the manifest in question.
a. If the relying party has a prior manifest for this publication
point, he should use most recent, verified manifest for the
publication point in question and generate warning A.
b. If no prior manifest for this publication point is available,
there is no basis for detecting missing files, so he should just
process certificate, CRL, and ROA files and generate warning B.
3. The manifest is present and current and its signature can be
verified using a matching EE certificate
a. If the EE certificate is valid (current and not revoked) and
all files listed in the manifest are found in the repository and the
hashes match, then the relying party should use the manifest as in
Section 5.
b. If the EE certificate is valid and one or more files listed in
the manifest have hashes that do not match the files in the
repository with the indicates names, then the corresponding files are
likely to be old and intended to be replaced, and thus SHOULD NOT be
used. The relying party should generate Warning C.
c. If the EE certificate is valid and one or more files listed in
the manifest are missing, the relying party should Generate Warning
D.
d. If the EE certificate is expired. (this says the issuer of the
manifest screwed up!), the relying party should generate warning E,
but proceed with processing.
e. If the EE certificate is revoked but not expired, then the
manifest SHOULD be ignored. The relying party should generate warning
F and proceed with processing as if no manifest is available (since
the CA explicitly revoked the certificate for the manifest.)
4. The manifest is present but expired. If the signature cannot be
verified, treat as case 1/2. If the manifest signature can be
verified using a matching EE certificate:
a. If the EE certificate is valid (current and not revoked), then
generate warning A and proceed.
b. If the EE certificate is expired. (this says the issuer of the
manifest screwed up!), then generate warning G and proceed.
c. If EE certificate is revoked but not expired, the manifest
SHOULD be ignored. Generate warning F and proceed with processing as
if no manifest is available (since the CA explicitly revoked the
certificate for the manifest.)
5.4.3. Warning List
Warning A: A current manifest is not available for <pub point name>.
A older manifest for this publication point will be used, but there
may be undetected deletions from the publication point.
Warning B: No manifest is available for <pub point name>, and thus
there may have been undetected deletions from the publication point.
Warning C: The following files at <pub point name> appear to be
SUPERCEDED and are NOT being processed.
Warning D: The following files that should have been present in the Manifests may be used by relying parties when constructing a local
repository at <pub point name>, are missing <file list>. This cache (see Section 6) to mitigate the risk of an attacker who deletes
indicates an attack against this publication point, or the files from a repository or replaces current signed objects with stale
repository, or an error by the publisher. 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.
Warning E: EE certificate for manifest verification for <pub point 5.1. Syntax and semantics
name> is expired. This indicates an error by the publisher, but
processing for this publication point will proceed using the current
manifest.
Warning F: The EE certificate for <pub point name> has been revoked. A manifest constitutes a list of (the hashes of) all the files in a
The manifest will be ignored and all files found at this publication repository point at a particular point in time. A detailed
point will be processed. specification of manifest syntax is provided in [8] 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.
Warning G: EE certificate for manifest verification for <pub point The manifest number is a sequence number that is incremented each
name> is expired. This indicates an error by the publisher, but time a manifest is issued by the authority. An authority is required
processing for this publication point will proceed using the most to issue a new manifest any time it alters any of its items in the
recent (but expired) manifest. 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 which 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 result in significant CRLs
growth.)
6. Local Cache Maintenance 6. Local Cache Maintenance
In order to utilize signed objects issued under this PKI (e.g. for In order to utilize signed objects issued under this PKI (e.g. for
route filter construction, see Section 6.3), a relying party must route filter construction, see Section 6.3), a relying party must
first obtain a local copy of the valid EE certificates for the PKI. first obtain a local copy of the valid EE certificates for the PKI.
To do so, the relying party performs the following steps: To do so, the relying party performs the following steps:
1. Query the registry system to obtain a copy of all certificates, 1. Query the registry system to obtain a copy of all certificates,
manifests and CRLs issued under the PKI. manifests and CRLs issued under the PKI.
skipping to change at page 23, line 10 skipping to change at page 18, line 8
it is more efficient for the relying party to request from the it is more efficient for the relying party to request from the
repository system only those objects that have changed since the repository system only those objects that have changed since the
relying party last updated its local cache. Note also that by relying party last updated its local cache. Note also that by
checking all issued objects against the appropriate manifest, the checking all issued objects against the appropriate manifest, the
relying party can be certain that it is not missing an updated relying party can be certain that it is not missing an updated
version of any object. version of any object.
7. Common Operations 7. Common Operations
Creating and maintaining the infrastructure described above will Creating and maintaining the infrastructure described above will
entail additional operations as "side effects" of normal resource entail additional operations as ''side effects'' of normal resource
allocation and routing authorization procedures. For example, a allocation and routing authorization procedures. For example, a
subscriber with "portable" address space who entes a relationship subscriber with ''portable'' address space who entes a relationship
with an ISP will need to issue one or more ROAs identifying that ISP, with an ISP will need to issue one or more ROAs identifying that ISP,
in addition to conducting any other necessary technical or business in addition to conducting any other necessary technical or business
procedures. The current primary use of this infrastructure is for procedures. The current primary use of this infrastructure is for
route filter construction; using ROAs, route filters can be route filter construction; using ROAs, route filters can be
constructed in an automated fashion with high assurance that the constructed in an automated fashion with high assurance that the
holder of the advertised prefix has authorized the first-hop AS to holder of the advertised prefix has authorized the first-hop AS to
originate an advertised route. originate an advertised route.
7.1. Certificate issuance 7.1. Certificate issuance
There are several operational scenarios that require certificates to There are several operational scenarios that require certificates to
be issued. Any allocation that may be sub-allocated requires a CA be issued. Any allocation that may be sub-allocated requires a CA
certificate, e.g., so that certificates can be issued as necessary certificate, e.g., so that certificates can be issued as necessary
for the sub-allocations. Holders of "portable" address allocations for the sub-allocations. Holders of ''portable'' address allocations
also must have certificates, so that a ROA can be issued to each ISP 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 that is authorized to originate a route to the allocation (since the
allocation does not come from any ISP). Additionally, multi-homed allocation does not come from any ISP). Additionally, multi-homed
subscribers may require certificates for their allocations if they subscribers may require certificates for their allocations if they
intend to issue the ROAs for their allocations (see Section 6.2.2). intend to issue the ROAs for their allocations (see Section 6.2.2).
Other holders of resources need not be issued CA certificates within Other holders of resources need not be issued CA certificates within
the PKI. the PKI.
In the long run, a resource holder will not request resource In the long run, a resource holder will not request resource
certificates, but rather receive a certificate as a side effect of certificates, but rather receive a certificate as a side effect of
skipping to change at page 26, line 36 skipping to change at page 21, line 36
1. Obtain a local copy of all currently valid EE certificates, as 1. Obtain a local copy of all currently valid EE certificates, as
specified in Section 5. specified in Section 5.
2. Query the repository system to obtain a local copy of all ROAs 2. Query the repository system to obtain a local copy of all ROAs
issued under the PKI. issued under the PKI.
3. Verify that the each ROA matches the hash value contained in the 3. Verify that the each ROA matches the hash value contained in the
manifest of the CA certificate used to verify the EE certificate manifest of the CA certificate used to verify the EE certificate
that issued the ROA and that no ROAs are missing. (ROAs are that issued the ROA and that no ROAs are missing. (ROAs are
contained in files with a ".roa" suffix, so missing ROAs are contained in files with a ''.roa'' suffix, so missing ROAs are
readily detected.) readily detected.)
4. Validate each ROA by verifying that it's signature is verifiable 4. Validate each ROA by verifying that it's signature is verifiable
by a valid end-entity certificate that matches the address by a valid end-entity certificate that matches the address
allocation in the ROA. (See [7] for more details.) allocation in the ROA. (See [7] for more details.)
5. Based on the validated ROAs, construct a table of prefixes and 5. Based on the validated ROAs, construct a table of prefixes and
corresponding authorized origin ASes (or vice versa). corresponding authorized origin ASes (or vice versa).
A BGP speaker that applies such a filter is thus guaranteed that for A BGP speaker that applies such a filter is thus guaranteed that for
skipping to change at page 27, line 17 skipping to change at page 22, line 17
downloaded and validated every time a route filter was constructed. downloaded and validated every time a route filter was constructed.
Instead, it will be more efficient for users of the infrastructure to Instead, it will be more efficient for users of the infrastructure to
initially download all of the signed objects and perform the initially download all of the signed objects and perform the
validation algorithm described above. Subsequently, a relying party validation algorithm described above. Subsequently, a relying party
need only perform incremental downloads and validations on a regular need only perform incremental downloads and validations on a regular
basis. A typical ISP using the infrastructure might have a daily basis. A typical ISP using the infrastructure might have a daily
schedule to download updates from the repository, upload any schedule to download updates from the repository, upload any
modifications it has made, and construct route filters. modifications it has made, and construct route filters.
It should be noted that the transition to 4-byte AS numbers (see RFC It should be noted that the transition to 4-byte AS numbers (see RFC
4893 [11]) weakens the security guarantees achieved by BGP speakers 4893 [13]) weakens the security guarantees achieved by BGP speakers
who do not support 4-byte AS numbers (referred to as OLD BGP who do not support 4-byte AS numbers (referred to as OLD BGP
speakers). RFC 4893 specifies that all 4-byte AS numbers (except speakers). RFC 4893 specifies that all 4-byte AS numbers (except
those whose first two bytes are entirely zero) be mapped to the those whose first two bytes are entirely zero) be mapped to the
reserved value 23456 before being sent to a BGP speaker who does not reserved value 23456 before being sent to a BGP speaker who does not
understand 4-byte AS numbers. Therefore, when an ISP creates a route understand 4-byte AS numbers. Therefore, when an ISP creates a route
filter for use by an OLD BGP speaker, it must allow any 4-byte AS filter for use by an OLD BGP speaker, it must allow any 4-byte AS
number to advertise routes for an IP address prefix if there exists a number to advertise routes for an IP address prefix if there exists a
ROA that authorizes any 4-byte AS number to advertise routes to that ROA that authorizes any 4-byte AS number to advertise routes to that
prefix. This means that if an OLD BGP speaker accepts a route that prefix. This means that if an OLD BGP speaker accepts a route that
was originated by an AS with a 4-byte AS number, there is no was originated by an AS with a 4-byte AS number, there is no
skipping to change at page 28, line 20 skipping to change at page 23, line 20
The architecture described in this draft is derived from the The architecture described in this draft is derived from the
collective ideas and work of a large group of individuals. This work collective ideas and work of a large group of individuals. This work
would not have been possible without the intellectual contributions would not have been possible without the intellectual contributions
of George Michaelson, Robert Loomans, Sanjaya and Geoff Huston of of George Michaelson, Robert Loomans, Sanjaya and Geoff Huston of
APNIC, Robert Kisteleki and Henk Uijterwaal of the RIPE NCC, Time APNIC, Robert Kisteleki and Henk Uijterwaal of the RIPE NCC, Time
Christensen and Cathy Murphy of ARIN, Rob Austein of ISC and Randy Christensen and Cathy Murphy of ARIN, Rob Austein of ISC and Randy
Bush of IIJ. Bush of IIJ.
Although we are indebted to everyone who has contributed to this Although we are indebted to everyone who has contributed to this
architecture, we would like to especially thank Rob Austein for the architecture, we would like to especially thank Rob Austein for the
concept of a manifest, and Geoff Huston for the concept of managing concept of a manifest, Geoff Huston for the concept of managing
object validity through single-use EE certificate key pairs. 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. References
11.1. Normative References 11.1. Normative References
[1] Bradner, S., "Key words for use in RFCs to Indicate Requirement [1] Bradner, S., "Key words for use in RFCs to Indicate Requirement
Levels", BCP 14, RFC 2119, March 1997. Levels", BCP 14, RFC 2119, March 1997.
[2] Rekhter, Y., Li, T., and S. Hares, "A Border Gateway Protocol 4 [2] Rekhter, Y., Li, T., and S. Hares, "A Border Gateway Protocol 4
(BGP-4)", RFC 4271, January 2006 (BGP-4)", RFC 4271, January 2006
[3] Housley, R., et al., "Internet X.509 Public Key Infrastructure [3] Housley, R., et al., "Internet X.509 Public Key Infrastructure
Certificate and Certificate Revocation List (CRL) Profile", RFC Certificate and Certificate Revocation List (CRL) Profile", RFC
3280, April 2002. 3280, April 2002.
[4] Housley, R., "Cryptographic Message Syntax", RFC 3852, July [4] Housley, R., ''Cryptographic Message Syntax'', RFC 3852, July
2004. 2004.
[5] Lynn, C., Kent, S., and K. Seo, "X.509 Extensions for IP [5] Lynn, C., Kent, S., and K. Seo, "X.509 Extensions for IP
Addresses and AS Identifiers", RFC 3779, June 2004. Addresses and AS Identifiers", RFC 3779, June 2004.
[6] Huston, G., Michaelson, G., and Loomans, R., "A Profile for [6] Huston, G., Michaelson, G., and Loomans, R., "A Profile for
X.509 PKIX Resource Certificates", draft-ietf-sidr-res-certs- X.509 PKIX Resource Certificates", draft-ietf-sidr-res-certs-
09, November 2007. 09, November 2007.
[7] Lepinski, M., Kent, S., and Kong, D., "A Profile for Route [7] Lepinski, M., Kent, S., and Kong, D., "A Profile for Route
Origin Authorizations (ROA)", draft-ietf-sidr-roa-format-01, Origin Authorizations (ROA)", draft-ietf-sidr-roa-format-02,
July 2008. February 2008.
[8] Austein, R., et al., ''Manifests for the Resource Public Key
Infrastructure'', draft-ietf-sidr-rpki-manifests-00, January
2008.
11.2. Informative References 11.2. Informative References
[8] Kent, S., Lynn, C., and Seo, K., "Secure Border Gateway [9] Huston, G., Michaelson, G., and Loomans, R., ''A Profile for
Protocol (Secure-BGP)", IEEE Journal on Selected Areas in Resource Certificate Repository Structure'', draft-huston-sidr-
repos-struct-01, February 2008.
[10] 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. Communications Vol. 18, No. 4, April 2000.
[9] White, R., "soBGP", May 2005, <ftp://ftp- [11] White, R., "soBGP", May 2005, <ftp://ftp-
eng.cisco.com/sobgp/index.html> eng.cisco.com/sobgp/index.html>
[10] Tridgell, A., "rsync", April 2006, [12] Tridgell, A., "rsync", April 2006,
<http://samba.anu.edu.au/rsync/> <http://samba.anu.edu.au/rsync/>
[13] Vohra, Q., and Chen, E., ''BGP Support for Four-octet AS Number
Space'', RFC 4893, May 2007.
[11] Vohra, Q., and Chen, E., "BGP Support for Four-octet AS Number Authors' Addresses
Space", RFC 4893, May 2007.
[12] Schaad, J., Kaliski, B., Housley, R., "Additional Algorithms
and Identifiers for RSA Cryptography for use in the Internet
X.509 Public Key Infrastructure for use in the Internet X.509
Public Key Infrastructure", RFC 4055, June 2005.
Author's Addresses
Matt Lepinski Matt Lepinski
BBN Technologies BBN Technologies
10 Moulton St. 10 Moulton St.
Cambridge, MA 02138 Cambridge, MA 02138
Email: mlepinski@bbn.com Email: mlepinski@bbn.com
Stephen Kent Stephen Kent
BBN Technologies BBN Technologies
10 Moulton St. 10 Moulton St.
Cambridge, MA 02138 Cambridge, MA 02138
Email: kent@bbn.com Email: kent@bbn.com
Richard Barnes
BBN Technologies
10 Moulton St.
Cambridge, MA 02138
Email: rbarnes@bbn.com
Intellectual Property Statement Intellectual Property Statement
The IETF takes no position regarding the validity or scope of any The IETF takes no position regarding the validity or scope of any
Intellectual Property Rights or other rights that might be claimed to Intellectual Property Rights or other rights that might be claimed to
pertain to the implementation or use of the technology described in pertain to the implementation or use of the technology described in
this document or the extent to which any license under such rights this document or the extent to which any license under such rights
might or might not be available; nor does it represent that it has might or might not be available; nor does it represent that it has
made any independent effort to identify any such rights. Information made any independent effort to identify any such rights. Information
on the procedures with respect to rights in RFC documents can be on the procedures with respect to rights in RFC documents can be
found in BCP 78 and BCP 79. found in BCP 78 and BCP 79.
skipping to change at page 31, line 23 skipping to change at page 26, line 17
This document and the information contained herein are provided on an This document and the information contained herein are provided on an
"AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND
THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS
OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF
THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Copyright Statement Copyright Statement
Copyright (C) The IETF Trust (2007). Copyright (C) The IETF Trust (2008).
This document is subject to the rights, licenses and restrictions This document is subject to the rights, licenses and restrictions
contained in BCP 78, and except as set forth therein, the authors contained in BCP 78, and except as set forth therein, the authors
retain all their rights. retain all their rights.
Acknowledgment
Funding for the RFC Editor function is currently provided by the
Internet Society.
 End of changes. 52 change blocks. 
351 lines changed or deleted 129 lines changed or added

This html diff was produced by rfcdiff 1.34. The latest version is available from http://tools.ietf.org/tools/rfcdiff/