什么是 DoD CAC ADPU 登录序列?

What is DoD CAC ADPU Login Sequence?

我浏览了整个网络,有 CAC/ADPU 的 DOD 和 IDO 文档,但我无法 find/figure 出序列来访问卡上的数据。我想获取 public 信息用户名,例如SMITH.JOE.123123123

厚 java 应用程序,使用 smartcardio。

我发出 0x84 CHALLENGE 命令并使用 9000 return 代码取回挑战字节。我相信这些是在 3DES 中,但如果我没有 key/password?

我将如何解码

我现在对下一步该做什么感到困惑。 我需要如何处理 CHALLENGE 字节?

我尝试了外部验证 (0x82) 这成功了,但是 return 代码 6300(警告 NV RAM 已更新)请注意确定这是好是坏 - 也许它正在更新计数或日期或其他内容。

然后我尝试 SELECT (0xa4),但得到 6D00 - 未找到命令

我也试过 GET DATA (0xCB) - 6D00 也

我猜最后两个失败是因为我没有处于正确的安全状态来发布它们。

我需要执行的命令顺序是什么?

非常感谢任何信息!

您应该加密质询(随机字节序列,长度很重要)并使用外部验证发送结果。在不知道相应密钥或其算法的情况下,旅程到此结束。

某些数据可能无需身份验证即可读取,但我对 CAC 不够熟悉,无法决定用户名是否属于此类。

结果代码 6D 00 不太可能表示 不满足安全状态,为此定义了 69 82。

首先尝试 ISO 7816-4(解释不多,难以理解)或智能卡简介。