我试图在使用默认 DES 密钥进行身份验证时更改 MIFARE EV3 卡上的 ATS,但没有成功。不使用 SAM AV3,也不通过手动计算会话密钥。
身份验证成功后,我已经构建了所需的 ATS,根据文档添加了 CRC16 和填充(至少我是这么认为的:))。但是当发送到 SAM 时,如果使用解密方法,我得到错误的 CRC 或填充错误,或者如果使用加密方法,命令被卡拒绝。
我有 pegoda 阅读器和 RFIDDiscover,当我使用 SAM 时,结果是一样的。我设法更改 ATS 的唯一方法是使用密钥库(没有 SAM)。
我什至尝试了一些逆向工程并尝试使用 pegoda 日志中提供的会话密钥(使用在线计算器或自编码算法)解密加密消息,它仅成功解密了前 8 个字节。接下来的 8 个字节被加扰(而不是 CRC 和填充的其他部分)。
我想我错过了一个步骤或一些关键设置,这些设置可以使用 SAM AV3 生成正确加密/解密的 D40 消息。如果使用 SAM AV3,有什么建议应该如何实施?
顺便说一句,使用 EV2 身份验证更改 ATS 就像一个魅力。至少使用 desfire EV2 卡(不幸的是,EV3 没有 -> 仍在等待文档)。