ZHCAFD8 May   2025 BQ41Z50

 

  1.   1
  2.   摘要
  3.   商标
  4. 1简介
  5. 2认证方案比较
  6. 3电池组制造流程中的 ECC 密钥编程
  7. 4 BQ41z50 产品系列的电池电量监测计认证流程
  8. 5 BQ41z50 产品系列的主机认证流程
  9. 6BQSTUDIO 中的认证流程
  10. 7总结
  11. 8参考资料

BQ41z50 产品系列的主机认证流程

为了更好地保护对器件的访问,电池电量监测计还可用于对主机进行认证(允许电池电量监测计更改安全状态),以及将电池电量监测计解锁(允许主机更新电池电量监测计)。为了执行此功能,主机必须首先对经授权公钥进行编程。当电池电量监测计处于“完全访问”状态时,必须通过将 30 个字节的压缩公钥发送到 MAC 子命令 0x0034 来写入公钥。必须读取该相同的命令,以确认当前编程的公钥用于主机认证。

如果没有编程的公钥,则使用旧的“安全密钥”解封操作。然而,一旦对公钥进行编程,旧的解封命令将被禁用。

注: 确保在编程后读取公钥,以确认该值已正确存储,然后再发送密封 (SEAL) 命令。如果没有相应的私钥,则无法恢复处于已密封 (SEALED) 状态的器件。

必须按照 图 5-1 图(使用 SMBus ManufacturerAccess()(MAC) 命令对电池电量监测计进行认证)执行该操作程序。

整个流程概述如下:

  1. 主机使用以下数据块之一发送带数据的 MAC 子命令 0x003a:
    • 要请求解封 (UNSEAL) 访问操作,请使用数据块 0x14、0x04、0x72、0x36
    • 要请求 FULL_ACCESS 访问操作,请使用数据块 0xff、0xff、0xff、0xff
  2. 主机使用 0x003a 读取 MAC 结果,以接收所生成的 8 字节质询代码。
  3. 主机将 8 字节质询和命令组合成一条消息,并使用私钥对消息进行签名,生成一个 30 字节 r 和 30 字节 s
    • 例如,如果电池电量监测计生成了质询 0x12、0x34、0x56、0x78、0x9a、0xbc、0xde、0xf0,则要为解封 (UNSEAL) 操作签名的完整消息字符串为 0x12、0x34、0x56、0x78、0x9a、0xbc、0xde、0xf0、0x14、0x04、0x72、0x36
  4. 主机将生成的 rs 写入电池电量监测计。
    • ECC_R (0x003c) 子命令接受 30 字节 r 值或完整的 60 字节 rs 值。
    • ECC_S (0x003d) 子命令接受在将 r 值发送到电池电量监测计之后写入的 30 字节 s 值。
  5. 一旦测量仪同时具有 rs,测量仪就会验证签名。
  6. 如果签名有效,则执行命令所请求的操作。
 主机认证概述图 5-1 主机认证概述

更详细的执行流程图如 图 5-2 所示。

 主机认证流程图图 5-2 主机认证流程图