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]