验证器应用是如何生成验证码的
验证器应用生成的是基于时间的一次性密码,这种方法通常称为 TOTP。当你开启基于应用的双重验证时,服务会显示一个二维码。二维码里包含一个密钥,扫描之后,这个密钥的副本就存进了你的应用。从此,服务端和你的手机共享同一个密钥,而且它再也不需要通过网络传输。
生成验证码时,应用会把密钥和当前时间结合起来,时间会按一个较短的间隔取整,通常是 30 秒,再用一种标准的密码学算法进行运算,最后把结果截取成一串短数字,一般是六位。服务器在自己那边做同样的计算,然后比对两个结果。由于双方只需要密钥和时钟,应用在没有移动数据、也没有 Wi-Fi 的情况下同样能正常工作。
这种设计也解释了最常见的问题:明明输入无误,验证码却被拒绝。如果手机的时钟走偏了,它算出的就是错误时间段的验证码。把日期和时间设为自动同步通常就能解决,有些应用还自带时间校准选项。
如何挑选验证器应用
只要支持标准的 TOTP 方法,几乎任何应用都能与大多数服务配合使用,所以真正的区别在于应用如何保管你的密钥。各大平台公司都推出了自家的应用,例如 Google Authenticator(谷歌身份验证器)和 Microsoft Authenticator,许多密码管理器也能存储 TOTP 验证码。
要留意应用是否支持备份或导出验证码,因为如果应用只把验证码存在一部手机上,手机一丢,你就会被直接锁在账户之外。如果应用会同步到某个云账户,要确保这个云账户本身也受到良好保护,并优先选择对备份进行加密的应用。用指纹、面容或 PIN 码给应用加一道锁,可以在别人拿到你未锁屏的手机时多一层保护。
有些验证器应用还为自家公司的账户提供推送确认功能,你只需点一下就能确认登录,无需输入验证码。这很方便,但只适用于这一家服务商。对于其他所有服务,它的作用就是一个标准的验证码生成器。
把账户添加到验证器
在账户的安全设置中,选择设置验证器应用的选项。用应用扫描二维码;如果无法扫描,也可以手动输入设置密钥。随后服务会要求你输入当前的验证码,以证明设置成功。不要跳过这一步,在验证码被接受之前也不要关闭页面。
如果应用允许,给每个条目起一个清晰的名字,尤其是在同一个服务上管理多个账户时。只显示品牌名称的条目很容易和另一个混淆,一旦删错条目,就可能把自己锁在门外。
同时保存好服务提供的备用码。如果还没来得及备份验证码,装着验证器的手机就丢了,这些代码就是重新登录最简单的途径。
把验证码迁移到新手机
最稳妥的原则很简单:趁旧手机还能用,就把新手机设置好。在所有验证码都迁移完毕并测试通过之前,不要清空、卖掉旧设备,也不要拿去以旧换新。
许多验证器应用都带有转移或导出功能,会在旧手机上显示一个或多个二维码,供新手机扫描。另一些应用则会在你登录新设备后,从加密的云备份中恢复所有条目。迁移完成后,用新手机上的验证码登录几个账户,确认两边对得上。
如果你的应用没有转移功能,就只能逐个迁移账户。登录每项服务,打开双重验证设置,选择添加或更换验证器,用新手机扫描新的二维码并确认验证码。在很多服务中,密钥一旦更换,旧条目就会失效,所以之后记得把它删掉,以免混淆。迁移期间把备用码放在手边,万一中途出了问题也能应付。
什么是应用专用密码
应用专用密码是一串随机生成的长密码,可以让某个特定的应用或设备不经过双重验证就登录你的账户。它是为那些只认用户名和密码、无法显示验证码提示、也打不开登录页面的老旧软件准备的。中国大陆一些邮箱服务在第三方客户端里使用的“授权码”,思路也与此类似。
Google、Microsoft 和 Yahoo 等账户都允许你在安全设置中创建应用专用密码,而且大多数情况下需要先开启双重验证。某些类型的账户,例如部分工作或学校账户,或者加入了最严格安全计划的账户,可能根本不提供这项功能。每个应用专用密码通常只在创建时显示一次,所以要立刻把它粘贴到应用里。
由于应用专用密码会跳过第二重验证,请把它当作这个邮箱的完整密码来对待。为每个应用或设备单独创建一个,在服务允许的情况下给它起个便于识别的名字,并且绝不要在其他地方重复使用。
邮件客户端什么时候需要应用专用密码
现代邮件应用登录各大服务商时,会弹出浏览器式的登录窗口,直接完成双重验证,因此不需要应用专用密码。通常只有当某个程序或设备通过普通的 IMAP、POP 或 SMTP 设置连接,并且只提供一个简单的密码输入框时,才需要用到它,比如老版本的桌面邮件客户端、部分手机邮件应用、能发送邮件的扫描仪和打印机、备份工具、脚本以及较旧的智能设备。
一个简单的判断方法是先尝试常规登录。如果应用打开了服务商自己的登录页面,就直接用它登录。如果应用只提供服务器设置,而且在你开启双重验证之后一直拒绝你输入的正确密码,那就说明该创建应用专用密码了:用它代替常规密码填进去,其他设置保持不变。
各大服务商一直在引导用户放弃让第三方应用直接用密码登录的方式,所以今天还能用的应用专用密码,将来可能不再受支持。当你依赖的某个程序突然连不上时,先看看它的新版本是否支持现代登录方式,再决定要不要再创建一个应用专用密码。
管好验证码和应用专用密码
不妨定期在账户的安全设置中检查一下应用专用密码,撤销不再使用的那些,尤其是已经卖掉的设备或已经卸载的程序所对应的密码。有些服务商会逐个列出每个应用专用密码,有些则只允许一次性全部删除。在部分服务上,修改主密码也会让现有的应用专用密码失效,所以事后要做好重新创建的准备。
如果你的邮箱账户是从别人那里得来的,例如通过 rStock 这样的数字商品交易平台获得,请删除所有不是你创建的应用专用密码和验证器条目,然后设置你自己的验证器,并生成新的备用码。在 rStock 上,交付内容会以与订单关联的交付记录形式显示在你的订单页面上,所以在动手修改之前,先把这些信息复制到密码管理器中。使用任何获得的账户时,都请遵守服务商的使用条款。
最后,尽量把验证器应用、备用码和应用专用密码分开存放。一部被偷的手机或一张泄露的便签,绝不应该足以把你邮箱的所有钥匙都交到别人手里。