Internet DRAFT - draft-bellovin-ipv6-accessprefix

draft-bellovin-ipv6-accessprefix









Network Working Group                                 Steven M. Bellovin
Internet Draft                                        AT&T Labs Research

Expiration Date: August 2003                               February 2003


       Access Control Prefix Router Advertisement Option for IPv6

                draft-bellovin-ipv6-accessprefix-01.txt


Status of this Memo

   This document is an Internet-Draft and is in full conformance with
   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/ietf/1id-abstracts.txt

   The list of Internet-Draft Shadow Directories can be accessed at
   http://www.ietf.org/shadow.html.


Abstract

   Some very low-end devices are expected to rely on address-based
   authentication, even though that is not a high-security mechanism.
   In particular, they may wish to permit access by "local" peers only,
   for some value of "local".  This memo proposes a new Router
   Advertisement option to supply a list of privileged prefixes.











Bellovin                                                        [Page 1]

Internet Draft   draft-bellovin-ipv6-accessprefix-01.txt   February 2003


1. Introduction

   Some very low-end devices may rely on address-based authentication,
   even though that is not a high-security mechanism [Bell89].  In
   particular, they may wish to permit access by "local" peers only, for
   some value of "local".

   This desire was one of the rationales for site-local addresses
   [RFC2373].  But site-local addresses have a number of disadvantages.
   Though most are out of scope for this document, one is important: not
   only is "site" ill-defined, its instantiation in any given
   installation may not match the desired security property.  For
   example, a university dormitory may wish to restrict access to its
   printers to residents, but the "site" may include the entire campus.

   Explicitly-configured filters could accomplish the same thing, of
   course.  But printers can be painful to configure via a limited menu
   interface; lower-end devices, such as Internet-connected light
   switches and toasters, are even harder to administer.  An easy-to-
   administer autoconfigure mechanism is essential.

   The solution is to have routers announce the proper access control
   prefix via an option in the Router Advertisement message [RFC2461].
   Devices that care can interpret and obey this option.


1.1. Terminology

   The keywords MUST, MUST NOT, REQUIRED, SHALL, SHALL NOT, SHOULD,
   SHOULD NOT, RECOMMENDED, MAY, and OPTIONAL, when they appear in this
   document, are to be interpreted as described in [RFC2119].


2. Prefix Option


2.1. Syntax

   The access control prefix option follows the format given in Section
   4.6 of [RFC2461].











Bellovin                                                        [Page 2]

Internet Draft   draft-bellovin-ipv6-accessprefix-01.txt   February 2003


       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     |   Prefix ID   | Prefix Length |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                         Valid Lifetime                        |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                                                               |
      +                                                               +
      |                                                               |
      +                            Prefix                             +
      |                                                               |
      +                                                               +
      |                                                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+


    Type          [To be assigned]

    Length        3

    Prefix ID     The ID value for this prefix entry.  A subsequent
                  access control prefix option with the same ID replaces
                  the older entry.

    Prefix Length 8-bit unsigned integer.  The number of leading bits in
                  the Prefix that are valid.  The value ranges from 0 to
                  128.  Options with a prefix length greater than 128
                  MUST be ignored.  A prefix length of 0 is a null
                  entry, and is used to delete a prefix from the access
                  control table.

    Lifetime      32-bit unsigned integer, giving the valid lifetime of
                  this prefix, in seconds.  At the end of the validity
                  interval, all access rights granted by this prefix
                  MUST be deleted.  A value of 0 indicates unlimited
                  lifetime; this is NOT RECOMMENDED, because of the
                  expense of subsequent revocation.

    Prefix        An IP address or a prefix of an IP address.  The
                  Prefix Length field contains the number of valid
                  leading bits in the prefix.  The bits in the prefix
                  after the prefix length are reserved and MUST be
                  initialized to zero by the sender and MUST be ignored
                  by the receiver.






Bellovin                                                        [Page 3]

Internet Draft   draft-bellovin-ipv6-accessprefix-01.txt   February 2003


2.2. Router Behavior

   A suitably-configured router MAY include one or more access control
   prefix announcements in its Router Advertisement messages.  If more
   than one prefix is announced, communication is permitted with all
   such prefixes.

   If possible, routers SHOULD send out the same, consistent set of
   prefixes in each message.  If that is not possible (i.e., because of
   packet size limitations), additional Advertisement messages should be
   sent as soon as is possible, consistent with congestion control
   principles.  Bear in mind that the typical target devices for this
   feature are low-end, and will have neither very much buffering nor
   the ability to service incoming packets quickly.

   A router may revoke access to a prefix by sending a new advertisement
   with the same ID field but a 0 prefix length.  (Lifetime does not
   apply to deleted prefixes.)  This SHOULD be repeated at suitable
   intervals until the lifetime from the last valid advertisement has
   expired, plus some allowance for timer differences.  The RECOMMENDED
   way to gently change an allowed prefix (such as during site
   renumbering) is by sending out a new advertisement with the new
   prefix and a new ID; the old prefix should be allowed to expire.

   Per Section 6.2.7 of [RFC2461], routers SHOULD examine the access
   control prefix options in any received Router Advertisement messages.
   Any inconsistencies between the received value for any ID and what
   the router itself would send on that link SHOULD be logged to system
   or network management.  Note that doing this helps find holes in the
   access control perimeter.


2.3. Device Behavior

   A device MAY be configured to use access control based on prefix
   advertisements.  If a device is configured in this fashion, it MUST
   listen for access control prefix announcements.  Duplicate Address
   Detection messages -- i.e., Neighbor Solicitation messages that pass
   the validation criteria in [RFC2461], and have a source address of
   Unspecified MUST be accepted and processed normally, as described in
   [RFC2462].  Other incoming packets whose source address does not
   match one of the permitted prefixes MUST be discarded without further
   processing, even if they are acceptable via other security
   mechanisms.  Devices MUST NOT send packets to any destination whose
   address does not match one of the allowed prefixes.  Inbound or
   outbound packets dropped by these rules SHOULD be noted in the
   appropriate MIB or other auditing mechanism.




Bellovin                                                        [Page 4]

Internet Draft   draft-bellovin-ipv6-accessprefix-01.txt   February 2003


   By default, devices MUST be preconfigured to think that they have
   received an advertisement for Prefix fe80::/10, lifetime unlimited.
   This is the link-local prefix; it must be allowed initially to permit
   devices to receive their initial access control configurations.
   Routers MAY NOT override this.

   In their default configuration, devices MUST NOT accept packets from
   any non-link-local prefixes until they have received suitable
   advertisements.  However, there MAY be a configuration option to
   permit acceptance of packets with the current link's prefix.

   Access control prefix announcements apply only to the interface on
   which they are received.  Multi-homed devices generally should
   receive such messages on each interface, with the obvious exception
   of the local loopback interface.

   Nothing in this specification prevents devices from using access
   control prefix announcements as a supplementary mechanism.  In such
   configurations, the obligations to drop or block packets do not
   apply.


3. Open Issues

   The biggest open issue is whether or not this option should exist.
   It is not a substitute for real security.  Beyond that, we may wish
   to simplify it.

   Should the lifetime field exist in this option?  Note that the
   default router lifetime in [RFC2461] is explicitly described as not
   applying to options.

   Should revocation exist?  We clearly need either it or a lifetime.

   What, if anything, should be done differently about tunneled links?
















Bellovin                                                        [Page 5]

Internet Draft   draft-bellovin-ipv6-accessprefix-01.txt   February 2003


4. IANA Considerations

   A new IPv6 Neighbor Discovery option type code must be assigned.


5. Security Considerations

   This mechanism should not be confused with a real security mechanism,
   such as IPsec [RFC2041].  If at all possible, cryptographic security
   mechanisms should be used instead of this option.

   Among the the threats are packets with forged source addresses.
   Routers may be able to filter packets that, based on their source
   address, cannot legally arrive on some interface; they SHOULD do so
   for any prefixes that have privileged access.  But it is generally
   trivial for hosts on a LAN to forge the source address of some other,
   more trusted host on that LAN.  Access control prefixes cannot defend
   against this sort of attack.

   It's even possible to impersonate the advertising router.  To guard
   against this, nodes implementing the access control prefix option
   MUST take special care to validate Router Advertisement options
   according to Section 6.1.2 of [RFC2461].

   Remember that the entire concept of prefix-based access control is
   useful if and only if all attackers are coming from outside of the
   protected perimeter.  An insider by definition has the right prefix,
   or could fake any other address prefix or suffix.


6. Changes Since -00

   The "class" field has been deleted; it was too complex, and left room
   for too many errors.  The ID field has been added; this provides a
   cleaner mechanism for adding or deleting allowed prefixes, especially
   during site renumbering.  DAD messages are now explicitly permitted.
   Consistency between routers is now provided for.














Bellovin                                                        [Page 6]

Internet Draft   draft-bellovin-ipv6-accessprefix-01.txt   February 2003


7. References

   [Bell89]    "Security Problems in the TCP/IP Protocol Suite", S.M.
               Bellovin, Computer Communications Review 19:2, April
               1989.

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

   [RFC2401]   "Security Architecture for the Internet Protocol", S.
               Kent and R. Atkinson, RFC 2401, November 1998.

   [RFC2373]   "IP Version 6 Addressing Architecture. R. Hinden and S.
               Deering.  RFC 2373.  July 1998.

   [RFC2461]   "Neighbor Discovery for IP Version 6 (IPv6)", T. Narten,
               E. Nordmark, W. Simpson.  RFC 2461.  December 1998.




8. Author Information


Steven M. Bellovin
AT&T Labs Research
Shannon Laboratory
180 Park Avenue
Florham Park, NJ 07932
Phone: +1 973-360-8656
email: bellovin@acm.org




















Bellovin                                                        [Page 7]