范晶晶 刘壮 陈超 黄晨
DOI: 10.3969/j.issn.1671-7775.2024.03.008
開放科学(资源服务)标识码(OSID):
摘要: 针对车载以太网通信数据安全和密钥安全问题,创新设计了基于动态密钥的车载以太网安全通信方法.建立车载以太网安全威胁攻击树模型,分析其面临的安全威胁.构建应对安全威胁的车载以太网安全通信方法总体架构.设计动态密钥算法模型,生成隐式动态密钥.设计基于动态密钥的安全通信方法,将原始数据通过动态密钥加密传输,生成摘要并在接收端进行摘要对比处理.通过Linux上位机、I.MX6ULL单片机和Windows设备模拟域间通信及网络攻击过程,将密钥、密文、明文进行差异度对比,同时对通信过程进行攻击,借助Wireshark软件分析通信过程中的数据交互.结果表明:该方法能有效保证密钥安全及车载以太网数据的机密性、新鲜性、真实性和完整性,且能有效应对篡改攻击与重放攻击.
关键词: 车载以太网; 信息安全; 动态密钥; 安全通信; 对称加密; 机密性; 完整性; 真实性
中图分类号: U463.61 文献标志码: A 文章编号: 1671-7775(2024)03-0302-07
引文格式: 范晶晶,刘 壮,陈 超,等. 基于动态密钥的车载以太网安全通信方法[J].江苏大学学报(自然科学版),2024,45(3):302-308.
收稿日期: 2023-03-20
基金项目: 北京市长城学者培养计划项目(CIT&TCD20190304)
作者简介: 范晶晶(1982—),男,北京人,高级工程师(jjfan@ncut.edu.cn),主要从事智能网联汽车研究.
刘 壮(1998—),男,山东聊城人,硕士研究生(ablehub@163.com),主要从事汽车网络安全研究.
Secure communication method for automotive
ethernet based on dynamic key
FAN Jingjing1,2, LIU Zhuang1,2, CHEN Chao1,2, HUANG Chen3
(1. School of Electrical and Control Engineering, North China University of Technology, Beijing 100144, China; 2. Jiangsu Industrial Innovation Center of Intelligent Equipment Co., Ltd., Changzhou, Jiangsu 213300, China; 3.School of Automotive and Traffic Engineering, Jiangsu University, Zhenjiang, Jiangsu 212013, China )
Abstract: For the security concerns of communication data and key in automotive ethernet, an automotive ethernet security communication method based on dynamic keys was innovatively designed. The attack tree model for automotive ethernet security threats was established to analyze the faced security threats. The comprehensive architecture for automotive ethernet security communication methods was constructed to address the threats, and the dynamic key algorithm model was designed to generate implicit dynamic keys. The secure communication method based on dynamic keys was designed to encrypt original data through dynamic keys, and the digests were generated and compared at the receiving end. Communication and network attack processes between domains were simulated using Linux-based systems, I.MX6ULL microcontrollers and Windows devices, and the difference degrees of keys, ciphertexts and plaintexts were compared. The communication process was attacked to analyze the data interactions by Wireshark software. The results show that the proposed method can effectively ensure the key security and the confidentiality, freshness, authenticity and integrity of automotive ethernet data, and it can effectively counter tampering attacks and replaying attacks.
Key words: automotive ethernet; information security; dynamic key; secure communication; symmetric encryption; confidentiality; integrity; authenticity
传统的CAN、LIN、FlexRay等车载网络已经不能满足日益增长的汽车智能化和信息传输交互需求,车载以太网为需要实时传输大量数据的复杂汽车系统提供了一种高速可靠的通信解决方案[1-3].随着车载以太网的引入,汽车内部的安全威胁和漏洞正在迅速增加[4-5],目前车载以太网仍未系统建立完整有效的认证和加密机制,为保证车载以太网的通信安全,许多研究已经陆续启动.S JEONG.等[6]设计了基于车载以太网中音频视频传输协议 (AVTP)流的基于卷积神经网络的入侵检测系统,可检测车载以太网中的AVTP流注入攻击;W. JO等[7]提出了车载以太网防火墙白名单生成系统,白名单根据一定的标准对报文进行过滤,可过滤异常数据包;M. SALEM等[8]提出了一种使用区块链技术的车载以太网通信方法,该方法使用主节点为车内其他控制器授予通信权限并分发公钥和私钥,以保证数据安全,该方法主节点一旦被攻击,整个系统的安全架构将会瞬间崩塌,此外,额外的组件还会导致成本增加,并增加车辆单点故障风险;LI J. M.等[9]针对车载以太网的网络安全问题,提出了一种改进的AES加密算法和MD5认证算法,效率更快,但未对数据的新鲜性采取有效措施,也未考虑AES加密算法密钥的安全性;WANG C. T.等[10]提出一种车载以太网安全通信机制,该机制由网关ECU通过RSA非对称加密算法为车内ECU分发DES密钥,RSA算法会额外增加数据传输量,且耗费大量硬件资源,此外DES密钥在短时间内容易被破解,对于未来域控制器架构下的安全需求可能无法满足.总体而言,当前主流的车载以太网安全研究主要集中在入侵检测、防火墙过滤和利用密码学机制对数据加密等方面,但是入侵检测只能监测攻击,不能阻止攻击,防火墙不能直接处理车辆内部网络的威胁;对车载以太网数据使用密码学机制直接保护是一种可行的安全方案,但是目前对此的研究并未能充分考虑密钥的安全隐患,有些考虑密钥安全性的研究也因增加额外的硬件节点导致单点故障风险或耗费大量硬件资源.
文中针对车载以太网通信安全问题及其过程中的密钥安全问题,提出基于动态密钥的车载以太网安全通信方法.为了保证密钥的安全且不增加额外硬件节点,提出动态密钥算法,每次数据传输均会基于随机字符串生成动态密钥,有效防范密钥泄露问题;同时,使用此动态密钥加密数据可保证数据的机密性、真实性、新鲜性;将数据进行摘要生成并对比以保证数据的完整性.最后使用Linux上位机、I.MX6ULL单片机和Windows设备模拟通信及攻击过程.
1 车载以太网安全威胁模型建立
文中采用攻击树模型分析车载以太网的安全威胁[11-12]上,从黑客的攻击意图出发,将车载以太网主干网络可能面临的威胁模型结构化,如图1所示,图中Ei(i=1,2,…,9)表示9种攻击.
图1中的攻击可以分为如下5类: S1={E1};S2={E2,E3,E4};S3={E5};S4={E6,E7};S5={E8,E9}.由图1可见,针对无信息安全措施的车载以太网,安全威胁S1、S2可以达到盗取知识产权/私人信息的目的,S3、S4、S5可以达到恶意攻击车辆的目的.对每类安全威胁的分析如下:
1) S1类,针对未加密的域控制器间通信数据,可通过窃听攻击得到车内网络流经的原始数据,达到窃取知识产权、私人信息和恶意攻击车辆的目的,因此,为保证原始数据安全,需要设计数据加密机制;
2) S2类,若密钥管理不当,则攻击者可利用各种安全漏洞获取密钥,再使用密钥解密截获的密文得到原始数据.因此,需要探索保证密钥安全的方法;
3) S3类,攻击者在车载以太网上安装虚假节点,向汽车发送虚假OTA安装包,以达到攻击车辆的目的;
4) S4类,攻击节点将监听到合法的信息在其他時间重新发送给目标控制器,由于数据包是车内的正常信息,会导致接收端认为此帧数据为正确数据,因此,需要探索保证数据新鲜性的方法;
5) S5类,攻击节点篡改截取到的信息,并将篡改后的信息发送给其他节点,以达到扰乱甚至控制汽车的目的.因此,需要研究保证数据真实性和传输过程中完整性的方法.
2 车载以太网安全通信方法
2.1 车载以太网安全通信方法总体架构
针对安全威胁,按照数据传输的时间顺序,所设计的车载以太网安全通信方法总体架构见图2.
图2中,动态密钥是由车主姓名、车架号、时间随机数、车主手机号、ECU地址组成的随机字符串生成,随机字符串结构见图3.
添加时间随机数和增加随机字符串自加因素能有效保证数据的新鲜性,添加ECU地址能有效防止非法节点干扰通信过程,以保证数据的真实性,添加其他因素能进一步保证密钥及数据的安全;之后通过动态密钥将数据加密以保证数据机密性,同时将数据生成摘要以保证数据完整性.
2.2 动态密钥算法模型
文中将MD5散列算法与HMAC报文认证码结合为HMAC-MD5算法,基于此将随机字符串生成AES-128动态密钥.动态密钥的生成可表示为
K(L,S)=MD5[(L^opad)‖MD5[(L^ipad)‖S]],(1)
式中: K为动态密钥;L为车主自定义汽车密码的扩展,其结构是在自定义密码左边填充0,使其长度等于该分组数据段的长度b bit;^为异或运算;opad为外部填充,由0x5C重复b/8次组成;ipad为内部填充,由0x36 重复b/8次组成;‖表示两个字符序列的串联;S为随机字符串.
式(1)中的MD5因算法较复杂,需单独表示,其过程可分为如下7步:
1) 将4个32位的缓冲区初始化为0,用来存放中间与最终结果.
2) 定义4个辅助函数,将3个32位数 X、Y、Z作为输入,产生32位数输出F、G、H、I,表达式为
F(X,Y,Z)=(X&Y)|((~X)&Z),(2)
G(X,Y,Z)=(X&Z)|(Y&(~Z)),(3)
H(X,Y,Z)=X^Y^Z,(4)
I(X,Y,Z)=Y^(X|(~Z)),(5)
式中: &表示與;|表示或;~表示非.
3) 定义一个包含64个常量的表为
T[i]=(232×|sin t|)」,t=1,2,…,64.(6)
4) 对输入数据进行填充0,使其长度与448 mod 512同余.
5) 将填充后的数据分成多个512位的块.将512位的数据块分成16个32位的数据块,分别为M[0],M[1],…,M[15],定义A、B、C、D共4个32位的初始化变量,将其赋值到步骤1)中的缓冲区中.
6) 执行64轮处理:
1-16轮: A=B+((A+F(B,C,D)+
M[i]+T[i])<
17-32轮: A=B+((A+G(B,C,D)+
M[i]+T[i])<
33-48轮: A=B+((A+H(B,C,D)+
M[i]+T[i])<
49-64轮: A=B+((A+I(B,C,D)+
M[i]+T[i])<
式中: i为当前执行的轮数;<<表示循环左移位;p为每次左移的位数,每次左移位数不固定,需要提前设定.
7) 重复进行步骤5)和6),直到所有数据计算完成,最后得到一个128位的字符串,将其代入式(1),得到动态密钥.
动态密钥的分配过程如下:
1) 数据发送端生成时间随机数Ssrand并生成字符串Sa,确认目标IP地址Sip2,生成字符串Sb:
Sa=Sn‖SVIN‖Ssrand,(11)
Sb=1‖Spn‖Sip1‖Sip2,(12)
式中: Sn为车主姓名;SVIN为车架号;Spn为手机号;Sip1为本机IP地址.
2) 发送端加密第n次数据前,执行
SA=Sa‖(Sb+n).(13)
3) 发送端通过HMAC报文认证码和MD5散列函数,将SA生成密钥K:
K=K(L,SA).(14)
4) 发送端将时间随机数Ssrand发送给接收端,接收端同时确认发送端IP地址Sip1,并生成字符串Sc和Sd:
Sc=Sn‖SVIN‖Ssrand,(15)
Sd=1‖Spn‖Sip1‖Sip2.(16)
5) 接收端解密第n次数据前,执行字符串自加:
SB=Sc‖(Sd+n).(17)
6) 接受端通过HMAC报文认证码和MD5散列函数,将SB生成密钥K:
K=K(L,SB).(18)
动态密钥的产生和分配并未涉及密钥存储与密钥传输,这种隐式密钥分配方式可应对密钥泄露的威胁.
2.3 基于动态密钥的安全通信方法设计
文中综合动态密钥算法、AES-128对称加密算法和MD5散列算法构建了车载以太网安全通信方法.使用动态密钥将原文加密成密文从而保证数据机密性;与此同时,将原文通过MD5算法生成摘要以保证数据完整性,发送端操作过程如下:
1) 基于AES算法,使用动态密钥K1,将原文OG加密得到密文C:
C=AESK1(OG).(19)
2) 基于MD5算法,将原文OG生成摘要MACa:
MACa=MD5(OG).(20)
3) 将C、MACa共同发送给接收端.
接收端操作过程如下:
1) 基于AES算法,使用动态密钥K1,将密文解密得到原文OG:
OG=RAESK1(C).(21)
由于动态密钥融合了时间随机数、控制器地址和自加算法等因素以对抗重放攻击、虚假节点等安全威胁,若解密失败,说明密钥出现问题,说明此时通信遭到了重放攻击或虚假节点介入.若解密成功,则进行步骤2).
2) 基于MD5算法,将原文OG生成摘要MACb:
MACb=MD5(OG).(22)
逐位判断MACb和MACa是否相等,若相等,则说明该数据正常;若不相等,则说明数据在传输过程中遭到了篡改,需要立刻抛弃此数据.
3 试验验证与分析
3.1 试验平台与试验原理
试验平台如图4所示,包括1台Linux系统的上位机(模拟域控制器A)、1台I.MX6ULL单片机(模拟域控制器B)和1台通信数据监测设备.域控制器A和B通过车载以太网通信,通过Wireshark软件查看并分析其交互过程.
在试验环境中,各项配置如下: ① 域控制器A的IP地址为192.168.5.11; ② 域控制器B的IP地址为192.168.5.12; ③ 数据监测设备IP地址为192.168.5.10; ④ 车主名字为lz; ⑤ 车架号为LC6TCGC6660808147; ⑥ 手机尾号为6985.
为了测试该方法的安全性和可行性,试验对动态密钥的差异度、不同时间相同数据对应密文的差异度、数据摘要的差异度、明文和其加密密文的差异度进行分析,差异度D的计算公式为
D=1-MA,(23)
式中: M为每组字符串同位的两个字符相等的个数;A为字符串总长度.差异度越接近1 ,表明两个字符串差异程度越大.
同时模拟嗅探窃听攻击、篡改攻击和重放攻击,以验证其可行性.
3.2 试验结果分析
3.2.1 安全性分析
为了证明动态密钥的安全性,试验记录了50次数据传输过程中的50个动态密钥,将其两两组合,并对比每个组合中密钥的差异度,试验结果见图5.
由图5可见,密钥的差异度接近1,说明每个动态密钥均无关联,得以证明动态密钥算法满足随机性要求,可保证密钥的安全性.
为了证明动态密钥算法在保证数据新鲜性方面的安全,将同样一组数据在不同的时间发送50次,记录其产生的50组密文,同时将50组密文两两组合,并观察其差异度,结果见图6.由图6可见,同样的数据在不同时间段使用动态密钥所生成的密文差异度均接近1,证明动态密钥算法能有效保证数据的新鲜性.
为了证明安全通信方法防篡改攻击的安全性,截取一段原文并生成摘要,同时,在此原文之上做50次微调并生成50组摘要.将50组摘要与原始摘要对比,观察差异度,结果见图7.
由图7可见,将原文进行微小的调整,其摘要将会发生巨大变化,50组摘要对比与原始摘要差异度均在0.78以上,证明数据完整性得到了有效的保护.
为了证明使用动态密钥加密数据的机密性安全,试验将50组加密数据与其对应的原始数据做差异度对比,结果见图8.
由图8可见,50组密文和原文的差异度均在0.8~1.0范围内浮动,攻击节点即使窃取到通信内容,也无法从内容中得到有价值的信息,更无法得到通信的原始数据,证明数据的机密性已经得到保护.
3.2.2 可行性分析
重放攻击试验:使用数据监测设备将之前域控制器A发送给域控制器B的通信数据重新发送,以模仿重放攻击.图9展示了重放攻击的试验结果.图9中,绿色部分表示数据监测设备向域控制器B实施重放攻击.红色部分为目标域控制器B在遭遇重放攻击之后的回应.
由图9可见,目标域控制器B的回应内容為“data error ID error”,产生该现象有两种原因:
1) 目标域控制器B在正常通信中突然接收到之前的通信数据,该数据是通过之前的随机数生成密钥并加密的,由于动态密钥机制的存在,数据接收端使用这一时刻的随机数生成密钥并解密导致解密错误,所以控制器B回应“data error”.
2) 由于数据监测设备截获的是IP地址为192.168.5.11的域控制器A与IP地址为192.168.5.12域控制器B之间的通信内容,所以随机字符串的IP地址部分整合的是这两者的实际IP,而数据监测设备的IP为192.168.5.10,接收端在收到数据后,会根据192.168.5.10的IP地址生成随机数并产生密钥,加密密钥和解密密钥不同所以导致解密错误,所以控制器B回应“ID error”.
篡改攻击试验:试验使用数据监测设备伪装成网络内的合法节点,向域控制器B发送篡改后的数据,并使用Wireshark软件进行抓包查看篡改攻击的过程,攻击案例如图10所示,该图也展示了目标域控制器接收到篡改数据后所做的反应.
图10中,绿色部分是数据监测设备向域控制器B实施篡改攻击,红色部分为域控制器B向发送端回应“hash error”,证明防篡改机制起了作用,域控制器在数据完整性这一步发现了异常,并立即向发送端返回错误信息;若发送端是合法设备,则会在接收到异常信息后,重新发送数据;若发送端是非法设备企图篡改攻击,那么证明非法设备篡改攻击失败.
窃取攻击试验:试验通过Wireshark软件窃取通信过程中的50组数据,过程见图11.
图11中,绿色部分为域控制器A向域控制器B发送数据,红色部分为窃取到的数据内容,其右半部分为发送的数据,左半部分为数据的二进制形式.数据的前半段是原始数据进行AES加密后的输出结果,数据的后半段是该段数据的哈希摘要“8AD2……”和随机数“699 167 318”,用于数据接收端的完整性验证和密钥生成.从窃取内容可以看出,数据的机密性已经得到有效保证.
4 结 论
文中设计了基于动态密钥的通信安全方法.动态密钥算法综合HMAC算法和MD5算法实现密钥在车内网络的隐式传输,有效预防其泄露问题,时间随机数和自加因素保证动态密钥新鲜性,ECU地址因素防止非法节点干扰通信过程,保证所加密数据的真实性,添加其他因素进一步保证密钥安全.试验结果表明:该安全方法在未添加额外硬件节点的基础上有良好的安全性和可行性;方法能有效保证密钥安全及车载以太网数据的机密性、新鲜性、真实性和完整性,并能有效应对篡改攻击和重放攻击威胁.
[WT5HZ]参考文献(References)[WT5”BZ]
[1] NAVALE V M, WILLIAMS K, LAGOSPIRIS A, et al. (R)evolution of E/E architectures[J]. SAE Internatio-nal Journal of Passenger Cars-Electronic and Electrical Systems, 2015,8(2):282-288.
[2] 呼布钦,秦贵和,刘颖,等.下一代汽车网络:车载以太网技术现状与发展[J].计算机工程与应用,2016,52(24):29-36.
HU B Q, QIN G H, LIU Y, et al. Next generation automotive network:technology status and development of automotive ethernet in-vehicle network[J]. Computer Engineering and Applications, 2016, 52(24):29-36.(in Chinese)
[3] SMIRNOV F. Design and evaluation of ethernet-based E/E-architectures for latency-and safety-critical appli-cations[D]. Erlangen, Germany: Friedrich-Alexander-Universitt Erlangen-Nürnberg, 2019.
[4] HU Q, LUO F. Review of secure communication approaches for in-vehicle network[J]. International Journal of Automotive Technology, 2018,19(5):879-894.
[5] 邬江兴.智能网联汽车内生安全问题与对策[J].重庆邮电大学学报(自然科学版),2023,35(3):383-390.
WU J X. Endogenous security problems and countermeasures of intelligent connected vehicle[J]. Journal of Chongqing University of Posts and Telecommunications(Natural Science Edition),2023,35(3):383-390. (in Chinese)
[6] JEONG S, JEON B, CHUNG B, et al. Convolutional neural network-based intrusion detection system for AVTP streams in automotive ethernet-based networks[J]. Vehicular Communications, DOI:10.1016/j.vehcom.2021.100338.
[7] JO W, KIM S J, KIM H, et al. Automatic whitelist ge-neration system for ethernet based in-vehicle network[J]. Computers in Industry,DOI:10.1016/j.compind.2022.103735.
[8] SALEM M, MOHAMMED M, RODAN A. Security approach for in-vehicle networking using blockchain technology[J]. Lecture Notes on Data Engineering and Communications Technologies, 2019,29: 504-515.
[9] LI J M, FU S, WU Y J, et al. High-efficiency encryption and authentication network security for automotive ethernet[J]. International Journal of Modeling and Optimization,2022,12(2):36-42.
[10] WANG C T, QIN G H, ZHAO R, et al. An information security protocol for automotive ethernet[J]. Journal of Computers, 2021, 32(1): 39-52.
[11] 李彤,李博,常成,等. 基于攻擊树的LoRaWAN安全威胁建模[J]. 通信技术, 2018, 51(11): 2695-2701.
LI T, LI B, CHANG C, et al. Attack tree-based mode-ling of LoRaWAN security threat[J]. Communications Technology, 2018, 51(11):2695-2701.(in Chinese)
[12] LALLIE H S, DEBATTISTA K, BAL J. A review of attack graph and attack tree visual syntax in cyber security[J]. Computer Science Review, DOI: 10.1016/j.cos-rev.2019.100219.
(责任编辑 梁家峰)