用U2F双重认证 Two-factor Authentication with U2F
双重认证(2FA)是现今保护账号安全最经常使用的方法。为了确保登陆安全,在输入只有你知道的信息(用户名和密码)的基础上,还要求一个只有你拥有的物品 – 手机,应用,或者是特殊的硬件设备。
但是,有一些2FA的方法是从根本上就不安全的。被谷歌验证服务流行推广开的2FA应用,基于时间的一次性密码(TOTP)在设置的时候会在网络上发送一个共享的秘密(主密匙)。多个机构和服务已经意识到这个弱点,并且创建了FIDO联盟,来制定了更新更安全的规定,比如说U2F。
从1.4.0版本的固件开始,TREZOR正式的支持U2F的规范。更新固件之后,你就可以把TREZOR当作双重验证的硬件设备来使用,支持的服务有很多,比如说谷歌和Dropbox。请在dongleauth.info查看支持U2F的服务方。
在这之上还有一个改进是,用户真正可以从设备屏幕中确认将要被授权的信息。
注意:你可以在dongleauth.info查看支持U2F的网站。
如何把TREZOR设置成提供U2F密匙的硬件?
在这个简短的说明中,我们会把Dropbox当作例子,其他的服务网站基本上都是一样的设置过程。
- 在Dropbox设置里,点击增加(Add)来选择TREZOR
- 插入你的TREZOR设备
- 等待TREZOR上面的提示出现
- 确认之后点击右键注册
- 完成!你可以用一个简单的密码还有TREZOR登陆Dropbox。
把TREZOR当成提供U2F密匙的硬件使用
我们使用GitHub来作为例子,其他的服务网站基本上都是一样的登陆过程。
- 像往常一样登陆
- 插入TREZOR设备
- 不需要输入PIN密码。你的用户名和密码会作为第一道验证,TREZOR会作为第二道验证。
在TREZOR里复原U2F计数器
因为所有的U2F密匙都是从一个主密匙里衍生出来的,从一个TREZOR里面复原种子就会复原所有的U2F密匙。但是,因为U2F的设计,有一些网站会设置一个记录登陆次数的计数器。当恢复一个种子,或者是克隆一个TREZOR的时候,这个计数器记录的登陆次数会出错。为了能够成功的使用TREZOR,需要增加登陆的次数。
注意:如果你的固件是1.4.2或以上,在恢复钱包的时候,U2F计数器会自动复原。只要恢复你的钱包,U2F计数器会被自动设置成恢复时候的UNIX时间。
你可以手动增加计数器的计数 python-trezor:
trezorctl set_u2f_counter $(date +%s)
这个命令会让计数器增加到当前的UNIX时间。(只要计数器的数字比服务提供方记录的要多,登陆就能成功)
相关的讨论:Reddit Thread
*原文档为 TREZOR User Manual,币惠存 翻译。如有问题请联系币惠存客服。