One document matched: draft-huston-sidr-aao-profile-00.txt
SIDR G. Huston
Internet-Draft G. Michaelson
Intended status: Standards Track APNIC
Expires: April 2, 2009 September 29, 2008
A Profile for AS Adjacency Attestation Objects
draft-huston-sidr-aao-profile-00.txt
Status of this Memo
By submitting this Internet-Draft, each author represents that 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 becomes
aware will be disclosed, in accordance with Section 6 of BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as Internet-
Drafts.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt.
The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html.
This Internet-Draft will expire on April 2, 2009.
Abstract
This document defines a standard profile for AS Adjacency Attestation
Objects (AAOs). An AAO is a digitally signed object that provides a
means of verifying that an AS has made an attestation that it has a
inter-domain routing adjacency with one or more other AS's, with the
associated inference that this AS may announce or receive routes with
these adjacent AS's.
Huston & Michaelson Expires April 2, 2009 [Page 1]
Internet-Draft AS Adjacency Profile September 2008
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . 3
2. Intepretation of an AAO . . . . . . . . . . . . . . . . . . . 3
3. Basic Format . . . . . . . . . . . . . . . . . . . . . . . . . 4
3.1. Signed-Data Content Type . . . . . . . . . . . . . . . . . 4
3.1.1. version . . . . . . . . . . . . . . . . . . . . . . . 5
3.1.2. digestAlgorithms . . . . . . . . . . . . . . . . . . . 5
3.1.3. encapContentInfo . . . . . . . . . . . . . . . . . . . 5
3.1.4. CertificateSet . . . . . . . . . . . . . . . . . . . . 7
3.1.5. certificates . . . . . . . . . . . . . . . . . . . . . 7
3.1.6. crls . . . . . . . . . . . . . . . . . . . . . . . . . 7
3.1.7. signerInfos . . . . . . . . . . . . . . . . . . . . . 7
4. AAO Validation . . . . . . . . . . . . . . . . . . . . . . . . 10
5. Security Considerations . . . . . . . . . . . . . . . . . . . 11
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 12
7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 12
8. References . . . . . . . . . . . . . . . . . . . . . . . . . . 12
8.1. Normative References . . . . . . . . . . . . . . . . . . . 12
8.2. Informative References . . . . . . . . . . . . . . . . . . 13
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 13
Intellectual Property and Copyright Statements . . . . . . . . . . 14
Huston & Michaelson Expires April 2, 2009 [Page 2]
Internet-Draft AS Adjacency Profile September 2008
1. Introduction
The primary purpose of the Internet IP Address and AS Number Resource
Public Key Infrastructure (RPKI) system [ID.ietf-sidr-arch] is to
improve routing security. As part of this system, a mechanism is
defined here to allow entities to verify that an AS attests that is
adjacent to one or more other AS's, with the inference that it may
elect to announce routes to these adjacent AS's. An AAO provides
this function.
An AAO is a digitally signed object that makes use of Cryptographic
Message Syntax (CMS) [RFC3852] as a standard encapsulation format.
CMS was chosen to take advantage of existing open source software
available for processing messages in this format.
An AAO is a two part structure, that contains a list of AS's and a
single "local' AS. The AAO is an attestation that the local AS is a
routing peer to each of the AS's in the list. The AAO is signed by a
an EE Resource Certificate that has the local AS as the value of its
AS number resource extension.
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], "X.509
Extensions for IP Addresses and AS Identifiers" [RFC3779], "Internet
Protocol" [RFC0791], "Internet Protocol Version 6 (IPv6) Addressing
Architecture" [RFC4291], "Internet Registry IP Allocation Guidelines"
[RFC2050], and related regional Internet registry address management
policy documents, and BGP-4 [RFC4271]
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in RFC 2119.
2. Intepretation of an AAO
An AAO is an attestation on the part of a AS holder that it supports
inter-domain routing adjacencies to each of the AS's listed in the
AAO. The AAO does not list any prefixes that may be announced to the
adjacent AS's either directly or indirectly. The AAO also does not
list any local routing policies that may be applied to the routes
that are advertised across this adjacency, nor any routing policies
that may be applied to routes that are learned from this adjacency.
The AAO does not refer to any individual BGP peer session, and may
refer to one of many eBGP sessions between the same pair of AS's.
Huston & Michaelson Expires April 2, 2009 [Page 3]
Internet-Draft AS Adjacency Profile September 2008
It is reasonable for a relying party to infer from a valid AAO that
the signing AS has the intent to advertise route objects across this
adjacency, and is prepared to learn route objects that are passed to
it from the adjacent AS.
It is noted that an AAO is an asymmetric assertion, where one AS is
asserting that an inter-domain routing adjacency with another AS is
asserted to exist, but this assertion is not explicitly acknowledged
by the remote AS in the context of a single AAO. Relying parties may
elect to place greater levels of confidence in the existence of an
inter-domain routing adjacency when both AS's have signed and
published AAO objects that contain mutual references.
It is also noted that there is a subtle distinction that could be
drawn here between the appropriate semantic interpretation a pair of
unilateral assertions of adjacency using two AAOs and a bilateral
assertion of adjacency where both AS's sign a single assertion of the
existence of an inter-domain routing adjacency between these AS's.
This bilateral approach, using a single assertion with two digital
signatures, is not defined in this document.
3. Basic Format
Using CMS syntax, an AAO is a type of signed-data object. The
general format of a CMS object is:
ContentInfo ::= SEQUENCE {
contentType ContentType,
content [0] EXPLICIT ANY DEFINED BY contentType }
ContentType ::= OBJECT IDENTIFIER
As a AAO is a signed-data object, it uses the corresponding OID,
1.2.840.113549.1.7.2. [RFC3852]
3.1. Signed-Data Content Type
According to the CMS standard, the signed-data content type shall
have ASN.1 type SignedData:
Huston & Michaelson Expires April 2, 2009 [Page 4]
Internet-Draft AS Adjacency Profile September 2008
SignedData ::= SEQUENCE {
version CMSVersion,
digestAlgorithms DigestAlgorithmIdentifiers,
encapContentInfo EncapsulatedContentInfo,
certificates [0] IMPLICIT CertificateSet OPTIONAL,
crls [1] IMPLICIT RevocationInfoChoices OPTIONAL,
signerInfos SignerInfos }
DigestAlgorithmIdentifiers ::= SET OF DigestAlgorithmIdentifier
SignerInfos ::= SET OF SignerInfo
3.1.1. version
The version is the syntax version number. It MUST be 3,
corresponding to the signerInfo structure having version number 3.
3.1.2. digestAlgorithms
The digestAlgorithms set MUST include only SHA-256, the OID for which
is 2.16.840.1.101.3.4.2.1. [RFC4055] It MUST NOT contain any other
algorithms.
3.1.3. encapContentInfo
encapContentInfo is the signed content, consisting of a content type
identifier and the content itself.
EncapsulatedContentInfo ::= SEQUENCE {
eContentType ContentType,
eContent [0] EXPLICIT OCTET STRING OPTIONAL }
ContentType ::= OBJECT IDENTIFIER
3.1.3.1. eContentType
The ContentType for a AAO is defined as id-ct-ASAdjancyAttest and has
the numerical value of 1.2.840.113549.1.9.16.1.32.
id-smime OBJECT IDENTIFIER ::= { iso(1) member-body(2) us(840)
rsadsi(113549) pkcs(1) pkcs9(9) 16 }
id-ct OBJECT IDENTIFIER ::= { id-smime 1 }
id-ct-ASAdjacencyAttest OBJECT IDENTIFIER ::= { id-ct 32 }
Huston & Michaelson Expires April 2, 2009 [Page 5]
Internet-Draft AS Adjacency Profile September 2008
3.1.3.2. eContent
The content of an AAO identifies one or more AS's that the signing AS
is attesting that it has a routing adjacency with. Multiple
adjacencies can be attested on one or more AAOs.
The AAO contains no routing policy qualifications, nor does it
reference any address prefixes that may be announced within the
context of that routing adjacency.
An AAO is formally defined as:
id-ct-ASAdjacencyAttest ::= SEQUENCE {
version [0] INTEGER DEFAULT 0,
ASIdentifiers ::= SEQUENCE OF ASIdOrRange,
localASNum ASId}
ASIdOrRange ::= CHOICE {
id ASId,
range ASRange }
ASRange ::= SEQUENCE {
min ASId,
max ASId }
ASId ::= INTEGER
3.1.3.2.1. version
The version number of the ASAdjacencyAttestation MUST be 0.
3.1.3.2.2. ASIdentifiers
The ASIdentifiers element is a SEQUENCE containing AS numbers for
which the localASnum AS is attesting the existence of a routing
adjacency. Any pair of items in the asIdentifiers SEQUENCE MUST NOT
overlap. Any contiguous series of AS identifiers MUST be combined
into a single range whenever possible. The AS identifiers in the
asIdentifiers element MUST be sorted by increasing numeric value.
3.1.3.2.2.1. ASIdOrRange
The ASIdOrRange type is a CHOICE of either a single integer (ASId) or
a single sequence (ASRange).
Huston & Michaelson Expires April 2, 2009 [Page 6]
Internet-Draft AS Adjacency Profile September 2008
3.1.3.2.2.2. ASRange
The ASRange type is a SEQUENCE consisting of a min and a max element,
and is used to specify a range of AS identifier values.
3.1.3.2.2.2.1. min and max
The min and max elements have type ASId. The min element is used to
specify the value of the minimum AS identifier in the range, and the
max element specifies the value of the maximum AS identifier in the
range.
3.1.3.2.2.3. ASId
The ASId type is an INTEGER.
3.1.3.2.3. localASNum
The localASNum field contains the AS that is making the attestation
of routing adjacency to each of the AS's listed in the ASIdentifiers
element.
3.1.4. CertificateSet
The CertificateSet type is defined in section 10 of [RFC3852]
3.1.5. certificates
The certificates element MUST be included and MUST contain only the
single end entity resource certificate needed to validate this AAO.
3.1.6. crls
The crls element MUST be omitted.
3.1.7. signerInfos
SignerInfo is defined under CMS as:
SignerInfo ::= SEQUENCE {
version CMSVersion,
sid SignerIdentifier,
digestAlgorithm DigestAlgorithmIdentifier,
signedAttrs [0] IMPLICIT SignedAttributes OPTIONAL,
signatureAlgorithm SignatureAlgorithmIdentifier,
signature SignatureValue,
unsignedAttrs [1] IMPLICIT UnsignedAttributes OPTIONAL }
Huston & Michaelson Expires April 2, 2009 [Page 7]
Internet-Draft AS Adjacency Profile September 2008
3.1.7.1. version
The version number MUST be 3, corresponding with the choice of
SubjectKeyIdentifier for the sid.
3.1.7.2. sid
The sid is defined as:
SignerIdentifier ::= CHOICE {
issuerAndSerialNumber IssuerAndSerialNumber,
subjectKeyIdentifier [0] SubjectKeyIdentifier }
For a AAO, the sid MUST be a SubjectKeyIdentifier.
3.1.7.3. digestAlgorithm
The digestAlgorithm MUST be SHA-256, the OID for which is
2.16.840.1.101.3.4.2.1. [RFC4055]
3.1.7.4. signedAttrs
The signedAttrs is defined as:
SignedAttributes ::= SET SIZE (1..MAX) OF Attribute
Attribute ::= SEQUENCE {
attrType OBJECT IDENTIFIER,
attrValues SET OF AttributeValue }
AttributeValue ::= ANY
The signedAttr element MUST be present and MUST include the content-
type and message-digest attributes. The signer MAY also include the
signing-time signed attribute, the binary-signing-time signed
attribute, or both signed attributes. Other signed attributes that
are deemed appropriate MAY also be included. The intent is to allow
additional signed attributes to be included if a future need is
identified. This does not cause an interoperability concern because
unrecognized signed attributes are ignored by the relying party.
The signedAttr MUST include only a single instance of any particular
attribute. Additionally, even though the syntax allows for a SET OF
AttributeValue, in a AAO the attrValues must consist of only a single
AttributeValue
Huston & Michaelson Expires April 2, 2009 [Page 8]
Internet-Draft AS Adjacency Profile September 2008
3.1.7.4.1. ContentType Attribute
The ContentType attribute MUST be present. The attrType OID for the
ContentType attribute is 1.2.840.113549.1.9.3.
The attrValues for the ContentType attribute in a AAO MUST be
1.2.840.113549.1.9.16.1.24 (matching the eContentType in the
EncapsulatedContentInfo).
3.1.7.4.2. MessageDigest Attribute
The MessageDigest attribute MUST be present. The attrType OID for
the MessageDigest Attribute is 1.2.840.113549.1.9.4.
The attrValues for the MessageDigest attribute contains the output of
the digest algorithm applied to the content being signed, as
specified in Section 11.1 of [RFC3852].
3.1.7.4.3. SigningTime Attribute
The SigningTime attribute MAY be present. If it is present it MUST
be ignored by the relying party. The presence of absence of the
SigningTime attribute in no way affects the validation of the AAO (as
specified in Section 4). The attrType OID for the SigningTime
attribute is 1.2.840.113549.1.9.5.
The attrValues for the SigningTime attribute is defined as:
SigningTime ::= Time
Time ::= CHOICE {
utcTime UTCTime,
generalizedTime GeneralizedTime }
The Time element specifies the time, based on the local system clock,
at which the digital signature was applied to the content.
3.1.7.4.4. BinarySigningTimeAttribute
The BinarySigningTime attribute MAY be present. If it is present it
MUST be ignored by the relying party. The presence of absence of the
BinarySigningTime attribute in no way affects the validation of the
AAO (as specified in Section 3). The attrType OID for the
SigningTime attribute is 1.2.840.113549.1.9.16.2.46.
The attrValues for the SigningTime attribute is defined as:
Huston & Michaelson Expires April 2, 2009 [Page 9]
Internet-Draft AS Adjacency Profile September 2008
BinarySigningTime ::= BinaryTime
BinaryTime ::= INTEGER (0..MAX)
The BinaryTime element specifies the time, based on the local system
clock, at which the digital signature was applied to the content.
3.1.7.5. signatureAlgorithm
The signatureAlgorithm MUST be RSA (rsaEncryption), the OID for which
is 1.2.840.113549.1.1.1.
3.1.7.6. signature
The signature value is defined as:
SignatureValue ::= OCTET STRING
The signature characteristics are defined by the digest and signature
algorithms.
3.1.7.7. unsignedAttrs
unsignedAttrs MUST be omitted.
4. AAO Validation
Before a relying party can use an AAO, the relying party must first
use the RPKI to validate the AAO by performing the following steps.
1. Verify that the AAO syntax complies with this specification. In
particular, verify the following:
a. The contentType of the CMS object is SignedData (OID
1.2.840.113549.1.7.2).
b. The version of the SignedData object is 3.
c. The digestAlgorithm in the SignedData object is SHA-256 (OID
2.16.840.1.101.3.4.2.1).
d. The certificates field in the SignedData object is present
and contains an EE certificate whose Subject Key Identifier
(SKI) matches the sid field of the SignerInfo object.
Huston & Michaelson Expires April 2, 2009 [Page 10]
Internet-Draft AS Adjacency Profile September 2008
e. The crls field in the SignedData object is omitted.
f. The eContentType in the EncapsulatedContentInfo is id-ct-
ADAdjacencyAttest (OID 1.2.840.113549.1.9.16.1.32)
g. The version of the id-ct-ASAdjacencyAttest is 0.
h. The version of the SignerInfo is 3.
i. The digestAlgorithm in the SignerInfo object is SHA-256 (OID
2.16.840.1.101.3.4.2.1).
j. The signatureAlgorithm in the SignerInfo object is RSA (OID
1.2.840.113549.1.1.1).
k. The signedAttrs field in the SignerInfo object is present and
contains both the ContentType attribute (OID
1.2.840.113549.1.9.3) and the MessageDigest attribute (OID
1.2.840.113549.1.9.4).
l. The unsignedAttrs field in the SignerInfo object is omitted.
2. Use the public key in the EE certificate to verify the signature
on the AAO.
3. Verify that the EE certificate has an Autonomous System
Identifier Delegation Extension [RFC3779] and that the Autonomous
System Identifier in that extension exactly matches the
Autonomous System Identifier in the localASNum element of the
AAO.
4. Verify that the EE certificate is a valid end-entity certificate
in the RPKI by constructing a valid certificate path to a trust
anchor. (See [ID.ietf-sidr-res-certs] for more details.)
5. Security Considerations
There is no assumption of confidentiality for the data in a AAO; it
is anticipated that AAOs will be stored in repositories that are
accessible to all ISPs, and perhaps to all Internet users. There is
no explicit authentication associated with a AAO, since the RPKI that
is used for AAO validation provides authorization but not
authentication. Although the AAO is a signed, application layer
object, there is no intent to convey non-repudiation via a AAO.
The purpose of a AAO is to convey a unilateral statement of intent
that an AS has the intention to announce route objects via a routing
Huston & Michaelson Expires April 2, 2009 [Page 11]
Internet-Draft AS Adjacency Profile September 2008
adjacency with another AS and has the intention to listen for route
objects that are passed to it over a routing adjacency. This should
not be interpreted as an authority, nor is a relying party justified
in assuming that such an adjacency exists, nor that any valid routing
announcements that are passed across this routing adjacency.
A relying party may be able to place greater confidence in the
inferred existence of a routing adjacency in the case where both AS
holders mutually generate signed AAO objects that nominate each other
as an adjacent AS.
The AAO object does not convey any information relating to route
policies that may be applied to the adjacency by either party to a
route adjacency, nor what prefixes may be advertised across that
adjacency, nor any attributes that may be associated with such
advertisements.
6. IANA Considerations
[Note to IANA, to be removed prior to publication: there are no IANA
considerations stated in this version of the document.]
7. Acknowledgements
The authors would like to acknowledge the work of Matt Lepinski,
Stephen Kent and Derrick Kong, whose work on the Route Origin
Attestation Profile was used as the starting point for this document.
8. References
8.1. Normative References
[ID.ietf-sidr-arch]
Lepinski, M. and S. Kent, "An Infrastructure to Support
Secure Internet Routing", draft-ietf-sidr-arch (work in
progress), February 2008.
[ID.ietf-sidr-res-certs]
Huston, G., Michaleson, G., and R. Loomans, "A Profile for
X.509 PKIX Resource Certificates", Internet
Draft draft-ietf-sidr-res-certs, August 2008.
[RFC3779] Lynn, C., Kent, S., and K. Seo, "X.509 Extensions for IP
Addresses and AS Identifiers", RFC 3779, June 2004.
Huston & Michaelson Expires April 2, 2009 [Page 12]
Internet-Draft AS Adjacency Profile September 2008
[RFC3852] Housley, R., "Cryptographic Message Syntax (CMS)",
RFC 3852, July 2004.
[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.
8.2. Informative References
[RFC0791] Postel, J., "Internet Protocol", STD 5, RFC 791,
September 1981.
[RFC2050] Hubbard, K., Kosters, M., Conrad, D., Karrenberg, D., and
J. Postel, "INTERNET REGISTRY IP ALLOCATION GUIDELINES",
BCP 12, RFC 2050, November 1996.
[RFC4055] Schaad, J., Kaliski, B., and R. Housley, "Additional
Algorithms and Identifiers for RSA Cryptography for use in
the Internet X.509 Public Key Infrastructure Certificate
and Certificate Revocation List (CRL) Profile", RFC 4055,
June 2005.
[RFC4271] Rekhter, Y., Li, T., and S. Hares, "A Border Gateway
Protocol 4 (BGP-4)", RFC 4271, January 2006.
[RFC4291] Hinden, R. and S. Deering, "IP Version 6 Addressing
Architecture", RFC 4291, February 2006.
Authors' Addresses
Geoff Huston
Email: gih@apnic.net
URI: http://www.apnic.net
George Michaelson
Email: ggm@apnic.net
URI: http://www.apnic.net
Huston & Michaelson Expires April 2, 2009 [Page 13]
Internet-Draft AS Adjacency Profile September 2008
Full Copyright Statement
Copyright (C) The IETF Trust (2008).
This document is subject to the rights, licenses and restrictions
contained in BCP 78, and except as set forth therein, the authors
retain all their rights.
This document and the information contained herein are provided on an
"AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND
THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS
OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF
THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Intellectual Property
The IETF takes no position regarding the validity or scope of any
Intellectual Property Rights or other rights that might be claimed to
pertain to the implementation or use of the technology described in
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
made any independent effort to identify any such rights. Information
on the procedures with respect to rights in RFC documents can be
found in BCP 78 and BCP 79.
Copies of IPR disclosures made to the IETF Secretariat and any
assurances of licenses to be made available, or the result of an
attempt made to obtain a general license or permission for the use of
such proprietary rights by implementers or users of this
specification can be obtained from the IETF on-line IPR repository at
http://www.ietf.org/ipr.
The IETF invites any interested party to bring to its attention any
copyrights, patents or patent applications, or other proprietary
rights that may cover technology that may be required to implement
this standard. Please address the information to the IETF at
ietf-ipr@ietf.org.
Huston & Michaelson Expires April 2, 2009 [Page 14]
| PAFTECH AB 2003-2026 | 2026-04-23 05:57:16 |