新版PassXYZ已上线,新增一次性密码(OTP)管理功能

cover

在最新版本的PassXYZ中,Google,Microsoft和 Facebook等所用的一次性密码都可以用PassXYZ来操作管理了。以前我一直使用Google Authenticator和Microsoft Authenticator来生成一次性密码分别用于登录相关账号。Google Authenticator用于登陆Google,Facebook和GitHub等账号,Microsoft Authenticator专门用于登录Microsoft账号。由于我之前使用的是苹果手机,后来换了一款Android手机,使用后发现中国的手机因为没有Google Services,所以无法安装Microsoft Authenticator,而Google Authenticator虽然可以安装,但工作却不正常。还有一个麻烦的问题是,即使手机可以安装这两个应用,我所有账号的OTP都必需要重新设置,因为无法将原设置从苹果手机导入到新的Android手机上。

因此,在开发PassXYZ时,我就考虑把OTP功能加入到PassXYZ中以方便使用。PassXYZ使用的是KeePass数据库,如果将所有的OTP设置都保存在KeePass数据库中,同时使用PassXYZ来产生一次性密码,我所遇到的问题就都可以迎刃而解了。因为在Android,iOS和Windows 10上都可以使用PassXYZ,跨平台使用不成问题,同时各种数据导入的问题均可以通过云存储同步和备份加以解决。

双因素认证与一次性密码 (OTP)

为了让更多用户更好地了解如何正确使用PassXYZ来管理一次性密码,在介绍PassXYZ的一次性密码管理功能前,先介绍一下什么是双因素认证和一次性密码。

双因素认证(Two factors Authentication或简称2FA)是多因素验证中较为常用的一种验证方式,即除了用户名密码外,还需要提供另一个身份验证方式来识别用户。目前流行的双因素认证方法中,较为常用的是基于一次性密码(One Time Password 或者简称 OTP)的验证方式。

基于一次性密码(OTP)的验证方法主要有两种形式,一种是通过短信发送一次性密码,另一种是通过专门的应用来产生一次性密码(比如Google Authenticator或PassXYZ)。这两种形式,本质上是一样的,区别仅在于用户获取一次性密码的方式不同。它们各有优缺点,所以大多数互联网服务会同时提供这两种验证机制,以便用户根据自己的需要选择其一。

关于其他多因素验证方法的介绍,您可以参阅另一篇文章“什么是多因素验证?为何要使用多因素验证来保障密码管理的安全?”。在这里,我们主要讨论的是基于rfc4226和rfc6238实现的一次性密码。

实现OTP的标准

由于OTP是最经济且易使用的双因素认证方式,基于rfc4226和rfc6238的一次性密码验证方法被广泛使用在大量的互联网服务中。比如Google,Facebook,GitHub,Dropbox,Aliyuan和Microsoft等,都在使用这种双因素认证方式来保护用户账户安全。

什么是rfc4226和rfc6238?RFC是英文Request For Comments的缩写,它的意思是等待评审的推荐标准。很多互联网标准都是由RFC衍生而来的。rfc4226和rfc6238就是如何产生一次性密码的推荐标准。

为何要使用2FA

为什么要使用双因素认证?因为单纯的用户名和密码的验证方式,是非常容易被黑客攻克的。比如最近发生的Facebook用户资料泄露事件,有大约5000万的用户资料因为系统缺陷而被黑客获取。如下图截屏所示,就是最近收到的Facebook官方的警告信息。

facebook_2fa_02

由图中高亮部分可以看到,黑客的攻击是利用系统缺陷绕过了用户名和密码,直接劫持了用户的账号来获取用户资料的。这时如果启了用双因素认证,就可以大幅地提高黑客劫持账户的难度,从而保护自己的账户安全。

那么,如何启用双因素认证呢?我们下面还是以Facebook为例,来介绍如何开启双因素认证和如何使用PassXYZ来管理和产生一次性密码。

使用PassXYZ存储账户信息

在开启Facebook的双因素认证之前,需要先建立一个Facebook账号。当拥有了一个Facebook 账号后,应该先将相关资料用PassXYZ记录下来。如下图所示,可以在PassXYZ的模板中找到Facebook,然后建立一条关于Facebook的记录。

facebook01

点击上图所示的选项就可以编辑Facebook的账号信息,具体模板显示如下图。

facebook02

Facebook账户相关的信息有名称、邮箱、密码和移动电话号码等。任何额外的资料都可以记录在最下方的便签(Notes)中。填好信息后可以点击右上角的存储按钮来存储记录。右上角共有四个按钮,依次分别是:

  • 扫描–用于扫描设置当前账户OTP的二维码
  • 附件–可以添加图片或相关文档
  • 取消–取消编辑
  • 存储–存储当前记录

其中的扫描按钮,稍后,我们马上就会讲到。

开启2FA

当我们存储好账户信息后,就可以继续去开启Facebook的2FA了。开启2FA需要在电脑的浏览器中找到Facebook的设置,页面如下:

facebook_2fa_01

在上图中,我们可以看到一个”Use two-factor authentication”的选项。选择其右边的编辑键,得到以下页面。

facebook_2fa_03

这时,您可以选择使用OTP应用(Authentication App)或短信(Text Message)来生成OTP。如果选择OTP应用的话,就会看到下面的弹出窗口。

facebook_2fa_04

现在,您有两种方式来设置OTP应用:扫描左边的二维码,或输入右边的OTP编码。在PassXYZ中,我们可以选择前面所讲的,在Facebook条目编辑中的扫描按钮来导入OTP设置。当我们成功导入了OTP设置后,便可以在PassXYZ的菜单中选择OTP看到下面的页面了。

otplistpage

上图中显示的Facebook一栏,就是我们导入的OTP设置产生的。在Facebook一栏中,显示的六位数字为可以用作二次验证的一次性密码。目前多数的OTP设置一般是每半分钟或一分钟更新一次编码,由各个服务提供商自行设定。数字编码下面显示的时间线表示的是当前编码的有效时间。

Recovery Codes

紧急恢复码(Recovery Codes)是在紧急情况下用来替代OTP的。比如,手机临时无法正常工作时,或在使用短信OTP时遇到网络原因无法收到短信时,此时,就可以使用恢复码来应急。

在PassXYZ中设置好OTP后,可以在Facebook的2FA设置中选择最下面的选项Recovery Codes,来生成一组紧急恢复码。恢复码一般一次产生10个,它们与OTP类似,也是一次性使用的密码。产生的恢复码可以记录在PassXYZ中Facebook条目的便签里,以便查找。因为恢复码是一次性的,每次使用后,应将使用过的恢复码从便签中删除。

PassXYZ和PassXYZ Cloud的Beta测试

为了得到更多用户对PassXYZ新功能的反馈,PassXYZ和PassXYZ Cloud的最新版本都开放了Beta测试,欢迎有兴趣的用户参加。

PassXYZ的Beta测试版本可以通过下面链接在苹果商店,Google Play和Windows商店中安装:

iOS:

Android:

Windows 10

Windows商店也提供PassXYZ的Beta测试版,但没有公开的测试链接。有兴趣的朋友可以发邮件到下面的邮箱获取Beta测试版本:passxyz@foxmail.com。请在邮件中注明您的Microsoft账号邮件地址。

总结

本文介绍了什么是双因素认证以及最常使用的双因素认证验证方法一次性密码(OTP),并在此基础上以Facebook为例,介绍了如何使用PassXYZ来同时管理账户信息和设置与之相关的OTP。用户在使用网络服务时,可以使用PassXYZ来查询账户信息,同时也可以直接用PassXYZ来产生二次验证所需的OTP。PassXYZ所支持的OTP产生机制与Google Authenticator相同,都是基于rfc4226和rfc6238实现的,支持Google,Facebook,GitHub,Dropbox,Aliyuan和Microsoft等常用互联网服务所需的二次验证方法。


扩展阅读:

PassXYZ是一款跨平台的密码管理软件,可以运行在安卓和苹果手机以及Windows 10上。
PassXYZ基于著名的开源软件KeePass开发,所以兼容KeePass数据格式。PassXYZ的核心代码可以在开源社区GitHub上获取。PassXYZ最大的特点是通过提供大量的个人信息记录模板来分享和传递良好的使用习惯。PassXYZ个人信息管理软件和PassXYZ公众号的目标是通过两者的结合来推动和提高公众的个人信息管理水平。

您可以通过苹果应用商店微软应用商店Google Play华为应用商店搜索关键字PassXYZ来下载该应用。如果您想获得更多模板或对个人信息安全及管理有兴趣,可以搜索关键字PassXYZ关注公众号。您也可以通过微信号passxyz_kpclib来添加此公众号。PassXYZ公众号专注于个人信息安全及管理的相关知识。