我目前正在研究我们公司的双因素身份验证系统的选项。我目前正在调查基于证书的令牌与基于一次性密码 (OTP) 的令牌(RSA SecurID 是最常见的)的优缺点。最初它只会保护我们的 VPN,但稍后可能会包括其他服务。
据我目前了解,基于证书的令牌似乎比 OTP 令牌有许多优势。它们支持其他用途,例如预启动身份验证、全盘加密、电子邮件签名等。基于证书的令牌可在现场配置,不需要 RSA 等公司按订单制造。我理解它们需要 PKI,但并不是每个人都愿意设置或维护它,而 OTP 令牌则不需要。
尽管上述内容表明基于证书的令牌如今似乎是更好的选择,但我的印象——也许是错误的——OTP 令牌仍然更受欢迎。难道只是因为它们比基于证书的令牌更便宜和/或更易于实现吗?我遗漏了什么吗?我对优缺点的评估大体上正确吗?为什么你会选择其中一个而不是另一个,在什么情况下?
答案1
证书令牌和 OTP 令牌在某种程度上相似,但在实践中,它们的实现却有很大不同。
我总结如下:
一次性密码 -轻量级、单点解决方案、更简单、专有集成。安全性较低、互操作性较差、每个身份验证器的成本较高
证书/PKI -重型、广泛的解决方案、极强的互操作性、多用途、可用于物理和逻辑访问
以下是更详细的描述
一次性密码
- 标准基础:一般为专有,可能存在OSS解决方案
- OTP 验证器成本:每台 25 - 150 美元 + 服务器软件
- 整合程度:低
- 集成:仅限于涵盖的产品(不多)
- OSS 友好:否
- 专有:是
- 是否可与合作伙伴或政府互操作:否
- 是否可用于 PACS:否
- 可用于 LACS:是
- 可用作 ID:没有已知的令牌 ID。
- 是否可用于文件存储:否
- 安全等级:中等
- 备份令牌重复:可能存在但从未见过
- 服务器令牌:被认为不存在
- 可供机器对机器的自主企业应用程序使用:否
- 外形尺寸:非常有限
- 是否易于通过命令行应用程序使用:否
- 应用程序的钩子:非常有限,如果有的话。
- 软件实现:无
- 硬件实现:仅
- 定制:很少/无
- 与气隙集成:否
- 与独立计算机集成:否
- 是否需要中间件:否
- 建议/要求第三方验证客户端:否
- 是否需要读卡器驱动程序:否
- 通过 Active Directory / GPO 进行控制:最低限度
- 与移动设备的互操作性:很少,如果支持的话
证书/PKI
- 标准基础:x509 PKI,以及已发布的 RFC、商业和 OSS 实施
- OTP 验证器成本:每台 5 - 35 美元 + 服务器软件
- 整合程度:低
- 集成:几乎不受限制;我统计了我的机构中超过 200 个集成用例。
- OSS 友好:是
- 专有:否
- 可与合作伙伴或政府互操作:是
- 可用于 PACS: 是
- 可用于 LACS:是
- 可用作身份证:是
- 可用于文件存储:是
- 安全等级:高
- 用于备份的令牌复制:可通过安全方式实现
- 服务器令牌:有多种形式
- 自主企业应用程序对机器对机器的可用性:是
- 外形尺寸:可扩展性极强,适用于多种设备
- 可通过命令行应用程序轻松使用:是
- 应用程序钩子:存在于许多应用程序中
- 软件实现:是
- 硬件实现:是
- 定制:广泛
- 与气隙集成:是
- 与独立计算机集成:是
- 是否需要中间件:是
- 建议/要求第三方验证客户端:是
- 需要阅读器驱动程序:偶尔,主要用于旧的操作系统
- 通过 Active Directory/GPO 进行控制:广泛
- 与移动设备的互操作性:iOS 和 Android 支持自动重新密钥
OTP 挑战:
我见过许多 OTP 实现,用户仍然需要使用 OTP 令牌进行身份验证,但随后必须使用额外的软件证书系统来处理加密电子邮件。这会导致不安全的情况,并且 OTP 不太方便用户使用。由于 OTP 的集成点很少,因此与 PKI 相比,它们主要用作点解决方案。
证书/PKI 挑战:
这在很大程度上取决于良好的规划和强大的 PKI 实施。当您谈论完整的企业 PKI 时,您谈论的是大量的基础设施。请参阅我的帖子https://serverfault.com/a/377230/40488了解我们正在讨论的基础设施数量的良好示例。尽管 PKI 被认为是昂贵的,但有些公司可以将其作为外包服务为企业运行,比您自己运行更便宜。此外,您坚持使用 x509 标准,因此阅读 Guttman 关于该主题的著作可能是个好主意。
结论:
我建议您根据集成点的数量来决定选择哪种身份验证器。
如果您只打算将其用于 VPN 登录和 Windows 登录以及一些应用程序身份验证,则 OTP 可能会更好。
如果您正在寻找 VPN 登录、Windows 登录、安全电子邮件 (SMIME)、基于云的应用程序、全盘加密、使用命令行实用程序、SSH、与 OSS 产品的广泛集成、与移动设备的 MDM 解决方案的绑定、或可能重新用作身份证或物理访问令牌、或受监管的行业、或安全至关重要的政府类型的工作,我会选择众多智能卡外形中的证书/PKI 系统。
答案2
我认为你的评估基本正确,我认为没有什么可补充的。维护 PKI 对许多人来说都是致命的。
一些基于 OTP 的令牌的另一个优点是它们通常不需要驱动程序。显示 OTP 的令牌显然不需要驱动程序。一些 OTP 令牌(如 Yubikey)模拟键盘,不需要特殊驱动程序。基于证书的令牌需要访问 USB 端口和已安装的驱动程序。
基于 PKI 的令牌的其他用例实际上并没有引起大多数人的兴趣。通常,您需要身份验证的任何事情和您可能用令牌执行的其他任何事情都没有直接关系。而且一般来说,公司不希望您将身份验证令牌用于其他任何事情。他们不喜欢您可能将其他东西(例如电子邮件证书)加载到令牌上的想法。
此外,有些人认为 OTP 令牌的不变性和工厂编程是一种优势。他们认为出错的可能性更小,而且需要经过的步骤也更少。对于大公司来说,他们只需购买一批令牌,将一个文件加载到计算机中,然后“就可以正常工作”了。
答案3
基于 OTP 的令牌通常更易于处理。对于管理员和用户来说都是如此。
不幸的是,基于 OTP 的令牌有一个缺点:它们不能离线工作。这就是为什么您可以使用智能卡对笔记本电脑进行预启动身份验证和离线身份验证。
一些 OTP 解决方案可能会尝试进行离线身份验证,但如果你仔细思考就会发现,很难真正实现双重身份验证。我称之为一重半身份验证。
有一些解决方案可以管理 otp 令牌和智能卡。
答案4
除非水平非常高,否则我不确定它们有多大的可比性。
宾果卡和一次性密码本非常流行。这实际上是智能卡实现的反面。这没什么吸引力。传统的智能卡实现既昂贵又困难,对于 99% 调查它的组织来说,这个决定是学术性的。
我认为您列出的任何选项都不是显著的优势。组织使用多因素解决方案的目的是能够要求所有身份验证都使用它。这可以防止攻击者(轻易地)在没有智能卡的情况下使用该帐户。然而,缺点是,似乎总有一些应用程序在需要时不起作用,需要某种解决方法。这基本上是任何提示输入 Windows 凭据(假设您使用 Windows)并且不识别或支持智能卡的应用程序。自定义 Web 应用程序相当容易启用智能卡。专有供应商应用程序则不然。
这只是最基本的话题。供应商和产品的声誉和质量才是需要考虑的重要因素。智能卡需要内核驱动程序,并且需要透明和坚固。实际上,它可能效果不佳。不过,这可能因供应商而异。