您好,
后续内容:S32N55 (HSE2) 安全调试。CRS(APP)挑战-响应认证现在可以工作(最终响应0x4A4A4A4A)。我现在正在执行调试卡请求 (HSE_DEBUG_CMD_CARD_REQUEST),它返回:
HSE_DEBUG_INVALID_DEBUG_DOMAIN_MAP_ERR ((hseDebugError_t)0x20) — "调试卡中的调试功能域映射无效。"
我根据您之前的反馈发送的内容:
Packet2 调试功能域信号列表:数组样式,List[22..26] = 每个 0x01(CRS:Cortex-M7、PCIe、CRS NoC/CAN NoC、CANXL0-1、CANXL2-3),所有其他字节为 0x00。
Packet3 enabledDebugDomainMap (uint64_t): 0x07C00000 按照建议(位 22-26)。
AuthScheme:macAlgo = HSE_MAC_ALGO_CMAC = 0x11。
AuthTag:对卡片信息进行 AES256-CMAC 认证,authLen = 16。
我尝试过对 enabledDebugDomainMap(uint64_t,传输 8 字节)进行以下操作:
小端序:00 00 C0 07 00 00 00 00 → 0x20
大端序:00 00 00 00 07 C0 00 00 → 0x20
bit27 (0x08000000,匹配 AUTH 目标 0x1B) → 0x20
所有返回值均为 0x20。
问题:
1.对于 CRS,HSE 期望的 enabledDebugDomainMap (uint64_t) 的确切值是什么,以及其字节顺序是什么?
2. enabledDebugDomainMap(Packet3 位掩码)是否必须与调试功能域信号列表(Packet2,数组 List[22..26])一致?它们之间究竟是什么关系?
3. RM 示例说明“功能域 1,3 已启用 → 0x00..A0”。能否解释一下功能域到位的映射关系,以便我计算 CRS 值?
4. HSE 是否在验证 AuthTag 之前验证功能域映射?我想确认 0x20 是否仅表示功能域映射错误,还是其他字段(例如 AuthTag / 签名数据范围)也可能导致 HSE 在此停止。
我还想确认卡 AuthTag 的签名数据范围:我目前对卡信息字段(authKeyRef + reserved0 + ownerId + authScheme + signal list + 功能域映射 + UID list)计算 AES256-CMAC。这是要签署的正确数据吗?
顺祝商祺!
你好, @EddiePark
感谢你的帖子。
1.很高兴得知第一阶段顺利通过。关于您提出的第二阶段问题,我仍在核实相关信息以获得更清晰的描述,如有任何有价值的更新,我会稍后回复您。
为了确保信息一致,能否请您再次与我分享最新的日志和相应的脚本?可以像往常一样通过消息分享。
BR
陈银