车载通信系统的安全要求
攻击的种类:
对安全的攻击
(1) 未授权的突然刹车
(2) 袭击主动制动功能
(3) 篡改危险警告信息
对隐私的攻击
(1) 反映错误的路况信息(如:模拟发生交通堵塞的通知信号)
(2) 控制交通信号灯
(3) 操控车速
(4) 阻止用户通过收费站
(5) 无法启动引擎
操纵交通流
增加/减少收费站的缴费
以C2C系统发送轮胎打滑危险警告为例,在通讯过程中的基本表达式如下:
发送方:
- sense(ESP(车身电子稳定系统),SlipperyWheels):通过车身电子稳定系统(传感器)感知车身情况
- positioning(GPS,position):通过GPS定位发送实时位置
- send(CU,danger(position,type)):通过通信单元向接收方发送危险的信息,包括危险发生的位置和危险类型
接收方:
- receive(CU,danger(position,type)):通过通信单元接受危险信息和发生危险的位置
- positioning(GPS,position):通过GPS定位发送实时位置
- show(HMI,D,warn(relative-position)):通过人机交互界面显示相对位置
两车之间通讯的演示图例:
扩展到多车的系统体系(SoS):
在该通信过程中总结出的安全要求:
①发出信号车辆的位置信息需要准确;
②接收信号车辆的位置信息需要准确;
③发出信号车辆的传感器感知传达的信号必须准确
这些信息的正确与否直接决定着功能安全和信息安全。
硬件安全结构(HSM硬件安全模块)
硬件安全的作用
通过以下方法保护软件安全:
- 为上层软件层提供可信的安全锚
- 保护更新、存储和安全相关的材料
通过以下方法防止对硬件的入侵攻击:
- 应用入侵保护措施
通过以下方法加速安全机制:
- 使用密码加速器
通过以下方法减少大体积的安全消费:
- 使用高度最优化的特殊电路装置
电子控制单元(ECU)的安全结构
在电子控制单元(ECU)的系统安全结构中:
硬件安全模块(HSM)是微控制器的扩展,为上层软件层提供安全基础;
将在后续单片芯片设计上被深度集成在CPU上。
HSM(硬件安全模块)的安全结构:
硬件安全构建块(SBB)
(1)ECC-256是一种高性能非对称加密引擎。每秒可以产生并验证250个签名。
(2)WHIRLPOOL是基于AES的哈希函数。它的吞吐量约为1 Gbit / s,同时需要大约3,000片FPGA硬件尺寸。
(3)AES-128是对称块加密/解密引擎。它不仅支持标准块加密操作模式(如ECB、CBC),还支持高级加密,例如,在经过验证的加密方案(如GCM或CCM)中使用。
(4)PRNG with TRNG seed是一个伪随机数生成器,它使用来自真实内部物理随机源的真随机种子。
(5)Internal clock:内部时钟,能与UTC时间(世界标准时间)同步的、起硬件保护作用的时间参数。
(6)Monotonic counters是一个64位单调计数器功能块,可作为简单的安全时钟替代方案。
SBB密码解密的具体过程
初始化硬件的加密和解密区域
调用示例
信息块处理
最后一轮加密、解密
密钥导出
将密钥导出以进行传输、交换、迁移
调用示例
导入密钥以进行传输、交换、迁移
调用示例
HSM的三种部署结构:
目的:在不同的使用场景,根据不同的耗费、不同的功能性和安全性要求选择HSM的安全结构,使得确保功能整体性的同时,达到高效节省。
三者关系:light和medium是full的真子集
Full HSM:1-2片高性能通信模块ECU;采用高速非对称加密
应用场景:
- V2X通信单元
- 中央网关(可能)
Medium HSM:2-4片中央多任务ECU,用于ECU之间;采用低速非对称加密、高速对称加密
应用场景:(适用于动态通信)
- 引擎控制
- 前、后模块
- 防盗控制系统
设计适合两者:严格的安全要求和多任务ECU的高费用压力
看上去和full ECU很像,实则没有专用的ECC硬件和专用的哈希函数,(所包含的CPU性能要更低),但是仍然可以通过软件的方法执行一些性能要求不高的非对称密码操作
能符合所有车载安全用例,但是不适合V2X通信
Light HSM:使用较少,但是安全关键;采用对称加密
应用场景:(适用于静态通信)
- 重要的传感器(车轮传感器、加速传感器、踏板传感器)、
- 重要的制动器(停顿、门锁、转向灯)
- 一些控制器(模块、车灯、时钟)。
集成并保护产生安全关键信息的小ECU、传感器、制动器(使得它们能够保证通信数据的真实性、完整性和机密性)
缩减到只有一个消费友好型AES对称(更能满足传感器和制动器在成本和效率方面的严格需求
不能提供任何硬件安全保障,但是能够确保传感器和制动器高效运行以及产生受保护的信息
HSM的真子集:安全硬件扩展(SHE)
通过硬件提供基于AES-128的密码服务:
-加/解密
-消息认证码
-引导加载程序的认证唯一的设备ID
-应用不可直接访问的方式存储密钥。
硬件安全接口
主要特征:
HSM采用异步的硬件接口。
大多数硬件安全模块(如AES,MAC,数字签名和哈希函数)通过会话标识符实现多会话(Multi-sessions)
EVITA密钥使用可以通过以下方式获得额外的个人授权:
- 调用函数时对的密码(包括失败计数器)
- 通过验证一个bootstrap引用来验证固有的bootstrap
- 密码和bootstrap引用的结合
Evita能够了解所有HIS的安全硬件扩展的指令
比如,一个HSM可以同时引用加密和产生随机数的功能,但是不能是两个同时在同一个硬件加密构建块上的加密技术。
一般的约束条件
一些单会话接口用于一些小的硬件安全构建块(如RNG)
HSM大部分是单线程的,但在多种硬件功能被同时访问的情况下能够实现多线程。(比如,PRNG和AES可以同时被调用)
EVITA命令在硬件级别上没有明确和单独的保护:
- 也就是说,在硬件层面上,它们是公开的,并且没有任何重放和真实性保护
- 如果这是必需的,我们提议一个类似TPM的方法(基于一个单一的用户管理)来建立会话密钥和“旋转随机数(rotate nonces)”
EVITA在硬件层面没有用户管理
硬件安全逻辑和功能:内部密钥层次结构
主要密钥
- MVK:形成生产商信任域
- IDK:设备身份字——fixed & Signed by MVK.
- OVK:形成原始设备制造商的信任域——fixed
- CSK:时间同步密钥 与UTC(世界标准时间)同步——Signed by MVK.
- SRK:存储根密钥 实现内部产生的密钥与外部存储安全交换
- SxK:利益相关密钥:利用所有外部产生的SSK、SAK进行身份验证、安全功能激活或者内容保护——Signed by MVK.
内部密钥
使用不对称的加密算法设置
使用flags={ sign, verify,encrypt, decrypt, timestamp, secureboot, securestorage, dhke, utcsync,transport, … };每个flag都有单独的使用和转移的特权
可以是有时限的
可以由发行人认证
通过密码,bootstrap或者两者的结合来颁布使用认证
单个密钥数据结构(取决于算法标识符)
以内部的密钥句柄为参考
外部密钥
仅用于传输、迁移或安全存储交换
密钥需要相应的传输权限和授权(如果设置了的话)
算法、使用标识和有效间隔是完全可见的
公共密钥的数据是完全可见的
加密密钥blob=加密密钥内部,如密钥授权和私钥部分
完全可见的验证码(MAC/Sig)用于密钥的完整性和真实性保护
密钥证书
用于认证内部密钥(非对称和对称)的公钥信息
认证签名是用个人设备身份密钥完成的(这转而由HSM制造商认证,即通过MVK)
如果需要的话,(对称的)密钥可以通过Hash(密钥数据)被识别
ECU配置寄存器
类似于可信计算平台配置寄存器
启用可信的度量链
可与引用相连接,以启用secure boot
软件安全结构
安全要求:模块化、可扩展、可配置、灵活度高
-灵活整合新机制
-灵活部署根据系统环境和应用程序选择单一中心或多中心
-静态和动态配置
-同步与更新
-提供安全的应用程序接口
模块化的车载安全结构(安全抽象层)
嵌入式车载安全结构的模块:
多任务ECU的部署设想
已完成
数据加载中