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

Re: Capabilities: Moving forward



Bernard, others,

On Mon, Oct 17, 2005 at 09:14:15PM -0700, Bernard Aboba wrote:

> After dozens and dozens of messages, there is very little to show for the 
> discussion of Capabilities Solutions, so it's time to take a step backward 
> and focus for a while on The Problem.  Let's all take a breather from 
> solution discussions for a while.
> 
> I'd note that we've taken this approach before in RADEXT WG, with 
> encouraging results.  Discussion on the CUI document seemed hopelessly 
> wedged until we were able to focus on the problem statement, which turned 
> out to be relatively straight forward.
> 
> A good problem statement is not just the union of all possible needs;  
> shopping lists make poor design documents.   Rather, a good problem 
> statement seeks to get at the one or two core issues, which, if addressed, 
> will enable solution of mutiple important problems.
> 
> As a result, the goal in coming up with a problem statement is not to 
> enumerate every possible corner condition and scenario, regardless of 
> relevance;  doing so will merely drive the development of as complex and 
> unwieldly a solution as possible.
> 
> Rather, the hallmark of a good problem statement is brevity, leading to 
> solutions which do what is necessary and little more.

This is an excellent idea, and I'd be happy to provide a kickoff. 

From the earlier exchanges here, I see two non-imaginary problems for
which a form of capabilities advertising has been proposed. 

1. A NAS may withhold information required for proper authorization from
   its access requests, because it is only allowed to provide that
   information after some indication from the server.

   (Case in point: GEOPRIV, where a NAS is only allowed to provide
   Location information if the RADIUS server indicates that the user
   allows that information to be transmitted; at all, or specifically
   from the specific NAS, RADIUS client or combination thereof).

   The problem is that a server that intends to make its response
   dependent on the initially withheld information cannot
   unconditionally challenge the NAS for it.

   (Note that this scenario only applies if the server's response to the
   Access-Request packet is in any way dependent on the information
   that's initially withheld. If only the sending of the information in
   accounting requests is to be controlled, the indication to allow
   sending it can simply be put in the Access-Accept).

   The rationale for a capabilities advertising capability in this
   scenario is as follows:

   - A server needs to know in advance how the NAS will respond to a
     for the withheld information, because a NAS may not support
     challenges, causing premature rejection of the user per RFC 2685
     section 4.4 ([44]), or it may misunderstand the reason for the
     challenge, causing other unintended behaviour.

     To expand on this, according to [44], a NAS that supports PAP but
     that is not willing or able to forward the challenge in the of
     Reply-Message to the user, MUST treat the Access-Challenge as an
     Access-Reject. A NAS that supports classic challenges for PAP
     requests to implement one time passwords, would effectively forward
     the challenge to the user, which is not intended here.

   The required semantics for a capability advertisement capability in
   this scenario is that a NAS indicates:

     a. that it supports a challenge for withheld information, using
        a mutually understood mechanism for the server to identify the
	wanted information (eg. GEOPRIV information)

     b. the list of withheld information elements (eg. GEOPRIV Location
	attributes) -- it makes no sense to create this capability for
	one feature alone. (But on the other hand, I cannot think of any
	other case that desires that the NAS withholds available
	information from its initial access request).

2. The second problem: some server policies require an Access-Accept
   conditional on the NAS' support for certain session limiting
   attributes, and on the proxy chain's transparency for them.

   If the NAS and/or proxy chain are in an administrative domain that's
   different from the home AAA's, the home AAA has no way of knowing
   whether the NAS will implement a given session limit. 
   
   This is a real world problem that I've had to deal with (if you're
   curious: the limited EUNet self-subscription accounts on Nokia 9110
   communicators that would allow access through a large number of 3rd
   party dialup POPs, but only to access one particular web server. Ah,
   those were the days).

   Current examples of such session limiting attributes are packet
   filtering (Filter-Id and the new ones), bandwidth control (TBD), and
   volume capping attributes (currently vendor specific).

   An somewhat extensive analysis of this case has been posted earlier.

   The core issue here is that a response attribute filtering proxy
   must modify the NAS' advertisement in order for the advertisement to
   be correct when it is received by the home server.

   If advertising is be done using the well understood hints mechanism,
   response attribute filtering proxies are be required to reflect that
   in their request attribute filtering as well.

   The problem with that is that some attributes that a proxy may wish
   to filter from responses, cannot be filtered from Access-Requests.
   The most prominent case is User-Name, which may be present in
   responses to ask the NAS to change the User-Name to be used in
   accounting requests for the session. Many NASes support this, and
   some roaming contracts such as WISPr even require it. CUI or better
   use of Class may obsolete that practice, but both contracts with
   User-Name overwriting and NASes without CUI still exist.

   One point to add is that in the case of a server requiring certain
   Filter-Ids with certain names to be present, both the namespace
   (defining a name to semantics mapping) and the list of names will
   have to be advertised, in order for a NAS advertising its support for
   Filter-Id to be of any use.

   Modern server defined packet filters may be less problematic in this
   respect, but the advertising of values in addition to attributes may
   be required for other cases as well. A proposed mechanism should have
   provisions for that where that's required. It does not have to be
   complex, the hints mechanism eg. already allows a list of values to
   be sent by virtue of it using standard response A/V pairs in access
   requests.

Of course, a well mapped migration path is crucial for capabilities
advertising to offer any help in solving either of these problems, and
some of the proposals seem to assume a magic big bang update.

I hope that was brief enough. It would be great if followup posts would
tell me whether I've missed a real problem or whether I'm stating either
of the two incorrectly.

Best regards,


Emile van Bergen.

-- 
E-Advies - Emile van Bergen           emile@e-advies.nl      
tel. +31 (0)78 6136282           http://www.e-advies.nl    

--
to unsubscribe send a message to radiusext-request@ops.ietf.org with
the word 'unsubscribe' in a single line as the message text body.
archive: <http://psg.com/lists/radiusext/>