[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: Access-Reject (was RE: Comments on draft-carroll-dynmobileip- cdma -04.txt)
Hi Bernard,
See inline please. I have comments throughout.
> -----Original Message-----
> From: Bernard Aboba [mailto:aboba@internaut.com]
> Sent: Saturday, March 05, 2005 5:27 PM
> To: Avi Lior
> Cc: Alan DeKok; radiusext@ops.ietf.org
> Subject: Re: Access-Reject (was RE: Comments on
> draft-carroll-dynmobileip-cdma -04.txt)
>
>
> > But if the server which just received an Authorize-Only
> packet didn't
> want
> > to do the re-authorization requested?
>
> "Authorize Only" Access-Requests are only generated as the
> result of a CoA-Request or Disconnect-Request, right? So
> presumably the server that initiated the request had an idea
> that it wanted a re-authorization, no?
No. That is the problem we are now facing. Authorize-Only messages maybe
sent by the NAS without receiving a CoA.
This makes perfect sense.
Here is an simple example. If an already authenticated user wants to
establish a new call VoIP call etc... The NAS can then Authorize that call
by issueing an Access-Request Authorize-Only. No need to autenticate again
right?
Prepaid does that as well. Send an Access-Request Authorize-Only to get
more quota. No need to Authenticate again right?
So in the context of these example it would be reasonable to allow for an
Access-Reject to mean that the AAA rejects to Authorize right?
Note in prepaid we return an Access-Accept with a quota which indicates no
more resources (so I don't use Access-Reject). So likewise we can use the
same for the first example. But Access-Reject ought to work just as well.
In fact, philosophically returning something in Access-Accept to indicate
that "you can't do what you asked for" is like returning EAP-Failure in an
Access-Accept -not a good idea(see good discussion on this later).
> > It could send an Access-Reject if we allow the
> Access-Reject to mean I
> > don't want to re-authorize. Full stop.
> >
> > Failing that, it will have to send an Access-Accept with _all_ the
> > previously sent authorization attributes.
>
> Isn't it likely that an RFC 3576 implementation would have
> stored those attributes anyway? Or are there circumstances
> where it might not do that?
3576 requires a very small set of attribute to be stored. If I have to
store everything that would be harder. I sort of eluded to this many time
before.
> > I can live with the traditional meaning of Access-Reject, but I do
> > have issues with how we make it easier and more realistic
> to develop
> > RADIUS extensions.
>
> I think that's more of a RADEXT charter issue, no? Or are
> you saying we need to build more extensibility into the
> protocol itself?
I think we need to address what is coming up on us. SO mulitple
Authorization per session for different reasons:
-authorization for new flows (voip);
-prepaid quota management;
-authorization for services such as one-time-events introduce by Diameter
prepaid and RADIUS prepaid;
-etc...
> > Also related to this discussion - I ran into this in Pana :
> > pana-pana-07
> >
> > "Within separate NAP and ISP authentication, the NAP
> authentication
> > and the ISP authentication are considered completely independent.
> > Presence or success of one should not effect the other. Making a
> > network access authorization decision based on the
> success or failure
> > of each authentication is a network policy issue."
> >
> > If EAP-failure can only be carried in an Access-Reject then
> if one of
> > these enetities rejects the authentication, and the other
> accepts the
> > authentication we can get into a situation where: NAS receives an
> > Access-Accept NAS receives an Access-Reject
> > And the session is allowed to go on.
>
> RFC 3579 states that the RADIUS command determines the
> outcome, not the embedded EAP packet (Success/Failure). So
> an Access-Reject always results in denying access, even
> though the RADIUS server might succeed in confusing the EAP
> peer by sending an Access-Reject/EAP-Success.
>
> Here's what RFC 3579, Section 2.6.3 says:
Yes I re-read that just before I sent the last message.
It is a problem. We need to address it.
If I send the EAP failure in an Access-Reject, then the session is dead.
If I send the EAP failure in an Access-Accept, then I am also stuck.
Although this is not strictly prohibited in 3579!!!
So either PANA folks are missing something or we AAA folks (RADIUS and
DIAMETER) have to re-think our view of reality.
I would like to chat about this further with you and any interested people.
I raised this as an issue in my RADIUS-PANA draft.
> 2.6.3. Conflicting Messages
>
> The NAS MUST make its access control decision based solely on the
> RADIUS Packet Type (Access-Accept/Access-Reject). The
> access control
> decision MUST NOT be based on the contents of the EAP packet
> encapsulated in one or more EAP-Message attributes, if present.
>
> Access-Accept packets SHOULD have only one EAP-Message attribute in
> them, containing EAP Success; similarly, Access-Reject
> packets SHOULD
> have only one EAP-Message attribute in them, containing
> EAP Failure.
>
> Where the encapsulated EAP packet does not match the result implied
> by the RADIUS Packet Type, the combination is likely to cause
> confusion, because the NAS and peer will arrive at different
> conclusions as to the outcome of the authentication.
>
> For example, if the NAS receives an Access-Reject with an
> encapsulated EAP Success, it will not grant access to the peer.
> However, on receiving the EAP Success, the peer will be lead to
> believe that it authenticated successfully.
>
> If the NAS receives an Access-Accept with an encapsulated EAP
> Failure, it will grant access to the peer. However, on
> receiving an
> EAP Failure, the peer will be lead to believe that it failed
> authentication. If no EAP-Message attribute is included within an
> Access-Accept or Access-Reject, then the peer may not be
> informed as
> to the outcome of the authentication, while the NAS will
> take action
> to allow or deny access.
>
> As described in [RFC2284], the EAP Success and Failure packets are
> not acknowledged, and these packets terminate the EAP conversation.
> As a result, if these packets are encapsulated within an
> Access-Challenge, no response will be received, and
> therefore the NAS
> will send no further Access-Requests to the RADIUS server for the
> session. As a result, the RADIUS server will not indicate
> to the NAS
> whether to allow or deny access, while the peer will be informed as
> to the outcome of the authentication.
>
> To avoid these conflicts, the following combinations SHOULD NOT be
> sent by a RADIUS server:
>
> Access-Accept/EAP-Message/EAP Failure
> Access-Accept/no EAP-Message attribute
> Access-Accept/EAP-Start
> Access-Reject/EAP-Message/EAP Success
> Access-Reject/no EAP-Message attribute
> Access-Reject/EAP-Start
> Access-Challenge/EAP-Message/EAP Success
> Access-Challenge/EAP-Message/EAP Failure
> Access-Challenge/no EAP-Message attribute
> Access-Challenge/EAP-Start
>
> Since the responsibility for avoiding conflicts lies with
> the RADIUS
> server, the NAS MUST NOT "manufacture" EAP packets in order to
> correct contradictory messages that it receives. This behavior,
> originally mandated within [IEEE8021X], will be deprecated in the
> future.
>
--
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/>