TI中文支持网
TI专业的中文技术问题搜集分享网站

BQ27542-G1: Authentication验证算法的MCU端实现

Part Number:BQ27542-G1Other Parts Discussed in Thread:BQ26100,

The fuel gauge supports a SHA-1-based authentication protocol that allows a host to securely verify
battery pack authenticity. Sending a 160-bit random challenge initiates the authentication process wherein
the fuel gauge computes a response digest using a double SHA-1 transform. The transmitted challenge is
appended to a secret 128-bit authentication key and run through the transform. Afterwards, the resulting
hash is then re-appended to the same key and a second hash is computed, resulting in the final 160-bit
digest that is returned to the host. The host reproduces the same digest calculation on its side, using the
shared key, and compares to the one read from the fuel gauge. If they match, the authentication process
is successful.

以上是 Technical Reference Manual中提到的方法。我的理解是将20字节的原文添加到电量计中16个字节的Key后面得到36字节的数组进行一次SHA1运算,得出20字节值再次添加到16个字节的Key后面得到36字节的数组进行第二次SHA1运算,得出的20字节值即为最终的值。而我算出的值与从电量计中获取的值不一致。

我有几个疑问,首先在这里的SHA1指的是HMAC-SHA-1还是SHA1;其次我按字节读取的电量计中的可以为16进制表示的 0x0123456789ABCDEFFEDCBA9876543210,如果我MCU进行计算时,直接将其按字节顺序放入到16字节的数组中作为KEY进行计算,还是需要变换字节的顺序

Star Xu:

您好,数据手册介绍是使用SHA-1/HMAC认证算法。关于认证,TRM Chapter9 Authentication 有详细介绍。

关于SHA-1请参考下面文档:

https://www.ti.com/lit/an/slua389a/slua389a.pdf

这篇文档适用于BQ26100 ,也适用于BQ27542-G1, 它描述了 128 位KEY和 160 位哈希值。

赞(0)
未经允许不得转载:TI中文支持网 » BQ27542-G1: Authentication验证算法的MCU端实现
分享到: 更多 (0)

© 2024 TI中文支持网   网站地图 鲁ICP备2022002796号-1