适用于 Windows 的三因素身份验证

信息安全 验证 视窗 多因素
2021-08-15 02:14:36

这篇 HowToGeek 文章...

http://www.howtogeek.com/67556/how-to-unlock-your-pc-by-being-nearby-with-a-bluetooth-phone/

...让我思考。

是否有任何软件(或软件组合)允许对 Windows 机器进行三因素身份验证?我正在考虑一些可以很好地与常用笔记本电脑硬件配合使用的东西。因此,可能涉及的因素可能是:

  • 你知道的东西
    • Windows 密码
  • 你是什​​么
    • 指纹识别器
    • 面部识别
    • 语音识别
  • 你有的东西
    • 蓝牙设备
    • USB 密钥

以上只是这个问题的更一般范围的列表。就我个人而言,这些因素可能是:密码、指纹、蓝牙。有没有软件可以做到这一点?大多数时候,当我听说支持替代身份验证方法的软件时,它仍然是单一因素 - 例如,允许您使用手机或指纹而不是密码。我知道有些软件也可以启用两因素选项,但是有没有任何解决方案可以让您同时要求这三个选项?

4个回答

我假设您的意思是登录(或解锁)。

我相信 Windows 7 原生支持三个因素:

  • Windows 生物识别服务(需要附加设备)
  • 符合 PIV 标准的智能卡(需要附加设备)
  • 密码(Kerberos V5 用于 AD,NTLMv2 用于本地)

Windows Vista 和 Windows 7 具有相同的交互式登录体系结构。他们使用与凭据提供程序接口的凭据管理器。

凭据管理器可以支持四种类型的凭据:

  • “用户名和密码”(基于您知道的键盘)
  • 证书(你有的东西)
  • 带 PIN 码的智能卡(您拥有的东西 + 您知道的东西)
  • 生物识别(你是什么)

Windows XP 和 Windows 2000 共享稍微不同的登录体系结构。他们使用图形识别和认证 (GINA) 模块。该模块负责收集凭证并验证凭证。Microsoft 提供了一个标准模块:MSGINA.DLL。Microsoft 提供了三种方式来修改 GINA 模块的行为,并且还允许使用第三方 GINA 进行替换。三种修改方法是:预处理或后处理、挂钩和注册表设置。Microsoft 提供的标准 GINA 支持带 PIN 登录的智能卡。对于生物特征认证,让管理员安装第三方 GINA 模块似乎很常见。在我看来,这种架构将支持三因素身份验证。

我还发现了 Windows NT 支持三因素身份验证的证据。

“Windows NT 支持两因素和三因素身份验证,包括令牌、智能卡和生物特征。” 斯蒂芬·科布

我没有设置这个,但我认为理论上你可以使用我认为不是最漂亮的配置来完成这项工作。

正如您在此处(以及无数其他地方)所看到的,您可以在带有或不带 TPM 的机器上设置 bitlocker。大多数人使用带有 TPM + pin 的 TPM 配置 BitLocker。但是您也可以使用具有密钥的 USB 记忆棒对其进行配置。我相信这种配置允许您将 bitlocker 密钥放在 USB 拇指驱动器上(满足您拥有的东西)用密钥保护它(您知道的东西)。多一点搜索发现这个链接似乎包括一步一步地做到这一点(TPM + USB 启动密钥 + pin)。

一旦机器启动,正常的 Windows 登录就会启动,您可以对操作系统进行指纹登录(您就是这样)。

也就是说,我不相信威胁模型会完全支持这是最好的路径……这需要很多思考。但它可能。:)

在 Linux 上,PAM 提供配置身份验证策略的能力。您可以将 PAM 配置为需要两个因素 - 或者,如果您愿意,需要三个因素。您可以阅读 PAM 文档以获取有关如何执行此操作的更多信息。

免责声明:我无法想象三因素身份验证对大多数部署有意义。我会质疑安全性与便利性的权衡是否有意义。您应该仔细考虑当用户被锁定时会发生什么。很可能您的系统中最薄弱的环节不会是身份验证机制:它将是处理被锁定用户的协议,或者是对系统授权用户的社会工程攻击,或者是后门用户设置以便他们可以完成工作而不会被烦人的三因素身份验证所困扰(例如,用户设置的空白密码以加快登录速度,或者用户留下连接到设备的 USB 加密狗),或其他一些弱点。

无论如何,我认为需要三因素身份验证的情况非常罕见,我认为提供可以剪切和粘贴的配方没有任何意义:我认为任何真正需要三因素身份验证的商店身份验证可以去阅读 PAM 手册并弄清楚如何去做。

Sensipass 通过促进个人与生物特征图像(例如面部扫描)的交互来提供三因素身份验证。它适用于带摄像头的智能手机和笔记本电脑。他们正在构建浏览器扩展,因为它目前是一种 IDaaS 产品,但据我所知,还没有原生的 Windows 实现。不过很创新!