Beginning today, you can now completely remove the password from your Microsoft account.

2021 年 9 月 15 日,微软安全、合规和身份副总裁(Corporate Vice President, Security, Compliance and Identity)Vasu Jakkal 宣布 用户在登录微软旗下的账号时(具体范围参见下文)再也不用输入那些难缠的密码了。微软的这一举动引发了不少关注,毕竟对于无密码一事大家莫衷一是。

当你在微软启用无密码登录以后(图片来自于微软网站)

其实微软的「无密码」之路早有端倪,在 2017 年,微软就在先前 Microsoft Authenticator 两步验证的基础之上,允许 用户免密(不用输入密码)登录微软账户。Microsoft Authenticator 目前已经不止于两步验证,更多用法可参见文章 密码管理,多一种选择

使用 Microsoft Authenticator 进行无密码登录(图片来自于微软网站)

2018 年,微软再进一步,支持 FIDO2 安全密钥的无密码登录。安装了 Windows 10 2018 年 10 月更新的用户可以通过设置 Windows Hello (网络摄像头或者指纹读取器)或者来自 Yubico‎‎ / ‎‎FEITIAN‎‎ 的支持 FIDO2 标准的安全密钥设备,并通过 Edge 访问微软账户设置,将账户与 Windows 10 电脑相连,这样就可以实现无密码访问。

2019 年,微软 首次 为 Windows 10 引入了无密码登录, 而在今年 3 月,微软为商业用户 引入 了无密码登录。

微软所说的无密码是什么?

其实如果你使用过 Microsoft Authenticator,那么对于微软此次提到的无密码应该不至于太陌生。毕竟在使用 Microsoft Authenticator 登录 Outlook 邮箱的时候,就不用输入密码。

Microsoft Authenticator ,无需输入密码便捷登录微软服务

微软所说的无密码其实就是允许用户删除账户密码。密码删除之后,用户可以通过 Microsoft Authenticator 应用、 Windows Hello、FIDO2 安全密钥等这样的一些无密码的身份验证方法来登录。

目前微软旗下的 Microsoft 365、Teams、Outlook、OneDrive、Family Safety(微软家长监护服务)以及微软边缘浏览器 Microsoft Edge 已经 可以 无密码化了。对于那些想感受无密的用户而言,可以参照微软的 帮助文档 进行操作。

需要注意的是,对于较旧版本的 Windows、应用和服务仍然需要密码。这当中包括:

  1. Xbox 360
  2. Office 2010 或更早版本
  3. Office for Mac 2011 或更早版本
  4. 使用 IMAP 和 POP 电子邮件服务的产品和服务
  5. Windows 8.1、Windows 7 或更早版本
  6. 一些Windows包括远程桌面和凭据管理器的功能
  7. 某些命令行和任务计划程序服务。

使用密码为什么会不安全?

场景的认证手段(图片来自于微软网站)

很多人都已经认识到了采用「12356」这样密码的安全性问题。这种安全性问题给用户和网站两方都产生了一定的影响。用户转向使用 1password、Microsoft Edge 等 App 自动生成的强密码;网站要求用户采用包括字母大小写、数字、符号等要素的最低8位的密码成为一种常态。然而,不管是前者还是后者都对用户的记忆力提出了挑战。

所以在这种情况之下,(尽管知道这样不安全)很多人就开始了「一码用万站」,或者用简单的口诀(密码公式)来记忆密码,如数字+网站的形式(比如 0755sspai )。这两种方式,前者能占到 10%,而后者则高达 40%。抛开网站不讲,日常中也充斥着使用相同密码的例子,大部分人名下的银行卡密码都是相同的。

我向来知道哪条路是对的,但我从来不走,……因为 TMD 的难了。

与己方便,自然也会与人方便。容易记住的密码,自然也就更容易被黑客猜到。一旦黑客攻击网站得手或者网站本身发生密码泄露,那么用户采用了相同的密码的其他网站就会受到波及。轻则个人隐私信息流出,重则影响到个人的财产安全。

两步认证是如何保证密码安全的?

在前文中,我们已经了解到密码使用中存在的一些问题。为了更好提升用户账户的安全性,在密码验证的基础之上,厂商又推出了多重要素验证(Multi-factor authentication,缩写为 MFA)用来在账户登录的时候提供额外的保护。在 MFA 中有一个特例,两步认证(2-Step Verification,也称 Two-factor authentication,缩写为2FA)经常被使用。

在今天我们的网络生活乃至线下的生活中,我们能够见到各种各样的两步认证方案。

PIN 码

PIN 码,即用户个人识别码(Personal identification number,缩写为 PIN)。它是一串数字组成用于确认用户身份的授权通行码。这种两步认证方式在银行卡系统中比较常见。

基于时间的一次性密钥和 One-time passcodes

基于时间的一次性密钥(Time based one-time passcode,缩写 TOTP)是一种常见的动态密码产生方式,它是一种根据预共享的密钥与当前时间计算一次性密码的 算法,顾名思义主要基于时间为服务器与密代码生成器的同步条件。登录/验证时利用密码生成器产生动态密码,过时不用或者验证之后该密码自动失效。常见的 TOTP 密钥生成器主要分为软件和硬件,前者如 Google 身份验证器和 Microsoft Authenticator,后者比如网易的将军令、一些银行的动态密码令牌。

这里所提到的 One-time passcodes 是指在设置完两步认证之后,服务的提供商可能会让你备份的另外几个代码,这些代码将起到救命稻草的作用,比如用户在丢失了 TOTP 以后用来进行两步认证。比如在 iPhone 开启两步认证之后,Apple 给用户生成的恢复密钥。

短信 / 语音电话 / 邮件

短信(或语音电话)与邮件也是一种比较常见的两步认证方式。前者在使用银行进行在线交易的时候会经常用到;而后者在登录某些网络服务的时候也必不可少,比如 Notion 开始之初就是走的邮箱路线。

而对于那些开启了两部认证的 Gmail 用户来讲,当在陌生电脑上登录的时候,Google 也发送相应的短信进行二次验证。

Google 登录时提供了多种多样的两步认证机制

Apple iOS 服务发来的两步认证与 Google App 里的「确认」

作为手机界的两强,iOS 背后的 Apple 和 Android 背后的 Google 在两步认证上各有各的招数。

对于 iOS 和 Mac的用户来讲,Apple ID的两部验证应当不会感到陌生。在 iOS 9 或 OS X El Capitan 及以上版本系统的设备,都可以开启双重认证。Apple ID 两步验证开启之后,后续的每次更改账户信息,苹果的服务器都会发代码到授信设备上以验证登陆者的身份。

关联阅读:如何开启 Apple ID 两步验证,预防隐私泄露

而对于使用 Google 服务的用户而言,除了会收到上文所提到的短信,他还会在登录的邮箱及辅助邮箱中收到一封 Google 发来的登录确认邮件;即便是登录未遂,同样两个邮箱也会收到提醒邮件。

提供给邮件额外进行一次提醒

 

手机 / 设备 / 单独硬件的生物识别

生物识别技术现在多指对生物体(一般特指人)本身的生物特征来区分生物体个体的计算机技术。日常中比较常见的生物识别主要包括指纹和人脸。

这当中的例子对于我们来讲最熟悉不过的就是信用卡的在线开卡了,手机充当一个生物识别的硬件,人脸则是认证通过的「密钥」。在微软无密码化的布局中,Windows Hello 也是有使用到生物识别,

Windows Hello 面容与指纹信息,图片来自于微软网站

单独的硬件密钥

硬件密钥由于采用了硬件设备而不是传统上的密码来处理身份验证,因而其安全性得以提高。这种密钥通常是 USB 设备,也有采用蓝牙或者 NFC 等形式。在日常中登录银行网站使用的 U 盾其实就是硬件密钥的一种。

在使用中,网站可以通过调用 WebAuthn API 的形式访问硬件密钥。微软在无密码登录中也支持硬件密钥登录方式,不过需要 FIDO2 标准。

Yubico 的硬件安全密钥,图片来自于微软网站

无密码之后,再看两步认证方式的安全性

世上并不存在完美无瑕的东西,两步认证也是一样。在没有密码以后,上面提到的这些两步认证方式也或多或少的存在一些问题,而这些两步认证的方式也是这次微软无密码认证中的重要组成。

这当中首当其冲的就是他们在面对黑客攻击时是十分脆弱的。在这些攻击当中,通道劫持(Channel Jacking)和实时的网络钓鱼因其攻击成本较低是无密码身份证验证器被攻击的主要方式。

以通道劫持为例。许多身份验证器都是靠通信通道来工作的。这当中对于我们来讲,更为熟知的可能就是诈骗短信了。根据微软的 数据,日常中我们常见的通道占比大致是电子邮件(55%)、短信(44%)、推送通知(4%)和语音通话(1%)。这当中通过服务器进行传输的一次性密码易发生通道劫持的情况。

手机获得登录验证码的时候,手机(以及相关的移动运营商、基础设施、客户支持和 SIM 卡等)就是这里所提到的通道。

而在网络钓鱼的问题上,早在 1987 年网络钓鱼就已经 出现。网络钓鱼通常引导用户到网址与接口与真实站点近乎克隆的网址上输入个人信息,进而套取用户的个人数据乃至资产信息。尽管道理大家都懂,但是事实上直到今天,打击网络钓鱼的行为,更进一步讲侦测网站是否是「假货」在实际上仍然很困难。

微软借用罗马神话中的双头雅努斯(Janus)来阐述网络钓鱼,图片来自于微软网站

上文中提到的基于时间的一次性密码(TOTP)、 Microsoft Authenticator 这样的身份验证应用程序都有可能发生实时网络钓鱼的问题。

除了行走在网络中的黑客,现实中的一些问题也是绕不过去的:肩窥(Shoulder surf,站在别人身后,视线越过他人的肩膀偷窥输密码的行为)、TOTP 设备可能发生的电量用完与时钟不同步、实体设备 / 载体被盗……

除了上面这些问题之外,对于硬件来讲,绕不过去的还有一个质量问题。尽管厂商用各种措施来保障,但质量问题一旦发生其影响对于用户来讲是非常严重的。稍加检索,我们不难发现各种硬件厂商召回的消息。

写在最后

没有了密码,也就不会密码被盗。微软这种从源头上取消密码的做法倒也不失为一种思路。在一步步推进无密码化的同时,微软也已经在其内部践行无密码的理念。按照 Vasu Jakkal 所说,在微软几乎 100% 的公司雇员已经在使用无密码登录的方式登录他们的公司账户。

然而对于无密码化而言,尽管微软给出了「简单、快速、安全」这样的高评价;但这并不意味着,这条无密码之路走起来一片坦途。

暂且不说无密码化在推行的过程中会遇到的各种老旧系统与服务的兼容性问题,光是一个解决方案中的联网问题就够让用户头大了。一旦无法访问互联网或者网络故障,那么用户剩下的就只是焦虑了。

在无密码化的推行的过程当中,微软遇到的最重要的一个问题可能就是改变用户的观念了。说服用户接受一个无密码的账户,这并非易事。我们可以近似的类比一下现实中信用卡密码有无的问题。即便是微软的体量如何之巨,敢为天下先,但微软人数毕竟只是茫茫人海中的一粒沙。

此外,即便是微软的无密码化取得了成功,它也会面临一个大范围推广的问题。网络上成千上万种服务的都会涉及到密码的问题,这些服务背后的厂商他们是否愿意与微软进行合作,用户是否放心他们之间进行合作,这些都是一个打问号的事情。

最后,就我个人而言,虽然已经用 Microsoft Authenticator 取代了 1Password 的部分功能,但是目前依然是保持观望,没有追随微软步伐、删掉密码的打算。

> 下载少数派 客户端、关注 少数派公众号,每天了解科技圈的新鲜事 📰

> 特惠、好用的硬件产品,尽在 少数派 sspai 官方店铺 🛒