Authorization in RADIUS, Authorization in freeradius
Artur Hecker
hecker at wave-storm.com
Sun Sep 2 18:18:44 CEST 2007
Hi George
I guess it is more a question of definition of the scope of the
authorization and authentication than of the actual mechanisms. I
would invite you to read the RADIUS RFCs since your conclusions sound
a little bit hasty.
In RADIUS and in freeradius in particular the authentication is part
of the authorization. This might sound somewhat strange, but is
actually a sound and more general alternative from the AAA
perspective, i.e. from an authenitcation service point of view.
It goes like that: identification vector -> authorization ->
authentication -> everything else.
You could reflect upon it in terms of phases, although strictly
speaking the whole treatment is applied on a per packet basis. It is
of course true that one can do a lot of things with RADIUS (and
especially with freeradius), that might not directly correspond to
the initial goals, but I do believe that logically and generally one
could speak about these phases.
Thus, a user (or machine, or address or user logging in from certain
mac address or whatever else is used as identity) can be allowed or
not to use certain authentication schemes. Once a method is chosen,
the claimed identity (or another one, unfortunately) can be verified
during the authentication. If this verification of the identity
(=authentication) is successful, certain parameters are transmitted
to the NAS in the Access-Accept packet. These are to be applied to
the service to be delivered. It could be duration, QoS parameters,
service types, etc. - that is utterly dependent on the service and on
the NAS and often employs a bunch of VSAs.
So for me most definitely things such as Session-Timeout, the Tunnel
attributes, and the most VSAs are authorizations, because these are
properties to be applied to the already accepted service delivery for
an authenticated identity.
Now, there are other attributes (almost all of them, to cite Alan)
that are actually authorizations. E.g. the same verified identity can
be granted service access in certain conditions and not in the
others. These conditions can be time, location, accounting (e.g.
previous resource usage), roaming etc. related.
E.g. you could allow only any member of a group A access to certain
WiFi Access Points during certain time periods if and only if this
particular member did not use up its resource limit. At the same time
a group B could access all the other Access Points, etc. If that is
not authorization for you, please explain your definition, since it
would interest me personally. I do confess however that this
particular scenario mixes up RADIUS and freeradius capabilities, but
that seems normal since IETF protocols rarely specify behaviour.
That leads to your question on policies. Policies also need a
definition: what is a policy for you? In the broad common sense of
the word, policies are not part of the RADIUS protocol. However you
can quite easily implement policies in freeradius e.g. by grouping
and actual resource usage (see example above - "during the course
hours students are not allowed to login WiFi from the cafeteria", is
that not a policy for you?). Depending on NAS capabilities and
service to be provided, you can do more complex things...
Is that helpful?
artur
On 2 Sep 2007, at 17:52, George Beitis wrote:
> Hey Alan,
> thank you for your reply. I am writing up a part of my
> dissertation and
> I 'm referring to freeradius and the RADIUS protocol trying to explain
> how it works. From my research most people who use RADIUS for
> authentication purposes. Noone gives a clear image of whether or not
> they use it for authorization once they established authentication, so
> in other words authentication and authorization become one the
> same. Do
> you know of any products that can be used with freeradius to provide
> such authorization facilities? Using perhaps policies?
>
> regards
> George
>
> Alan DeKok wrote:
>> George Beitis wrote:
>>
>>> I have a general question regarding Authorization in the RADIUS
>>> protocol
>>> and how it is implemented in freeradius. What does the RADIUS
>>> protocol
>>> refer to when it talks about Authorization, does it actually
>>> refer to
>>> users being probably authorized after being authenticated, using the
>>> protocol?
>>>
>>
>> I guess. It's not really clear. i.e. No one knows...
>>
>>
>>> Are there RADIUS specific attributes that are for
>>> authorization? (not authentication).
>>>
>>
>> Most of them? The authentication attributes are User-Password,
>> CHAP-Password, EAP-Message... and not much else. Most everything
>> else
>> are authorization related.
>>
>>
>>> There are ways of implementing
>>> authorization into freeradius, but do those simply overwrite the
>>> authentication decision?
>>>
>>
>> I have no idea what you mean by that.
>>
>>
>>> DIAMETER provides such authorization messeges
>>> from my understanding but the RADIUS protocol does not talk about
>>> any,
>>> is this correct?
>>>
>>
>> Diameter is useless. It's a wonderful theoretical design that
>> no one
>> has deployed in a real network.
>>
>> Alan DeKok.
>>
>>
>>
>
> -
> List info/subscribe/unsubscribe? See http://www.freeradius.org/list/
> users.html
More information about the Freeradius-Users
mailing list