views:

491

answers:

5

Suppose you want to add an extra layer of credentials on top of a SSL-encrypted login/password, but you don't want to increase complexity to the user. Is there a way to add the requirement of the possession of a dongle to web-server authentication schemes with existing cross-platform browser capabilities?

In other words, to get access to the web-site, you would need a username, password, and a USB dongle that has been plugged into the client computer. The dongle would presumably do some sort of challenge/response.

It'd be ideal if this dongle solution worked with Firefox automatically or with the simple addition of a plugin.

Thoughts and suggestions are appreciated.

+7  A: 

You could use RSA SecurID tokens, which are little keychain displays that change the number displayed every one minute. In addition to requiring the username and password, you can also require them to enter the number they see on their token to verify they have the hardware device with them. There are various hardware dongles, with some even requiring a PIN to be entered to see the changing number. The is extra complexity on the server side, but the client doesn't have too much trouble.

Kibbee
I hate these! But, they do work! ;)
Jason
+13  A: 

You may be interested in the Yubikey.

It's a small usb dongle that acts as a usb keyboard (i.e. needs no special drivers or client software) and is designed exactly for this sort of authentication.

dF
How are you proposing a browser would access this hardware?
Geoffrey Chetwood
It doesn't -- the device has a button which the user presses to authenticate to the website.
dF
wish product keys were that easy
ccook
Sounds like a pretty good idea, however, since it just emulates a USB keyboard, there's no guarantee that the user has it plugged in, and that they aren't just typing in the password on a regular keyboard.
Kibbee
Disregard that last comment, after doing more research, it seems like it works a lot like RSA SecurID, and generates a new key every time.
Kibbee
Looks very interesting. Thanks for posting.
Brian M. Hunt
Yeah, thanks, I'm sure this will come in handy someday.
Tiberiu Ana
+1  A: 

It's going to require something that has the rights to access the dongle. There is also the issue of hacking it--the communications aren't going to be able to be hidden so you have to make sure it doesn't matter. That means the dongle is going to have to implement it's own crpyto. You'll also need support for whatever systems you are going to support.

I see this getting very complex very fast.

Loren Pechtel
+1  A: 

I've also used the Yubikey with good results. Another similar solution is the Swekey - you might want to check that out also.

metadaddy
+1  A: 

I've had good results implementing website authentication and login using Dinkey Dongles and the DinkeyWeb system.

The user plugs the usb security dongle into their machine, visits your "protected" web page and it validates the dongle before loading the page. Works without special permissions or privileges.

Hope it helps.

Nick Smith