我正在尝试分析在我的国家/地区发行的 eID 如何用于某些任务(例如 PDF 数字签名)。目前没有关于 eID 的公开信息。
查看读卡器和 eID 之间的流量,我可以看到每次将 eID 卡插入读卡器时,NXP IDProtect 客户端中间件(当局推荐)都会在读卡器和 ICC 之间生成一些预定义的协商。
试图获取我需要的信息,我发现管理安全环境 APDU 是从读卡器发送到卡的,内容如下:00 22 C1 A4 06 80010c830184
然后,按照 Get challenge 和 External Authenticate (Mutual Authenticate)。
似乎终端身份验证已经完成,但是,没有关于卡的信息,我只能尝试查看 APDU 代码(和响应)。以下是我的问题:
- 使用什么加密机制(我假设 0x0C 代表 3DES-CBC)?
- 下一个 APDU 中使用了哪个公钥/密钥(我在任何地方都找不到关于 Tag83 值 0x84 的任何信息)?
此外,在 External AUthenticate APDU(这似乎是 Mutual Authentication)中,Data 字段包含 0x48 个字节(Lc 值也是 0x48)。这是另一个问题:
- 当数据字段包含 0x48 字节时,使用哪种 Mutual Authenticate 方法?我找不到任何关于外部身份验证的解释,其中数据字段包含 0x48 字节。如果 MAC 应该是 8 字节,那么密码是 0x40 字节长。由于ICC发送了8字节长的RND-ICC,我不确定,加密了什么内容,形成0x40字节长的密码。