【发布时间】:2020-10-22 11:54:44
【问题描述】:
我有一个微控制器 (msp430) 和一个智能卡 (se050),我正在使用 Windows 计算机上的 Code Composer Studio 将 APDU 从微控制器发送到智能卡。
我正在尝试使用 AES 对称密钥创建一个安全通道 (SCP03)。我已经使用智能卡上的这个 AES 密钥创建了一个会话,现在为了执行相互身份验证,我已经向智能卡发送了 'INITIALIZE UPDATE' 命令 APDU
初始化更新 APDU:
80 50 00 00 08 00 00 00 00 00 00 00 00 00
卡的响应是:
00 00 00 00 00 00 00 00 00 00 00 03 60 7E 25 31 3D BE 63 59 BE 34 AA 4B C0 F2 B9 27 B4
在哪里
00 00 00 00 00 00 00 00 00 00 = 关键多元化数据
00 03 60 = 关键信息
7E 25 31 3D BE 63 59 BE = 卡片挑战
34 AA 4B C0 F2 B9 27 B4 = 卡密码
现在,我想检查卡密码是否正确?为此,我需要创建秘密会话密钥(S-ENC、S-MAC、S-DEK)和卡密码以对卡进行身份验证。
我还需要创建 'Host Cryptogram',我需要在“EXTERNAL AUTHENTICATE”命令中重新发送到智能卡。
如何在代码编辑器中生成这些内容?我可以在我的代码中导入任何 C 库来生成这些密钥和密码吗?
【问题讨论】:
标签: cryptography smartcard apdu globalplatform