孙璐,董晓玲,付金勇,张永刚
(北京汽车股份有限公司汽车研究院,北京 101300)
当前,汽车产业与信息通信技术深度融合,汽车产品加快向智能化和网联化方向发展,在满足交通出行的基础上,汽车转变为大型移动智能终端、储能单元和数字空间。到2023年,智能网联汽车预计将占全世界所有乘用车的1/4;到2025年,智能网联汽车占全球汽车市场近86%[1]。
在这一过程中,车辆接口逐步开放,车载通信总线技术不断更迭,CANFD和以太网逐渐成为车载总线的主体,在这一发展过程中,安全事故频繁发生,宝马汽车“Connected Drive”功能漏洞造成的大规模远程修复、JEEP 汽车可远程破解导致140 万辆汽车被召回[1],科恩实验室成功攻破特斯拉的Autopilot驾驶系统,对驾驶判断结果进行干预,对车辆信息安全的保障成为车辆开放接口后需要重点保护的内容。国际知名汽车信息安全研究组织Upstream Security发布了2021年全球汽车信息安全报告,对比上一年度,基于服务的信息安全事件有了大幅度增加,2010—2020年的顶级攻击量分解[1]如图1所示。
图1 2010—2020年的顶级攻击量分解
信息安全指保护、维持信息的安全性、完整性和可用性,传统车载网络大多以CAN通信为主,广播式明文传输方式,缺乏加密认证机制,在信息娱乐域和自动驾驶域信息量急剧增加的新型电子电器架构需求的大背景下[2-3],有效地混合网络信息安全通信系统设计,在车载网络传输的真实性、可核查性、抗抵赖性、可靠性等性质方面的保障,在OEM的系统设计过程中,需要在设计初期进行综合性考虑,结合硬件、软件综合需求,满足网络传输实时性要求。
采用高速车载Ethernet和CANFD通信技术为主干网和域控制器的新型架构,关键系统采用冗余设计,支撑不同配置的车型使用,满足智能网联汽车的高实时性、高安全性和高可靠性的技术要求,整车分为6个域,共约80余个控制器节点,可以拓展至100个节点,具体划分如图2所示。
图2 混合网络拓扑设计
整车采用Ethernet和CANFD作为主干网的拓扑结构形式,关键系统采用冗余设计,支撑不同配置的车型使用,满足智能网联汽车的高实时性、高安全性和高可靠性的技术要求。高速的车载以太网和CANFD新型技术,满足大数据量和高实时性通信传输需求;同时兼容传统的CAN、LIN和LVDS通信方式,支撑不同配置车型搭载使用。
在具备Ethenet和CANFD的车内混合网络中,基于AutoSAR标准的SecOC模块可以进行完整性和实时性的验证。
SecOC模块提供了车内多个控制器之间基于协议数据单元(PDU)层针对敏感数据的认证机制,实现基础要求发送方和接收方都具备SecOC模块,并提供上下层PduR应用程序编程接口,SecOC模块作为AUTOSAR软件架构下的基础模块集成在AUTOSAR PduR 层面上,AUTOSAR 标准中,PduR模块负责将收发到的需要安全保护的I-PDU路由到SecOC模块。然后,SecOC模块负责处理信息安全相关信息,将结果以IPDU的形式传回PduR并交由其继续发送。SecOC模块目前支持对CAN总线和FlexRay 总线加密和验证功能。在新型混合网络架构中,CANFD总线节点端对端采用SecOC校验机制,来保证信号抵抗篡改。
基于SecOC模块的ECU之间的通信过程,需要SecOC模块与PduR模块之间的交互,在发送端,SecOC模块通过增加认证信息,对发送的I-PDU来构建一个安全的I-PDU,认证信息通过增加认证的MAC值和FV值,综合硬件成本、协议栈部署情况等多方面因素,FV可以采用单一Counter、多Counter,Timestamp的形式来进行。在接收端,SecOC检查FV,并确认I-PDU的真实性,接收和发动端需要对FV的构建进行协商。
该系统的主要目的是传输具有真实性且被FV保护的消息。因此,发送方需要使用SecOC 密钥来计算数据上的MAC,并管理所传输的FV。接收方使用相同的数据和SecOC 密钥以及自己的FV作为输入来验证MAC值。当且仅当得到的MAC值相等时,验证成功。消息的发送和验证过程如图3所示。
图3 MAC认证和FV确认
在安全I-PDU中,MAC值为特定的认证字符串,通过密钥、安全I-PDU的数据标识符、校验Payload和FV,如图4所示。
图4 MAC和FV的截取
MAC提供了数据是由合法的源头产生,并提供给特定的接收ECU。根据验证算法,生成MAC值,调用Truncation功能,截取具备符合总线传输长度的MAC值和FV值,构建安全I-PDU。
新鲜度管理提供FV,该值会在协议数据单元(PDU)计算消息认证码(MAC)中使用。由于AutoSAR中未指定新鲜度管理组件,并且SecOC 是跨ECU 系统,因此安全性管理由SecOC 解决方案提供。此外,由于发送方和接收方执行加密操作,FV必须由新鲜度管理来提供和同步。
SecOC系统中采用对称密钥计算MAC值,一般采用AES128 CBC算法,因此,对称密钥的保护成为保障整个体系安全运行的关键。
密钥管理保存用以对协议数据单元(PDU)计算消息认证码(MAC)的密钥。由于AutoSAR中未指定密钥管理组件,且SecOC 是跨ECU 的系统,因此密钥管理由需要进行自定义。因此,安全地注入SecOC 密钥是基础,且应该具备密钥管理后端。由于需要使得一组SecOC ECU 始终共享有效的SecOC 密钥,并且根据不同的功能进行密钥组的注入。
目前,为满足多场景密钥的使用需求,基于云平台的KMS部署已经成为普遍应用。KMS为密钥管理系统,可以根据不同的应用场景,生成不同种类及长度的密钥,并通过安全传输,进行密钥排放,可以有效地保证密钥的安全性。结合云平台KMS,可以实现远程升级、远程启动、安全通信等场景的密钥管理。因此,在此基础上,以系统设计的级别,对通信信号进行分组隔离,定义密钥组,根据混合网络的通信设计需求,并基于一定周期进行密钥更新,可以有效保持密钥组的有效使用。图5给出了一个基于服务器的对称密钥的申请和发放过程。
图5 带后台的KMS的密钥更新过程
车载ECU为需要进行安全通信的车载模块,Tbox为车载通信单元,通过4G/5G通信模组与TSP进行通信,通信遵循HTTPS协议,安全通信协议版本需要TLS1.2以上,进行安全通信,对称密钥的更新请求及派发过程遵循以下步骤:
(1)参与安全通信的车载ECU通过应用报文发送密钥更新请求给Tbox;
(2)Tbox验证请求节点身份,判断密钥更新周期是否满足要求;
(3)Tbox向后台发送密钥更新请求;
(4)云平台生验证Tbox合法性,成随机数A发送给Tbox;
(5)Tbox发送密钥更新请求+随机数A给车载ECU;
(6)车载ECU接收请求+随机数A,生成随机数B,返回请求响应,包含随机数A、随机数B、ECU ID及预制CMAC;
(7)Tbox将车载ECU的密钥更新响应传递给后台;
(8)后台验证密钥更新中所含信息的有效性;
(9)后台生成一级传递密钥,并传递给Tbox;
(10)Tbox接收一级传递密钥,进行混淆算法计算,生成二级传递密钥,并发送给车载ECU;
(11)车载ECU接收二级传递密钥,进行混淆算法计算,生成存储密钥,通过校验,写入HSM,写入的密钥参与SecOC模块计算,作为通信加解密密钥使用。
文中详细介绍了AutoSAR规范下车载安全通信模块SecOC 的机制,结合新型电子电器架构平台开发,设计了基于后台的KMS的安全密钥更新过程,实现了基于SecOC的混合网络信息安全通信系统设计规则,该安全防护机制可以有效过滤非法的报文广播,对发送方进行验证,很好地保护了车载网络通信的信息安全。
后期将在此基础上进行系统设计,评估各节点硬件及软件成本,并对时延进行测试,确保通信完整性和实时性。