Internet DRAFT - draft-gersch-grow-revdns-bgp

draft-gersch-grow-revdns-bgp






Network Working Group                                          J. Gersch
Internet-Draft                                          Secure64 SW Corp
Intended status: Standards Track                               D. Massey
Expires: August 29, 2013                                 C. Olschanowsky
                                               Colorado State University
                                                                L. Zhang
                                                                    UCLA
                                                       February 25, 2013


        DNS Resource Records for Authorized Routing Information
                    draft-gersch-grow-revdns-bgp-02

Abstract

   This draft discusses the use of two DNS record types for storing BGP
   routing information in the reverse DNS.  The RLOCK record allows
   prefix owners to indicate whether the DNS is being used to publish
   routing data.  The SRO record allows operators to indicate whether an
   IPv4 or IPv6 prefix ought to appear in global routing tables and
   identifies authorized origin Autonomous System Number(s) for that
   prefix.  The resulting published data can be used in a variety of
   contexts from routing security to address ownership.

Status of this Memo

   This Internet-Draft is submitted in full conformance with the
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF).  Note that other groups may also distribute
   working documents as Internet-Drafts.  The list of current Internet-
   Drafts is at http://datatracker.ietf.org/drafts/current/.

   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."

   This Internet-Draft will expire on August 29, 2013.

Copyright Notice

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

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents



Gersch, et al.           Expires August 29, 2013                [Page 1]

Internet-Draft            DNS Resource Records             February 2013


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


Table of Contents

   1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  3
     1.1.  Overview . . . . . . . . . . . . . . . . . . . . . . . . .  3
     1.2.  Scope  . . . . . . . . . . . . . . . . . . . . . . . . . .  3
   2.  Conventions Used In This Document  . . . . . . . . . . . . . .  4
   3.  Overview of Route Publishing . . . . . . . . . . . . . . . . .  5
   4.  Overview of Route Verification . . . . . . . . . . . . . . . .  6
   5.  The RLOCK Resource Record  . . . . . . . . . . . . . . . . . .  8
     5.1.  RLOCK RDATA Wire Format  . . . . . . . . . . . . . . . . .  9
       5.1.1.  The Activation Time field  . . . . . . . . . . . . . .  9
     5.2.  RLOCK Presentation Format  . . . . . . . . . . . . . . . . 10
     5.3.  RLOCK RR Examples  . . . . . . . . . . . . . . . . . . . . 10
   6.  The SRO Resource Record  . . . . . . . . . . . . . . . . . . . 11
     6.1.  SRO RDATA Wire Format  . . . . . . . . . . . . . . . . . . 11
       6.1.1.  The Origin AS Number field . . . . . . . . . . . . . . 12
       6.1.2.  The Flags field  . . . . . . . . . . . . . . . . . . . 12
       6.1.3.  The Prefix Limit field . . . . . . . . . . . . . . . . 12
       6.1.4.  The Activation Time field  . . . . . . . . . . . . . . 12
     6.2.  SRO RRDATA Presentation Format . . . . . . . . . . . . . . 13
     6.3.  SRO RR Examples  . . . . . . . . . . . . . . . . . . . . . 14
   7.  Discussion and Related Work  . . . . . . . . . . . . . . . . . 15
     7.1.  Prior Work on CIDR names for Routing . . . . . . . . . . . 15
     7.2.  RPKI . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
   8.  Security Considerations  . . . . . . . . . . . . . . . . . . . 17
   9.  IANA Considerations  . . . . . . . . . . . . . . . . . . . . . 18
   10. Acknowledgments  . . . . . . . . . . . . . . . . . . . . . . . 19
   11. Change History . . . . . . . . . . . . . . . . . . . . . . . . 20
   12. References . . . . . . . . . . . . . . . . . . . . . . . . . . 21
     12.1. Normative References . . . . . . . . . . . . . . . . . . . 21
     12.2. Informative References . . . . . . . . . . . . . . . . . . 21
   Appendix A.  Discussion of Prefix Limits use in conjunction
                with DNS wildcards  . . . . . . . . . . . . . . . . . 23
   Appendix B.  Examples  . . . . . . . . . . . . . . . . . . . . . . 25
     B.1.  Example 1  . . . . . . . . . . . . . . . . . . . . . . . . 25
     B.2.  Example 2  . . . . . . . . . . . . . . . . . . . . . . . . 27
   Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 28





Gersch, et al.           Expires August 29, 2013                [Page 2]

Internet-Draft            DNS Resource Records             February 2013


1.  Introduction

1.1.  Overview

   This draft describes a method in which a prefix owner can exploit the
   existing reverse DNS tree structure, along with the authentication
   provided by DNSSEC [RFC4033], to publish information about whether a
   prefix can be announced and identify the origin Autonomous System(s)
   that may originate a route to that prefix.  This data is
   complementary to a variety of other data sources ranging from
   existing databases to new directions.

   Publishing route information in the Reverse DNS takes advantage of
   infrastructure that already exists and has been globally deployed.
   No new infrastructure deployment is required, in contrast with
   approaches that use purpose-built resource certification.

   Other key advantages to using the Reverse DNS are that it 1) has been
   in successful operation for many years, 2) has an existing
   operational model where prefix owners currently manage their IP
   address space (through various models from local operation to hosting
   companies), 3) has an existing operational model where both
   registries and providers delegate authority to entities receiving
   address space, 4) the resulting reverse DNS data can be authenticated
   using DNSSEC [RFC4033], and 5) the data can be easily checked using
   simple tools ranging from DNS query tools such as DIG to more
   elaborate systems.

   A prefix owner must OPT-IN to the approach.  Prefix owners who do not
   take any action are not impacted, but also do not gain any
   advantages.  Prefix owners that do choose to participate would
   thereby enable a number of tools to make use of the published data.
   The objective of this draft is to standardize the format for
   indicating participation and publishing data.  A variety of potential
   uses for the data are discussed later in the document, but are
   provided only to illustrate the usefulness of the data and should not
   be taken as a comprehensive list of all possible applications.

1.2.  Scope

   We limit the scope of this internet draft to associating an origin AS
   number with a prefix.  Armed with this information, one can address
   both origin hijacks and sub-prefix hijacks in a manner that can be
   deployed in a reasonable time frame.  Future expansion is readily
   made possible: the SRO record is kept simple for now, but is designed
   to reference additional future records that enable additional
   capabilities.




Gersch, et al.           Expires August 29, 2013                [Page 3]

Internet-Draft            DNS Resource Records             February 2013


2.  Conventions Used In This Document

   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 [RFC2119].














































Gersch, et al.           Expires August 29, 2013                [Page 4]

Internet-Draft            DNS Resource Records             February 2013


3.  Overview of Route Publishing

   This document defines two new DNS resource records types (RRTypes)
   and describes how these record types can be associated with prefixes.

   1.  The RLOCK RRType (Route Lock)

       *  Purpose: Indicates that the Reverse DNS zone has enabled BGP
          route publishing.

       *  The presence of the RLOCK Record at the apex of a Reverse DNS
          zone indicates that a prefix owner has OPTED-IN to BGP Route
          Publishing.  All route announcements that map to this zone
          will be denied as INVALID unless an SRO record exists that
          specifically authorizes the announcement.

   2.  The SRO RRType (Secure Route Origin)

       *  Purpose: Declare an authorized route origin ASN for comparison
          against BGP route announcements.

       *  Placed in the Reverse DNS at the domain name corresponding to
          the associated CIDR address block.

   Organizations that have been assigned and/or allocated CIDR address
   blocks also have Reverse-DNS delegations assigned to them from either
   the Regional Internet Registries (RIPE, ARIN, APNIC, etc.) or from a
   sub-delegation.

   Address-block owners may use these record types to declare
   authoritative data for route origins associated with that address
   block.  This data may be declared statically, with a long TTL (Time
   To Live) if the routing data changes infrequently.  Alternatively,
   dynamic DNS and short TTLs can be used to rapidly publish and
   disseminate the authoritative information on a world-wide basis in
   near real-time.

   The RLOCK and SRO records are to be stored in the reverse-DNS in
   zones with domain names that correspond to the associated CIDR
   address block.  These domain names are to be constructed per the
   naming specification described in [I-D.gersch-dnsop-revDNS-CIDR].

   The RLOCK and SRO records MUST be signed with DNSSEC and have a valid
   DNSSEC chain-of-trust.







Gersch, et al.           Expires August 29, 2013                [Page 5]

Internet-Draft            DNS Resource Records             February 2013


4.  Overview of Route Verification

   Various applications could be written to use BGP records published in
   the Reverse DNS.  One example is an application to perform near-real-
   time route origin verification that alerts operators of hijacks or
   directly interacts with a router to prevent the hijack.  Another
   application could perform a nightly analysis that generates router
   prefix filters.  A third application could cross-check data in the
   Internet Routing Registries (IRR) against the data in the reverse
   DNS.  This list is not intended to be comprehensive, but instead aims
   to illustrate the potential uses of the published data.

   These applications analyze BGP announcements by performing DNS
   queries to classify route route announcements into one of the
   following three categories:

   1.  "VALID": a DNSSEC-validated SRO RRSET was received and one of the
       route origins in the RRSET matches the origin contained in the
       BGP route announcement.

   2.  "INVALID": a route hijack was detected.

       A.  The DNSSEC-validated SRO responses received did NOT match the
           origin of the route announcement.  This is indicative of an
           origin hijack.

       B.  There was no SRO record at the domain name corresponding to
           this address block, but the authoritative zone did contain an
           RLOCK statement.  This is indicative of a sub-prefix hijacks.

   3.  "NOTFOUND": there was no SRO record for this prefix and no RLOCK
       record to protect the zone, or the data did not properly validate
       with DNSSEC.  In this case, the algorithm cannot authoritatively
       state that the prefix is valid or invalid, so it is simply marked
       as not found.  Most routes today are in this category, as it
       takes a specific action to OPT-IN to this methodology.

   This verification algorithm MUST "fail-safe".  If a query for a DNS
   record fails, or if DNSSEC fails to validate the record, the
   algorithm MUST behave as if no DNS records were present in the first
   place.  This results in marking a BGP announcement as "NOTFOUND".
   One could completely unplug a router verification application at any
   time and internet routing would continue to work just as it does
   today.  The default state is always "not found".

   Note that this implies the verification algorithm MUST use DNSSEC-
   enabled queries (set the DO bit) and MUST check for a validated
   response (the AD bit).  A successful DNSSEC-downgrade attack would



Gersch, et al.           Expires August 29, 2013                [Page 6]

Internet-Draft            DNS Resource Records             February 2013


   result in classifying records as "NOTFOUND".  However the redundancy
   in DNS would allow checking of multiple slave DNS servers should
   DNSSEC fail to validate.

   The core of the verification algorithm can be summarized as follows:

   1.  Given a BGP announcement from a router feed, offline database,
       prefix filter, or other source, perform a DNSSEC-validated query
       for the SRO records at the domain name corresponding to the CIDR
       prefix in the BGP announcement.

   2.  Case 1: If no records exist (NXDOMAIN or NOERROR with number of
       answers=0), use the AUTHORITY section of the answer to determine
       the covering zone.  Perform a query to that domain name (the zone
       apex) for an RLOCK record.  There are two possible responses to
       the RLOCK query:

       A.  NOERROR, answer=0: the RLOCK does not exist; the zone owner
           has not opted in.  Mark the announcement as "NOTFOUND".

       B.  RLOCK exists: the zone owner has OPTED-IN.  Mark the
           announcement as "INVALID" since no SRO record exists to vouch
           for the announcement.  This may be an example of a sub-prefix
           hijack.

   3.  Case 2: One or more SRO records were returned from the query.
       Loop through each SRO in the RRSET to compare the origin with the
       data in the route announcement.  If a record with a matching set
       of data is found, mark the announcement as "VALID".  If no match
       is found, mark the announcement as "INVALID".





















Gersch, et al.           Expires August 29, 2013                [Page 7]

Internet-Draft            DNS Resource Records             February 2013


5.  The RLOCK Resource Record

   The RLOCK resource record indicates "Route Lock".  This record is
   placed at the apex of a reverse-DNS zone to indicate that the zone is
   being used to publish routing information.  If this record is
   present, all route announcements for the CIDR address block covered
   by this zone MUST be marked as "INVALID" unless they are specifically
   authorized by a SRO record.

   The main purpose of the RLOCK statement is to indicate participation
   (OPT-IN) and as a side-effect prevent sub-prefix route hijacks.
   Applications that query for an SRO record may get an NXDOMAIN or
   NOERROR with 0 answers.  In this case, the application queries the
   domain name specified in the AUTHORITY section for an RLOCK record
   (this will be at the zone apex).  If the RLOCK is present, the route
   announcement MUST be marked as "INVALID".  Otherwise there is no SRO
   and no RLOCK, so the route announcement MUST be marked as "NOTFOUND".

   The effective span of control for an RLOCK is dependent on the
   structure of the Reverse DNS zone.  To be more specific, a Reverse
   DNS zone that has no delegations will have a span of control that
   covers all prefixes at or below the CIDR prefix specified by the
   domain name at the zone apex.  Any zone delegation (also known as a
   "cut point") starts a new zone authority.  Those prefixes in the
   delegated zone will not be covered by the parent zone's RLOCK.  As an
   example, consider the zone at 129.82.0.0/16 and assume that it has
   only one delegation at 129.82.138.0/24.  The /16 RLOCK covers all
   prefixes within the /16 to /32 range with the exception of prefixes
   within the 129.82.138.0/24 through /32 range.  The child zone would
   need to have its own RLOCK.

   The RLOCK record MUST be signed with DNSSEC and have an associated
   RRSIG record.  If a resolving DNS server cannot validate the DNSSEC
   signature, the SRO record should be ignored as if it were not even
   present in the zone.

   The Type value for the RLOCK RR type is currently unassigned.  We are
   temporarily using private RRTYPE TYPE65400 until a formal number is
   assigned by IANA.

   The RLOCK RR is class independent.

   The RLOCK RR has no special TTL requirements.

   Example use of RLOCK records, taken directly from the current
   testbed, are included in the appendix.





Gersch, et al.           Expires August 29, 2013                [Page 8]

Internet-Draft            DNS Resource Records             February 2013


5.1.  RLOCK RDATA Wire Format

   The SRO RDATA wire format consists of one optional field, a 4 octet
   Activation Time field.  If the Activation Time field is not present,
   the RDATA length is 0 octets.  If the Activation Time field is
   present, the RDATA Length is 4 octets.

                           1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 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
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                    Activation Time                            |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+


5.1.1.  The Activation Time field

   The optional Activation Time field specifies a starting date and time
   from which the RLOCK record is considered to be active and may be
   used for route origin validation.  The RLOCK record MUST NOT be used
   for validation prior to this activation time.

   The Activation Time field value specifies a date and time in the form
   of a 32-bit unsigned number of seconds elapsed since 1 January 1970
   00:00:00 UTC, ignoring leap seconds, in network byte order.  The
   longest interval that can be expressed by this format without
   wrapping is approximately 136 years.

   If the Activation Time field is not present, or if it contains a
   value of 0, immediate activation for the RLOCK record is in effect.

   The purpose of the Activation Time field is to permit publication of
   RLOCK records in the reverse DNS prior to its use in formal route
   validation.  This enables two key capabilities: first,it allows for
   the testing of RLOCK records in a safe manner by informing an
   application to "don't validate, but tell me what you would have
   done".  Second, it allows an ISP to publish an RLOCK and SRO record
   that defines a large covering prefix to give advance warning to that
   ISP's customers.  Customers that have their own AS number and a
   delegated address block within the ISP's larger block may want to
   publish their own SRO record if they share a zone with the ISP, or
   they will risk having their announcements being marked INVALID
   because the ISP has claimed a larger covering prefix.  Alternatively,
   the customer may be independent from the ISP's zone and manage their
   own reverse-DNS zone that has been delegated to them.  In this case
   they may choose to publish an SRO record or to do nothing.  The cut
   point of the zone delegation stops the ISP's covering prefix from
   extending into the new zone.




Gersch, et al.           Expires August 29, 2013                [Page 9]

Internet-Draft            DNS Resource Records             February 2013


5.2.  RLOCK Presentation Format

   The presentation format of the RDATA portion is as follows:

      [ ACTIVATION_TIME ]

   where the ACTIVATION TIME is an optional field.

   The optional Activation Time field value, if present, MUST be
   represented either as an unsigned decimal integer indicating seconds
   since 1 January 1970 00:00:00 UTC, or in the form YYYYMMDDHHmmSS in
   UTC, where:

         YYYY is the year (0001-9999);
         MM is the month number (01-12);
         DD is the day of the month (01-31);
         HH is the hour, in 24 hour notation (00-23);
         mm is the minute (00-59); and
         SS is the second (00-59).

   Note that it is always possible to distinguish between these two
   formats because the YYYYMMDDHHmmSS format will always be exactly 14
   digits, while the decimal representation of a 32-bit unsigned integer
   can never be longer than 10 digits.

5.3.  RLOCK RR Examples

   The following examples shows an RLOCK resource record that enables
   routing security for the zone covering 129.82.0.0/16.  The first
   example specifies immediate activation.  The second specifies
   activation starting on July 4, 2013 at 9:30 UTC.

     82.129.in-addr.arpa.  86400  IN    RLOCK

     120.15.in-addr.arpa.  86400  IN    RLOCK  20130704093000
















Gersch, et al.           Expires August 29, 2013               [Page 10]

Internet-Draft            DNS Resource Records             February 2013


6.  The SRO Resource Record

   Zones that participate in this approach to BGP route security use
   "Secure Route Origin" (SRO) resource records to identify authorized
   origin Autonomous System Number(s) for a prefix.

   The SRO record contains one mandatory field, the ORIGIN ASN field.
   The SRO record MAY contain also contain one to three optional fields
   in the following order: a FLAGS field, a PREFIX LIMIT field, and an
   ACTIVATION TIME field.  These fields MUST be appended to the RDATA in
   that specific order.

   The SRO record MUST be signed with DNSSEC [RFC4033] and have an
   associated RRSIG record.  If a resolving DNS server cannot validate
   the DNSSEC signature, the SRO record should be ignored and an attempt
   should be made to query an alternate DNS server.  If all servers
   fail, the route prefix should be classified as "NOTFOUND".

   The Type value for the SRO RR type is currently unassigned.  We are
   temporarily using TYPE65401 until a formal number is assigned by
   IANA.

   The SRO RR is class independent.

   The SRO RR has no special TTL requirements.

6.1.  SRO RDATA Wire Format

   The SRO RDATA wire format consists of four fields: a 4 octet ORIGIN
   AS NUMBER field, a 1 octet FLAGS field, a 1 octet PREFIX LIMIT field,
   and a 4 octet SRO ACTIVATION TIME field.  The RDATA Length is a
   constant 10 octets.  Missing fields in the presentation format are
   filled with 0's in the wire data format.

                           1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 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
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                       ORIGIN AS Number                        |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |     flags     | prefix limit  |      Activation Time          /
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      /  Activation Time, continued   |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+








Gersch, et al.           Expires August 29, 2013               [Page 11]

Internet-Draft            DNS Resource Records             February 2013


6.1.1.  The Origin AS Number field

   The Origin AS Number field is used to specify an AS Number that is
   authorized to originate a route announcement for the CIDR address
   block corresponding to the SRO record's reverse DNS domain name.  If
   a CIDR address block can be announced from multiple AS numbers, then
   multiple SRO records should be defined at the domain name
   corresponding to that CIDR address block.

   The Origin AS Number field accommodates both 2 octet and 4 octet AS
   Numbers. 2 octet AS numbers MUST be encoded with leading zeroes to
   construct a complete 4 octet field.

6.1.2.  The Flags field

   The Flags field is reserved for future expansion; currently there are
   no flags defined and the Flags field, if present, MUST be set to 0.
   In the future various bits of the field will be used to define
   extensions and additional records related to the SRO record.

6.1.3.  The Prefix Limit field

   The Prefix Limit field specifies the maximum length of a prefix that
   the SRO statement is authorizing.  If the field contains a value of 0
   then the origin AS is only authorized for the exact prefix
   corresponding to that domain name.

   Any other integer value from 1 to 32 for IPv4 and 1 to 128 for IPv6
   specifies the length of the most specific IP prefix that the SRO is
   authorizing.  For example, if an IP address prefix is 10.0/16 and the
   prefix limit is 22, the AS is authorized to advertise any prefix
   under 10.0/16, as long as it is no more specific than /22.  In this
   example, the AS would be authorized to advertise 10.0/16, 10.0.128/20
   or 10.0.255/22, but not 10.0.255.0/24.  An SRO statement must be
   present at each domain name corresponding to these prefixes (see
   Appendix A for a discussion on how to create multiple SRO records
   using wildcard DNS names).  The Prefix Limit field is used to inform
   a route validation algorithm that if an SRO response is returned for
   a domain name past the prefix limit, the SRO statement MUST be
   ignored as if it were not present.

6.1.4.  The Activation Time field

   The Activation Time field specifies a starting date and time from
   which the RLOCK record is considered to be active and may be used for
   route origin validation.  The RLOCK record MUST NOT be used for
   validation prior to this activation time.




Gersch, et al.           Expires August 29, 2013               [Page 12]

Internet-Draft            DNS Resource Records             February 2013


   The Activation Time field value specifies a date and time in the form
   of a 32-bit unsigned number of seconds elapsed since 1 January 1970
   00:00:00 UTC, ignoring leap seconds, in network byte order.  The
   longest interval that can be expressed by this format without
   wrapping is approximately 136 years.

   If the Activation Time field contains a value of 0, immediate
   activation for the RLOCK record is in effect.

   The purpose of the Activation Time field is to permit publication of
   SRO records in the reverse DNS prior to its use in formal route
   validation.  This enables two key capabilities: first,it allows for
   the testing of RLOCK records in a safe manner by informing an
   application to "don't validate, but tell me what you would have
   done".  Second, it allows an ISP to publish an RLOCK and SRO record
   that defines a large covering prefix to give advance warning to that
   ISP's customers.  Customers that have their own AS number and a
   delegated address block within the ISP's larger block may want to
   publish their own SRO record if they share a zone with the ISP, or
   they will risk having their announcements being marked INVALID
   because the ISP has claimed a larger covering prefix.  Alternatively,
   the customer may be independent from the ISP's zone and manage their
   own reverse-DNS zone that has been delegated to them.  In this case
   they may choose to publish an SRO record or to do nothing.  The cut
   point of the zone delegation stops the ISP's covering prefix from
   extending into the new zone.

6.2.  SRO RRDATA Presentation Format

   The presentation format of the RDATA portion is as follows:

      ORIGIN_ASN [ FLAGS [ PREFIX_LIMIT [ [ ACTIVATION_TIME ] ] ]

   where ORIGIN_ASN is the mandatory Origin AS Number field, and the
   remaining fields are optional.  If not present, the wire data format
   will be filled with zeroes.

   The Flags field is represented by an unsigned integer.  The current
   accepted value MUST be 0.

   The Prefix Limit field is represented by an unsigned integer in the
   range 0 to 128.

   The ORIGIN AS NUMBER field is represented in asdot notation which is
   a combination of asplain and asdot+ notation.  That is, any ASN in
   the 2-octet range is represented in asplain (simple decimal
   representation of the ASN).  Any ASN above the 2-octet range is
   represented in asdot+ notation which breaks an ASN into two 16-bit



Gersch, et al.           Expires August 29, 2013               [Page 13]

Internet-Draft            DNS Resource Records             February 2013


   values separated by a dot.  For example, AS65535 will be represented
   by the decimal number "65535" while AS65536 will be represented as
   "1.0".

   The Activation Time field values MUST be represented either as an
   unsigned decimal integer indicating seconds since 1 January 1970 00:
   00:00 UTC, or in the form YYYYMMDDHHmmSS in UTC, where:

         YYYY is the year (0001-9999);
         MM is the month number (01-12);
         DD is the day of the month (01-31);
         HH is the hour, in 24 hour notation (00-23);
         mm is the minute (00-59); and
         SS is the second (00-59).

   Note that it is always possible to distinguish between these two
   formats because the YYYYMMDDHHmmSS format will always be exactly 14
   digits, while the decimal representation of a 32-bit unsigned integer
   can never be longer than 10 digits.

6.3.  SRO RR Examples

   The following example shows an SRO RR authorizing AS12145 as the
   origin for CIDR address block 129.82.0.0/16 and only for that prefix.
   Its activation time is immediate.

        m.82.129.in-addr.arpa.  86400  IN  SRO 12145

   The second example shows the use of a prefix limit field to authorize
   AS 12145 to cover the range from 129.82/16 through and including
   announcements to the /24 limit.  Its activation is set to June 1,
   2013 at 00:00 UTC.

        m.82.129.in-addr.arpa.  86400  IN  SRO 12145 0 24 20130601000000

   The third example shows two separate origins to be authorized for a
   prefix.  This example also illustrates the use of the asdot notation.
   Two different prefix limits are used.  Activation is immediate for
   the first SRO; the second is to be used after July 15, 2013 at noon
   UTC.

        m.82.129.in-addr.arpa.  86400  IN  SRO 12145 0 24
                                86400  IN  SRO 3.421 0 18 20130715120000








Gersch, et al.           Expires August 29, 2013               [Page 14]

Internet-Draft            DNS Resource Records             February 2013


7.  Discussion and Related Work

   This work is not the first to propose entering routing data in the
   Reverse DNS and there are also many other proposed approaches for
   publishing routing data.  We first review some of the past work and
   then discusses the differences presented in this approach.

7.1.  Prior Work on CIDR names for Routing

   Over a decade ago, [I-D.bates-bgp4-nlri-orig-verif] proposed to use
   the reverse DNS to verify the origin AS associated with a prefix.
   This requires both a naming convention for converting the name into a
   prefix and additional resource record types for storing origin
   information, along with recommendations on their use.  More recently
   [I-D.donnerhacke-sidr-bgp-verification-dnssec] including links to IRR
   data and also includes the notion of policy in adjacency, but this
   approach also introduces a new reverse DNS tree under "BGP.ARPA."
   CNAME and DNAME records must be used in publishing the data.

   Our approach differs in several respects.  We rely on the existing
   reverse DNS tree without creating a new hierarchy such as
   "BGP.ARPA.".  We exploit the naming convention in
   [I-D.gersch-dnsop-revDNS-CIDR] so one does not need to introduce
   CNAME or DNAME records (though an operator could choose to do so if
   so desired).  We assume optional participation and introduce the
   concept of an RLOCK resource record to indicate participation.  We
   currently limit our approach to detecting false sub-prefix and false
   origin route announcements.  Extensions to include links to other
   databases such as IRR can be achieved in combination with or in lieu
   of an SRO record and further path validation can be included, but the
   scope of this document is intentionally limited, both for clarity and
   to match actual implementation.  Finally, we separate the publishing
   technique which is specified in this document from the variety of
   ways in which one may make use of the data, recognizing that
   different operators will make different choices on how to make use of
   the data.

7.2.  RPKI

   A great deal of work has been done in the sidr working group on
   Resource Public Key Infrastructure
   [RFC6480][RFC6481][RFC6482][RFC6483].

   RPKI, also known as Resource Certification, is a specialized public
   key infrastructure (PKI) framework designed to secure Border Gateway
   Protocol (BGP).  RPKI provides a way to connect Internet number
   resource information (such as Autonomous System numbers and IP
   Addresses) to a trust anchor.  The certificate structure mirrors the



Gersch, et al.           Expires August 29, 2013               [Page 15]

Internet-Draft            DNS Resource Records             February 2013


   way in which Internet number resources are distributed.  That is,
   resources are initially distributed by the IANA to the Regional
   Internet Registries (RIRs), who in turn distribute them to Local
   Internet Registries (LIRs), who then distribute the resources to
   their customers.  RPKI can be used by the legitimate holders of the
   resources to control the operation of Internet routing protocols to
   prevent route hijacking and other attacks. [cited from Wikipedia].

   The publication of BGP route origin information in the reverse-DNS is
   a complementary technique to RPKI.  While there is some overlap in
   the techniques, there are also different goals for the reverse-DNS.

   The Reverse-DNS publication method uses DNSSEC as its base trust
   model, not a chain of certificates.  If an organization has a DNSSEC-
   signed delegation for a reverse-DNS address block, that organization
   is the legitimate owner and may place SRO and RLOCK statements in
   their zone without the interaction of any other organization.  If an
   address block is sold or transferred, either the RIR (Regional
   Internet Registry) will change its signed delegation records to
   reflect the change, or the organization itself may independently
   implement a signed sub-delegation.






























Gersch, et al.           Expires August 29, 2013               [Page 16]

Internet-Draft            DNS Resource Records             February 2013


8.  Security Considerations

   Applications that query the DNS for SRO and RLOCK records MUST
   request them from DNSSEC-enabled servers and have the DO bit set.
   Responses that are returned MUST be checked to verify that the D bit
   is set indicating that the responses have been validated.  Otherwise
   the response should be ignored.

   The absence of DNSSEC or the inability to contact any nameservers
   MUST indicate the route is viable (NOTFOUND).









































Gersch, et al.           Expires August 29, 2013               [Page 17]

Internet-Draft            DNS Resource Records             February 2013


9.  IANA Considerations

   RRType numbers need to be assigned for the SRO and RLOCK records.
   The current testbed temporarily substitutes TYPE65400 for the RLOCK
   record and TYPE65401 for the SRO record.














































Gersch, et al.           Expires August 29, 2013               [Page 18]

Internet-Draft            DNS Resource Records             February 2013


10.  Acknowledgments

   We would like to thank Danny McPherson for his comments and
   suggestions.  In addition, this document was aided via numerous
   discussions at NANOG, IETF and private meetings with ISPs, telecomm
   carriers, and research organizations too numerous to mention by name.
   Thanks to all for your comments and advice.












































Gersch, et al.           Expires August 29, 2013               [Page 19]

Internet-Draft            DNS Resource Records             February 2013


11.  Change History

   Changes from version 01 to 02

      Removed the last_hop field from the SRO record

      Changed the structure of the RLOCK to accommodate an activation
      date.

      Changed the structure of the SRO record to accommodate activation
      date, prefix limit and flag fields.  These changes were suggested
      from a year's practical experience in running a reverse-DNS
      testbed.

      Added appendix A discussing the use of DNS wildcards with SRO
      prefix limits.

      Modified the examples in Appendix B to reflect changes to the SRO
      and RLOCK records.

   Changes from version 00 to 01

      Removed all discussion of an "alternate naming scheme".  A related
      draft on prefix naming had proposed both a standard naming scheme
      and an alternate naming scheme, but the alternate naming scheme
      was removed.  Since the alternate naming scheme no longer exists,
      it was no longer necessary to discuss how this draft would deal
      with the alternate alternate naming scheme.

      An optional transit provider field was added the SRO record.

      Examples were updated based on the SRO change and operational
      experience.

      Added Cathie Olschanowsky as a co-author
















Gersch, et al.           Expires August 29, 2013               [Page 20]

Internet-Draft            DNS Resource Records             February 2013


12.  References

12.1.  Normative References

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

12.2.  Informative References

   [I-D.bates-bgp4-nlri-orig-verif]
              Bates, T., Bush, R., Li, T., and Y. Rekhter, "DNS-based
              NLRI origin AS verification in BGP",
              draft-bates-bgp4-nlri-orig-verif-00 (work in progress),
              January 1998.

   [I-D.donnerhacke-sidr-bgp-verification-dnssec]
              Donnerhacke, L. and W. Wijngaards, "DNSSEC protected
              routing announcements for BGP",
              draft-donnerhacke-sidr-bgp-verification-dnssec-04 (work in
              progress), May 2008.

   [I-D.gersch-dnsop-revDNS-CIDR]
              Gersch, J. and D. Massey, "Reverse DNS Naming Convention
              for CIDR Address Blocks",
              draft-gersch-dnsop-revDNS-CIDR-04 (work in progress),
              May 2012.

   [RFC1876]  Davis, C., Vixie, P., Goodwin, T., and I. Dickinson, "A
              Means for Expressing Location Information in the Domain
              Name System", RFC 1876, January 1996.

   [RFC4033]  Arends, R., Austein, R., Larson, M., Massey, D., and S.
              Rose, "DNS Security Introduction and Requirements",
              RFC 4033, March 2005.

   [RFC6480]  Lepinski, M. and S. Kent, "An Infrastructure to Support
              Secure Internet Routing", RFC 6480, February 2012.

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

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

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



Gersch, et al.           Expires August 29, 2013               [Page 21]

Internet-Draft            DNS Resource Records             February 2013


              (ROAs)", RFC 6483, February 2012.


















































Gersch, et al.           Expires August 29, 2013               [Page 22]

Internet-Draft            DNS Resource Records             February 2013


Appendix A.  Discussion of Prefix Limits use in conjunction with DNS
             wildcards

   The combination of RLOCK and SRO records may be used to detect and/or
   prevent sub-prefix hijacks.  For example, the zone file shown in
   appendix B has one SRO record for the /16 and four SRO records for
   the /18's.  If a BGP announcement is made at any other prefix, say a
   /19, no SRO record will be found.  In this case the verification
   algorithm must query for the RLOCK record.  If present, a sub-prefix
   hijack is indicated.

   This behavior is desirable in most situations.  On the other hand,
   some organizations may want the ability to advertise an announcement
   at any arbitrary sub-prefix (e.g. traffic control).  The semantics of
   the SRO statement dictates that if an organization intends to
   advertise any prefix, an SRO statement must be present to authorize
   it.  This can be done by statically creating multiple SRO statements
   in a zone for each prefix that could be announced, or by using
   dynamic DNS to add and remove SRO statements on demand.

   There are two ways to create a range of SRO statements within a zone
   file.  The first method is to simply create all of the individual SRO
   statements required and put them in the zone.  To cover the full
   octet from /16 to /23, for example, the administrator would need one
   SRO for the /16, two for the /17's, four for the /18's, eight for the
   /19's, and so on.  This would be a total of 255 SRO records.  One can
   see that this becomes impractical for IPv6 address ranges; the number
   of SRO records to authorize a /32 through /64 is enormous.

   To manage this situation, administrators may use the Prefix Limit
   field in combination with a DNS wildcard domain name.  Assume that
   the administrator of address block 2002:1488::/32 wants to pre-
   authorize any announcement from the /32 up to and including /64.
   Assume also that the zone apex is at the /32.  In this case a single
   SRO record in the zone will suffice:

      *.8.8.4.1.2.0.0.2.ip6.arpa.  IN SRO 12345 0 64 0

   A query for an SRO record for any prefix, (e.g. /32, or /36 or /48 or
   even a /96) covered by this zone (i.e., up to any zone cut) will
   return this SRO record and the announcement can be verified.  The
   prefix limit tells the verification algorithm when to stop using the
   SRO statement.  If an announcement is made for a /96, for example,
   the SRO record will be returned.  Since the prefix limit is 64, the
   validation algorithm MUST ignore this SRO record as if it did not
   exist, and perform a query for the RLOCK record.  Furthermore, any
   zone cut also stops the extent of the SRO statement.  Any new zone
   declared below the /32 can declare (or not declare) its own SRO and



Gersch, et al.           Expires August 29, 2013               [Page 23]

Internet-Draft            DNS Resource Records             February 2013


   RLOCK statements.

   This method allows the creation of zone files for a sparsely
   populated IPv6 delegation.  Individual zones can be created that
   manage their own sub-prefixes, and the top level zone can handle all
   the covering prefixes.













































Gersch, et al.           Expires August 29, 2013               [Page 24]

Internet-Draft            DNS Resource Records             February 2013


Appendix B.  Examples

B.1.  Example 1

   This example shows data entered for the prefix 129.82.0.0/16.  The
   prefix owner has authorized the announcement of 129.82.0.0/16 and the
   four /18's at 129.82.0.0/18, 129.82.64.0/18, 129.82.128.0/18, and
   129.82.192.0/18.  All the prefixes originate from AS12145.

   Note: this data is directly cut and paste from actual deployment.
   TYPE 65400 is being used for RLOCK and TYPE 65401 for SRO records.
   This draft requests IANA to assign numbers for RLOCK and SRO, the
   values here are purely for illustrative purposes.






































Gersch, et al.           Expires August 29, 2013               [Page 25]

Internet-Draft            DNS Resource Records             February 2013


     $TTL 3600
     $ORIGIN 82.129.in-addr.arpa.

     @    IN    SOA     rush.colostate.edu.  dnsadmin.colostate.edu. (
                             2012082800      ; serial number
                             900             ; refresh, 15 minutes
                             600             ; update retry, 10 minutes
                             86400           ; expiry, 1 day
                             3600            ; minimum, 1 hour
                            )

          IN    NS      dns1.colostate.edu.
          IN    NS      dns2.colostate.edu.

     @                  IN   TYPE65400 \#0
     ;                  RLOCK
     ;                           OPT-IN; deny all route announcements
     ;                           except those authorized
     ;                           effective date = immediate

     m                  IN   TYPE65401 \# 10 00002f71000000000000
     ; 129.82.0.0/16         SRO  12145

     0.0.m              IN   TYPE65401 \# 10 00002f71000000000000
     ; 129.82.0.0/18         SRO 12145

     1.0.m              IN   TYPE65401 \# 10 00002f71000000000000
     ; 129.82.64.0/18        SRO 12145

     0.1.m              IN   TYPE65401 \# 10 00002f71000000000000
     ; 129.82.128.0/18       SRO 12145

     1.1.m              IN   TYPE65401 \# 10 00002f71000000000000
     ; 129.82.192.0/18       SRO 12145

     ;  delegations required for 256 /24 zones which contain PTR records

     1   IN  NS  dns1.colostate.edu.
         IN  NS  dns2.colostate.edu.
     2   IN  NS  dns1.colostate.edu.
         IN  NS  dns2.colostate.edu.

     ;  continuation to 255 is left out for the sake of brevity








Gersch, et al.           Expires August 29, 2013               [Page 26]

Internet-Draft            DNS Resource Records             February 2013


B.2.  Example 2

   This example shows data entered for the prefix 216.17.128.0/17.  The
   prefix owner has authorized the announcement of 216.17.128.0/17.  The
   prefix originates from AS6582.

           1.m.17.216.in-addr.arpa  NS   ns.frii.net

   This delegation refers to the new /17 zone and the domain name is not
   in conflict with any of the pre-existing /24 zones at IN-ADDR.ARPA.
   This delegation is to be placed at the IN-ADDR.ARPA zone.

      $TTL 3600
      $ORIGIN 1.m.17.216.in-addr.arpa.

      @    IN   SOA     ns1.frii.net.  hostmaster.frii.net. (
                              2012021300      ; serial number
                              14400           ; refresh, 4 hours
                              3600            ; update retry, 1 hour
                              604800          ; expiry, 7 days
                              600             ; minimum, 10 minutes
                             )

           IN   NS      ns1.frii.net.
           IN   NS      ns2.frii.net.

      $ORIGIN 17.216.in-addr.arpa.

      1.m               IN   TYPE65400 \# 0
      ;                      RLOCK
      ;                           OPT-IN; deny all route announcements
      ;                           except those authorized
      ;                           activation date = immediate

      1.m               IN   TYPE65401 \# 10 000019b6000000000000
      ; 216.17.128.0/17      SRO 6582

      ; no other delegations or PTR records are needed in this zone file
      ; since the /24 delegations are at ARIN at xxx.17.216.IN-ADDR.ARPA












Gersch, et al.           Expires August 29, 2013               [Page 27]

Internet-Draft            DNS Resource Records             February 2013


Authors' Addresses

   Joe Gersch
   Secure64 SW Corp
   Fort Collins, CO
   US

   Email: joe.gersch@secure64.com


   Dan Massey
   Colorado State University
   Fort Collins, CO
   US

   Email: massey@cs.colostate.edu


   Cathie Olschanowsky
   Colorado State University
   Fort Collins, CO
   US

   Email: cathie@cs.colostate.edu


   Lixia Zhang
   UCLA
   Los Angeles, CA
   US

   Email: lixia@cs.ucla.edu



















Gersch, et al.           Expires August 29, 2013               [Page 28]