鉴源实验室丨HSM技术浅述

描述

作者 | 徐奕华 上海控安可信软件创新研究院汽车网络安全组

来源 | 鉴源实验室

引言:2023年5月初,工业和信息化部装备工业一司组织全国汽车标准化技术委员会开展《汽车整车信息安全技术要求》等四项强制性国家标准的制修订[1]。这意味着车辆信息安全管理逐渐成为了车辆全生命周期中不可或缺的一部分。本文就与车辆信息安全息息相关的HSM(硬件安全模块)技术展开介绍。

01HSM背景与概念

1.1 HSM背景

汽车信息安全涉及到很多应用场景,其中包括远程的安全诊断和固件更新、随机数生成和密钥交换、安全启动和即时的数据/代码完整性校验、安全的生命周期管理、安全的板上通讯(SecOC)。

针对汽车信息安全各类应用场景,业界也给出了信息安全架构。从需求角度看,定义包含威胁分析和管理的安全模型,现有的比如ISO 21434标准;从车载网络角度看,根据当前车载网络架构,依据安全目标,实现相应的安全策略,这些基本上由车厂定义;从ECU应用层软件的角度看,包含通讯服务模块、安全服务模块以及安全板上通讯模块,在AutoSAR架构下,有对这些模块的规范;从MCU相关底层软件角度看,包含底层驱动以及HSM固件;从硬件角度看,包含安全芯片以及安全协处理器(HSM)。

关于汽车信息安全硬件模块的硬件级规标主要包括SHE和EVITA HSM标准,如图1,下面从结构和功能两个方面来描述。在SHE规范下,架构需求是可配置的、有固定功能的,具体体现为SHE规范下均使用AES-128算法进行加解密,应用程序工程师需要能够对SHE Bootloader起始地址和大小进行配置,功能需求包括安全启动、AES 128加解密算法、真伪随机数发生器、密钥派生。在EVITA规范下,架构需求是可编程的、安全的CPU,即安全计算核独立于应用程序核实现,与之相绑定的有独立的安全存储区域、硬件加速电路以及提供给应用程序核调用的硬件接口,同时安全计算核的内核代码需要定期地升级迭代。功能需求下,EVITA项目制定了三个等级的规范,每个等级对功能要求逐级递减。相对于SHE,EVITA功能中包含了非对称算法的引擎需求、Hash引擎需求等等,并且对各层级的ECU需要的HSM硬件支持有了更细致的划分,将成本效益考虑进HSM设计。那么在将来的硬件级规标下,我们可以预想到在架构方面可能对安全通讯模块有加速的需求,在功能方面可能需要对更多的加解密算法支持,同时在国密算法逐渐被普及应用的背景下,可想将来也会制定与国密相关的硬件级规标。

ecu

图1 汽车信息安全硬件模块硬件级规标

1.2 HSM概念

在简单了解了信息安全架构和信息安全硬件级规标后,我们就能很容易地理解HSM的概念以及作用了。

在维基百科中,HSM有如下定义:HSM(Hardware Security Module,硬件安全模块)是一种用于保障和管理强认证系统所使用的数字密钥,并同时提供相关密码学操作的计算机硬件加速设备[2]。

详解定义,HSM主要有两个功能:

第一个是存储管理密钥。由于应用程序本身有权限读取密钥,并且其本身逻辑漏洞可能导致密钥泄露,所以如果密钥存储在应用程序的代码或者数据中,那么就会变得不安全。同时如果硬件层面上不对密钥进行隔离和保护,容易因为物理攻击或者暴力提取导致密钥泄露。为了解决密钥泄露问题,增设硬件安全模块,专门存储管理密钥,限制对密钥的访问。

第二个是加速加解密算法。通用内核进行复杂的加解密算法运算通常会占用大量计算资源,而车上MCU通常对实时性有很高的需求。为了解决这个问题,增设硬件安全模块,提供硬件层级的优化,对各类加解密算法进行加速。 

1.3 EVITA HSM分级

上面提到的EVITA硬件级规标是一种被广泛接受和应用的HSM硬件规范。本章主要介绍EVITA HSM的三种分级,具体如图2。

ecu

图2 EVITA HSM分级[3]

FULL EVITA HSM:该层级的HSM主要保护车载域免受V2X通讯安全漏洞的影响。这需要创建和验证电子签名,为了完成高效的签名操作,需要一个非常高效的非对称加解密引擎。该层级提供了所有不同HSM变体的最高级别的功能、安全性和性能。

Medium EVITA HSM:该层级的HSM着重于保护板上通讯。区别于FULL层级,Medium层级无需支持非对称加解密引擎以及哈希引擎。不过在软件层面,可以执行一些对实时性要求不高的非对称加密算法。出于效率与成本,板上通讯都基于对称算法,省去非对称算法引擎可以节省成本和硬件规模。

Light EVITA HSM:该层级的HSM专注于确保ECU和传感器和执行器之间通讯的安全。其仅需要包含一个对称加解密引擎和对应的经过裁剪的硬件接口。因此,Light层级可以满足严格的成本和效率要求。

02

HSM在SecOC中的应用

SecOC模块属于AutoSAR里一个独立的模块,其目的是为PDUs级数据交互提供资源高效和实用的认证机制。也就是,SecOC模块能为总线上传输的数据提供身份验证,可以有效地检测出数据回放、欺骗以及篡改等攻击手段。

ecu

图3 SecOC在AutoSAR框架下的位置和信息流[4]

SecOC在AutoSAR框架下位置和信息流如图3。SecOC从AutoSAR通讯栈中获取消息,从新鲜度管理器获取新鲜度,并且调用加解密接口对PDU和新鲜度计算消息认证码(MAC),并且将包装好的Secure I-PDU发送给下层链路层以及物理层。其中SecOC调用加解密接口时通过向HSM寄存器写入对应服务(SecOC一般为CMAC算法)的命令以及参数来使用HSM完成加解密算法,同时通过HSM/Host Interface寄存器控制对HSM的访问。HSM内核端维护对密钥的管理和更新,防止密钥泄露。

审核编辑:汤梓红

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分