《S32系列芯片——Boot详解》系列——到底什么是HSE(Hardware Security Engine-硬件安全引擎)?实现安全启动需要掌握哪些预备知识?
博主已开通同名公众号,通过文末或主页二维码关注博主,将为你推送最新、最细、最硬核的车载系统知识和嵌入式开发知识!公众号主页设有交流群作为同行江湖朋友们相互交流学习的驿站。
学习更多Boot相关内容,获取HSE基于IVT安全启动方案?
>>>>>>>>> 返回专栏总目录 《S32系列芯片——Boot详解》<<<<<<<<<
Tip📌:
鼠标悬停双虚线关键词/句,可获得更详细的描述;
建议按照专栏文章目录顺序依次阅读以便了解相关背景知识。尤其建议先通读下:
《Boot过程相关镜像详解:IVT、DCD、App Boot镜像到底是什么?》和 《S32系列芯片Boot流程详解!》
一、引言
在汽车行业快速发展的浪潮下,车载系统的安全性变得越来越重要。随着车辆变得更智能,它们越来越依赖于复杂的软件和硬件系统。这提高了对车辆系统安全性的要求,特别是在启动过程中。
S32系列芯片的HSE模组提供了高级的安全启动解决方案,确保车辆系统的完整性和安全。S32系列芯片是NXP公司的重要产品之一,他们在嵌入式设备领域占据着重要地位。在引入HSE之后,该系列芯片不仅能够提升设备的性能,还能有效保障设备的安全性。那么,什么是HSE?
HSE(Hardware Security Engine)是硬件安全引擎的缩写,是NXP S32系列芯片中的一个关键安全功能,旨在提供全面的硬件安全支持。它包括一系列的加密算法、安全存储、安全引导等特性,并利用这些特性来保护设备的启动过程,防止恶意攻击者对设备进行非法篡改或者破坏,能够有效保护设备的启动过程,确保设备的安全性(简单来说就是负责实现安全启动,验证启动软件的完整性和真实性)。此外,它还可以提供加密服务,保护数据传输的安全,以及安全存储敏感信息,如密钥和证书。
Tip📌:
网络上S32系列的资料还是比较少的,涉及到HSE安全启动这种跟实际项目紧密相关的资料更难寻找,资料质量更是良莠不齐。同时,原版英文手册对不少开发者来说,阅读起来十分艰难。这些都导致项目上新接触到HSE相关内容的开发者们做起事来比较缓慢,于是博主决定梳理下通过HSE使能安全启动的相关知识,能力有限,文中难免有纰漏存在,欢迎并感谢大家及时提出问题,共同学习进步!
在准备深入学习Secure Boot(安全启动)之前,需要先从宏观上了解HSE到底是个什么东西,以及相关的重要概念,比如LC(LifeCycle)、IVT、HSE镜像等等,这正是本文的主要内容,相当于学习安全启动功能的引子之一。
二、预先了解一些内容(重要⭐⭐⭐)
2.1 HSE(Hardware Security Engine)和NXP S32系列芯片的关系是什么?
HSE(Hardware Security Engine)不是一个独立的芯片,而是作为安全功能嵌入在微控制器和处理器内部的硬件模块。在NXP的S32系列芯片中,HSE就是这样一个内置的安全模块。或者说它是一个集成在片内包含了安全启动相关功能的子系统,在S32系列芯片中,以S32k3XX系列芯片为例,顶层架构如下图所示:
整个顶层结构可以简单地划分为两个主要部分:应用域(Host)和安全域(Security Domain)。可以看到其中Security Subsystem (HSE)是处理器内部相对独立的一个模块,他有自己的CPU,俗称安全核,他是安全域的主要构成部分。剩下的那些就是应用域(通常叫做主机),大家就比较熟悉了,正是常见的MCU的结构。着重讲一下安全域:
安全域主要由 硬件安全引擎(HSE) 组成。NXP的