HMAC与SHA-1在l9110s电机驱动芯片安全认证中的应用

需积分: 49 68 下载量 36 浏览量 更新于2024-08-07 收藏 4.78MB PDF 举报
"本文档主要介绍了l9110s电机驱动芯片中涉及到的HMAC(Hash-based Message Authentication Code,基于哈希的消息认证码)的概念及其计算过程,以及与之相关的安全认证流程。同时,提到了bq40z50电池管理系统芯片的保护功能,包括各种电池状态的保护措施和永久失败条件的处理。" 在HMAC描述部分,SHA-1引擎被用于生成一个修改后的HMAC值,以确保消息的安全性和设备的认证。HMAC是一种基于密钥的哈希函数,用于验证消息的完整性和发送者的身份。在计算过程中,HMAC(M)定义为H [KDH(KD || M)],其中H表示SHA-1散列函数,M为待验证的消息,KD为设备的128位唯一验证密钥,'||'表示数据的串联。首先,将消息M和密钥KD连接起来并填充以适应SHA-1的输入要求,然后通过SHA-1计算得到一个中间哈希值。这个中间值再次与密钥KD串联并填充,再经过SHA-1散列,最终得出的输出即为HMAC摘要值。 在认证流程中,按照FIPS PUB 140-2标准,使用批准的随机数生成器创建160位消息M,接着构造SHA-1的输入块B1,包含了认证密钥、消息和特定填充。通过B1生成第一个SHA-1哈希HMAC1,然后构造B2来产生第二个哈希值,以此增强安全性。 另一方面,bq40z50电池管理系统芯片提供了一系列的保护功能,如电池欠压、过压保护,充电和放电过程中的过电流保护,以及硬件基础的保护措施,包括放电过载和充电短路保护。此外,还有温度保护,防止电池在过高或过低的温度下工作,以及针对FET的过温保护。电池管理还涉及SBS主机看门狗保护、预充和快速充电的超时保护,以及过充保护。在过充保护中,分别有电压和电流的阈值设定,以确保电池不会因过度充电而受损。 在永久失败章节中,讨论了当系统检测到异常情况时,如何记录并处理这些故障。例如,安全电池欠压、过电压、过电流等可能导致的永久失效,以及黑匣子记录器的功能,它记录了导致失败的事件,帮助分析故障原因。电池管理系统还监测并响应QMax不平衡、电池平衡、阻抗、容量降级、电压不平衡等问题,以确保电池组的健康和安全运行。