版权信息
主管部门:北京电子控股有限责任公司

主办单位:北京方略信息科技有限公司

地址:北京市东城区北河沿大街79号《信息与电脑》杂志社

国内统一刊号:CN 11-2697/TP

国际标准刊号:ISSN 1003-9767

邮发代码:82-454

《信息与电脑》录用通知

您的当前位置:首页 >> 录用通知

FlexRay总线的安全加密认证研究
 

FlexRay总线的安全加密认证研究

李明揆,张正一,刘皓

  延边大学工学院电子信息工程专业

 


摘要:随着车联网技术的日渐成熟,车载总线网络系统不再是独立、安全的通信网络,车载总线网络系统可以通过OBDⅡ网络测试仪、导航、WIFI等系统与外界连接,这很容易泄露汽车上固有的总线网络信息,车载总线网络被黑客入侵后驾驶员也有失去汽车控制权限的可能性。为了提高车载总线网络的安全性,本文针对FlexRay车载总线网络系统分析了其存在的安全缺陷与可能的攻击手段。通过基于AES-128SHA-1算法提出了一种加密认证协议,并通过CANoe环境下进行了仿真实验,提高了车载总线网络数据的安全性和可靠性。

关键词:总线网络;FlexRay;网络保安;网络安全;安全协议

1 研究背景

长期以来,为了保障车载总线网络的安全性,全世界汽车生产商统一使用LINCANFlexRay等总线来独立搭建车载总线网络[1-2]。但是随着汽车电子化和自动化进程不断加快、技术不断成熟,车载总线网络系统不再是独立、安全的网络系统。汽车通过连接到智能手机、蓝牙、因特网等给驾驶员提升了汽车的驾驶乐趣,反面带来了黑客攻击、安全漏洞等不容忽视的安全问题,严重影响汽车行驶安全、个人隐私、甚至危及公共安全[3-4]。基于机电一体化技术和线控技术(x-by-wire)的智能型汽车(如,纯电动汽车、无人驾驶汽车、互联网汽车等)日益成为了下一代汽车发展方向,同时车载总线网络是各电控系统之间传输数据的主要工具[5]。如何保障车载总线网络的安全性和可靠性是当前汽车界亟待解决的难点之一。

然而车载总线网络的发展面临着许多挑战。车载总线网络的网络安全、数据管理、网络拓扑架构技术传统上缺乏理论指导,具有较强的随意性和硬件依附性。车载总线网络发展近半个世纪以来,现通用的LINCANFlexRay等车载总线网络协议没有考虑了网络安全问题,很容易泄露汽车上固有的车载总线网络信息和被黑客失去汽车控制权限的可能性。因此如何主动防御通信协议中的数据层和物理层上存在的安全漏洞是互联网汽车发展过程中必须解决的关键核心问题。

第二章详细描述了本文提出的安全协议并对协议中用到的算法流程进行了介绍。通过利用CANoe系统搭建了FlexRay网络架构,对使用本文提出的安全协议进行了仿真验证,第三章给出了仿真结果,并对其有效性进行了分析。第四章对全文做了总结。

2 加密认证协议

为使FlexRay报文得以安全高效的在总线上进行传输,安全协议需要满足真实性、机密性、实时传输性等三项目标。AES加密算法全称高级加密标准,是一种在全世界范围被广泛认可的对称加密算法。在执行加解密算法前,输入会被复制到一个如图1所示的State数组当中。该数组用正方形矩阵描述,矩阵中的每一个元素均以字节为单位。在加密过程中,都是对该State数组进行操作。

1 State数组

AES-128加密算法由十轮加密操作组成,每轮可分为三个层次。分别为字节代换层,扩散层与密钥加层。具体的算法加密流程如图2所示。

2 AES-128加密过程

1)字节代换层:AES算法定义了一个S盒,它是一个大小为16´16的数据表,表中每一个元素的大小为一个字节。在对State数组中某一字节的数据进行代换时,以该数据的高四位作为行值,低四位作为列值将其映射到S盒中对应的元素,之后将该S盒中的元素替换原始数据。

2)扩散层由行移位变换与列混淆变换组成。加密阶段的行移位变换对State数组中元素的操作为,第一行保持不变,从第二行开始到第四行,依次循环左移一个字节、两个字节与三个字节。加密阶段的列混淆变换将State数组矩阵与一个同样大小的特定矩阵相乘,得到的新矩阵替换原State矩阵。这个过程中的乘法均是定义在有限域GF(28)上的。

3)密钥加层:这个过程将从密钥扩展数组中选取相应轮的扩展密钥,与State数组做异或操作。

当报文完成加密处理后,可以保证不被

入侵者恶意篡改,在未掌握密钥的情况下入侵者也无法发送一条恶意报文。

加密过程由密钥扩展和对数据体的加密操作两部分构成。在执行对数据体的加密操作之前首先要进行密钥扩展,扩展算法将16字节的原始密钥扩展为156字节的扩展密钥数组w。该数组为初始轮密钥加以及后续10轮加解密运算中的轮密钥加操作提供了输入密钥。密钥扩展首先原始密钥安放到扩展数组的前4个字(16字节),之后该数组中的每一个字w[i]要使用到w[i-1]w[i-4]来进行计算。当计算扩展数组中下标为4的倍数的元素值时,需要使用一个更为复杂的函数。该函数将会进行字循环与字节代换操作,然后将这两步所得到的结果与轮常量进行异或运算从而得到相应元素的值。密钥扩展可以有效地防止密码分析攻击。

消息认证码(MAC)通常将其置于欲发送的报文之后。接收方在接收到该报文后,利用MAC对接收到的报文进行验证,以证明该报文来自可信的节点,并且未经过篡改或增删。HMAC是基于加密哈希运算的消息认证码。利用哈希函数来获取MAC速度较快,而且当出现效率更高性能更好的哈希函数时,可以很容易地将原始HMAC算法中的哈希函数模块替换掉。

本文使用SHA-1作为计算HMAC的哈希函数。SHA-1算法的输入为长度小于264位的消息,输出为一个长度为160位的消息摘要。欲从消息摘要逆推回原文是十分困难的,所以当入侵者不知道密钥的情况下无法计算出正确的HMAC。若实施消息重发攻击,接收节点可以通过对比消息认证码来判断是否丢弃报文,具体算法流程如图3所示。

3 HMAC计算过程

本文提出的安全协议采用AES-CTR模式对报文进行加密,具体操作过程如图4所示。

4 AES-CTR模式

CTR模式每次从计数器读取一个值,将该值进行加密,加密后得到的数据与输入数据做异或运算,其结果作为输出。由于CTR模式运算方法的特性,并不需要使用到AES解密算法。在加密时输入位置为明文输出位置为密文,在解密时只需将二者位置对调,并使用同样的密钥与计数器值即可。

为了进一步提高数据的真实性与机密性两个目标,本文分别使用AES-128算法与HMAC算法对报文进行加密与认证。协议中,每一条报文的传输与接收阶段的流程分别如图5和图6所示。

5协议发送阶段流程

6协议接收阶段流程

流程图中使用到的变量,其含义如表1所示。

1 变量释义

变量

解释

CTRcycle

CTRm

CTRmac

Ctemp

Csend

Msend

Mrece

EK

DK

AK

P

节点的周期计数器值

某一报文发送/接收量计数值

某一报文MAC发送/接收量计数值

计数器值经过加密后的结果

发送的密文

发送的消息认证码

接收节点计算的消息认证码

AES加密密钥

AES解密密钥

HMAC加密密钥

明文

本文提出的协议中,所有节点的密钥库在通信开始前被初始化完毕。由于AES是对称加密算法,所以发送端与接收端的密钥库相同。发送阶段与接收阶段的AES加密密钥与HMAC密钥按通信周期更换。

本文的安全协议采取对报文加密的手段来保证机密性。报文加密后,在入侵者不知道加密密钥的情况下,无法获知报文的具体内容。通过采用AES-CTR模式,计数器在传输成功后会实时的更新,这样即便使用相同的密钥也会生成不同的密文,防止了入侵者通过内容相同的报文猜测报文用途而进行的攻击行为。

3实验验证

为了验证本文提出的安全协议方法的有效性,使用德国Vector公司的CANoe系统来搭建由两个ECUFlexRay总线组成的FlexRay网络架构模型。

接下来使用本文提出的安全协议对报文进行处理。当总线网络初始化完毕后,由于还没有任何报文传输,所以此时任何一个报文计数器的值均为零。当ECU1准备发送Frame_1时,首先使用安全协议对其进行处理,各部分计算结果如表2所示。

2 Frame_1数据

明文

01007F0011002A31

0000007200000000

计数

0

加密

密钥

1b200b19 7e5ef522

05465540 1716483a

HMAC密钥

60814fdc 222a9088

46eeb814 de5e0bdb

密文

9283f51e 252dbf0f

15e2f1ac 0da10107

HMAC

99db576e ae8d083b

15f45acb 00ee101a

a0f9c03c

之后,将Frame_1发送到总线上。四条报文的传输情况如图7所示。

加密后的报文数据与MAC可以实现在总线上进行传输,并保了证实时性。Frame_1的密文与HMAC和安全协议计算的结果一一对应,其他三条报文的数据也可通过安全协议计算后得到证实。

7 Frame_1加密后总线传输情况

4结论

车载总线网络系统已经不再是独立的网络系统,更加趋向于与各种设备进行互连。但是,没有一个汽车制造商对汽车网络安全予以过考虑。本文针对FlexRay总线所里面临的安全问题,提出了一种安全协议。该协议使用AES-128算法对数据进行加密,并利用基于SHA-1HMAC进行消息认证。最后通过利用CANoe系统搭建FlexRay网络架构环境,并安全协议对报文进行处理,验证了该协议在FlexRay协议中的可行性。

参考文献

1.          吴晨晓.汽车网络通信总线现状及发展[J].汽车实用技术,201902):203-204.

2.          喻露.现阶段车载网络关键技术的应用探究[J].汽车实用技术,201822):161-163.

3.          韩正士,秦贵和,赵睿,刘毅,梁云龙.车载FlexRay总线安全协议的设计与实现[J].西安交通大学学报,20185212):63-69.

4.          吴贻淮,李飞,覃周.车载ECU加密通信与身份认证机制研究[J].怀化学院学报,201736(05)75-77.

5.          王政军,李星,李源清,陈萌.汽车线控技术的研究现状及展望[J].科技创新导报,20151221):8-9.

 

推荐资讯