关于 2fa 双重验证方法的国内使用报告
对于联机账户,我们用用户名和密码来证明自己,在国外,用户名可能是电子邮箱,而国内更多的是手机号码。
在国内,有时候我们设置了很长的密码,或者懒着输入密码,登录的时候会直接点“验证码登录”,平台通常会发送一个 6 位的数字验证码到手机,输入法可能会自动填充。这个验证码就是 2fa,全称是双重验证方法。
而国外很多网站会强制要求使用 Authenticator app,例如 github、azure 服务。
对于 Authenticator app,国内手机、网络可能很难使用。最常用 Authenticator app 是 Microsoft Authenticator 和 Google Authenticator,一个问题是应用市场无法下载,另一个问题是无 Google play 框架,即使安装了 app,也无法使用。对于华为手机,可以使用 出境易 app 来模拟 play 环境,实际用起来,不仅需要科学上网,还常常验证延迟,不好用。
2024 年 7 月,“微软禁止中国员工使用安卓手机,工作必须使用 iPhone”的新闻成为热搜。微软发言人表示,“Microsoft Authenticator 和 Identity Pass 应用程序在 Apple Store 和 Google Play Store 上架。我们希望为员工提供访问这些必要应用程序的途径,由于中国区无法使用 Google 移动服务,我们即向员工提供了例如 iOS 设备的选择。”1
随后,华为应用市场上架了 Microsoft Authenticator,此前华为手机无法安装此 app.虽然可以在正常的网络环境下使用,但由于手机无 play 框架,只能使用普通的数字验证码功能。对于微软的需要 2fa 验证的各类平台账户,并不能直接当作 Microsoft Authenticator 扫码连接,而是要点 “i want to use a different authenticator app”后再扫码连接,否则会弹出无 play 框架的报错而无法完整添加使用。对于这种添加的 2fa 账户,除了微软个人账户之外,只能使用动态验证码,对于 Microsoft Authenticator 支持的一些功能,例如手机端选择数字登录等方式,都无法使用。
2fa app 更关键的一个问题其实是云同步问题。我使用校园邮箱注册的一个微软服务,是使用出境易 app 中的 Microsoft Authenticator,换手机时没有注意,旧手机格式化后,再登录那个服务,提示需要 2fa 的动态验证码,而我在新手机上再安装,并登录微软账户的时候,发现并没有自动同步。因为 Microsoft Authenticator app 使用的时候必须要登录微软账户,我原本以为会和微软便签一样,自动同步,但事实上并没有。后来那个账户我再也没有登陆上过。
如果是组织管理员账户,可以根据帮助文档2登录到 Microsoft Entra 管理中心3,把多重身份验证重置。
而 Microsoft Authenticator 的云同步功能,需要在 app 的设置中打开云备份,然后会备份到登录的个人账户中。
接下来是关键,在新设备上,安装 app 后需要在第一次进入后,点击“从备份中恢复”,或者在 app 主页下方,点击开始恢复。
随后登录个人账户,而不能点击“添加账户”,否则无法获取到备份。对于个人账户,并不会锁死只准用 Authenticator 的2fa ,这里可以用密码登录
然后再使用手机号码或者电子邮箱进行 2fa 认证,随后就会获取备份。
需要注意的是,这不是云同步,这意味着在 A 设备新添加账户 a,B 设备上并不会同步出现账户 a,而是要在 A 设备上,关闭云备份(删除云备份),再重新打开云备份(上传凭证),B 设备上重装 app,再登录个人账户,并选择恢复。
Authenticator 的 2fa 验证,几乎出现在所有云服务商的验证中。微软的 azure 可以用 Microsoft Authenticator,阿里云可以用自己的阿里云 app,华为云也是自己的华为云 app,而腾讯云,则是绑定在微信小程序的。
腾讯云的这种方法体验是最好的,因为腾讯云登录可以直接调用微信 PC 版截图的二维码扫描登录,免去验证码认证,而如果需要验证码,也可以直接在微信小程序中打开,最重要的是,因为小程序是多端同步的,所以他无需打开手机,直接用电脑就可以。
国内的云服务商,大多不强制开启 Authenticator 的 2fa 验证,因为都支持手机号接收验证码登录。
另外,国产 app "Authing 令牌"也是一款较好用的 Authenticator app,无需登录即可绑定账户,可以导入导出账户,但无同步功能。其余 2fa 工具其实都不如微软和谷歌的了。