Network Working Group C. Lonvick (Editor)
Internet-Draft Cisco Systems, Inc.
Doc: draft-lonvick-sobgp-radius-00.txt October 2002
RADIUS Attributes for soBGP Support
Status of this Memo
This document is an Internet-Draft and is subject to all provisions
of Section 10 of RFC2026.
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/1id-abstracts.html
The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html
Copyright Notice
Copyright (C) The Internet Society (2002). All Rights Reserved.
Abstract
A router participating in soBGP will need to validate received ACs.
The best way to do this is by having their associated ECs contained
on the router and using the information stored in them to perform
the necessary validation steps. Unfortunately, this would entail
the storage and consistent maitenence of ECs on all participating
routers in the AS. One way to centralize this would be for a device
to store all of the ECs and then have each of the participating
routers submit the pertinent information from each received AC to it
for the computationally intensive validation steps. This
centralized device could then transmit a pass/fail message back to
the router. This would reduce the amount of administration of the
EC database to one device - with appropriate backup. This document
defines a set of RADIUS attributes designed to support the provision
of the soBGP protocol. The participating routers are expected to
form and transmit a RADIUS Access-Request message with the
appropriate pieces of information from a received AC. This
Access-Request will go to the device that will store the ECs and
it will perform the steps necessary to validate the AC information.
It will then form and transmit an Access-Accept or Access-Reject
response to the router.
This draft goes along with other IDs submitted for Secure Origin
BGP (soBGP) both of which are edited by James Ng. [7, 8] Mostly this
work relates to "Extensions to BGP to Support Secure Origin BGP
(soBGP)" and is explained in additional detail in "Deployment
Considerations for Secure Origin BGP (soBGP)". The purpose of this
draft is to explain the concept of offloading the AC validation steps,
and the EC storage, from the router. RADIUS may not be the best way
to do this but it's the best that I know of at this moment. Once the
concepts of soBGP are discussed, the transport to support offload
should be reviewed and a proper mechanism should be chosen.
Lonvick, et.al. Internet-Draft [Page 1]
Internet-Draft RADIUS Attributes for soBGP Support October 2002
1. Specification of Requirements
In this document, the key words "MAY", "MUST, "MUST NOT", "optional",
"recommended", "SHOULD", and "SHOULD NOT", are to be interpreted as
described in [14].
2. Attributes
The Attributes are listed in this section. In all cases, each
RADIUS message may only include Attributes pertaining to a single AS.
There are useage notes later in this document which should answer any
questions outstanding from the Attribute section.
2.1. Stored-Policy
Description
This set of Attributes request any policy information stored on
the central server in an Access-Request message, and delivers the
policies through Access-Accept messages using the Prefix set of
of Attributes decribed below. Each Access-Accept message will
desribe a policy associated with a single AS. The router will
continue requesting more policies through additional Access-
Requests. When there are no additional policies stored on the
central server, or if there were no policies stored there to
begin with, then an Access-Reject message with an appropriate
attribute will be sent to the router.
2.1.1 Stored-Policy-Request
A summary of the Stored-Policy-Request Attribute format is shown
below. This format will only be used in the Access-Request message
The fields are transmitted from left to right.
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length | Value
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Value Continued |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Type
[SPR] for Stored-Policy-Request
Length
6
Count
The Value field is four octets. In an Access-Request message,
it contains the request number for the available policies
stored on the server. The first value will be 0x00000001. If
the server responds with a policy (described next), then the
router will send a request with a value of 0x00000002. This will
continue until the server has no more policies to send. At that
point, the server will respond with an Access-Reject message
described below.
This Attribute is also used in Access-Reponse messages. In that
case, the Value is the AS number of the Authorized Originator.
This is the autonomous system number of an entity authorized to
advertise the associated IPv4 and IPv6 prefixes.
2.1.2 Stored-Policy-End
A summary of the Stored-Policy-End Attribute format is shown below.
This format will only be used in the Access-Reject message. The
fields are transmitted from left to right.
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length | Count |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Time |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Type
[SPE] for Stored-Policy-End
Length
The length of the Attribute. 8 octets.
Count
The Count field is two octets and contains the number of policies
that have been transmitted to the router. The router should
verify that the value returned in this message is the same value
that was most recently transmitted in the associated request
message.
Time
The Time field is the number of seconds for which the downloaded
policies should be considered valid. The receiver is not
obligated to honor this timer. A value of 0 is not valid and MUST
NOT be used.
2.2 Prefixes
Multiple instances of each of the attributes defined below may be
included in a single RADIUS packet. In all cases, each RADIUS
message may only include these Attributes pertaining to a single AS.
2.2.1 IPv4-Prefix
A summary of the IPv4-Prefix Attribute format is shown below. The
fields are transmitted from left to right.
0 1 2
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length | IPv4 Prefix ...
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Type
[IP4] for IPv4-Prefix
Length
The entire length of this message in octets. >=3
IPv4 Prefix
The non-zero octets of the IPv4 Prefix. A special value of
0x00 is reserved when the Length is 0x03. When that value is
used in an Access-Accept message in response to a
Stored-Policy-Request message, this will denote that no IPv4
address bock announcements should be received from that
originating AS.
2.2.2 IPv6-Prefix
A summary of the IPv6-Prefix Attribute is shown below. The fields
are transmitted from left to right.
0 1 2
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length | IPv6 Prefix..
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Type
[IP6] for IPv6-Prefix
Length
The entire length of this message in octets. >=3
Authorized Originator
The autonomous system number of an entity authorized to
advertise the associated IPv6 prefixes.
Length
One octet representing the length of the IPv6 prefix.
IPv6 Prefix
The IPv6 Address Block represented as a prefix. A special value
of 0x00 is reserved when the Prefix Length is 0x01. This will
denote that no IPv6 address bock announcements should be received
from that AS.
2.3 AC Validation Request
Description
This Attribute validates an AC received by a router through
soBGP. This will first be requested in an Access-Request
message with the pertinent information. The central server will
respond with either an Access-Accept or an Access-Reject message
with specific information as described below.
2.3.1 AC-Header
A summary of the AC-Header Attribute format is given below. The
fields are transmitted left to right.
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length | Authorizing Autonomous System
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
..Continued | Options |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Authorized Originator |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Serial Number |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Type
[HDR] for AC-Header
Length
The entire length of this message in octets. 14
Authorizing Autonomous System
The autonomous system authorizing other entities to advertise
prefixes within this block.
Options
The Options associated with this AC.
Authorized Originator
The autonomous system number of an entity authorized to advertise
the associated IPv4 and IPv6 prefixes.
Serial Number
A two octet unsigned integer indicating the serial number of this
Authorization certificate.
2.3.2 Ac-URL
A summary of the AC-URL Attribute format is given below. The fields
are transmitted left to right.
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length | URL ...
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Type
[URL] for AC-URL
Length
The entire length of this message in octets.
URL
A uniform resource locator indicating a location where the public
key of the entity which signed this certificate can be found along
with any certificate revocation information.
2.3.3 Ac-Signature
A summary of the AC-URL Attribute format is given below. The fields
are transmitted left to right.
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length | Signature Type |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Signature ...
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Type
[Sig] for AC-Signature
Length
The entire length of this message in octets.
Signature Type
A two byte unsigned integer denoting the type of signature (the
algorithm used to build this signature). Each possible signing
algorithm is assigned an integer from this field.
Signature
A uniform resource locator indicating a location where the public
key of the entity which signed this certificate can be found along
with any certificate revocation information.
2.4 AC Validation Responses
The following Attributes will be sent in response to a group of AC
Validation Request Attributes. The AC-Accept Attribute will be sent
in an Access-Accept message while the AC-Reject Attribute will be
sent in an Access-Reject message.
2.4.1 AC-Accept
A summary of the AC-Accept Attribute format is shown below. This
format will only be used in the Access-Accept message. Thefields are
transmitted from left to right.
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length | Authorized Originator
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Continued.. | Time
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Continued.. |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Type
[ACA] for AC-Accept
Length
The length of the attribute. 10 octets.
Authorized Originator
The autonomous system number of an entity authorized to advertise
the associated IPv4 and IPv6 prefixes.
Time
The Time field is the number of seconds for which the downloaded
policies should be considered valid. The receiver is not
obligated to honor this timer. A value of 0 is not valid and MUST
NOT be used.
2.4.2 AC-Reject
A summary of the AC-Reject Attribute format is shown below. This
format will only be used in the Access-Reject message. The fields
are transmitted from left to right.
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length | Authorized Originator |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Continued.. | Reason Code
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Type
[ACR] for AC-Reject
Length
The length of the attribute. >=7 octets.
Authorized Originator
The autonomous system number of an entity authorized to advertise
the associated IPv4 and IPv6 prefixes.
Reason Code
The reason for the rejection. It may be a local policydecision on
the router to accept the information contained in the received AC
even if it is rejected by the central server. As an example of
that, if the URL is not found but the AC is validated otherwise,
the router may choose to accept the information in the AC but at a
lower trust level than if the signature is valid and the URL is
found and properly processed. The table below gives the Reason
Codes and their explanations.
Reason Code Explanation
0-filled Invalid Code - This value MUST NOT be used.
0b10000000 No EC found matching this Authorized Originator.
0b01000000 EC found for this Authorized Originator but the
Serial Number in the AC is out of range.
0b00100000 The Signature in the AC doesn't match the
calculated signature.
0b000100000 The EC found on the central server has expired.
0b000010000 The URL could not be found.
0b00000nnnn Reserved for future use.
0x00nn and beyond are also reserved for future use.
3. Table of Attributes
The following table provides a guide to which of the above attributes
may be found in which kinds of packets, and in what quantity.
Request Accept Reject Challenge Acct-Request # Attribute
0-1 0 0 0 0 SPR Stored-Policy-Request
0 0 0-1 0 0 SPE Stored-Policy-End
0+ 0+ 0 0 0 IP4 IPv4-Prefix
0+ 0+ 0 0 0 IP6 IPv6-Prefix
0-1 0 0 0 0 HDR AC-Header
0-1 0 0 0 0 URL
0-1 0 0 0 0 SIG AC-Signature
0-1 0 0 0 0 ACA AC-Accept
0 0 0-1 0 0 ACR AC-REject
The following table defines the meaning of the above table entries.
0 This attribute MUST NOT be present in packet.
0+ Zero or more instances of this attribute MAY be present in packet.
0-1 Zero or one instance of this attribute MAY be present in packet.
4. Useage Notes and Examples
5. Security Considerations
6. IANA Considerations
This document defines a number of "magic" numbers to be maintained by
the IANA. This section explains the criteria to be used by the IANA
to assign additional numbers in each of these lists.
7. References
[1] Rigney, C., Willens, S., Rubens, A. and W. Simpson, "Remote
Authentication Dial in User Service (RADIUS)", RFC 2865, June
2000.
[2] Bradner, S., "Key words for use in RFCs to Indicate Requirement
Levels", BCP 14, RFC 2119, March 1997.
[3] Reynolds, J. and J. Postel, "Assigned Numbers", STD 2, RFC 1700,
October 1994.
[4] Rigney, C., Willats, W. and P. Calhoun, "RADIUS Extensions", RFC
2869, June 2000.
[5] Narten, T. and H. Alvestrand, "Guidelines for writing an IANA
Considerations Section in RFCs", BCP 26, RFC 2434, October 1998.
[6] Hinden, R. and S. Deering, "IP Version 6 Addressing
Architecture", RFC 2373, July 1998.
[7] Ng, J. et. al., "Deployment Considerations for Secure Origin BGP
(soBGP)", Internet Draft, October 2002.
[8] Ng, J. et. al., "Extensions to BGP to Support Secure Origin BGP
(soBGP)", Internet Draft, October 2002.
Lonvick, et.al. Internet-Draft [Page 2]
Internet-Draft RADIUS Attributes for soBGP Support October 2002
8. Acknowledgements
9. Contributors
So far, James Ng, Russ White and Martin Djernaes have either
contributed or have provided feedback on these concepts.
10. Authors' Addresses
Questions about this memo can also be directed to:
Chris Lonvick
clonvick@cisco.com
Cisco Systems
12515 Research Blvd.
Austin, TX 78759
11. Full Copyright Statement
Copyright (C) The Internet Society (2002). All Rights Reserved.
This document and translations of it may be copied and furnished to
others, and derivative works that comment on or otherwise explain it
or assist in its implementation may be prepared, copied, published
and distributed, in whole or in part, without restriction of any
kind, provided that the above copyright notice and this paragraph are
included on all such copies and derivative works. However, this
document itself may not be modified in any way, such as by removing
the copyright notice or references to the Internet Society or other
Internet organizations, except as needed for the purpose of
developing Internet standards in which case the procedures for
copyrights defined in the Internet Standards process must be
followed, or as required to translate it into languages other than
English.
The limited permissions granted above are perpetual and will not be
revoked by the Internet Society or its successors or assigns.
This document and the information contained herein is provided on an
"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
TASK FORCE DISCLAIMS 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.
Acknowledgement
Funding for the RFC Editor function is currently provided by the
Internet Society.
Lonvick, et.al. Internet-Draft [Page 3]