shahine.com/omar/

homepage | Send mail to the author(s) contact

yet another Microsoft blogger

# Sunday, August 17, 2008

Two-Factor Authentication for the rest of us

P1010500 I’ve always been skeptical of the usability of two-factor authentication. Specifically, Microsoft employs a form of Two-Factor authentication using a Smart Card. To get access to our corporate resources from outside our network you are required to enter your username + password and enter your Smart Card (which is our Badge) into a Smart Card Reader entering your PIN number. The Smart Card contains a certificate that is used to identify you to Microsoft (in addition to your username and password).

The problem with this is that each computer that you want to use to connect to corporate assets requires a Smart Card reader. Kind of a pain. Especially since laptops don’t have PCMCIA readers any more (replaced by Express Card).

When thinking about using two-factor authentication for securing non work assets, I just assumed this would be a hassle.

VeriSign Two-Factor Authentication

I knew that a while back PayPal started to offer a PayPal Security Key that you could use as an extra layer of security when signing into PayPal or eBay. This seems like a good idea after all, because PayPal is linked to my bank account and Credit Card, and eBay has one of my post important identities: my “seller reputation” is tied to it. An extra layer of security to sign into those sites seems like a good idea, but at what cost?

When I found out that VeriSign PIP (an OpenID provider among other things) started to offer extra security using a Security Token (and was compatible with the PayPal Security Key) I decided to give it a shot. After all, the entry price was $5. You can see the PayPal Security key below:

P1010499

In addition to the PayPal Security Key, VeriSign offers two additional solutions:

  1. VIP Security Card – a credit card sized Token
  2. USB Memory Key from SanDisk – a traditional USB Key with special software.

Both solutions cost more than $5 so I started with the PayPal key. I’m not interested in #2 since I view it as more of a hassle to have to insert something into a computer.

I received my PayPal key the other day and immediately fell in love with it. It’s small, and easy to use and easily found a place on my key chain. For $5 it’s a steal.

However, I was wondering what the VIP Security Card was like.

Luckily I’ve been chatting with the folks at VeriSign over the past few days and they were kind enough to send me a VIP Security Card to play around with.

All I can say is WOW. This thing is awesome. It’s the exact same size and dimensions of a credit card. I assumed it would be thick because it appears to have some kind of LCD. But actually it’s a form of screen similar to the Amazon Kindle. It consumes no power to display the current code, only to change it. Your security code is only ever valid for 30 seconds and each one is unique (One Time Password).

P1010500 

P1010504

Personally, I prefer this format better since I can just throw it in my wallet and my wallet is always with me, unlike my keys.

Other Two-Factor Authentication systems

I should point out that two-factor authentication does not have to be limited to physical tokens like the ones mentioned above. There are numerous other mechanisms that other OpenID providers utilize. VeriSign summaries a whole slew of then here.

SSL Certificates

VeriSign and myOpenID both support SSL Client Certificates, but they both implement them differently.

Most people are familiar with server based SSL certificates. These are the things that practically every single ecommerce or financial institution uses to encrypt the information between you and them. It makes is to that the bad guys cannot sniff your traffic and steal your credit card or other personal information. Generally speaking these have been adequate protection for hundreds of billions of dollars in transactions over the years. Since it’s hard for the bad guy to pretend to be the server you are interacting with, they tend to focus on things like Phishing and man in the middle attacks to steel your username and password (and now DNS exploits).

For years we have been trained to look for the “lock” icon when dealing with secure websites.

image

Over time this has evolved to include more prominent UI features as you can see below in IE 7

image 

and FireFox 3

image

However little attention has ever been paid to client side SSL certificates. Well they work just like server side certificates except that the authentication is mutual. In other words, not only do you validate that the web site says who they are, but the website is validating who you say you are. This is done because the server and you share a secret, and SSL is a mechanism for verifying that you both know the secret, without exchanging that secret with each other. Sounds complicated? it might, but this is the basis upon which Public Key Infrastructure (PKI) is built.

At the end of the day, what you need to know is that the way this can be a two-factor authentication mechanism is that you install this SSL cert on each computer that you plan to login to the service (in this case the OpenID provider) and after you authenticate to the service using a username and password, the service has an addition layer of authentication via your client SSL certificates. It’s like a “Soft Token” (a software version of a hardware token, like those mentioned above).

VeriSign and myOpenID have two different uses for SSL Client certificates. For VeriSign they work much like a hardware token, meaning you have to posses the client certificate and your username and password to gain access. If you don’t have you client certificate installed you can have a temporary access code sent to your phone via SMS or your email account.

myOpenID uses the SSL as a way for you to login to the site without entering your username and password. So in a way, it’s a replacement for your password credential and works a bit like an Information Card.

Image Authentication

Some services like myVidoop.com (another OpenID provider) use images as a two-factor authentication. After you login you are presented with a series of images from categories that you pre-selected mixed with pictures from random categories. Since only you know the categories you picked, you enter special codes corresponding to those categories. There is no password per se, your selection of the right images from the right categories is your password. Clever.

These images work in conjunction with specialized code they have to “activate” a browser. In other words, you only get to go through the image identification once you’ve confirmed the browser to myVidoop. If you have not you can use SMS or email to temporarily activate your image authentication.

So in this case, your two-factors are 1) provide identity of browser to service and 2) authenticate using images.

I have to admit, I’m still getting my head wrapped around this one. I haven’t yet figured out how they “identify” a browser.

Phone Based Authentication

There are two forms of Phone authentication that I’ve run into. Voice authentication that myOpenID uses and SMS based authentication that a number of services use.

CalVerifID is a service myOpenID runs that allows you to use your plain old telephone to authenticate. When you signin to myOpenID and when you receive the phone call from them, press #. Very simple.

SMS verification is currently supported by VeriSign and myVidoop to allow authentication in the case where your primary two-factor mechanism is not available. This comes in very handy say if I am not near my hardware token or I’m too lazy to go get it from my wallet and my iPhone is right in front of me :-).

Final Thoughts

As you can see, there are numerous options today for two-factor authentication. You can immediately secure such assets as your PayPal and eBay account with any VeriSign VIP product. Furthermore as OpenID continues to gain in popularity, you’ll have more options for securing your Identity on other services.

I’d say this is progress.

 

Sunday, August 17, 2008 11:07:45 AM (Pacific Daylight Time, UTC-07:00)
Thanks for writing about this. Just ordered my own from VeriSign. Hopefully my bank will also support it soon.

Take care.
Dave Largo
Sunday, August 17, 2008 12:21:41 PM (Pacific Daylight Time, UTC-07:00)



I always disliked Microsoft's insistence on smart cards
It seems a throwback to the age when they were competing with JavaCard and such. Or some reluctance to endorse RSA for some reason. Having been in your shoes, the MSIT bubble you are forced to live in has given you the impression that somehow 2-factor auth is all as bad as the smartcard auth used at MS.

You should be aware that RSA SecureID tokens have been doing this for roughly forever.
A huge number of coporate VPNs are based on it, it works very well. The credit card form factor is neat but the key fobs are easy too.

EE
Sunday, August 17, 2008 1:51:02 PM (Pacific Daylight Time, UTC-07:00)
multi-factor auth is a great thing, and the OTP form factors like the secureID, etc... are by far the easiest.

It's going to be horrible though, when we all need to carry a key ring filled with these Verisign fobs around, because we have one for the bank, one for Paypal, one for the site to pay our utilities, one for......

People have generally accepted the idea of having a thousand user names and passwords. I don't think anyone is going to spend $5000 on the seperate fobs for everything, even if they are only $5 a piece.

This is a good forcing function for a secure identity metasystem.
Sunday, August 17, 2008 8:57:18 PM (Pacific Daylight Time, UTC-07:00)
you can use the same token for all sites that support verisign
Omar Shahine
Sunday, August 17, 2008 10:55:53 PM (Pacific Daylight Time, UTC-07:00)
Thanks for posting about this. I'd been thinking about ordering one of the Paypal fob's, but that was prior to seeing this post. I just ordered one of the Verisign cards instead.
Monday, August 18, 2008 7:06:04 AM (Pacific Daylight Time, UTC-07:00)
You may be interested in a slightly lower-tech two factor auth system offered by Entrust called IdentityGuard. It can be configured to use smart cards and other tokens, but it also supports grid cards, picture and text based mutual auth, machine auth (using a secure machine nonce) as well as risk-based auth.

So you could be asked for a grid based challenge (eg give the numbers or letters at A2, C7, G9 on your grid card) after your initial username and PW login, but only after you have failed an IPGeolocation test.

IdG lets you combine as many auth factors as you need and the beauty of Grid cards is they are way cheaper to make and replace than either smart cards or tokens.

Just thought you might be interested.
Mike Park
Monday, August 18, 2008 2:36:51 PM (Pacific Daylight Time, UTC-07:00)
Hi Omar,

Thanks for the post, we have answered a lot of questions about our service on Get Satisfaction. To address yours we use a cookie and flash object to identify your browser. In addition to being an OpenID provider we also offer a password manager, more info here.

I do have to admit that the VIP security card is cool, though as mentioned expensive to deploy on a wide scale. Also I already have two key cards, one for parking and one for office, I want to see a universal key card that I can program for anything. Either way like you say it is nice to see all these options available to help people get away from the old school login & password.

-Kevin
Tuesday, August 19, 2008 1:32:44 PM (Pacific Daylight Time, UTC-07:00)
Omar -

Glad to hear you like the VIP Security Card! I wanted to let your readers know that in addition to eBay, PayPal and VeriSign's PIP OpenID provider, you can use your card (or PayPal Security Key) at other sites which are members of VeriSign's VIP Network like AOL and GEICO. The full list is available at https://idprotect.verisign.com/wheretouse.v.

All of these companies use the same simple SOAP API to validate the security codes generated by VIP Credentials, and we've published that API so that the developer community can try it out and see that true two-factor authentication can be as simple as a few lines of code. Check out the VIP Developer Test Drive at https://vipdeveloper.verisign.com, where you can download the API, sample code, and get access to VeriSign's test environment.

-- Jeff
Tuesday, July 21, 2009 7:57:00 PM (Pacific Daylight Time, UTC-07:00)
you should check out PhoneFactor. Best two-factor auth I've ever used!

phonefactor.com
Acoustic
Comments are closed.