汽车信息安全之锚:HSM

目录

什么是HSM?

 汽车上的HSM

 英飞凌AURIX芯片中的HSM

AUTOSAR中的HSM接口

Vector的HSM固件方案


什么是HSM?

说起信息安全和加解密,我们很容易会在脑海中浮现出锁和钥匙。那我们来想象一个场景:

假设一位父亲有三个儿子,他给每个儿子各买了一台掌上游戏机。为避免他们沉迷游戏,父亲把每台游戏机都锁到一个小盒子里。盒子归几个孩子自己保管。

怎么保证儿子不会偷偷拿去玩呢?简单啊,钥匙由父亲来保管。

儿子想玩的时候怎么办?简单啊,把盒子拿来父亲这里解锁。

儿子想玩的时候,父亲能把钥匙给儿子吗?肯定不行啊,儿子自己去配一条钥匙咋办。

那为啥不干脆把盒子也存父亲这里?因为父亲资源有限,不想随身携带盒子啊。

在这个场景中,父亲就是安全的根本保障。而这个安全之锚的角色,就类似于HSM。其最重要的作用就是机密数据管理和提供密码学操作

HSM是硬件安全模块的英语缩写,全称是Hardware Security Module。HSM是一种用于保护和管理强认证系统所使用的密钥和敏感数据,并同时提供相关密码学操作的计算机设备。

HSM的核心功能是围绕加密解密的,它能保护敏感数据,确保只有授权的收件人或者应用才能拿到这些数据。同时HSM也会提供安全的数据解密方法,确保消息的机密性(confidentiality)和可靠性(Authenticity)。

HSM提供的这些安全功能专业而且单一,然而系统对安全操作的需求是消耗尽量少的计算资源来保证足够好的计算性能。这种既想马儿跑,又想马儿少吃草的需求听着是不是很熟悉?确实这在工程领域乃至社会领域都普遍存在。那怎么办?就是给马儿吃最合适、能量密度最高的草。而在计算机或者更广泛的电子领域,经常会通过专用的集成电路或者专用硬件设备来满足这功能。有时候,这种方法也被叫做硬件加速器。

IT界的硬件安全模块一般通过扩展卡或外部设备的形式直接连接到电脑或网络服务器。随着计算机技术的发展,现在也出现了不少基于云计算的HSM。云端HSM同样提供敏感数据管理和加解密计算等服务。

图片

 图2:Utimaco 云端HSM的架构示意图

 汽车上的HSM

在汽车上谈安全,大家普遍先想到的可能都是行车安全、碰撞试验、气囊爆炸等等。但其实汽车的安全应该是方方面面的,尤其随着汽车作为终端接入到互联网,并且越来越智能化的今天。相关组织更早一步地注意到了这个问题。

早在2008年,欧盟就出资赞助了EVITA(E-safety Vehicle Intrusion Protected Applications)项目,旨在提高汽车车载网络和V2X应用的防御攻击的能力。该项目通过识别电子电气用例、分析潜在威胁及其相关风险,为车载网络开发了一系列安全需求。其研究成果之后被提炼成一个标准,用来推荐硬件和软件架构,以满足相关的安全需求。

其中,EVITA也定义了HSM的相关硬件规范,针对不同的安全硬件能力,分为Full HSM、Medium HSM和Light HSM。这个分类也被广泛应用于汽车网络信息安全领域。其关键信息总结如下表。

图片

表1:EVITA HSM分类表

表中可见,Full和Medium的主要差别在于是否硬件支持非对称加密的加速。而Medium和Light主要差别在于是否有独立的计算存储资源以及是否具有随机数生成器。

 英飞凌AURIX芯片中的HSM

接下来,我们以英飞凌AURIX芯片的HSM作为例子,进一步探讨HSM。

狭义的HSM指其硬件,在汽车电子领域一般是一片独立的芯片或者芯片上的一个分区。传统互联网行业有许多相关的芯片产品,但是能达到车规级鲁棒性要求的就不多了。英飞凌的AURIX广泛应用于汽车电子,这系列的芯片就集成了HSM。接下来我们以这系列的芯片为例,看看HSM的硬件实现。

下图是AURIX系列HSM模块的框架图。可以看到HSM内含

-32位的ARM Cortex M处理器,CPU频率高达100MHz

-特殊访问保护存储器

-启动闪存 BootRom,可用于支持安全启动(secure/ authentic boot)

-AES128 对称算法的硬件加速器,对CMAC消息验证码的加解密速率在25MByte/s以上

-真随机数发生器(True Random Number Generator),可用于密钥随机生成,挑战应答校验机制等

图片

图3:AURIX的HSM框架图

我们顺便来看看AES加速器和CMAC。

AES全称是Advanced Encryption System,是常用的一种对称加密标准,常见有AES 128和AES 256,主要差别是密钥长度(分别是128bits和256bits)和加密轮数(分别是10轮和14轮)。家里WiFi设置密码的时候也能经常看到AES的选项。AURIX的这个HSM是针对AES 128的加速器,主要是针对128Bits长度的数据设计了专门的叠加、移位和替换等计算逻辑单元。

CMAC的全称则是Cipher-based Message Authentication Code,其原理是通过密钥和对称加密算法(例如CBC-MAC)生成CMAC,通过对比校验CMAC来确定权限和真实性(Authentication)。安全启动(secure boot)也经常通过校验启动软件的CMAC来实现。

下图是HSM与芯片其他部分的逻辑框图。HSM通过系统外设总线(System Peripheral bus, SPB)与芯片的其他部分相连。其中存储软件程序和数据的PFlash和DFlash实际上与芯片的其他部件共用一块Flash,但是能通过TriCore的访问控制设置,来保护HSM所对应的Flash区域不被非法访问或篡改。安全密钥的存储就是在其中的DFlash里。

图片

图4:HSM及AURIX芯片内其他部件的连接框图

AUTOSAR中的HSM接口

除了硬件实现,广义的HSM还包括相应的固件和驱动。而在汽车电子领域谈软件或者固件,就不得不提AUTOSAR。随着近年来汽车互联化和智能化的发展,AUTOSAR也越来越重视网络安全,其中跟HSM最相关的就是其Cryto软件栈,其中包括了Crypto Service Manager(CSM)、Crypto Interface(CryIf)和Crypto Driver(CryDrv)三部分。

CSM是其他软件模块调用加解密模块的第一接口。应用层SWC通过RTE访问CSM,而其他底层软件(BSW)或者复杂驱动(CDD)则可以直接调用CSM。同时CSM也负责安全相关任务的队列管理,即优先级管理。

CryIf是CSM往下调用的接口模块,每一个CryIf中的加密基元都会与CSM中的一个服务相对应。而且CryIf支持分发相关任务,进一步调用不同的驱动(软件和硬件,对称和非对称等)。

Crypto Driver是驱动模块,访问相关部件,实现加解密操作,例如访问加解密加速器或者真随机数生成器等。

图片

图5:AUTOSAR中HSM相关模块的框图

Vector的HSM固件方案

 

Vector作为知名的AUTOSAR底层软件供应商,自然也有满足AUTOSAR要求的HSM固件方案。下图是其架构框图。

图片

图6:Vector的HSM固件方案

图中Crypto(vHSM)部分对应AUTOSAR中的CSM,为上层应用和其他基础软件模块提供抽象的加解密服务。而AUTOSAR中的CryIf部分则通过进程间通讯或者共享内存的方式实现,按照不同的应用场景和加解密服务(例如安全启动或者SecOC等),进一步访问不同的驱动程序,例如是加解密硬件加速器或者是存储密钥的访问控制内存区。

HSM的固件部分与芯片本身关系密切,除了Vector外,ETAS和EB等其他底层软件和嵌入式操作系统供应商也有相关的HSM固件方案。国内也有越来越多的企业开发生产HSM半导体硬件和HSM的固件。

随着汽车智能化和网联化的发展,需要进行网络信息安全保护的数据必定会越来越多,甚至呈指数级上升。相信汽车HSM硬件半导体和对应固件也会不断迭代升级,在今后一段相当长的日子里大放异彩。

参考来源:

1. E-safety Vehicle Intrusion Protected Applications (EVITA),

https://argus-sec.com/e-safety-vehicle-intrusion-protected-applications-evita/

2. How hardware security modules enable AUTOSAR,

https://www.embedded.com/how-hardware-security-modules-enable-autosar/ 

3. Vector Cyber Security Solution – vHSM Firmware,

https://assets.vector.com/cms/content/events/2018/Webinars18/Vector_Webinar_MICROSAR_HSM_20181127.pdf

 转载自焉知智能汽车公众号

  • 3
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值