论文部分内容阅读
随着近年来车联网产业的飞速发展,汽车已然不再是一个代步工具,数字化程度逐年增高。但是,这样的提高也同时给车载总线网络环境带来了安全的威胁,使黑客入侵汽车有了可乘之机。而车载总线网络上传输的各种控制数据一旦被黑客掌握并加以操纵,便会对乘客的生命及财产安全构成威胁。但是目前任何一种车载总线通信协议都没有安全方面的考虑,车载总线网络的安全问题亟待解决。因此,本文以速率更高、稳定性更强并极有可能成为下一代主流车载总线的FlexRay作为研究对象,提出了一种总线数据安全通信协议和数据压缩方法,在保证安全性的同时减小对实时性的影响。首先,为保护FlexRay总线网络的安全,本文提出了一套整合数据加密、消息认证和密钥分发策略的安全通信协议。其中,以AES系列算法为核心,使用计数器(CTR)模式对数据进行加密;使用HMAC算法生成消息认证码以保证数据的实时性及完整性;密钥分发策略方面,使用哈希函数生成单向密钥链,并以逆着生成方向的顺序以明文形式逐个公布使用过的会话密钥。通过将以上模块搭配整合,设计安全通信协议所需要完成的具体步骤,实现收发两端的安全通信。其次,设计了针对FlexRay的数据压缩方法。压缩的目的是减少安全算法需要处理的数据量从而缩短其占用车载电控单元(ECU)主处理器的时间,以降低对ECU正常任务实时性的影响。压缩的基本原则是只发送数据的变化量而不是完整值。压缩数据,即变换量,通过将当前周期与前一周期信号值进行异或运算的方式来获取。压缩后,数据仍放入原来的数据帧中发送,并添加指示位以方便接收端进行解压缩。最后,为了验证本文设计的有效性,使用了FlexRay开发板,即车载ECU,和CANoe车载总线仿真软件,以采集自真实汽车中的通信数据为基础完成了联合仿真实验。安全通信协议及数据压缩方法在Codewarrior IDE环境下,以C语言编码实现并下载到开发板中。通过CANoe向车载ECU发送攻击报文,观察实时通信数据,验证了本文设计的安全通信协议的运行效果和对常见攻击的防御能力;此外,经过数据压缩后,所有安全算法的运行所占用处理器的时间在收发两端分别最多可以减少7.54%和6.23%。