Smartcard 安全Com SCP02会话:“安全”的角色是什么;“关键多元化数据”;在响应初始化的Update命令时返回

Smartcard 安全Com SCP02会话:“安全”的角色是什么;“关键多元化数据”;在响应初始化的Update命令时返回,smartcard,javacard,globalplatform,Smartcard,Javacard,Globalplatform,在初始化更新命令的响应字段中,将密钥多样化数据(包含制造商ID和安全域辅助的最后两个字节)返回到卡外实体 我想知道这些数据用于什么目的 我在某个地方读到,这个密钥多样化数据用于派生非卡端的基本密钥。我不知道这是对还是错 如果它是正确的,那么如何使用此多样化数据在非卡端导出基本密钥 请提供您的建议 密钥多样化数据用于使用主密钥将算法应用于那些字节(应该是卡的唯一字节)来获取该卡的密钥 有两种广泛使用的密钥派生算法: Visa2 EMV-CPS 它们非常相似:它们从初始化更新的响应中获得10个字

在初始化更新命令的响应字段中,将密钥多样化数据(包含制造商ID和安全域辅助的最后两个字节)返回到卡外实体

我想知道这些数据用于什么目的

我在某个地方读到,这个密钥多样化数据用于派生非卡端的基本密钥。我不知道这是对还是错

如果它是正确的,那么如何使用此多样化数据在非卡端导出基本密钥


请提供您的建议

密钥多样化数据用于使用主密钥将算法应用于那些字节(应该是卡的唯一字节)来获取该卡的密钥

有两种广泛使用的密钥派生算法:

  • Visa2
  • EMV-CPS
它们非常相似:它们从初始化更新的响应中获得10个字节的密钥数据中的一些,附加一些固定字节,然后使用主密钥作为加密密钥应用3DES对它们进行加密

“固定字节”是不同的,因此我们得到了我们需要的三个SCP02密钥:

  • “F001”为我们提供了ENC密钥
  • “F002”是MAC密钥
  • “F003”DEK键

希望这有帮助!GlobalPlatform规范中没有对其进行描述,因此我花了一些时间来学习它。

您可能在某个地方读过一些东西,但您是否阅读了免费提供的全球平台规范?是的,我阅读了全球平台规范,我正在研究全球平台规范。基本上这是一个scp02的问题,我在GP22规范中找不到它的答案。谢谢你的回答亲爱的米克特。这些推导算法(EMV-CPS和Visa2)详细定义在哪里?不使用任何派生算法的卡会发生什么?嗨,亚伯拉罕,你可以从下载EMV-CPS规范(这是长PDF中的第4.1节)。EMV-CPS和Visa2都是在开源全球平台库中实现的,因此您可以检查实现亲爱的Mitter,您在回答中提到的密钥是会话密钥吗?或者它们是创建安全通道会话密钥的静态ENC、MAC和DEK密钥?嗨,Abraham,它们是静态ENC、MAC和DEK密钥,会话密钥是从它们进一步创建的。