【问题标题】:How are static keys loaded onto the card in globalplatfrom achitecture?全局平台架构中的静态密钥是如何加载到卡上的?
【发布时间】:2021-05-04 19:46:18
【问题描述】:

有一个相当新手的问题。但是这个问题困扰了很长时间:我们都知道 SCP01/02/03 中使用的会话密钥来自静态密钥材料。但我无法弄清楚这些静态密钥是如何加载到卡上的!也许我阅读规范太粗心了,但我已经搜索了与这些感兴趣的词相关的整篇论文,但我一无所获。哪位大佬能指教一下?顺便说一下,您能告诉我一些关于个性化过程的目的吗?请。


对于那些可能像我一样不知道数据“多样化数据”的使用的人,我在这里引用“GlobalPlatform Card Specifications 2.1.1 & 2.1 17 FAQ”中的一段:

通常,智能卡方案使加载在任何智能卡上的静态密钥(例如附录 D.2 - 加密密钥中列出的安全通道密钥)多样化,因此一张卡中的安全漏洞不会危及整个卡根据。因此,在附录 D.4.1.6 和 E.5.1.6 – INITIALIZE UPDATE Response 消息中描述的 INITIALIZE UPDATE 响应中存在“密钥多样化数据”。这种信息特定于密钥管理和卡管理方案:例如,它可以是唯一的卡标识符,允许卡外系统识别和/或计算特定卡携带哪些静态密钥。总之,这是一种操作技术,可以避免在卡外数据库中存储与发行卡一样多的密钥集,这可能是数百万。

【问题讨论】:

  • 看看 PUT KEY 命令...

标签: java smartcard javacard globalplatform


【解决方案1】:

您的智能卡通常附带安装在卡上的默认密钥。对于大多数卡,对于 SCP02 中的所有 3 个 DES 密钥,这是 404142..4F。因此,您可以尝试使用默认密钥,否则请向您的供应商/供应商/芯片制造商索取密钥。请注意,在尝试一定次数的不成功后,芯片会自行锁定..

为了更改操作生命周期的密钥,Global Platform 提供了PUTKEY 命令,通常还可能存在其他专有芯片特定方法(例如STORE DATA 或完全专有)。如果PUTKEY 不起作用,请联系您的供应商/供应商/芯片制造商。

【讨论】:

  • 非常感谢!我在很大程度上理解了你的观点,但如果是这样的话,在 INITIALIZE UPDATE 中还有一个从卡响应返回的数据列,称为“关键多样化数据”,在规范中它用作“关键多样化数据通常是数据后端系统用于派生卡片静态密钥。”你能解释一下吗?再次感谢。
  • 或者这只是卡制造商的ID来查找其静态密钥?
  • 奇怪,据我所知,多样化数据用于派生 会话密钥,而不是任何静态密钥。能否指出标准的相关部分?
  • 大多数卡可能会有一个非常具体的密钥集,但不是那些你通过开发包或非常低的订单获得的密钥集,例如
  • @MaartenBodewes 我上面评论中的“引用”引用是从该数据部分 7.1.1.1 GPC_2.2_D_SCP03_v1.1.1 的特定描述中复制的,太糟糕了,我不知道如何在评论中加载图片。 :) 也许规范中有一些错字?
【解决方案2】:

使用全新的 NXP JavaCard 和 jcshell 终端。更改值为1D9A55C27970FACEBABEDEC0DE4CCE55 的静态第一个键:

/terminal
/atr
/card
init-update
ext-auth enc
/set-var k 1D9A55C27970FACEBABEDEC0DE4CCE55
set-key 1/1/DES-ECB/${k} 1/2/DES-ECB/${k} 1/3/DES-ECB/${k}
put-keyset -m add -r 1 1

取出卡并放回卡,然后使用新的静态密钥进行身份验证:

/card
/set-var k 1D9A55C27970FACEBABEDEC0DE4CCE55
set-key 1/1/DES-ECB/${k} 1/2/DES-ECB/${k} 1/3/DES-ECB/${k}
init-update 1

这是我观察到的一些事情。全新的卡默认密钥索引为FF,这意味着静态密钥来自制造默认值。一旦引入新密钥,默认静态密钥将永远丢失,密钥索引将不再是FF。由于我们将静态键索引设置为1,因此init-update 必须提供此索引号。否则,卡片将选择此索引号。

我可以继续添加更多静态键,但不能删除。静态键只能更改值或在索引中重新定位。我还没有弄乱 10 字节的多样化数据,但我认为它们对于每张卡都是固定的。

【讨论】:

    猜你喜欢
    • 2016-04-23
    • 2012-09-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-22
    • 1970-01-01
    • 2018-11-03
    相关资源
    最近更新 更多