Yubikey不再记忆密码

我的密码管理历史

相信的大家一定有很多帐号。上网这么多年下来,东注册一个帐号,西注册一个帐号。时间长了,觉得老用一套帐号不安全。于是换了一套又一套,久而久之密码堆积了一堆,连自己也搞不清哪个对应哪个了。

就在两年前,我找到了keepass这个软件。它很好的帮我把所有密码管理起来,而且还是跨平台的,我只要记住主密码(master key)就可以取得所有帐号密码。不过我经常要在不同的系统、电脑使用同一个密码库,keepass没有我想要的同步功能。

后来找到了Dropbox这个强大的同步工具,帮keepass弥补了这个缺点。尽管同步问题解决了,可是keepass还是有个致命的弱点—操作效率太低。每登录一个网站,先要找到这个帐号记录,再复制粘贴帐号,然后还要复制粘贴密码。来来回回折腾太麻烦了,如果keepass能和浏览器结合,自动帮我填入帐号密码就好了。就像浏览器在带的密码管理器一样,不过浏览器自带的不安全,也不方便,不能同步,而且重装系统帐号就丢失了。

后来我发现了Lastpass这个强大的工具,它是浏览器的扩展,支持ie、firefox、chrome,而且跨平台,甚至在iPhone、黑莓、Android上都有客户端。Lastpass是把我的帐号密码存在云端的。每当我在一个网站登录的时候,它会检测这个站点的帐号是否记录过,如果没有,它会提示我记录。当我确定记录帐号后,下次再访问这个站点的时候,lastpass会自动帮我填入帐号密码,我只要按登录即可。

有了lastpass,我再也不需要同步密码库了,这些信息本生就存储在lastpass公司的服务器上。也许有人会担心。密码存在云端安不安全?lastpass是否可信任?lastpass被黑客攻击了怎么办?对于这些质疑,我只能说没有绝对安全的东西,我们只能相信它。即便存在自己的电脑上,也会遭受病毒、黑客的威胁。一个公司的技术实力总比一个人强吧。

lastpass解决了大部分问题,大大地提高了用户体验。剩下还有一个问题,如何让master key足够的安全呢?

yubikey,廉价的OTP方案

对于这个产品相信大家从没听过。这是一款强大又廉价的产品,要把它所有功能都讲清楚是不容易的。所以我就先简单介绍两个功能,以后再扩展。

一、OTP(One-Time-Password)

yubikey是个可以根据一定算法随机产生密码的输入设备。yubikey产生的OTP密码分为两部分,左边部分是设备识别码,右边部分是随机码。每个设备的识别码是全球唯一的。

接下来解释一下过程。A网站支持使用yubikey登录,于是我把自己的yubikey和A网站绑定。当访问A网站时,A网站提示输入yubikey密码。我轻触一下yubikey,OTP密码就马上输入好了。这时候A网站会去访问yubikey开发公司的服务器yubico,并提交收到的OTP密码请求认证。yubico得到密码后,把它拆分,根据自己的私有算法进行校验。如果这个密码确实是绑定A网站的密码的那个yubikey设备产生的,yubico就会告诉A网站验证成功。

每个yubikey都根据自己的识别码,以不同方式产生不同的随机密码。每个时刻产生的密码都不同。所以yubikey之间不可以相互冒充。而这种随机验证方式,对于黑客来说更难破解。

二、Static Password静态密码

这是yubikey的附加功能。可以记忆一个复杂的、较长的、个人难以记忆的密码。比如:

某B,把sdadasdefkjgbhoijt34tdfKJSW%^$%^&hasdqal942nlsdnfalsz这段作为自己lastpass的master key。某B不需要记忆这么恐怖的密码。某B只要把它设置到yubikey上。轻触一下yubikey,就可以把密码输入。

很好理解吧,这个功能就是为master key设计的。从此不再需要记忆任何密码。yubikey在密码就在。yubikey丢了,那也就惨了。所以最好在电脑以外的地方备份一下这段密码。

其他

yubikey2.1版本支持OTP和StaticPassword同时存在。可以通过轻触时间的长短来区分。用户可以使用官方的工具的来自己定义yubikey的功能,包括密码长短,复杂程度等等。

另外于yubikey的开源项目非常多,比如wordpress上的yubikey验证插件,drapal上的验证插件。大家可以找到很多其他相关的项目。在开发方面,公司开放了很多资料:http://www.yubico.com/developers/intro/

最后再提一下,尽管yubikey在诸多OTP方案中,是比较廉价的,25美元一个,不过对于大多数中国草根来说还是挺贵的,而且国内没的卖。幸好yubikey有个竞争对手叫umikey,它们的思路差不多的。umikey在中国有生产,也有卖,100RMB以内,不是很贵。可惜umikey的应用还不是很广泛,我们只能祝福它快速发展。lastpass有个竞争对手叫mashedlife,mashedlife是umikey的最佳搭档。当然据说也可以和yubikey结合(我没试过)。另外听小道消息,unikey正在和lastpass接触。

听我讲了这么多,还是自己去看看吧,相关网址: