【车联网】HSM和TrustZone
HSM,Hardware security module,是一种用于保障和管理强认证系统所使用的数字密钥,并同时提供相关密码学操作的计算机硬件设备。
硬件安全模块一般通过扩展卡或外部设备的形式直接连接到电脑或网络服务器,也有另一种基于云计算的HSM,同样提供敏感数据管理和加解密计算等服务。
汽车电子领域的HSM一般是一片独立的芯片或者芯片上的一个分区。
HTA
Hardware Trust Anchors
包括英飞凌的HSM\SHE+、瑞萨的ICU、恩智浦的HSE/CSE、ARM架构的TrustZone
HSM的防篡改功能
HSM提供篡改留证(tamper evidence/proof)、篡改抵抗(tamper evidence)两种方式的防篡改功能,前者设计使得篡改行为会留下痕迹,后者设计使得篡改行为会令HSM销毁密钥一类的受保护信息。
每种HSM都会包括一个或多个安全协处理器,用于阻止篡改或总线探测。
许多HSM系统提供安全备份外部密钥的机制。密钥可以以数据包形式备份并存储在计算机磁盘或其他介质上,或安全的便携式设备(如智能卡或其他安全令牌)存储于外部。
汽车领域下的HSM可以让用户在其内部处理器上运行专门开发的模块。
在一些场景下,这种设计相当实用,例如用户可以在这种安全、受控的环境下运行一些特殊的算法或者业务逻辑,哪怕攻击者获取了计算机的完全控制权限,存储在HSM(连接到计算机)中的程序也无法被提取或篡改。
HSM模块的功能
- 板载密码学安全密钥生成
- 板载密码学安全密钥存储,至少是顶级和最敏感的密钥,通常称为主密钥
- 密钥管理
- 加密且敏感资料的使用
- 卸载(代办)应用程序服务器的对称与非对称加密计算
- 数据库透明加密的密钥管理
对于密钥在内的敏感信息,HSM同时提供逻辑层面与物理层面的保护,以防止未经授权的访问或者可能的入侵
HSM的核心功能是围绕加密解密的,它能保护敏感数据,确保只有授权的收件人或者应用才能拿到这些数据。同时HSM也会提供俺去的数据解密方法,确保消息的机密性(confidentiality)和可靠性(Authenticity)
EVITA中HSM规范
EVITA(E-safety Vehicle Intrusion Protected Applications),提高汽车车载网络和V2X应用的防御攻击的能力。通过识别电子电气用例、分析潜在威胁及相关风险,为车载网络开发了一些了安全需求。
EVITA中HSM的硬件规范:
- Full HSM
- Medium HSM
- Light HSM
Full和Medium区别在于是否硬件支持非对称加密的加速,Medium和Light区别在于是否有独立的计算存储资源以及是否具有随机数生成器。
英飞凌AURXI芯片中的HSM
右侧即为HSM硬件实现,包括:
- 32位ARM Cortex M处理器
- 特殊访问保护存储器RAM
- 启动闪存BootRom,用于支持安全启动
- AES128对称算法的硬件加速器,对CMAC消息验证码的加解密速率在25MByte/s以上。CMAC全称Cipher-based Message Authentication Code,原理是通过密钥和对称加密算法(CBC-MAC等)生成CMAC,通过对比校验CMAC来确定权限和真实性,CMAC用于安全启动的校验。
- 真随机数发生器TRNG(True Random Number Generator),用于密钥随机生成,挑战应答校验机制等
- Timer
HSM与芯片其他部分逻辑框图
HSM通过系统外设总线SPB(System Peripheral bus)与芯片的其他部分相连。
其中存储软件程序和数据的PFlash和DFlash实际上与芯片的其他部件公用一块Flash,但是能通过TriCore的访问控制设置,来保护HSM所对应的Flash区域不被非法访问活篡改。
安全密钥的存储就是在其中的DFlash里。
TrustZone
TrustZone最先是Arm A核的一种安全架构的统称,它在SOC系统级别提供硬件隔离机制将系统分成了两个运行环境:TEE(Trusted Execution Environment)和REE( Rich Execution Environment)
在REE中,通常执行复杂且功能丰富的应用软件,意味着其攻击面广,更易遭受网络攻击;
在TEE中通常为REE提供授信服务,例如加解密、密钥管理等等,这与HSM/SHE的理念比较相似
TEE可信执行环境除了提供HSM功能,也提供了安全通信、密钥证书管理、设备认证等扩展功能。设备认证主要确认零部件设备是否合法,同时也可提供用于安全审计的安全时间功能
TrustZone特征
- TrustsZone用于ARM架构的处理器中,如ARM Cortex-A和Cortex-M系列处理器
- 它将处理器的安全状态分为安全区域(Secure World)和普通区域(Normal World),实现了硬件级别的隔离和安全保护
- 安全区域可以运行受信任的代码和安全应用,而普通区域则运行普通的应用程序。安全区域和普通区域之间的通信通过安全的通信通道进行,保证了安全性
- TrustZone用于保护敏感数据和执行安全的应用程序
TrustZone是处理器级别的安全技术,用于实现硬件级别的隔离和安全保护,
HSM是一种专用的硬件设备,用于管理密钥和执行安全的加密运算