[RADIATOR] Time Drifting totp Tokens

Mike McCauley mikem at open.com.au
Tue Nov 16 15:55:59 CST 2010


Hi Steffen,

Thanks for the patch. It is now in the latest patch  set.

Cheers.

On Wednesday 17 November 2010 07:29:51 am Steffen Weinreich wrote:
>  Hi!
>
> I have found one of my Feilian c200 Token which has been drifted into
> the future. At the moment its is about 40 sec in the future and
> therefore a fresh entered PIN could be rejected since from the POV of
> the Radius Server the Token is not yet valid.
>
> For now I have changed AuthSQLTOTP.pm to take also a look into the
> future for the Token Code, but if the token continue to drift away from
> the "right" time, it could be nessessary to add some code to deal with
> time drifting....
>
> The same also happens with software tokens with a incorrect time, but
> this is fixable by the user....
>
> Please find by Patch included below:
>
> cheerio
>    Steve
>
> --
> Wenn es Politikern die Sprache verschlägt, halten sie eine Rede.
>
>
> --- ../p1/Radius/AuthSQLTOTP.pm 2010-10-26 22:04:40.000000000 +0000
> +++ Radius/AuthSQLTOTP.pm       2010-11-16 17:23:53.000000000 +0000
> @@ -186,7 +186,7 @@
>      $Radius::TOTP::X = $self->{TimeStep};
>      $Radius::TOTP::T0 = $self->{TimeStepOrigin};
>      my $T;
> -    for ($delay_counter = 0; $delay_counter <= $self->{DelayWindow};
> $delay_counter++)
> +    for ($delay_counter = -$self->{DelayWindow}; $delay_counter <=
> $self->{DelayWindow}; $delay_counter++)
>      {
>         $T = Radius::TOTP::totp_timestep($recv_time, $delay_counter);
>         my $totp = Radius::TOTP::totp_compute_sha1(pack('H*', $secret),
> $T, $digits);
>
> _______________________________________________
> radiator mailing list
> radiator at open.com.au
> http://www.open.com.au/mailman/listinfo/radiator



-- 
Mike McCauley                               mikem at open.com.au
Open System Consultants Pty. Ltd
9 Bulbul Place Currumbin Waters QLD 4223 Australia   http://www.open.com.au
Phone +61 7 5598-7474                       Fax   +61 7 5598-7070

Radiator: the most portable, flexible and configurable RADIUS server 
anywhere. SQL, proxy, DBM, files, LDAP, NIS+, password, NT, Emerald, 
Platypus, Freeside, TACACS+, PAM, external, Active Directory, EAP, TLS, 
TTLS, PEAP, TNC, WiMAX, RSA, Vasco, Yubikey, MOTP, HOTP, TOTP,
DIAMETER etc. Full source on Unix, Windows, MacOSX, Solaris, VMS, NetWare etc.


More information about the radiator mailing list