Using freeRadius with OTP and gateway

Tim White timwhite88 at gmail.com
Thu Mar 8 03:07:22 CET 2012


Hi Mercier

What it sounds like you are trying to do, needs more than just the 
radius server to do it. One of the features I'm writing for the Grase 
Hotspot (which uses Coova Chilli and Freeradius), is the ability for the 
user to create an account based on their mobile number.

It goes a bit like this.
User is presented with a form that allows them to enter a "username" 
which has to be their mobile number.
The form is submitted to a php script, which then creates a user in the 
radius tables (SQL) with the username as their mobile number, and 
generates them a random password. The same php script then sends that 
random password via a sms gateway to the users mobile phone (confirming 
that the number is correct and the user has possession of it).
The user is then presented with a normal login form, which they can use 
the mobile number, and the password they received as a sms, to login 
which is handled via normal Coova Chilli and Radius.

What you could do, is again, using a php script, generate the OTP and 
create the user in a special temporary table with the OTP and a password 
(maybe the user sets the password as well). Then, the user sends the OTP 
to the special number, and waits. When the SMS arrives at the special 
number, it would need to trigger a script somehow (not sure how you 
receive your SMS as all the gateways I use are for sending only), which 
would then confirm the OTP from the temporary table, if it is valid then 
we create the user with the password specified in the table, and then 
the user can login.

I'm assuming though, what you want to do, sounds like 2 different 
things. Firstly you want the Radius server to create a user when there 
is no user known. For this, you are going to need a script that does it. 
I prefer an external script, but you could use rlm_perl or similar to do it.

The seconds half of what you are doing, sounds like using OTP's for the 
user. There are a few ways to do this, but normally the user ether has 
an application (i.e. smartphone, or security token dongle thing) that is 
pre-authorised with codes to assist with generating the time based 
OTP's. Or, a list of use once passwords that the server also has, to be 
used in order. Or, as most banks around here do, sending a sms to the 
authorised phone number of the user, so the user uses that instead of 
their normal password.

I hope that is clear. You probably need to do 2 different things to get 
the solution you want.

Tim

On 07/03/12 22:56, Mercier Valentin wrote:
> Hi everyone,
>
> I'm using Freeradius 2.1.12 on a server Debian. I have an another 
> server Debian with Coovachilli (captive portal) and an Access Point 
> based on Ruckus OS.
> When my users connected on the AP, a web page is coming with a 
> formular to connect. Then the user enter is information (username and 
> password) and Coovachilli made the authentication on the radius and 
> this is working fine.
>
> Now I want to make something different, when the user connected on the 
> AP, I want that he received a little formular, then he need to enter a 
> username (not know on the radius) and i want the radius to create a 
> One Time Password and send it to the user (on an another webpage). And 
> the user send this OTP via SMS to a smsm gateway to finish the 
> authentication, is that possible, and if yes, could someone explain to 
> me how I can make it ?
>
> For the gateway sms I am using SMSLib (java library) on the 
> *same* server as freeradius.
>
> Best regards and sorry for my bad english (from switzerland).
> -- 
> Mercier Valentin
>
>
> -
> List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freeradius.org/pipermail/freeradius-users/attachments/20120308/55519f4e/attachment.html>


More information about the Freeradius-Users mailing list