18

徽州骆驼 · 4月25日

SOC和MCU的HSM方案梳理

目录

  1. SOC和MCU 
  2. MCU的HSM概述
  3. SOC的HSM概述
  4. 小结

1. SOC和MCU 

目前,汽车芯片细分市场中占比最大的是MCU,大约30%。

MCU(Micro Controller Unit),又称单片机,是一种集成了 CPU、存储器(ROM/RAM)、A\D转换、I\O、DMA及Timer等多种功能模块的微型计算机。

image.png

一般来讲,MCU由于主频、内部资源限制,只能完成功能有限的任务,因此以前我们发现一台车会有上百个ECU来实现不同功能。

image.png

随着智能汽车的飞速发展,自动驾驶、智能座舱、车载以太网等大算力需求催生出了更先进更高级的半导体需求,SOC随着登上历史舞台。

SOC(System On Chip):系统级芯片,它将CPU、GPU、FPGA、ASIC、AI加速器、ISP等融合,实现汽车上的大算力应用。下图为SOC:TDA4AH的系统框架。

image.png

这款异构芯片包括了性能核Cortex-A7)、控制核Cortex-R5F、DSP、GPU、视频加速器、视觉预处理加速器等处理器IP,可实现AI加速、视频处理渲染等功能,可以看到,SOC在功能上是有特定集成思路的,例如IP核、加速器选择上,自动驾驶芯片与座舱SOC有明显区别。

因此,个人理解:

  • SOC重点在于“系统”二字,是为了某种应用场景设计的集成解决方案,因此它可以非常复杂,算力要求也很高。
  • MCU重点在于“控制”二字,控制对象随机,但精度和实时性要求很高,更为通用;例如TC3xx既可以做VCU,也可以做One-Box,还可以做智驾的功能安全岛。
  • SOC和MCU在内核上性能和场景使用上也有巨大差异,以ARM 内核为例:
  • A核:适用高性能运行场景,2023年开始A核都只支持64位;
  • M核:MCU最常见的内核,如M4\M7,适用于RTOS、功耗要求高等场景,常用在32位MCU上;
  • R核:实时内核,常见于对实时性要求严格的场景,如电机控制、转向制动控制等;由于R核还支持虚拟化等,因此现在跨域融合MCU也都纷纷选用此类内核。

2. MCU的HSM概述

如果我们把HSM当成黑盒子,只用它的相关功能就好了;但实际上从成本和场景出发,信息安全解决方案是需要客制化的;例如,某些控制件只需要支持SecOC和少量的密钥存储,那么SHE就完全可以满足要求,上HSM价格更贵且浪费了,这对成本敏感的OEM是不可接受的。

我们来看看目前MCU大厂的HSM方案,以U2A、S32K3、TC3xx为例。

S32K3信息安全架构如下:

image.png

S32K3 HSE满足Evita Full,支持AES、SHA、RSA、ECC、RNG等算法,在内部包含Secure Code\Data Flash;它与Host之间通过MessageUnit进行数据交互,如下:

image.png

在上述MU里包含4个通道,最高可同时支持4个通道的主机任务请求。

U2A和TC3xx的HSM方案较为相近,示意图如下:

image.png

Host与HSM之间通过控制寄存器和通信寄存器进行指令和信息交互,也可通过寄存器触发HSM的mailbox中断,从而提升任务的处理效率。

在多任务处理方面,U2A设计了基于CPU的信号量控制寄存器,用于多Host CPU与HSM CPU的数据、信号同步。

值得注意的是,在MCU的HSM方案里,由于Host和Hsm通信方式一般为寄存器,所能传递的数据量有限,因此二者在数据交互时常常会使用到寄存器+共享内存组合方式,通过寄存器触发任务请求,通过共享内部传递数据。

原理如下:

image.png

对比发现,其实这几家方案上差别并不大,主要是在具体加速器的性能、所支持的算法等体现差异,当然成本也不一样。 

3. SOC的HSM概述

HSM这类成熟的IP在MCU和SOC上差异不大, 但是为什么要单独提出来呢?主要是针对应用场景。

SOC的HSM要为自动驾驶、智能座舱等系统服务,包括传感器、OS、通信等各方面的安全,同时还要兼顾虚拟化、跨操作系统等方面的应用,因此,在SOC的HSM硬件设计会有不同之处。

以安谋科技的山海SPU为例,其子系统如下:

image.png

除了常见的国际通用算法,还支持国密算法SM2\3\4。

HSM与Host通过Mailbox进行交互,Mailbox内部有可配置的FIFO深度,搭配基于对称和摘要的DMA,可实现数据高速交互;由于FIFO对软件不可见,且不使用共享内存,因此这种通信方式更为安全。

此外,为了应对SOC的虚拟化要求,该HSM IP支持最多16个虚拟机同时访问,即在Mailbox里有16个FIFO以及16套通信寄存器可供主机使用,示意图如下:

image.png

为了实现16个VM并行访问,还需要在加密引擎中设计一套硬件机制用于缓存这类访问,因为加速器实例通常有限,所以就有竞争和仲裁;如果硬件能够基于某种规则自动仲裁上述VM的访问优先级,就能够极大减轻HSM 内核的负载,提升处理效率。 

我们再来看看新思针对汽车自动驾驶SOC设计的tRoot HSM:

image.png

该IP同样包含常见国际通用算法,同时提供硬件冗余、寄存器EDC、memory ECC、看门狗等保证了在HSM IP的功能安全机制。

此外,tRoot HSM提供常见的安全启动、安全调试、密钥管理等功能,提供具备侧信道防护能力的HSM CPU、保护汽车中的敏感信息和数据处理。

4. 小结

可以看到在MCU和SOC的HSM硬件设计中是基于应用场景的思考。

此外,在SOC的设计中,现在看到越来越多HSM+TEE融合的方案。

TEE可信执行环境除了提供HSM功能,也提供了安全通信、密钥证书管理、设备认证等扩展功能。设备认证主要确认零部件设备是否合法,同时也可提供用于安全审计的安全时间功能。除此之外,考虑车载的安全需求多样化,也支持用户定制化服务,可在TEE开发定制安全应用TA,用于解决REE侧的个性化安全需求。

作者:快乐的肌肉
文章来源:汽车MCU软件设计

推荐阅读

更多汽车电子干货请关注汽车电子与软件专栏。欢迎添加极术小姐姐微信(id:aijishu20)加入技术交流群,请备注研究方向。
推荐阅读
关注数
5726
内容数
470
汽车电子与软件行业的相关技术报道及解读。
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息