可以防止来自yubikey的PIV导出(私钥)?

时间:2017-06-04 23:04:08

标签: yubico

使用Yubico PIV ToolsYubiKey PIV Manager,我可以将客户端TLS证书加载到PIV插槽中,并将其用于Firefox中的身份验证。这很棒。然而...

有没有办法阻止导出PIV的私钥?据我所知,PIV管理密钥只保护设备不被修改,但没有做任何事情来保护所包含的来自出口的内容。

如果这是准确的,YubiKey似乎并不像PIV 2FA设备一样,因为2因素假设你拥有的东西"以及我插入设备的任何机器(或者在后台运行的软件)可以制作功能齐全的软拷贝。

我在Yubico论坛中cross-posted这个问题。

以下是我如何证明问题:

  1. 通过" YubiKey PIV经理"出口证书; (我的-cert.crt)
  2. 通过" YubiKey PIV经理"
  3. 从YubiKey删除证书
  4. 通过" YubiKey PIV经理"进口证书; (我的-cert.crt)
  5. 重启Firefox(加载了OpenSC)
  6. 我仍然可以通过PIV进行身份验证

1 个答案:

答案 0 :(得分:5)

TL; DR

YubiKey不允许导出私钥,只允许导出公共证书。相反,我正在 YubiKey PIV经理中删除(我看到的)一个错误。它没有正确删除私钥。

Kudos Yubico

首先,虽然我要指出我在YubiKey中看到的一个错误, 我不得不说,我对提供的最终用户支持印象非常深刻 由Yubico。我引述:

  

我们会尽力帮助提交支持案例的每个人。甚至是隔壁的白发奶奶

正确清除PIV私钥

自"删除证书"没有从YubiKey删除私钥, 重新加载公钥(可以由YubiKey导出)导致了 功能PIV界面。

我能够演示另外两种实际上清除的方法 私钥:

方法1:加载不同的证书

我在以下时无法进行身份验证:

  1. 加载我的证书并从yubikey(my-cert.crt)
  2. 导出一份副本
  3. 加载了不同的pfx / p12文件
  4. 加载my-cert.crt
  5. 方法1.1:生成随机证书

    最近我意识到这是最简单的方法。在" YubiKey PIV经理"中只需按几下按钮。

    方法2:"重置" PIV模块

    我在以下时无法进行身份验证:

    1. 加载我的证书并从yubikey(my-cert.crt)
    2. 导出一份副本
    3. "复位"我的yubikey PIV模块

      • 我使用此命令重置:yubico-piv-tool -areset
      • 奇怪的是,我先锁定了我的PIN和PUK。运行以下命令并输入错误输入超过3次的最简单方法(在PUK的情况下,您必须输入有效新PIN和坏PUK。呃。):

        # Use to lock out PIN
        yubico-piv-tool -averify-pin
        # Use to lock out PUK
        yubico-piv-tool -aunblock-pin
        
    4. 这是一个Bug吗?

      考虑到重置私钥的其他两种方法有多痛苦, "删除证书"是迄今为止最简单的方法"擦拭"你的证书 从设备。没有任何迹象表明其他两种方法是必要的。

      Yubico建议"重置"通过之前是推荐的行动 设备关闭给另一个用户。

      就个人而言,我认为这是一个错误,但我不知道Yubico是否已售出。

      这是我设想的糟糕情景:

      • 我加载了我的公钥/私钥对
      • 我从设备中删除了我的公钥(但是保持私钥保持原样)
      • 我重置了管理员密码
      • 我将设备交给其他人使用
      • 第二个人上传我的公共证书并获得我的公共/私人对的工作副本