【问题标题】:Smart card asymmetric key generation智能卡非对称密钥生成
【发布时间】:2013-06-23 23:18:42
【问题描述】:

我在研究如何从 PIV 卡生成非对称密钥方面处于死胡同。我查看了 NIST sp800-73-3 标准,但我无法做到这一点。该文档的第 3 部分概述了它显示他们使用 INS 47 来执行此操作,但我收到 6D00 错误。在获得此命令之前是否需要发送另一个命令?

另外,如果我错了,请纠正我,但根据我的理解,当生成密钥时,私钥会存储在卡上,而公钥会被返回。为了用私钥加密数据,必须将数据发送到卡并返回加密信息。这是准确的吗?一张卡一次可以存储多少把钥匙?

【问题讨论】:

  • 通常您需要先对卡进行身份验证,然后才能生成密钥。这通常在某种个性化阶段执行。如果返回一个公钥,那么它仍然需要以某种方式被信任。私钥确实应该始终保留在卡上(如果已分配给它)。通常可以创建多少个密钥仅取决于智能卡的实现和卡上可用的持久内存。

标签: c# smartcard apdu cac


【解决方案1】:

标准是一件好事,但对于智能卡来说大多是不够的。您需要特定卡的手册,描述它支持的标准的哪些部分。 对于密钥生成,最好查看 ISO 7816 第 8 部分(除了卡片手册)。有一些命令变体返回公钥,而另一些则将其默默地留在卡中以供以后检索。对于您的错误:有可能您的卡处于生命周期阶段,无法再生成密钥,但偶数指令代码 46 值得一试。

加密命令是执行安全操作,也在 7816-8 中描述。请注意,对于大量明文,使用非对称密钥进行加密是不寻常的。通常,出于性能原因,使用对称密码对文本进行加密,并且仅使用非对称加密传输对称密钥。

【讨论】:

    猜你喜欢
    • 2015-07-18
    • 1970-01-01
    • 2012-06-05
    • 1970-01-01
    • 2010-10-30
    • 1970-01-01
    • 2011-01-14
    • 2023-03-13
    • 1970-01-01
    相关资源
    最近更新 更多