Yubikey and OpenID
May 24th, 2008 • technology • 2 Comments »I like to listen to Security Now! when I’m out walking. Episode 143 had an explanation of a new product called Yubikey. The basic idea is that you have a device that plugs into a USB port and is recognized as a keyboard. Pushing the only button on the device causes it to type a 44 character string which acts essentially like a One-Time Password. Combining this idea with something like OpenID, you can have a relatively secure authenticator. It could be combined with a password/passphrase challenge to provide two-factor authentication. This isn’t anything new, as VeriSign and Paypal have tokens. The same limitations of physical tokens exist, mainly that your Yubikey could be lost. In the case of the USB interface, the interface on the USB could be physically damaged or worn down.
The pros of this device are where my interest lies. Yubico has opened up the specification and is providing SDK’s to make this work. Ubico has provided an OpenID provider that can use a Yubikey or you can host your own authentication server. For anybody who wanted to build their own system or experiment, this seems incredible. VeriSign is not likely to give you their code and let you set up your own token server to use with their tokens. That is Yubico’s business model. They want you to set up your own system and are working to help you do so. The second big pro is ease of use. It is not hard to see the 6 digit key on a VeriSign token and type this in to an input box, but the 6 digit key is pretty limited. Yubikey on the other hand has enough digits to play with that it can build some smarts in. The key is uniquely identified by the string it sends. It can now function as your id/username. The string as a whole is a unique string that acts as a One-Time Password. So with one string, I can provide a name/password pair to identify myself. The server can take the name piece of this to look up and check against my password. This string is generated by inserting the USB device and pressing a button. This is esentially one-button login. Combined with OpenID, it is essentially one-button login to a lot of websites. On top of that, you can’t “give your password away” to a phisher. You could lose the Yubikey, which is why I would recommend using it in conjunction with another password, but someone can’t sniff out a physical key. This is pretty cool. I recommend checking out the Yubikey link for more info.