GnuPG + Yubikey:木马可以提取任何密钥或敏感信息吗?

信息安全 pgp gnupg 智能卡 优比键
2021-08-24 19:44:11

在笔记本电脑上使用带有 Yubikey 4 的 GnuPG 进行电子邮件通信时:木马可以提取任何密钥或敏感信息吗?


如果是这样,那将是什么信息?

1个回答

您可以用“YubiKeys 使用可编程微控制器实现加密智能卡协议”来总结答案的其余部分。那么这意味着什么?

加密智能卡

加密智能卡背后的想法是它们配备了自己的加密处理器,并且能够执行多种操作:

  • 为公钥/私钥加密创建密钥
  • 或者加载这样的键
  • 使用这些密钥签署文档(哈希)
  • 对称加密的加密会话密钥

支持的操作是提取密钥,OpenPGP 智能卡的想法是将破坏的影响限制在卡/密钥连接到机器的时间。这也意味着如果您想要备份副本,您必须在计算机上创建密钥,然后将其加载到智能卡/YubiKey。

所有这些都在 Yubico 的博客文章YubiKey NEO 和 OpenPGP中进行了解释:

警告:您无法备份密钥 - 因此,如果您丢失了 YubiKey NEO,重新生成另一个密钥对或其他丢失的密钥对将无法找回!加密文件时,请确保您有纯文本备份。

私钥之外的敏感信息

可以(但不是必须)在 OpenPGP 智能卡上存储一些个人信息,供应商也可以这样做(例如,FSFE 使用他们自己的密钥签署密钥的原始内容,包括他们预先编程的一些个人信息)。我不确定 YubiKey 是否实现了整个 OpenPGP 智能卡标准,而且我现在没有 YubiKey,但我猜是的。始终存储的信息是序列号,一旦创建密钥,它们的指纹和创建日期。有一个签名计数器可以指示钥匙/卡的使用情况。此外,您可以(但不是必须)设置持卡人的姓名、语言、性别、公钥的 URI 和一些登录数据。

可编程微控制器

YubiKey实际上是一台完整的计算机,所有的智能卡操作都是在软件中实现的。可能存在错误和其他问题,您无法真正验证软件,在非开发产品上您甚至无法安装自己的软件(这当然也适用于硬件令牌,也可能包括错误和后门,您还需要信任供应商,但软件通常更复杂,不太容易理解并且更有可能出现问题)。

YubiKey (Neo) 已经受到问题的影响,允许在不知道用户 PIN 的情况下执行加密操作由于此问题,无法提取密钥。

一个非常老练的攻击者甚至可以破解设备并读取存储的信息(当然,这也适用于 OpenPGP 和其他协议的“专用”智能卡)。

另一个声称是开源硬件和软件的替代方案(理论上可以进行验证,而生产自己的设备可能超出范围)是Nitrokey我不确定如何验证设备上运行的软件以及是否可以将整个软件与自编译(和评估?)源代码交换,至少您应该能够为单个应用程序这样做(像 OpenPGP)。