惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

大猫的无限游戏
大猫的无限游戏
aimingoo的专栏
aimingoo的专栏
I
InfoQ
B
Blog RSS Feed
D
DataBreaches.Net
S
SegmentFault 最新的问题
P
Proofpoint News Feed
A
About on SuperTechFans
WordPress大学
WordPress大学
Hugging Face - Blog
Hugging Face - Blog
博客园 - 司徒正美
小众软件
小众软件
博客园 - Franky
有赞技术团队
有赞技术团队
D
Docker
T
Tailwind CSS Blog
雷峰网
雷峰网
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Blog — PlanetScale
Blog — PlanetScale
酷 壳 – CoolShell
酷 壳 – CoolShell
B
Blog
V
Visual Studio Blog
宝玉的分享
宝玉的分享
爱范儿
爱范儿

少数派

派早报:Google 发布 Fitbit Air 等 - 少数派 「新人报到」確認需求,再開始 - 少数派 从 SOLO 独立开发者社区,我看到了越来越多开发者开始做自己的产品 - 少数派 我怎么管理那些"不常做,但总会忘"的生活事项 - 少数派 人形机器人量产元年,数据才是具身智能的“生死线” - 少数派 BuhoLaunchpad 高度还原 Mac 启动台:开发历程与思考 - 少数派 五年陪伴依然不舍,DIY 换壳后让罗技 MX Master 3 继续服役 - 少数派 新玩意 240|少数派的编辑们最近买了啥? - 少数派 一日一技|为什么你应该关闭 iOS 的键盘声音 - 少数派 我做了个插件和 Skills,一键提取任何网站的设计规范 Design.md - 少数派 住在三四线城市的你,该开始录播客了 - 少数派 甘南秘境,大白高国 - 少数派 AI的审美:谁让把我变成川内倫子 - 少数派 返工怎能不烦恼,打工人片单总有一部是你的「嘴替」 - 少数派 为了让「上厕所」更健康,我做了一个小工具 - 少数派 AI + Skill,能够让生成的文章去除 AI 味吗? - 少数派 新玩意|韶音OpenDots ONE 耳夹式耳机 - 少数派 《美满》| 在每一个春天的晚上相爱(362) - 少数派 新玩意|优篮子 PS01 MagSnap 磁吸支架 - 少数派 自我整合手记 | 我开始早睡了:用稳定规则,为自由托底 - 少数派 用龙虾(OpenClaw)两个多月,我最深的12个体会 - 少数派 听歌时间到,12 张你可能错过的 2025 华语乐坛好专辑 - 少数派 承诺能追吗 - 少数派 macOS 26启动台没了? 我做了个不一样的App启动器 - Keboard - 少数派 《四海为家的人》| INTJ对话INTJ(361) - 少数派 你发过的那些黑历史,是时候一次清干净了 - 少数派 新玩意:安安静静玩,越玩越专注:计客密码机 - 少数派 iPad 用户首次体验 Android 平板:vivo Pad6 Pro - 少数派 数据逻辑强 - 少数派 极北行+ | 一路向北,探访日本至北之地 | 001 - 少数派
给你的网络账户安全来次升级,两步验证全面指南 - 少数派
2018-03-24 · via 少数派

什么是两步验证

我们登陆一个网络服务时,使用账号密码的组合来验证身份,一旦密码被盗,账号安全便受到威胁。少数派有关于使用密码管理软件和设定更安全密码的专题文章。请参考相应文章,那是提升账户安全的第一步。

而这里要讲的两步验证,则是更进一步提升账户安全。两步验证,顾名思义就是需要两个步骤(使用两个钥匙)来验证使用者身份。给网络安全额外一层保护,即使密码被盗,账户依然安全。

打个比方,以前只有一道大门配一个钥匙,钥匙被盗坏人就能进屋。两步验证有两个大门和相应的钥匙,一个钥匙被盗(通常是密码)也打不开门,需要第二个钥匙。

两步验证 两道大门
两步验证 两道大门

两步验证 (Two-Step Authentication) VS 双因素验证 (Two-Factor Authentication)

根据验证机制,验证的因素有三类:

  • 「你本身」(Something you are),如指纹、虹膜和面部识别等
  • 「你拥有的」(Something you have),难以被复制的实体,如你的手机、实体动态密码器
  • 「你知道的」(Something you know),记在脑子里的,如密码

双因素验证使用两个因素:例如,一个是「你知道的」(密码),另一个是「你拥有的」(验证器,手机或 USB 钥匙)。盗号者必须通过不同渠道同时盗取两个不同机制的因素才能完成盗号。同时在网上盗取密码,并且在现实生活盗取实体非常困难,所以双因素验证更加安全。

「双因素验证」一定是「两步验证」,「两步验证」不一定是「双因素验证」。区别便是两步骤是否使用以上三类因素中的两个不同类别。但对于一般使用者,无论因素是否相同,两步验证都远比只有密码安全的多。

如何工作

启用两步验证后,在新设备登陆账户时:

  1. 像以前一样输入账号密码
  2. 并且还需要输入一个验证码(验证器验证码、短信验证码、电话语音验证码、实体 USB 钥匙等等的其中一个)

验证器的工作原理

短信验证码和电话语音验证码都是验证你是否持有这个手机或者电话来判断身份,原理比较简单,这里要详细讲的就是以上第二步中的验证器验证码。

使用验证器验证,在手机上安装密码生成应用程序验证器(Authenticator) ,可以生成一个随着时间变化的一次性密码,用于帐户验证,而且这个应用程序不需要连接网络即可工作。验证器使用 TOTP (Time-based One-time Password) ,也称时间动态口令,是OTP(One-time Password) 的一种,由 HOTP(HMAC-Based One-Time Password)演变而来,具体请参考 RFC 4226。网银和网络游戏的实体动态口令牌也是类似原理。它们都在用,你就知道有多安全啦。

用户开启验证器服务时:

  1. 服务器随机生成一个的密钥,例如「KJ9KU6J1N2SC7EF」,并且将这个密钥保存在数据库中。
  2. 页面上会显示一个二维码,内容是这个 TOTP 的密匙。
  3. 用户使用验证器客户端扫描二维码,把密钥「KJ9KU6J1N2SC7EF」保存在客户端,此时该密匙便离线保存在验证器里了。

用户需要验证身份登陆时:

  1. 验证器客户端每30秒使用密钥「KJ9KU6J1N2SC7EF」和时间戳通过一种「算法」生成一次性动态口令,如「325434」。
  2. 用户输入一次性动态口令「325434」。
  3. 服务器端使用保存在数据库中的密钥「KJ9KU6J1N2SC7EF」和时间戳通过同一种「算法」生成一个6位数字的一次性动态口令,应该与客户的相同。
  4. 两个动态口令在服务器验证时如果相同,则验证成功允许登录。

你需要两步验证吗?

两步验证的优点很明显:提供额外的安全保护。而且这样的安全保护是 1+1 > 2 的。但是也有缺点,那就是第二钥匙丢失时可能被锁在自己账户外。

因此,在设置两步验证时,需要注意两点:

  1. 需要至少设置两个「你拥有的」验证方式,即:验证器验证码、短信验证码、实体 USB 钥匙中的两个。
  2. 设置两步验证时,会生成一次性登陆码,也是为了避免被锁在账号外。一定要保存好一次性登陆码。

并不是每个人都需要两步验证,盲目设定而没有好的管理习惯很容易把自己锁在账户外,造成不必要的麻烦。请根据你对账户的重要性和验证方式的信心酌情考虑。

动手设置两步验证

选择合适的验证器 App

由于 TOTP「算法」是开放的,所以可以使用任何的验证器 App 将所有的验证密匙放在一起方便管。常见的验证器有:

  • Google Authenticator
  • Microsoft Authenticator
  • OTP Auth(内购)
  • 1password (订阅收费的高级功能)
  • Authy
  • LastPass Authenticator
  • SAASPASS
  • Obsidian - OTP Authenticator

选择验证器主要考虑以下因素:

  • 稳定性
  • 持续更新
  • 安全性
  • 是否有云备份功能(云备份可能会降低安全性)
  • 颜值

毕竟涉及安全,一般推荐考虑大厂家的 App 。

进入相应网站开启两步验证

大的厂家如 Facebook 、Google 、 Evernote 、 Dropbox 等都有两步验证功能,而且开启方式相似。以下以开启微软账号的两步验证(这里叫双重验证)为例。

步骤1. 打开账户设置页面:https://account.microsoft.com ,进入「安全性」-「更多安全选项」并输入密码验证身份。

null

步骤2. 点击「设置双重验证」,按照提示设置:「下一步」-「应用」-「其他」。注意:这里选择「其他」是为了能使用通用的验证器,如果使用微软自家的验证器,这里按相应系统选择直接登陆账号,没有扫描二维码这一过程。

null

步骤3. 使用自选的验证器 App 扫描二维码(可能需要保存二维码),添加密匙到 App 。

null

步骤4. 输入 App 上显示的动态码,验证成功。

null

步骤5. 因为有的应用无法弹框输入两步验证码,所以还需要为这些应用或设备创建应用专用密码,按照提示创建并使用专用密码去相应设备登陆即可。

null

步骤6. 在「恢复代码页面」,生成恢复代码,并保存好。

null

验证器备份

使用验证器最大的风险便是设备或者 App 损坏或丢失,把自己锁在自己的账户外。那做好备份就很重要了。

云备份

使用 iCloud 备份的有:

  • OTP Auth
  • Obsidian - OTP Authenticator

而使用自家云备份的有:

  • 1password
  • Authy
  • LastPass Authenticator
  • SAASPASS

使用云备份涉及到传输过程和云上储存的安全性,是否降低了两步验证的安全性有待讨论。同时也要考虑使用 iCloud 或自家备份系统的安全性差异。

本地备份

注意到两大厂家的验证器 Google Authenticator 和 Microsoft Authenticator 都没有提供云备份功能。不知道这是基于安全考虑还是还没有来得及做(懒)。所以,如果你使用这两家的验证器App或者不信任云备份就需要自己做本地备份。

本地本份其实很简单,在开启两步验证的第三个步骤时,把二维码通过截图或者右键另存为保存下来,和一次性登陆码放在一起,放在安全的地方。在验证器 App 损坏,手机丢失等情况下,只要用新的验证器 App 扫描二维码就可以再次添加,不需要全部关闭两步验证再全部开启重新设置。