yubikey的目的是什么

信息安全 安全剧院 优比键
2021-08-10 21:29:18

我一直在阅读有关 YubiKey 的内容(例如,什么是 Yubi 密钥以及它是如何工作的?)并发现信息不完整。我的理解是,当提示用户输入密码时,他们所要做的就是将 YubiKey 插入 USB 端口并按下其按钮,然后它会自动在活动文本字段中输入密码。

第 1 点)
根据Linux Journal

每次按下设备上的按钮时,它都会生成一个一次性密码并将其发送到主机,就像您在键盘上输入一样。

那么,如果每次都是不同的密码,那有什么好处呢?

第 2 点)
它是否比使用任何带有密钥文件的 USB 密钥更安全?

第 3 点)
Yubico无法备份设备,因此如果您丢失或损坏它,您就有麻烦了(从这个意义上说,常规密钥文件要好得多)。

第 4 点)
读过它不容易受到恶意软件复制密钥的影响,但我不相信这一点。如果它像键盘一样,那么是什么阻止键盘记录器拦截击键?

第 5 点)
Yubikey 是开源的。因为它主要是硬件设备,这有关系吗?

第 6 点)
如果它只是输入密码,这与只写下或记住另一个密码有什么不同?

2个回答

关于 Yubikey 首先是什么的背景知识:Yubikey 是一种常见设备类型的变体,称为一次性密码生成器。基本上是一台微型计算机,它生成基本上无限的密码流,通常每分钟通过嵌入设备中的确定性算法生成一个。诀窍是,如果您知道秘密“种子”值,则下一个密码是可预测的,如果您不知道,则无法猜测。

这样,知道秘密种子的身份验证计算机可以确认您手头有 Yubikey,因为只有 Yubikey 和身份验证服务器1可以在特定时间生成一次性密码。

所以:

  • 第一点。只要身份验证服务器知道 Yubikey 应该生成什么密码,那么每次使用不同的密码就不可能有人从你的肩膀上窥探并窃取你的密码 - 因为每个密码在一分钟后就变得无用了。本质上,关键是您拥有的东西,而不是您知道的东西2
  • 第二点。对于身份验证 - 是的。由于上述原因。对于加密 - 不。因为您实际上想要记住并重用您加密文件的密钥。理论上,一个充满真正随机数据的 32GB USB 密钥可以作为用于身份验证和加密的通用熵源,但 USB 通常不难复制或操作。
  • 第 3 点。理论上,如果您知道密钥,您可以复制 YubiKey,但是一旦配置了 YubiKey,您就不能复制它,因为它必须是只有经过授权的人才能拥有的东西。当然,由于 Yubikey 用于身份验证而不是加密,因此可以为丢失旧种子的用户重新发行新的(带有新种子)。
  • 第 4 点。根据概述,捕获密码是毫无意义的,因为内部伪随机数生成器背后的数学运算使得预测未来的密码变得极其困难——因为如果你成功了,政府会给你数百万美元,这很困难。
  • 第 5 点。您希望它是开源的。最常见的密码缺陷不在数学算法中,而是在整体实现中。您想知道地球上的任何安全专家都可以提取系统的副本并根据需要检查它是否存在缺陷。
  • 第 6 点。根据前面的讨论。

1. 根据配置,使用 Yubikey 设计的方式有很多。
2. 虽然我相信 YubiKey 是一个开放的标准,所以如果你出于某种原因真的想记住秘密种子,你可以自己记住。

这类似于任何对称密钥一次性密码 (OTP) 技术。

第 1 点 - 这并不是要替换您的密码,而是作为身份验证的第二个因素。如果没有 Yubikey,您将无法生成验证系统所需的代码。

第 2 点 - 好吧,它生成一次性密码,因此它比可以复制并稍后在其他地方使用的证书文件更安全。

第 3 点 - 是的,但有时首选关闭失败。这仅取决于您希望该系统为您提供什么。

第 4 点 - 它可以拦截击键,但它们只能用于一种用途。不过,我不确定系统的妥协是否可以从 Yubikey 中获取所有秘密数据。你能提供更多关于你读到的内容的细节吗?我注意到在他们的网站上他们提到这不是一种被感染的方式,因为你不能像 USB 驱动器那样向它写入文件。

第 5 点 - 不是真的,除非你可以合理地确定其中没有某种后门。通常这些类型的工具有一个主密钥或类似的东西,这显然不是您作为最终用户想要的东西。