[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Review of draft-ietf-radext-design-01.txt



Review of draft-ietf-radext-design-01.txt
 
Designation
 
I thought that this document was a BCP, no?  -01 states that
it is "Standards Track". 
 
Sections 1 and 1.1
 
There is some overlap in coverage.  My recommendation is to reorganize
the discussion as follows:
 
"1.  Introduction
   This document provides guidelines for the design of RADIUS attributes
   both within the IETF as well as within other Standards Development
   Organizations (SDOs).  By articulating RADIUS design guidelines, it
   is hoped that this document will encourage the development and
   publication of high quality RADIUS attribute specifications.
   The advice in this document will not be helpful unless it is put to use. 
   As with "Guidelines for Authors and Reviewers of MIB Documents"
   [RFC4181], it is expected that this document will enable authors to
   check their document against the guidelines prior to requesting a
   review (such an "Expert Review" described in [RFC3575]).  Similarly,
   it is hoped that this document will be of use to reviewers (such as
   WG participants or the AAA Doctors) in improving the consistency of
   reviews.
 
   In order to meet these objectives, this document needs to cover not
   only the science of attribute design, but also the art.  As a result,
   in addition to covering the most frequently encountered issues, this
   document attempts to provide some of the considerations motivating
   the guidelines.
 
   In order to characterize current attribute usage, both the basic and
   complex data types defined in the existing RADIUS RFCs are reviewed,
   together with the ad-hoc extensions to that data model that have been
   used in Vendor-Specific Attributes.
 
1.1.  Applicability
   As RADIUS has become more widely accepted as a management protocol,
   its usage has become more prevalent, both within the IETF as well as
   within other SDOs.  Given the expanded utilization of RADIUS,
   it has become apparent that requiring SDOs to accomplish all their
   RADIUS work within the IETF is inherently inefficient and unscalable.
   By articulating guidelines for RADIUS attribute design, this document
   enables SDOs to design their own RADIUS attributes within the
   Vendor-Specific Attribute (VSA) space, seeking review from the IETF.
   In order enable IETF review of SDO RADIUS attribute specifications,
   the authors recommend:
 
      * Development of a program to encourage SDOs to make their RADIUS
      attribute specifications publicly available;
      * Review of IETF and SDO specifications according to the
      guidelines proposed in this document;
 
   The advice in this document applies to attributes used to encode
   data.  RADIUS protocol changes, or specification of attributes that
   can be used to provide new RADIUS commands (such as Service-Type) are
   out of scope.  Since protocol changes require greater expertise and
   deeper review, such changes should not be undertaken outside the IETF
   and when handled within the IETF require "IETF Consensus" for
   adoption, as noted in [RFC3575] Section 2.1.
 
   As with protocol changes, this document does not provide guidance to
   document authors seeking to change the RADIUS operational model.
   While RADIUS server implementations may keep state, the RADIUS
   protocol is stateless, although information may be passed from one
   protocol transaction to another via the State Attribute.  As a
   result, documents which require stateful protocol behavior without
   use of the State Attribute are inherently incompatible with RADIUS as
   defined in [RFC2865], and need to be redesigned.
   See [RFC5080] Section 2.1.1 for a more in-depth discussion of the use
   of the State Attribute."
 
BTW, I would also suggest a statement that this document does not apply
to new uses of RADIUS (e.g. uses of RADIUS that go beyond conversations
between a RADIUS client and server).
Section 2.1.1

   IPv6 address   128 bit value, most significant octet first.
   IPv6 prefix    8 bits of reserved, 8 bits of prefix length, up to
                  128 bits of value, most significant octet first.

Judging by some recent specifications, there appears to be some confusion
between these two types.  Should an IPv6 address type always be used to
represent an address (as opposed to the prefix type).  If so, you might
state this explicitly using some normative language.
 
   integer64      64 bit unsigned value, most significant octet first.
 
I believe that this type has also been used to express an IPv6 Identifier
value, no?
 
Section 2.1.2
 
"  New attributes SHOULD NOT use this tagging method because of the
   limitatations described above."
 
limitatations -> limitations
 
Section 2.1.3
 
   The only other exception to the recommendation against complex types
   is for types that can be treated as opaque data by the RADIUS server.
   For example, the EAP-Message attribute, defined in [RFC3579] Section
   3.1 contains a complex data type that is an EAP packet.  Since these
   complex types do not need to be parsed by the RADIUS server, the
   issues arising from policy language limitations do not arise.
   Similarly, since attributes of these complex types can be configured
   on the server using a data type of String, dictionary limitations are
   also not encountered.  Section A.1 below includes a series of
   checklists that may be used to analyze a design for RECOMMENDED and
   NOT RECOMMENDED behavior in relation to complex types.
 
I think it may be worth expanding this discussion of opaque data types
somewhat and covering additional implications, security related ones
in particular.  In general, RADIUS servers are highly valued targets so
that the introduction of complex data types brings with
it the potential for introduction of security vulnerabilities such as
buffer overflows.  An extreme outcome would be a vulnerability that
would allow an attacker to take over the RADIUS server.
 
The use of attributes representing opaque data does not reduce this
threat, it merely moves it from the RADIUS server to an application
that consumes RADIUS attributes.  Should this application not be
properly isolated, or run with extended privileges, then the
introduction of new opaque data types (or changes in the format
of existing opaque types) may introduce serious new security
vulnerabilities.
 
Section 3.1.3
 
   This change control can be obtained by requesting a PEC from the
   Internet Assigned Number Authority (IANA), for use as a Vendor-Id
   within a Vendor-Specific attribute. 
 
Can you expand "PEC" on first use?
 
Rehosting may also require changes to the RADIUS data model
   which will affect implementations that do not intend to support the
   SDO specifications

Period needed at the end of the sentence.
 

IDNITs check
-------------
The tool found a few warnings:
 
idnits 2.05.02
tmp/draft-ietf-radext-design-01.txt:
 - Failure fetching the file, proceeding without it.)
  Checking boilerplate required by RFC 3978 and 3979, updated by RFC 4748:
  ----------------------------------------------------------------------------
     No issues found here.
  Checking nits according to http://www.ietf.org/ietf/1id-guidelines.txt:
  ----------------------------------------------------------------------------
     No issues found here.
  Checking nits according to http://www.ietf.org/ID-Checklist.html:
  ----------------------------------------------------------------------------
     No issues found here.
  Miscellaneous warnings:
  ----------------------------------------------------------------------------
  == Using lowercase 'not' together with uppercase 'MUST' is not an accepted
     usage according to RFC 2119.  Please use 'MUST NOT' (if that is what you
     mean).
    
     Found 'MUST not' in this paragraph:
    
     This Attribute is available to allow vendors to support their own
     extended Attributes not suitable for general usage.  It MUST not affect
     the operation of the RADIUS protocol.

  Checking references for intended status: Proposed Standard
  ----------------------------------------------------------------------------
     (See RFC 3967 for information about using normative references to
     lower-maturity documents in RFCs)
  -- Looks like a reference, but probably isn't: '8' on line 1191
     'The Text field consists of UTF-8 encoded 10646 [8] characters....'
  == Unused Reference: 'RFC4005' is defined on line 795, but no explicit
     reference was found in the text
     '[RFC4005] Calhoun, P., Zorn, G., Spence, D., and D. Mitton, "Diamete...'
  -- No information found for draft-ietf-radext-extended-attributes - is the
     name correct?

     Summary: 0 errors (**), 2 warnings (==), 2 comments (--).
--------------------------------------------------------------------------------