车载信息安全场景概述
1 车内安全通信
2 车云安全通信
3 安全启动
4 车载应用程序信息安全保护
5 入侵检测防御与日志管理系统
在聊完车载信息安全需求之后,势必要去看看应用场景有哪些。根据之前的开发经验简单聊一下我知道的,还有很多没有讲,比如说车云之间具体如何进行信息安全防护,SOC上不同操作系统的虚拟化安全边界等等,所以这里抛砖引玉,聊聊之前做过的一些内容。
01
—
目前整车的网络通信仍然以CAN/CANFD和车载以太网通信为主,通信架构如下:
02
—
车云通信包括近端通信、远程通信和云端通信三类,如下图所示:
近端通信:是指蓝牙、NFC等移动设备与车辆进行通信,针对蓝牙的入侵手段有:漏洞攻击、劫持、窃听等方式;针对NFC入侵手段有复制车辆钥匙等。常见保护方式为使用PIN码认证; 远程、云端通信:常见入侵手段包括:伪基站、伪装中断、数据篡改\窃听\重放等,常见手段为加固车端硬件防火墙和云端访问控制,对OTA下发升级固件进行加固、加密认证等方式;采用TLS和证书管理,实现车端、云端的身份双向认证、通信数据加密、完整性保护等。
03
—
安全启动主要是通过建立信任链,保证每个程序在加载运行前均通过数据完整性真实性验证。同样的,安全启动分为MCU启动和SOC两种。
MCU安全启动
以英飞凌TC3xx安全启动为例,芯片厂在兼顾启动速度和身份认证的情况下,提供了三种启动方式:顺序启动、并行启动、混合启动。
Tricore首先启动触发HSM CPU进行启动,并在跳转至用户代码之前选择是否等待HSM对APP、Data和OS等程序的校验结果,从而实现了顺序、并行等启动方式。SOC安全启动
以Intel 某SOC的安全启动为例:
BootROM作为信任根是整个系统最先启动,初始化完成后用于后续验证镜像文件的公钥,并对其进行自检。确认公钥的合法性后,BootRom 使用公钥对 Bootloader验签。验签完成并确认 Bootloader 完整性后,将BootLoader加载至RAM运行;Bootloader进一步对OS或者APP进行验签,从而实现安全启动。
SOC除了安全启动,还存在可信启动;可信启动依赖安全启动的验签,主要是用于验证当前固件版本信息是否授信;在可信启动的过程中,通常将使用度量的概念,将度量值保存至TPM的PCR中,由平台裁决当前固件的版本信息是否在白名单内,以此达到版本管理的作用。
04
—
车内应用程序敏感信息包括程序代码本身、车主个人信息、汽车里程数据、VIN码、车型控制码、加密\解密密钥等。
对于MCU来说,通过芯片内部独立安全岛(即HSM)建立Secure Domain和Non-Secure Domain进行保护:
Secure Domain建立存储区,存储敏感信息 对程序本身进行真实性完整性验证, 使用OTP或者受保护Flash的方式对上述数据进行保护。
一般来讲,对于SOC来说,需在REE建立多层安全防护:
Kernel使用对象访问控制、MMU技术, 中间件采用应用签名认证、权限管理或是沙盒等 除此之外,采用ARM TrustZone建立TEE,为REE提供安全服务。
05
—
入侵检测与防御系统主要是负责收集信息安全相关数据、文件系统完整性检测、报文流量监测、防火墙以及信息安全日志等。
结合CP的入侵检测及AP的入侵检测、防火墙、日志管理,总结出架构如下:
CP中的IdsM负责Eth和CAN帧的流量检测,AP侧的防火墙和IDS事件可通过SPI、核间通信告知日志管理系统收集和分析安全事件日志。
日志系统中的log和trace的完整性、机密性和完整性就显得尤为重要。
因此需要采用访问控制机制,管理日志写入权限;
采用加密的形式保证log的机密性,
日志传输到云端需要采用加密和签名的保证保证其数据的完整性和真实性。
往期回顾:
1.汽车标定合集 汽车标定技术--XCP协议如何支持测量功能
汽车标定文章合集
2.AUTOSAR合集 AUTOSAR OS概述(一) AUTOSAR OS概述(二) AUTOSAR文章合集3.汽车网络安全合集 汽车网络安全方案需求分析
汽车网络安全渗透测试概述
汽车网络安全文章合集
4.汽车功能安全合集