首页 / 专利库 / 制造过程 / 汽车制造商 / 一种自适应的车内CAN总线安全控制方法及系统

一种自适应的车内CAN总线安全控制方法及系统

阅读:295发布:2020-09-01

专利汇可以提供一种自适应的车内CAN总线安全控制方法及系统专利检索,专利查询,专利分析的服务。并且本 发明 属于网联 汽车 信息处理技术领域,公开了一种自适应的车内CAN总线安全控制方法及系统,通过对报文特点和车内网络环境的分析,选择若干影响因素,进行自适应的选取安全策略,在满足报文的安全需求的同时,根据动态的车内网络环境自适应地调整安全策略;将车内ECU 节点 的通信 频率 抽象为无向图,以通信频率作为图的边权重,采用 马 尔可夫聚类的方法根据ECU之间通信频率将其划分为层次化的域结构,并使用树形域密钥结构对节点进行密钥管理,同时结合自适应安全策略选取方法,进行差异化的安全策略及相应的通信协议选取。本发明所需开销有限,适用于计算能 力 受限的ECU节点和高实时性需求的CAN总线网络。,下面是一种自适应的车内CAN总线安全控制方法及系统专利的具体信息内容。

1.一种自适应的车内CAN总线安全控制方法,其特征在于,所述自适应的车内CAN总线安全控制方法包括:
通过对报文特点和车内网络环境的分析,选择若干影响因素,并利用层次分析法和模糊决策的思想,自适应的选取安全策略,在满足报文的安全需求的同时,根据动态的车内网络环境自适应地调整安全策略;
将车内ECU节点的通信频率抽象为无向图,以通信频率作为图的边权重,采用尔可夫聚类的方法根据ECU之间通信频率将其划分为层次化的域结构,并使用树形域密钥结构对节点进行密钥管理,同时结合自适应安全策略选取方法,进行差异化的安全策略及相应的通信协议选取,实现车内CAN总线安全控制。
2.如权利要求1所述的自适应的车内CAN总线安全控制方法,其特征在于,基于模糊决策的CAN总线安全策略选取方法包括:
步骤一,因素集的确定:选取与报文安全需求以及动态车内网络环境相关且影响安全策略决定的因素,构建因素集U;报文因素以及网络环境因素的取值范围均在(0,1]之内,将报文因素以及网络环境因素依次表示为u1,u2,...,u7,并添加到因素集U中,U={u1,u2,...,u7};
步骤二,策略集的确定:
策略集P表示可选策略的集合,表示为P={P1,P2,P3,P4,P5,P6},其中P1表示明文广播传输,P2表示密文传输,P3表示明文传输并采用截断的HMAC认证,P4表示明文传输并采用
64bits的HMAC认证,P5表示密文传输并采用截断的HMAC认证,P6表示密文传输并采用64bits的HMAC认证;
步骤三,基于模糊决策的差异化安全策略选取:首先采用层次分析法确定影响因素的权重,然后确定安全策略对评语集的隶属度函数并构造模糊评判矩阵,对策略进行模糊综合评价,最后在选取较为合理的安全策略输出。
3.如权利要求2所述的自适应的车内CAN总线安全控制方法,其特征在于,
步骤一选取的影响因素进一步包括:
(1)机密性需求 由于与行车安全相关的油温,车速传感器参数这类报文若被攻击者窃听并破解,暴露行车安全的重要信息或用户隐私等信息;通过专家评级,将机密性需求分为由高到低四个等级,设 表示报文msgi的机密性需求,令
当 时,说明报文的机密性需求最高;
(2)认证需求 认 表示报文msgi的认证需求,其中 由专家或制造商对
报文内容,收发ECU等进行分析,将报文的认证需求分为由高到低四个等级;令时,说明报文的认证需求最高;
(3)实时性需求 设 表示报文msgi的实时性需求,其中 根据message 
ID设置实时性需求级别,message ID为11bits的十六进制数,设其起始位为y,则 的取值如式(1);当 表示报文的实时性需求最高;
(4)报文的长度等级 表示报文msgi的长度等级;报文长度为l bits, 的取
值如式(2),其中 表示报文长度等级最高;
(5)总线负载比Bt:网关ECU监测某时间段T内的总线负载率,并统计该时间段内总线负载率大于50%的时间长度t1占总时长t(t≠0)的比例,用总线负载比Bt表示,Bt=t1/t,Bt∈(0,1],该值越接近于1,则该时间段内的总线负载比越高;
(6)信道忙闲比CBRt:定义信道忙闲比CBRt为监测时间T内,检测信道为繁忙状态的时间所占的比例, n为信道检测次数,ki在信道繁忙时为1,信
道空闲时为0;当CBRt的值越大时,说明信道越繁忙;
(7)当前网络安全状态级别St:设St为当前时间段T内车内入侵检测系统反馈的车内网络安全级别;IDS将当前网络安全状态反馈至网关ECU,其中St={s|s=(n-k)/n,k=0,1,2,
3,n=4}依次表示当前网络状态由高到低的四个等级;当St=1时,表示当前网络安全状态级别最高。
4.如权利要求2所述的自适应的车内CAN总线安全控制方法,其特征在于,步骤三进一步包括:
1)基于AHP法确定因素集各影响因素的权重:
建立CAN总线安全机制的层次模型,其中因素集U={U1,U2},U1表示报文因素集,U2为网络环境因素集;
通过对同一层的因素两两比较,由专家或制造厂商进行重要度评估,确定其相对重要程度;由上至下建立对比矩阵Mu=(mij)n×n,mij>0;其中,mij表示因素ui与因素uj的相对重要程度,n为因素个数,如式(3):
Mu为一致矩阵,满足:mji=1/mij且 在确定对比矩阵后,因素权
重进行确定;若准则层权重 子准则层对因素U1,U2的权重分别为W1和W2,则根据加权法,最终所有因素的权重为α=[W1·α1,W2·α2];
2)确定隶属度函数,构造模糊评判矩阵R:
由专家或制造商通过分析各个因素对安全策略的影响,对每个因素构造一个策略评分等级矩阵G=(gij)6×4,其中gij表示当因素分别取不同的值时策略Pi的得分;对 构造策略评分矩阵G1,其中gij表示 依次取{0.25,0.5,0.75,1}时,各个策略Pi的得分情况;
确定安全策略对评语集各元素的隶属度函数,设评语集为所有评价结果组成的集合,用V={v1,v2,...,vm}表示,m为评价结果的总数;选取V={差,较差,较好,好};用隶属度rij用来表示策略Pi在因素ui的影响下对于评语集元素vj的属于程度,其中rij∈[0,1];rij越接近于1,说明Pi对vj的隶属度越高。本发明选取降半梯形分布隶属度函数,其中j={1,2,3,4}分别表示vj可能的四种取值{差,较差,较好,好},则相应的rij依次为ri1,ri2,ri3,ri4,式中a1<a2<a3<a4,gij表示该策略的得分,来源于策略评分矩阵G;
网关ECU在获取某条报文的参数信息以及该时间段内的网络环境参数后,根据各因素策略评分矩阵G,依次获取策略集Pi(i=1,2,...6)相应的分数gij,并代入隶属度函数,依次构成每个安全策略的模糊评判矩阵R,其中
3)对策略进行模糊综合评价:
根据式(8),计算Pi对vj的隶属度B=(b1,b2,...,bm),策略Pi的模糊评价结果向量;其中bi表示Pi对vj的隶属度,综合考虑各个因素的影响,确定Pi对于评语集vj的隶属度;依次计算各个安全策略对评语集vj的隶属度;
4)根据最大隶属度原则选取安全策略:
在获得Pi的模糊评价向量Bi=(bi1,bi2,bi3,bi4)后,根据最大隶属度原则确定策略Pi的评价结果,当 时,Pi在总体上隶属于第r等级;依次确定Pi(i=1,2,...6);在所有策略中选取处于最高级评价的策略;若处于最高级评价的策略有多个,则选择隶属度更大的策略作为模糊决策的输出;网关ECU将选取的该报文的安全策略广播至总线,与该报文相关的发送和接收ECU更新该报文在下一时间段T的策略。
5.如权利要求4所述的自适应的车内CAN总线安全控制方法,其特征在于,步骤1)中因素权重进行确定方法包括:
输入:对比矩阵Mu=(mij)n×n;
输出:权重向量;
i)将矩阵Mu按列归一化,得矩阵Mu'=(m'ij)n×n,其中
ii)将矩阵Mu'按行求和,得向量 其中
iii)对向量 归一化,得特征向量W=[w1,w2,...,wn]T,其中
iv)求最大特征根值λmax:
v)一致性检验,对照随机一致性指标RI,计算一致性指标CI和一致性比率CR,其中CI=(λmax-n)/(n-1),CR=CI/RI。当CR≥0.1时,需要对Mu中的元素重新赋值并不断进行调整,跳转到步i);
vi)对向量W归一化,得到该层权重α=[α1,α2,...,αn]T,其中
6.如权利要求1所述的自适应的车内CAN总线安全控制方法,其特征在于,
ECU分域密钥管理和安全协议选取方法包括:首先为减少域间节点的通信开销,基于MCL聚类的思想,根据ECU的通信频率对ECU节点划分域;
然后建立基于逻辑密钥树的树形域密钥结构并完成密钥分发;
最后结合自适应安全策略选取方法,设计差异化的安全策略及其通信协议。
7.如权利要求6所述的自适应的车内CAN总线安全控制方法,其特征在于,基于MCL聚类的ECU分域包括:
输入:ECU通信频率带权无向图,n为节点总数;
输出:ECU分域的结果集;
1)由ECU节点通信图G(V,E)建立邻接矩阵C=(cij)n×n,其中cij为ECUi和ECUj之间的通信频率CFij;
2)矩阵C对线元素加1,即当i=j时,cij=1;并将按列进行归一化,计算得到通信频率的概率矩阵C'=(c'ij)n×n,其中
3)选取参数e,对矩阵C'幂乘,即C'=(C')e;
4)选取参数r,对矩阵C'中的每个元素进行r次幂乘,并按列进行归一化,得到矩阵C”=(c”ij)n×n,其中
5)迭代的进行步骤3)、步骤4),直到矩阵C”=(c”ij)n×n收敛;
6)将ECU节点的聚类结果集输出;
循环上述步骤,将每轮的输出作为下一轮的输入,即以第i次的输出的ECU节点聚簇结果集,构造新的图Gi(Vi,Ei),每个集合作为图中的顶点,整个集合的ECU与其余集合的ECU节点的通信频率之和作为边的权重,再次进行MCL聚类,直到最终形成一个簇,根据每次聚类结果集建立ECU节点分域的树形逻辑结构。
8.如权利要求1所述的自适应的车内CAN总线安全控制方法,其特征在于,基于LKH的域密钥分发与管理方法包括:
根据ECU分域结果集,建立基于LKH树形域密钥结构,对ECU用唯一的8位二进制数标识,表示为ECUi;建立基于LKH的树形域密钥逻辑结构,叶子节点表示ECU,虚拟节点代表域,同一父亲节点的兄弟节点属于同一个域;每个ECU保存从叶子节点至根节点该路径上的所有密钥; 表示域的密钥编号,其中i,j分别表示若按ECU ID排序,域内的起始节点和结束节点ID,s表示密钥树的层编号;
在建立树形域密钥逻辑结构后,由网关ECU进行密钥分发;域n的ECU节点与网关ECU预共享密钥 且密钥的下载是通过安全信道;网关ECU作为控制节点,存储所有的密钥;加载预共享密钥的过程只在汽车出厂以及更换某个ECU时进行;车辆启动时,网关ECU根据树形域密钥的逻辑结构,按固定的顺序分发密钥;ECUi∈Yn,其中Yn表示域n;
具体步骤如下。
(1)网关ECU选择两个随机数种子 用于生成Yn的域内会话密钥EKn和认证
密钥AKn;用Yn内ECU与网关ECU预共享的加密密钥 加密后的随机数种子并广播,如式(9)(10);
(2)Yn的节点收到消息后用对应的密钥解密,得 并分别计算Yn的会话密
钥EKn与认证密钥AKn,如式(11)(12);其中KDF()表示用于密钥派生的单向hash函数;
(3)为验证是否成功共享密钥EKn与AKn,网关ECU用步(1)生成的EKn与AKn分别加密CTRn并广播;其中,CTRn为密钥分发时网关ECU保存的与Yn相关的计数器如式(13)(14);
(4)Yn内节点收到消息后用步(2)生成的相应密钥解密,将得到的CTRn值与自己保存的计数器值CTR'n对比,若相等,则认为成功共享了相应的密钥;否则,ECU节点需向网关ECU发送错误,表明并未成功共享密钥。
网关ECU以域为单位,依次分发会话密钥EKn与认证密钥AKn;在车辆点火时以及一定的时间周期T内按上述方式,网关ECU再次按域分发密钥,更新会话密钥与认证密钥。
9.如权利要求1所述的自适应的车内CAN总线安全控制方法,其特征在于,差异化安全协议的选取方法包括:
设策略集为P={P1,P2,P3,P4,P5,P6},其中P1表示明文广播传输,P2表示密文传输,P3表示明文传输并采用截断的HMAC认证,P4表示明文传输并采用64bits的HMAC认证,P5表示密文传输并采用截断的HMAC认证,P6表示密文传输并采用64bits的HMAC认证。ECUi向ECUj发送报文,且ECUi,ECUj∈Yn;
(1)策略P1明文广播传输:对原报文明文广播,不进行任何处理;
(2)策略P2密文传输:ECUi更新报文计数器 并选取相应的密钥EKn加密明文M以及后得到密文C,发送至总线,这里 ECUj根据message ID确定相应的
安全策略,并根据发送方ID选取相应的密钥EKn解密后得明文M及 将 与自己保存的计数器 进行对比。若 则更新 后接收报文,否则丢弃;
(3)策略P3表示采用截断的HMAC认证:ECUj需要验证报文是否被修改以及是否真实来源于ECUi,使用HMAC进行认证;设原报文长度为lbits,策略P3选取生成HMAC的前(64-l)bits;
设ECUi ,ECUj∈Yn ,ECUi更 新计数器 使 用认 证密钥AKn生 成
取前(64-l)bits,与M以及 一起发送至总线;
ECUj确定相应的安全策略以及认证密钥AKn后,计算 与
收到的HMAC对比,若一致,则对比 与自己保存的 若 更新
后接收报文,否则丢弃该报文;
(4)策略P4采用64bits的HMAC认证,认证的过程与P3一致;不同的是这里是将生成的HMAC取前64bits,以一条单独的报文发送至CAN总线;
(5)策略P5密文传输并采用截断的HMAC认证:ECUi更新报文计数器 选取相应的密钥EKn加密报文,即 并生成HMAC,即 设原
报文长度为lbits,策略P5选取生成HMAC的前(64-l)bits。并将密文C与截断后的HMAC一起发送至总线;
ECUj在确定安全策略以及相应的密钥EKn和AKn后,用EKn解密后得到M及 并生成HMAC',即 与收到的HMAC进行对比,若一致,则对比 与
若 更新 后接收报文,否则丢弃;
(6)策略P6密文传输并采用64bits的HMAC认证:HMAC的生成以及加解密过程与P5一致,唯一的区别是将生成的HMAC以一条单独的报文发送。
10.一种实施权利要求1所述自适应的车内CAN总线安全控制方法的自适应的车内CAN总线安全控制系统。

说明书全文

一种自适应的车内CAN总线安全控制方法及系统

技术领域

[0001] 本发明属于网联汽车信息处理技术领域,尤其涉及一种自适应的车内CAN总线安全控制方法及系统。

背景技术

[0002] 目前,最接近的现有技术
[0003] 网联汽车在推动智能交通、智慧城市等重要技术发展的同时,其存在的安全问题日益突出。作为网联汽车的核心总线网络,CAN总线主要负责传感器信息以及控制指令的传输,对其安全防护成为了研究重点。
[0004] 随着移动互联网和工业智能化的迅速发展,汽车产业不断向智能化和网联化转变,逐步迈入车联网时代。特别是5G通信技术与无人驾驶技术的日渐成熟,使得无人驾驶将逐步取代传统司机驾驶而成为未来的发展趋势。无人驾驶技术在对交通系统和城市生活带来全新改变的同时,其安全需求更为重要和迫切。近年来智能网联汽车攻击事件频发,网联汽车,尤其是无人驾驶中的行车安全问题受到了广泛关注。
[0005] 作为智能网联汽车的核心总线网络,控制器区域网络(Controller  Area Network,CAN)总线负责传感器信息以及控制指令的传输,电子控制单元(Electronic Control Unit,ECU)作为车内的基本控制单元,根据CAN总线上的报文信息,完成相应的动作指令。但随着智能网联汽车与外部网络互联程度的提高,攻击者可以通过车载诊断单元OBD(On-Board Diagnostics)、蓝牙、蜂窝网络等入侵车内CAN总线网络,窃听总线报文,通过模糊测试等逆向工程技术分析报文实际意义,进而重放、伪造报文,控制重要ECU节点,威胁行车安全。因此,如何实现CAN总线上报文的安全传输成为亟待解决的关键问题。
[0006] 目前的CAN总线安全方案可分为总线的异常检测和总线报文的认证加密两类。CAN总线的异常检测方案存在误报率,且属于被动防御;而基于密码学的CAN总线报文认证加密方案在攻击发生前即可提供防护,属于主动防御。但仍存在以下两个问题:
[0007] (1)现有方案中单一的安全机制难以兼顾安全性和网络性能,由于报文的安全需求具有差异性以及车内网络环境动态多变,若采用固定的安全机制,将会占用大量总线资源,增加不必要的计算存储开销和通信时延,降低网络性能。这里报文安全需求的差异性是指传感器参数信息这类报文的可能被窃听而泄露行车安全相关信息,故其机密性需求更高;而车内控制指令为防止攻击者伪造修改,其认证需求更高。而动态的网络环境是指当车内总线负载较大情况下,为保证通信稳定,应尽量采用不增加总线负载的安全方案;而当车内入侵检测系统发现异常时则应选择安全性较高的方案,以提高安全等级。
[0008] (2)由于车内ECU节点计算存储能有限,传统的密钥管理方案难以直接应用于车内网络,而目前已有方案需要消耗大量的计算时间和存储开销,并不适用高实时性CAN总线和存储能力受限的ECU节点。
[0009] 综上所述,现有技术存在的问题是:
[0010] (1)现有方案未考虑到报文安全需求的差异性以及车内网络环境的动态性,难以兼顾安全性和网络性能;
[0011] (2)现有的CAN总线认证加密方案中缺乏高效密钥管理方案,并不适用于计算存储能力有限的ECU节点。
[0012] 解决上述技术问题的难度:
[0013] (1)由于CAN总线的数据最大载荷只有8个字节,无法提供足够长度MAC[0014] (2)车内网络环境的特殊性,CAN总线的实时性需求较高
[0015] (3)车内ECU节点的计算存储能力有限
[0016] 解决上述技术问题的意义:
[0017] 随着移动互联网和工业智能化的快速发展,传统汽车行业不断向智能化和网联化转变,逐步迈入智能车联网时代。网联汽车在推动智能交通、智慧城市等重要技术发展的同时,其存在的安全问题日益突出,网络攻击事件不断涌现。作为智能网联汽车的核心总线网络,CAN总线负责车内传感器信息以及控制指令的传输,对其的安全防护成为了人们研究智能网联汽车的重点。因此,如何实现CAN总线上报文的安全传输,成为亟待解决的关键问题。在此背景下,本专利提出一种自适应的轻量级CAN总线安全机制,实现CAN总线报文的安全传输。

发明内容

[0018] 针对现有技术存在的问题,本发明提供了一种自适应的车内CAN总线安全控制方法及系统。
[0019] 本发明是这样实现的,一种自适应的车内CAN总线安全控制方法,所述自适应的车内CAN总线安全控制方法包括:
[0020] 通过对报文特点和车内网络环境的分析,选择若干影响因素,并利用层次分析法和模糊决策的思想,自适应的选取安全策略,在满足报文的安全需求的同时,根据动态的车内网络环境自适应地调整安全策略;
[0021] 将车内ECU节点的通信频率抽象为无向图,以通信频率作为图的边权重,采用尔可夫聚类的方法根据ECU之间通信频率将其划分为层次化的域结构,并使用树形域密钥结构对节点进行密钥管理,同时结合自适应安全策略选取方法,进行差异化的安全策略及相应的通信协议选取,实现车内CAN总线安全控制。
[0022] 进一步,基于模糊决策的CAN总线安全策略选取方法包括:
[0023] 步骤一,因素集的确定:选取与报文安全需求以及动态车内网络环境相关且影响安全策略决定的因素,构建因素集U;报文因素以及网络环境因素的取值范围均在(0,1]之内,将报文因素以及网络环境因素依次表示为u1,u2,...,u7,并添加到因素集U中,U={u1,u2,...,u7};
[0024] 步骤二,策略集的确定:
[0025] 策略集P表示可选策略的集合,表示为P={P1,P2,P3,P4,P5,P6},其中P1表示明文广播传输,P2表示密文传输,P3表示明文传输并采用截断的HMAC认证,P4表示明文传输并采用64bits的HMAC认证,P5表示密文传输并采用截断的HMAC认证,P6表示密文传输并采用64bits的HMAC认证;
[0026] 步骤三,基于模糊决策的差异化安全策略选取:首先采用层次分析法确定影响因素的权重,然后确定安全策略对评语集的隶属度函数并构造模糊评判矩阵,对策略进行模糊综合评价,最后在选取较为合理的安全策略输出。
[0027] 进一步,步骤一选取的影响因素进一步包括:
[0028] (1)机密性需求 由于与行车安全相关的油温,车速传感器参数这类报文若被攻击者窃听并破解,暴露行车安全的重要信息或用户隐私等信息;通过专家评级,将机密性需求分为由高到低四个等 级,设 表示报文msgi的机密性需求 ,令当 时,说明报文的机密性需求最高;
[0029] (2)认证需求 认 表示报文msgi的认证需求,其中 由专家或制造商对报文内容,收发ECU等进行分析,将报文的认证需求分为由高到低四个等级;令时,说明报文的认证需求最高;
[0030] (3)实时性需求 设 表示报文msgi的实时性需求,其中 根据message ID设置实时性需求级别,message ID为11bits的十六进制数,设其起始位为y,则的取值如式(1);当 表示报文的实时性需求最高;
[0031]
[0032] (4)报文的长度等级 表示报文msgi的长度等级;报文长度为l bits,的取值如式(2),其中 表示报文长度等级最高;
[0033]
[0034] (5)总线负载比Bt:网关ECU监测某时间段T内的总线负载率,并统计该时间段内总线负载率大于50%的时间长度t1占总时长t(t≠0)的比例,用总线负载比Bt表示,Bt=t1/t,Bt∈(0,1],该值越接近于1,则该时间段内的总线负载比越高;
[0035] (6)信道忙闲比CBRt:定义信道忙闲比CBRt为监测时间T内,检测信道为繁忙状态的时间所占的比例, CBRt∈(0,1],n为信道检测次数,ki在信道繁忙时为1,信道空闲时为0;当CBRt的值越大时,说明信道越繁忙;
[0036] (7)当前网络安全状态级别St:设St为当前时间段T内车内入侵检测系统反馈的车内网络安全级别;IDS将当前网络安全状态反馈至网关ECU,其中St={s|s=(n-k)/n,k=0,1,2,3,n=4}依次表示当前网络状态由高到低的四个等级;当St=1时,表示当前网络安全状态级别最高。
[0037] 进一步,步骤三进一步包括:
[0038] 1)基于AHP法确定因素集各影响因素的权重:
[0039] 建立CAN总线安全机制的层次模型,其中因素集U={U1,U2},U1表示报文因素集,U2为网络环境因素集;
[0040] 通过对同一层的因素两两比较,由专家或制造厂商进行重要度评估,确定其相对重要程度;由上至下建立对比矩阵Mu=(mij)n×n,mij>0;其中,mij表示因素ui与因素uj的相对重要程度,n为因素个数,如式(3):
[0041]
[0042] Mu为一致矩阵,满足:mji=1/mij且 在确定对比矩阵后,因素权重进行确定;若准则层权重 子准则层对因素U1,U2的权重分别为W1和W2,则根据加权法,最终所有因素的权重为α=[W1·α1,W2·α2];
[0043] 2)确定隶属度函数,构造模糊评判矩阵R:
[0044] 由专家或制造商通过分析各个因素对安全策略的影响,对每个因素构造一个策略评分等级矩阵G=(gij)6×4,其中gij表示当因素分别取不同的值时策略Pi的得分;对 构造策略评分矩阵G1,其中gij表示 依次取{0.25,0.5,0.75,1}时,各个策略Pi的得分情况;
[0045] 确定安全策略对评语集各元素的隶属度函数,设评语集为所有评价结果组成的集合,用V={v1,v2,...,vm}表示,m为评价结果的总数;选取V={差,较差,较好,好};用隶属度rij用来表示策略Pi在因素ui的影响下对于评语集元素vj的属于程度,其中rij∈[0,1];rij越接近于1,说明Pi对vj的隶属度越高。本发明选取降半梯形分布隶属度函数,其中j={1,2,3,4}分别表示vj可能的四种取值{差,较差,较好,好},则相应的rij依次为ri1,ri2,ri3,ri4,式中a1<a2<a3<a4,gij表示该策略的得分,来源于策略评分矩阵G;
[0046]
[0047]
[0048]
[0049]
[0050] 网关ECU在获取某条报文的参数信息以及该时间段内的网络环境参数后,根据各因素策略评分矩阵G,依次获取策略集Pi(i=1,2,...6)相应的分数gij,并代入隶属度函数,依次构成每个安全策略的模糊评判矩阵R,其中
[0051] 3)对策略进行模糊综合评价:
[0052] 根据式(8),计算Pi对vj的隶属度B=(b1,b2,...,bm),策略Pi的模糊评价结果向量;其中bi表示Pi对vj的隶属度,综合考虑各个因素的影响,确定Pi对于评语集vj的隶属度;依次计算各个安全策略对评语集vj的隶属度;
[0053]
[0054] 4)根据最大隶属度原则选取安全策略:
[0055] 在获得Pi的模糊评价向量Bi=(bi1,bi2,bi3,bi4)后,根据最大隶属度原则确定策略Pi的评价结果,当 时,Pi在总体上隶属于第r等级;依次确定Pi(i=1,2,...6);在所有策略中选取处于最高级评价的策略;若处于最高级评价的策略有多个,则选择隶属度更大的策略作为模糊决策的输出;网关ECU将选取的该报文的安全策略广播至总线,与该报文相关的发送和接收ECU更新该报文在下一时间段T的策略。
[0056] 进一步,步骤1)中因素权重进行确定方法包括:
[0057] 输入:对比矩阵Mu=(mij)n×n;
[0058] 输出:权重向量;
[0059] i)将矩阵Mu按列归一化,得矩阵Mu'=(m'ij)n×n,其中
[0060] ii)将矩阵Mu'按行求和,得向量 其中
[0061] iii)对向量 归一化,得特征向量W=[w1,w2,...,wn]T,其中
[0062] iv)求最大特征根值
[0063] v)一致性检验,对照随机一致性指标RI,计算一致性指标CI和一致性比率CR,其中CI=(λmax-n)/(n-1),CR=CI/RI。当CR≥0.1时,需要对Mu中的元素重新赋值并不断进行调整,跳转到步i);
[0064] vi)对向量W归一化,得到该层权重α=[α1 ,α2,...,αn]T,其中
[0065] 进一步,
[0066] ECU分域密钥管理和安全协议选取方法包括:首先为减少域间节点的通信开销,基于MCL聚类的思想,根据ECU的通信频率对ECU节点划分域;
[0067] 然后建立基于逻辑密钥树的树形域密钥结构并完成密钥分发;
[0068] 最后结合自适应安全策略选取方法,设计差异化的安全策略及其通信协议。
[0069] 进一步,基于MCL聚类的ECU分域包括:
[0070] 输入:ECU通信频率带权无向图,n为节点总数;
[0071] 输出:ECU分域的结果集;
[0072] 1)由ECU节点通信图G(V,E)建立邻接矩阵C=(cij)n×n,其中cij为ECUi和ECUj之间的通信频率CFij;
[0073] 2)矩阵C对线元素加1,即当i=j时,cij=1;并将按列进行归一化,计算得到通信频率的概率矩阵C'=(c'ij)n×n,其中
[0074] 3)选取参数e,对矩阵C'幂乘,即C'=(C')e;
[0075] 4)选取参数r,对矩阵C'中的每个元素进行r次幂乘,并按列进行归一化,得到矩阵C”=(c”ij)n×n,其中
[0076] 5)迭代的进行步骤3)、步骤4),直到矩阵C”=(c”ij)n×n收敛;
[0077] 6)将ECU节点的聚类结果集输出;
[0078] 循环上述步骤,将每轮的输出作为下一轮的输入,即以第i次的输出的ECU节点聚簇结果集,构造新的图Gi(Vi,Ei),每个集合作为图中的顶点,整个集合的ECU与其余集合的ECU节点的通信频率之和作为边的权重,再次进行MCL聚类,直到最终形成一个簇,根据每次聚类结果集建立ECU节点分域的树形逻辑结构。
[0079] 进一步,基于LKH的域密钥分发与管理方法包括:
[0080] 根据ECU分域结果集,建立基于LKH树形域密钥结构,对ECU用唯一的8位二进制数标识,表示为ECUi;建立基于LKH的树形域密钥逻辑结构,叶子节点表示ECU,虚拟节点代表域,同一父亲节点的兄弟节点属于同一个域;每个ECU保存从叶子节点至根节点该路径上的所有密钥; 表示域的密钥编号,其中i,j分别表示若按ECU ID排序,域内的起始节点和结束节点ID,s表示密钥树的层编号;
[0081] 在建立树形域密钥逻辑结构后,由网关ECU进行密钥分发;域n的ECU节点与网关ECU预共享密钥 且密钥的下载是通过安全信道;网关ECU作为控制节点,存储所有的密钥;加载预共享密钥的过程只在汽车出厂以及更换某个ECU时进行;车辆启动时,网关ECU根据树形域密钥的逻辑结构,按固定的顺序分发密钥;ECUi∈Yn,其中Yn表示域n;
[0082] 具体步骤如下。
[0083] (1)网关ECU选择两个随机数种子 用于生成Yn的域内会话密钥EKn和认证密钥AKn;用Yn内ECU与网关ECU预共享的加密密钥 加密后的随机数种子并广播,如式(9)(10);
[0084]
[0085]
[0086] (2)Yn的节点收到消息后用对应的密钥解密,得 并分别计算Yn的会话密钥EKn与认证密钥AKn,如式(11)(12);其中KDF()表示用于密钥派生的单向hash函数;
[0087]
[0088]
[0089] (3)为验证是否成功共享密钥EKn与AKn,网关ECU用步(1)生成的EKn与AKn分别加密CTRn并广播;其中,CTRn为密钥分发时网关ECU保存的与Yn相关的计数器如式(13)(14);
[0090]
[0091]
[0092] (4)Yn内节点收到消息后用步(2)生成的相应密钥解密,将得到的CTRn值与自己保存的计数器值CTR'n对比,若相等,则认为成功共享了相应的密钥;否则,ECU节点需向网关ECU发送错误帧,表明并未成功共享密钥。
[0093] 网关ECU以域为单位,依次分发会话密钥EKn与认证密钥AKn;在车辆点火时以及一定的时间周期T内按上述方式,网关ECU再次按域分发密钥,更新会话密钥与认证密钥。
[0094] 进一步,差异化安全协议的选取方法包括:
[0095] 设策略集为P={P1,P2,P3,P4,P5,P6},其中P1表示明文广播传输,P2表示密文传输,P3表示明文传输并采用截断的HMAC认证,P4表示明文传输并采用64bits的HMAC认证,P5表示密文传输并采用截断的HMAC认证,P6表示密文传输并采用64bits的HMAC认证。ECUi向ECUj发送报文,且ECUi,ECUj∈Yn;
[0096] (1)策略P1明文广播传输:对原报文明文广播,不进行任何处理;
[0097] (2)策略P2密文传输:ECUi更新报文计数器 并选取相应的密钥EKn加密明文M以及 后得到密文C,发送至总线,这里 ECUj根据message ID确定相应的安全策略,并根据发送方ID选取相应的密钥EKn解密后得明文M及 将 与自己保存的计数器 进行对比。若 则更新 后接收报文,否则丢弃;
[0098] (3)策略P3表示采用截断的HMAC认证:ECUj需要验证报文是否被修改以及是否真实来源于ECUi,使用HMAC进行认证;设原报文长度为l bits,策略P3选取生成HMAC的前(64-l)bits;设ECUi,ECUj∈Yn,ECUi更新计数器 使用认证密钥AKn生成取前(64-l)bits,与M以及 一起发送至总线;
[0099] ECUj确定相应的安全策略以及认证密钥AKn后,计算与收到的HMAC对比,若一致,则对比 与自己保存的 若 更新
后接收报文,否则丢弃该报文;
[0100] (4)策略P4采用64bits的HMAC认证,认证的过程与P3一致;不同的是这里是将生成的HMAC取前64bits,以一条单独的报文发送至CAN总线;
[0101] (5)策略P5密文传输并采用截断的HMAC认证:ECUi更新报文计数器 选取相应的密钥EKn加密报文,即 并生成HMAC,即设原报文长度为l bits,策略P5选取生成HMAC的前(64-l)bits。并将密文C与截断后的HMAC一起发送至总线;
[0102] ECUj在确定安全策略以及相应的密钥EKn和AKn后,用EKn解密后得到M及 并生成HMAC',即 与收到的HMAC进行对比,若一致,则对比与 若 更新 后接收报文,否则丢弃;
[0103] (6)策略P6密文传输并采用64bits的HMAC认证:HMAC的生成以及加解密过程与P5一致,唯一的区别是将生成的HMAC以一条单独的报文发送。
[0104] 本发明的另一目的在于提供一种实施所述自适应的车内CAN总线安全控制方法的自适应的车内CAN总线安全控制系统。
[0105] 综上所述,本发明的优点及积极效果为:
[0106] 本发明提出了一种自适应的车内CAN总线安全机制,首先综合考虑报文需求和车内网络因素,基于模糊决策的思想,实现了自适应的选取安全策略。然后根据ECU之间通信频率将其划分为层次化的域结构进行密钥分发并设计了差异化的安全策略及相应的通信协议。最后通过理论分析验证了所提方案的可行性和安全性,并通过实验说明方案所需开销有限,适用于计算能力受限的ECU节点和高实时性需求的CAN总线网络。
[0107] 针对现有方案难以适用于差异化的报文安全需求和动态车内网络环境的问题,提出了基于模糊决策的安全策略选取方案。通过对报文特点和车内网络环境的分析,针对性地选择了若干影响因素,并利用层次分析法和模糊决策的思想,自适应的选取安全策略,实现了在满足报文的安全需求的同时,根据动态的车内网络环境自适应地调整安全策略。
[0108] 针对目前CAN总线的认证和加密中缺乏有效的密钥管理方案这一问题,将车内ECU节点的通信频率抽象为无向图,以通信频率作为图的边权重,采用马尔可夫聚类(Markov Cluster Algorithm,MCL)的方法根据ECU之间通信频率将其划分为层次化的域结构,并使用树形域密钥结构对节点进行密钥管理,减少因节点跨域通信而带来的通信开销。同时结合自适应安全策略选取方案,设计了差异化的安全策略及相应的通信协议。
[0109] 对于本发明所提出的方案,首先从可行性、安全性等方面进行了全面的理论分析。随后,通过实验验证了自适应模糊决策的有效性,并对ECU分域和密钥管理方案进行性能分析。与现有方案进行对比,结果表明本发明所需的存储和计算开销较少,适用于计算能力受限的ECU节点和高实时性需求的CAN总线网络。
附图说明
[0110] 图1是本发明实施例提供的自适应的CAN总线安全控制方法流程图
[0111] 图2是本发明实施例提供的CAN总线安全机制的层次模型图。
[0112] 图3是本发明实施例提供的基于LKH的树形域密钥结构图。
[0113] 图4是本发明实施例提供的安全策略P2的通信协议流程图。
[0114] 图5是本发明实施例提供的安全策略P3的通信协议流程图。
[0115] 图6是本发明实施例提供的安全策略P5的通信协议流程图。
[0116] 图7是本发明实施例提供的将发明应用于CAN扩展帧图。
[0117] 图8是本发明实施例提供的改变总线负载比各个安全策略的占比情况图。
[0118] 图中:(a)在信道忙闲比和网络安全状态不变的情况下,总线负载比为0.25示意图。(b)在信道忙闲比和网络安全状态不变的情况下,总线负载比为1示意图。
[0119] 图9是本发明实施例提供的改变信道忙闲比各个安全策略的占比情况图。
[0120] 图中:(a)表示在总线负载比和网络安全状态不变的情况下,在信道忙闲比增加时,则策略P4,P6在整个总线网络的所有报文中所占的比重为37.77%示意图。(b)表示在总线负载比和网络安全状态不变的情况下,在信道忙闲比增加时,则策略P4,P6在整个总线网络的所有报文中所占的比重为4.46%示意图。
[0121] 图10是本发明实施例提供的改变网络安全状态各个安全策略的占比情况图。
[0122] 图中:(a),在总线负载比和信道忙闲比不变的情况下,若网络安全级别降低,则需要提高车内网络安全级别,对报文进行认证或加密。根据本发明所提方案,加密传输的安全策略P2,P5,P6的占比为70.86%示意图。(b)在总线负载比和信道忙闲比不变的情况下,若网络安全级别降低,则需要提高车内网络安全级别,对报文进行认证或加密。根据本发明所提方案,加密传输的安全策略P2,P5,P6的占比为95.44%示意图。
[0123] 图11是本发明实施例提供的密钥分发时间图。
[0124] 图12是本发明实施例提供的不同安全策略下的ECU节点通信响应时间图。
[0125] 图13是本发明实施例提供的本发明与LeiA、Woo的比较图。

具体实施方式

[0126] 为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0127] 现有方案未考虑到报文安全需求的差异性以及车内网络环境的动态性,难以兼顾安全性和网络性能;现有的CAN总线认证加密方案中缺乏高效密钥管理方案,并不适用于计算存储能力有限的ECU节点。
[0128] 为解决上述问题,下面结合相关工作对本发明作详细描述。
[0129] CAN总线主要传输控制指令与传感器参数信息等报文,与总线相连的多个ECU节点竞争向总线发送报文,根据报文的优先级确定总线的控制权。优先级取决于报文标识符,即message ID。发送报文优先级高的ECU节点向总线发送报文,其余节点等待总线空闲再次竞争。这种逐位仲裁、广播明文的方式提高了数据通信的实时性,但因总线报文不包含发送方和接收方地址,仅采用循环冗余校验(Cyclic Redundancy Check,CRC)检测传输过程中的错误,未提供任何的加密或认证等安全机制,为攻击者入侵车内总线提供了可能。随着车内ECU节点与外界网络的互联程度越来越高,为实现CAN总线报文的安全传输,研究者提出多种CAN总线报文认证,加密以及ECU节点的密钥管理方案。
[0130] (1)CAN总线报文的认证
[0131] 实现报文认证是指接收ECU可以验证报文的来源的真实性以及内容的完整性。Groza等提出采用类TESLA(Timed Efficient Stream Losstolerance Authentication)广播认证协议。发送ECU选取只有自己知道的密钥k生成报文对应的消息认证码(Message Authentication Code,MAC)发送至总线。稍后再将密钥k发送到总线,接收ECU收到后根据相应的k对报文进行验证。通过延迟公开密钥来确保报文的来源的真实性,但该方案无法实现即时的消息处理,不可避免的带来认证延迟,对高实时性的CAN总线以及时间关键的ECU节点难以适用。Nilsson等人提出通过复合MAC的延迟认证方式,将生成的MAC分为四部分并使用随后传输的四条报文的CRC字段传输。此类方案虽然不增加额外总线负载,但会带来认证延迟。且由于占用CRC字段导致无法校验报文在传输过程中的错误。Woo等人提出将用于认证的MAC截断为32bits,占用扩展标识符和CRC字段发送,从而在不增加额外总线负载的情况下实现了报文认证。但32bits的MAC难以提供足够的安全性。Radu等人提出了LeiA方案,为保证足够的安全性,将生成的MAC以单独的报文传输。但该方案至少增加一倍的总线负载,增加了通信开销。Kurachi等人提出CaCAN协议,由中央监视节点对网络中的其他节点进行身份验证。一旦发现未授权的报文传输,中央监视节点实时传输更高优先级的错误帧来阻止非法报文的传输。但这种方法需要修改CAN控制器。并且若监视器节点受到损害或被移除,整个网络安全也会受到影响。现有技术中,利用CAN总线的物理层特性,如CAN+协议,在CAN总线接口采样点之间插入额外的位用于传输认证信息,但此方法需要控制器节点具有较高的采样率,需要从硬件层面更换CAN收发器以及相应的ECU节点,增加了制造商成本。
[0132] (2)CAN总线报文的加密
[0133] 发送ECU使用密钥加密报文数据字段,只有拥有密钥的接收节点可以解密。但由于ECU节点的计算能力有限,且CAN总线对实时性需求高,开销大的加密算法并不适用。LCAP方案将认证信息与数据域字段采用流密码RC4一同加密。Jukl等人建议在CAN总线中采用tiny加密算法,并通过实验证明该方案时延较小,具有可行性。另外,Woo等人提出一种差异化的思路,即在CAN-FD总线中根据ECU节点的安全级别决定报文是否需要加密和认证,仅对安全级别较高的ECU发送的报文加密传输,其余报文明文广播。这种差异化的方式保证了重要ECU节点的安全通信,但仅考虑ECU节点这一因素,无法提供细粒度的安全防护,导致该方案在特定场景下难以适用。
[0134] (3)ECU节点的密钥管理
[0135] Herrewege等人提出CANAuth协议,将认证密钥与报文标识符相关联,即每个message ID对应一个认证密钥,则每个节点最多需保存的密钥数量为211,这对存储能力有限的ECU节点来说是不小的挑战。Groza等人等人提出LiBra-CAN协议。将ECU节点分成相同大小的多个群组,每个ECU节点可属于多个群组,每个群组内共享用于生成MAC的认证密钥。这种方式可在群组内恶意节点占少数的情况下,提供足够的安全性。但该方案密钥数量与节点数量成指数关系,每个ECU节点都需存储大量密钥。Lin等人提出基于HMAC的CAN总线报文认证方案,通过ECU节点两两共享认证密钥以及同步消息计数器来避免重放和伪造报文攻击,但该方案也需ECU节点存储大量的密钥,带来大量的计算开销和通信开销。
[0136] 下面结合具体方案对本发明作进一步描述。
[0137] 如图1所示。本发明提出一种自适应的CAN总线安全控制方法,包括基于模糊决策的安全策略选取方法和ECU分域密钥管理及安全协议。
[0138] 基于模糊决策的安全策略选取方法包括:综合考虑差异化报文需求以及动态的车内网络环境等因素,利用模糊决策的思想,自适应的选取较为合理的安全策略;
[0139] ECU分域密钥管理及安全协议控制方法包括:根据通信频率将ECU节点分域并建立树形域密钥结构。在此基础上,结合自适应的决策过程,设计差异化的安全策略及其通信协议。
[0140] 在本发明实施例中,基于模糊决策的CAN总线安全策略选取方法包括:
[0141] A)因素集的确定
[0142] 本发明选取与报文安全需求以及动态车内网络环境相关且可能影响安全策略决定的因素,构建因素集U。选取的影响因素如下:
[0143] (1)机密性需求 由于与行车安全相关的油温,车速等传感器参数这类报文若被攻击者窃听并破解,可能暴露行车安全的重要信息或用户隐私等信息。可通过专家评级,将机密性需求分为由高到低四个等级,这里设 表示报文msgi的机密性需求,令当 时,说明报文的机密性需求最高。
[0144] (2)认证需求 认证是指接收ECU可以验证报文内容的完整性以及来源的真实性。设 表示报文msgi的认证需求,其中 由专家或制造商对报文内容,收发ECU等进行分析,将报文的认证需求分为由高到低四个等级。令时,说明报文的认证需求最高。本发明采用基于
hash的消息认证码HMAC来进行报文认证。
[0145] (3)实时性需求 设 表示报文msgi的实时性需求,其中 这里的实时性是指报文的优先级。CAN总线在仲裁时根据message ID确定报文优先级,显性电平“0”覆盖隐性电平“1”,优先级高的ECU抢占总线。由此可推断,制造商在设计CAN总线通信矩阵时,为使某些报文能及时发送到总线,将这些报文的优先级设定较高。因此,本发明根据message ID来设置实时性需求级别,message ID为11bits的十六进制数,设其起始位为y,则 的取值如式(1)。当 表示报文的实时性需求最高。
[0146]
[0147] (4)报文的长度等级 设 表示报文msgi的长度等级。在选取安全策略时,可参考报文长度,截取一定长度的MAC,与原报文一同传输。设报文长度为l bits, 的取值如式(2),其中 表示报文长度等级最高。
[0148]
[0149] (5)总线负载比(Bt):总线负载率是指1s内总线传输数据所占总线带宽的百分率,表示该时间段内总线资源被使用的情况。设网关ECU监测某时间段T内的总线负载率,并统计该时间段内总线负载率大于50%的时间长度t1占总时长t(t≠0)的比例,用总线负载比Bt表示,即Bt=t1/t,Bt∈(0,1],该值越接近于1,则该时间段内的总线负载比越高。
[0150] (6)信道忙闲比(CBRt):信道忙闲比用来表示信道的拥塞程度。信道越繁忙,低优先级报文的等待时间越长。定义信道忙闲比(CBRt)为监测时间T内,检测信道为繁忙状态的时间所占的比例,即 n为信道检测次数,ki在信道繁忙时为1,信道空闲时为0。当CBRt的值越大时,说明信道越繁忙。
[0151] (7)当前网络安全状态级别(St):设St为当前时间段T内车内入侵检测系统(Intrusion Detection System,IDS)反馈的车内网络安全级别。目前已有学者提出多种车内CAN总线入侵检测方案,如基于报文信息熵[7]以及数据帧频率[9-10]等多种检测方案。设IDS将当前网络安全状态反馈至网关ECU,其中St={s|s=(n-k)/n,k=0,1,2,3,n=4}依次表示当前网络状态由高到低的四个等级。当St=1时,表示当前网络安全状态级别最高。
[0152] 综上,报文因素以及网络环境因素的取值范围均在(0,1]之内,将以上因素依次表示为u1,u2,...,u7,并添加到因素集U中,即U={u1,u2,...,u7}。随着车联网技术的发展,可将影响安全策略的因素加入策略集U中,符合具体应用情况即可。
[0153] B)策略集的确定
[0154] 目前研究者提出的CAN总线认证方案中,MAC的传输方式主要分为单独的报文传输以及与原报文一并传输两种:以单独的报文形式传输64bits的MAC,提供较高的安全性,但成倍的增加总线负载。若与原报文一并传输,虽不增加总线负载,但有限长度的MAC降低了安全性。本发明依据报文的安全需求总结并提出了在车内CAN总线中常用的六种安全策略。设策略集P表示本发明提供的可选策略的集合,表示为P={P1,P2,P3,P4,P5,P6},其中P1表示明文广播传输,P2表示密文传输,P3表示明文传输并采用截断的HMAC认证,P4表示明文传输并采用64bits的HMAC认证,P5表示密文传输并采用截断的HMAC认证,P6表示密文传输并采用
64bits的HMAC认证。在实际应用时可添加新的安全策略到策略集中,以满足个性化的安全需求。
[0155] C)基于模糊决策的差异化安全策略选取:
[0156] 由于报文的需求具有一定的模糊性,如机密性需求的“高”与“低”并无明显的分界线,具有一定的主观性;同时“较为合理”的传输策略本质上是在安全性和网络性能之间的权衡,其概念也具有一定的模糊性。因此本发明采用模糊决策[26]的思想,设计自适应的安全策略选取方案,假设网关ECU有足够的计算能力,可获得报文需求以及某时间段T内的车内网络参数,首先采用层次分析法[27](Analytic Hierarchy Process,AHP)确定影响因素的权重,然后确定安全策略对评语集的隶属度函数并构造模糊评判矩阵,对策略进行模糊综合评价,最后在选取较为合理的安全策略输出。步骤如下。
[0157] (1)基于AHP法确定因素集各影响因素的权重
[0158] 首先建立CAN总线安全机制的层次模型,如图2所示。其中因素集U={U1,U2},U1表示报文因素集,U2为网络环境因素集。
[0159] 通过对同一层的因素两两比较,由专家或制造厂商进行重要度评估,确定其相对重要程度。由上至下建立对比矩阵Mu=(mij)n×n,mij>0。其中,mij表示因素ui与因素uj的相对重要程度,n为因素个数,如式(3):
[0160]
[0161] 这里要求Mu为一致矩阵,即满足:mji=1/mij且 这是因为需满足权重的分配在逻辑上具有一致性。在确定对比矩阵后,因素权重的确定如算法1。
[0162]
[0163]
[0164] 最后确定子准则层各因素相对目标层的权重。若准则层权重 子准则层对因素U1,U2的权重分别为W1和W2,则根据加权法,最终所有因素的权重为α=[W1·α1,W2·α2]。
[0165] (2)确定隶属度函数,构造模糊评判矩阵R
[0166] 首先,由专家或制造商通过分析各个因素对安全策略的影响,对每个因素构造一个策略评分等级矩阵G=(gij)6×4,其中gij表示当因素分别取不同的值时策略Pi的得分。如对 构造其策略评分矩阵G1,其中gij表示 依次取{0.25,0.5,0.75,1}时,各个策略Pi的得分情况。
[0167] 然后确定安全策略对评语集各元素的隶属度函数。设评语集为所有评价结果组成的集合,用V={v1,v2,...,vm}表示,m为评价结果的总数。本发明选取V={差,较差,较好,好}。用隶属度rij用来表示策略Pi在因素ui的影响下对于评语集元素vj的属于程度,其中rij∈[0,1]。rij越接近于1,说明Pi对vj的隶属度越高。本发明选取降半梯形分布隶属度函数,表达式如式(4-7),其中j={1,2,3,4}分别表示vj可能的四种取值{差,较差,较好,好},则相应的rij依次为ri1,ri2,ri3,ri4,式中a1<a2<a3<a4,gij表示该策略的得分,来源于策略评分矩阵G。
[0168]
[0169]
[0170] 网关ECU在获取某条报文的参数信息以及该时间段内的网络环境参数后,根据各因素策略评分矩阵G,依次获取策略集Pi(i=1,2,...6)相应的分数gij,并代入隶属度函数,依次构成每个安全策略的模糊评判矩阵R,其中
[0171] (3)对策略进行模糊综合评价
[0172] 根据式(8),计算从总体上看Pi对vj的隶属度B=(b1,b2,...,bm),即策略Pi的模糊评价结果向量。其中bi表示Pi对vj的隶属度,即综合考虑各个因素的影响,确定Pi对于评语集vj的隶属度。依次计算各个安全策略对评语集vj的隶属度。
[0173]
[0174] (4)根据最大隶属度原则选取安全策略
[0175] 在获得Pi的模糊评价向量Bi=(bi1,bi2,bi3,bi4)后,根据最大隶属度原则确定策略Pi的评价结果,即当 时,Pi在总体上隶属于第r等级。依次确定Pi(i=1,2,...6)总体上更倾向于评价结果。在所有策略中选取处于最高级评价的策略。若处于最高级评价的策略有多个,则选择隶属度更大的策略作为模糊决策的输出。网关ECU将选取的该报文的安全策略广播至总线,与该报文相关的发送和接收ECU更新该报文在下一时间段T的策略。
[0176] 在本发明实施例中,ECU分域密钥管理和安全协议控制方法包括:
[0177] 本发明提出一种高效的ECU分域和密钥管理方案。首先为减少域间节点的通信开销,本发明基于MCL聚类的思想,根据ECU的通信频率对ECU节点划分域,然后建立基于逻辑密钥树(Logical Key Hierarchy,LKH)的树形域密钥结构并完成密钥分发。最后结合自适应安全策略选取方法,设计差异化的安全策略及其通信协议。
[0178] 作为本发明优选实施例,基于MCL聚类的ECU分域包括:
[0179] 如何设计合理且高效的ECU分域规则是本小节要解决的问题。本发明首先构建ECU节点的通信图G(V,E),顶点V表示ECU,边E表示ECU之间的通信,边上的权重表示节点间的通信频率。定义通信频率CFij为单位时间T内的ECUi与ECUj之间的通信次数。这里需要说明的是与外部网络有接口的ECU,如OBD等,更易成为攻击者入侵车内CAN总线的入口。因此,对于与外部网络有接口的ECU,应单个ECU分为一个域。具体步骤如算法2所示。
[0180]
[0181] 循环该算法,将每轮的输出作为下一轮的输入,即以第i次的输出的ECU节点聚簇结果集,构造新的图Gi(Vi,Ei),每个集合作为图中的顶点,整个集合的ECU与其余集合的ECU节点的通信频率之和作为边的权重,再次进行MCL聚类,直到最终形成一个簇,根据每次聚类结果集建立ECU节点分域的树形逻辑结构。
[0182] 作为本发明优选实施例,基于LKH的域密钥分发与管理包括:
[0183] 由于车内CAN总线网络对实时性需求较高,要求通信时延最小化。另外ECU节点计算能力有限,为尽可能的减少跨域通信带来的通信开销,本发明根据ECU分域结果集,建立基于LKH树形域密钥结构。首先,因目前ECU的数量在50到100个左右,故对ECU用唯一的8位二进制数标识,表示为ECUi;接下来建立基于LKH的树形域密钥逻辑结构。叶子节点表示ECU,虚拟节点代表域,同一父亲节点的兄弟节点属于同一个域。每个ECU需保存从叶子节点至根节点该路径上的所有密钥。设 表示域的密钥编号,其中i,j分别表示若按ECU ID排序,域内的起始节点和结束节点ID,s表示密钥树的层编号。如图3所示。ECUi需存储域2的域内密钥 以及域3的域内密钥
[0184] 在建立树形域密钥逻辑结构后,由网关ECU进行密钥分发。假设域n的ECU节点与网关ECU预共享密钥 且密钥的下载是通过安全信道。网关ECU作为控制节点,存储所有的密钥。加载预共享密钥的过程只在汽车出厂以及更换某个ECU时进行。车辆启动时,网关ECU根据树形域密钥的逻辑结构,按固定的顺序分发密钥。设ECUi∈Yn,其中Yn表示域n。步骤如下。
[0185] (1)网关ECU选择两个随机数种子 用于生成Yn的域内会话密钥EKn和认证密钥AKn。用Yn内ECU与网关ECU预共享的加密密钥 加密后的随机数种子并广播,如式(9)(10);
[0186]
[0187]
[0188] (2)Yn的节点收到消息后用对应的密钥解密,得 并分别计算Yn的会话密钥EKn与认证密钥AKn,如式(11)(12)。其中KDF()表示用于密钥派生的单向hash函数;
[0189]
[0190]
[0191] (3)为验证是否成功共享密钥EKn与AKn,网关ECU用步(1)生成的EKn与AKn分别加密CTRn并广播。其中,CTRn为密钥分发时网关ECU保存的与Yn相关的计数器如式(13)(14);
[0192]
[0193]
[0194] (4)Yn内节点收到消息后用步(2)生成的相应密钥解密,将得到的CTRn值与自己保存的计数器值CTR'n对比,若相等,则认为成功共享了相应的密钥。否则,ECU节点需向网关ECU发送错误帧,表明并未成功共享密钥。
[0195] 网关ECU以域为单位,依次分发会话密钥EKn与认证密钥AKn。在车辆点火时以及一定的时间周期T内按上述方式,网关ECU再次按域分发密钥,更新会话密钥与认证密钥。
[0196] 作为本发明优选实施例,差异化安全协议的设计包括:
[0197] 本发明依据报文的安全需求总结并提出了在CAN总线中常用的六种安全策略。设策略集为P={P1,P2,P3,P4,P5,P6},其中P1表示明文广播传输,P2表示密文传输,P3表示明文传输并采用截断的HMAC认证,P4表示明文传输并采用64bits的HMAC认证,P5表示密文传输并采用截断的HMAC认证,P6表示密文传输并采用64bits的HMAC认证。ECUi向ECUj发送报文,且ECUi,ECUj∈Yn。各个策略具体流程如下。
[0198] (1)策略P1明文广播传输:对原报文明文广播,不进行任何处理。
[0199] (2)策略P2密文传输,如图4。具体流程如下:
[0200] a.ECUi更新报文计数器 并选取相应的密钥EKn加密明文M以及 后得到密文C,发送至总线,这里
[0201] b.ECUj根据message ID确定相应的安全策略,并根据发送方ID选取相应的密钥EKn解密后得明文M及 将 与自己保存的计数器 进行对比。若则更新 后接收报文,否则丢弃。
[0202] (3)策略P3表示采用截断的HMAC认证:如图5所示,ECUj需要验证报文是否被修改以及是否真实来源于ECUi,这里使用HMAC进行认证。设原报文长度为l bits,策略P3选取生成HMAC的前(64-l)bits。设ECUi,ECUj∈Yn,具体流程如下:
[0203] a.ECUi更新计数器 使用认证密钥AKn生成取前(64-l)bits,与M以及 一起发送至总线;
[0204] b.ECUj确定相应的安全策略以及认证密钥AKn后,计算与收到的HMAC对比,若一致,则对比 与自己保存的 若 更新
后接收报文,否则丢弃该报文。
[0205] (4)策略P4采用64bits的HMAC认证,认证的过程与P3一致。不同的是这里是将生成的HMAC取前64bits,以一条单独的报文发送至CAN总线。
[0206] (5)策略P5密文传输并采用截断的HMAC认证:如图6所示。具体流程如下:
[0207] a .ECUi更新报文计数器 选取相应的密钥EKn加密报文,即并生成HMAC,即 这里设原报文长度为l 
bits,策略P5选取生成HMAC的前(64-l)bits。并将密文C与截断后的HMAC一起发送至总线;
[0208] b.ECUj在确定安全策略以及相应的密钥EKn和AKn后,用EKn解密后得到M及并生成HMAC',即 与收到的HMAC进行对比,若一致,则对比与 若 更新 后接收报文,否则丢弃。
[0209] (6)策略P6密文传输并采用64bits的HMAC认证:HMAC的生成以及加解密过程与P5一致,唯一的区别是将生成的HMAC以一条单独的报文发送。
[0210] 下面结合实验对本发明作进一步描述。
[0211] 1、可行性分析:
[0212] CAN总线报文根据message ID的长度,可分为CAN标准帧和CAN扩展帧。其中CAN扩展帧将29bits的ID标识符分为标识符与扩展标识符两部分,其中标识符字段主要用来确定报文的优先级。若将本发明所提方案应用在CAN扩展帧中则需对CAN扩展帧格式做以下修改,如图7所示。
[0213] 将18bits的扩展标识符字段分为三部分:4bits的控制字段,8bits的发送方ID以及6bits的保留字段。其中控制字段用于说明报文的类型,包括密钥分发帧,数据传输帧,策略标识帧等,具体定义如表1所示。未使用的字段暂保留,可用于今后的扩展。8bits的发送方ID字段是ECU节点的唯一标识,用于实现报文的源认证。
[0214] 表1控制字段编码
[0215]
[0216]
[0217] 本发明充分利用CAN扩展帧的扩展标识符字段,用于标识报文类型以及发送方ID。该方案具有可行性,这是由于在CAN总线中,18bits的扩展标识符字段与11bits的标识符字段共存,且报文的优先级是根据11bits的标识符字段决定,占用扩展标识符字段并不会干扰CAN总线的仲裁过程。故本发明对CAN扩展帧的修改具有可行性,易于实施,且具有一定的可扩展性。
[0218] 2安全性分析
[0219] 本发明从报文机密性、认证、防重放攻击、密钥的前向后向安全性来分析其安全性。
[0220] (1)报文机密性:安全策略P2,P5,P6均采用AES-128算法来确保CAN总线报文的机密性。与网关ECU使用密钥 以及随机数种子 生成会话密钥EKn且攻击者无法获得由于AES-128算法的安全性已被证明[30],即攻击者无法从 获得EKn。因此在无法获得会话密钥EKn的情况下,攻击者无法解密报文。
[0221] (2)报文认证:指接收ECU可以验证报文内容的完整性和来源的真实性。策略P3,P4,P5,P6选取HMAC进行报文认证。由于攻击者不知道该报文生成HMAC所用到的认证密钥AK,唯一的方式是在密钥空间进行穷举,在2x种可能中选择一个x bits的字符串作为认证密钥。如果攻击者短时间内穷举HMAC发送至CAN总线,会造成总线网络将会传输一个“CAN BUS OFF”的错误帧表示通信失败的错误状态。
[0222] (3)防重放攻击:发送和接收ECU分别维护报文计数器 和 用于报文同步和生成HMAC。因此,本发明对于重放攻击是安全的。
[0223] (4)密钥的前向后向安全性:每次密钥更新时,
[0224] ECU无法得知之前的和之后的会话密钥与认证密钥。即使第k次会话密钥暴露,也无法获得第k-1次,第k+1次的会话密钥,这是因为第k次的生成密钥的随机数种子与第k-1次的,第k+1次的随机数均无关,很好的保证密钥的前向后向安全性。同理,本发明也可保证认证密钥的前向后向安全性。
[0225] 3实验分析
[0226] 本实验采用CANoe V10.0软件用来模拟车内CAN总线网络环境,在该软件中使用CAPL语言作为编程语言。实验环境为PC机,Windows7 64位系统,i7-6700主频3.4GHz,内存8G,使用Python语言作为编程语言。选取在国内某品牌汽车上某时间段内所采集的CAN总线报文数据集用于模拟某时间段真实的车内总线环境,该数据集中包括731622条报文,根据message ID可分为51种。
[0227] 3、1自适应模糊决策的有效性
[0228] 本发明采用PC机模拟网关ECU节点自适应模糊决策的过程,通过改变车内网络参数,观察网络环境的变化对选择安全策略的影响。根据CAN总线报文数据集模拟某时间段T内的总线网络环境,并对51种不同message ID的报文类型,随机生成[0,1]内的实数,用于模拟报文的机密性需求和认证需求。并根据message ID确定报文的实时性需求,根据数据字段长度确定报文长度级别。实验根据CAN总线层次模型,选取并构造准则层对比矩阵Mu1,子准则层的对比矩阵Mu2,Mu3。根据AHP法,计算并得到相应的权重 和W1,W2以及因素集各个元素的总权重α,具体数据如下:
[0229]
[0230]
[0231] W2=[0.4286,0.1429,0.4286]α=[0.0236,0.076,0.1519,0.0818,0.2857,0.0953,0.2857]
[0232] 然后选取并构造策略评分矩阵。在完成实验准备工作后,根据上述的真实数据集模拟的某时间段T内的总线环境,通过改变车内网络参数,观察各个安全策略的占比情况。网络参数{Bt,CBRt,St}的所有可能取值为{0.25,0.5,0.75,1},这里使用向量[0233] β={β1,β2,β3}来表示{Bt,CBRt,St}的一组可能的取值。详细的实验结果如下。
[0234] 图8(a)(b)可以看到在信道忙闲比和网络安全状态不变的情况下,总线负载比从图(a)的0.25增加到图(b)所示的1,则需要额外传输64bits MAC的安全策略P4,P6在整个总线网络的所有报文中所占的比重由64.52%降低到37.77%,这说明当总线负载增加的情况下,自适应方案将减少选择需要额外MAC传输的安全策略,尽可能不增加额外的总线负载。
[0235] 图9(a)(b)表示在总线负载比和网络安全状态不变的情况下,在信道忙闲比增加时,则策略P4,P6在整个总线网络的所有报文中所占的比重由37.77%降低到4.46%。这说明当信道忙闲比增大的时,为使报文尽快发送,提高实时性,自适应方案将减少选择需要额外MAC传输的安全策略。
[0236] 图10(a)(b)可看出,在总线负载比和信道忙闲比不变的情况下,若网络安全级别降低,则需要提高车内网络安全级别,对报文进行认证或加密。根据本发明所提方案,加密传输的安全策略P2,P5,P6的占比从70.86%提高95.44%,说明当网络安全状态级别降低时,本发明将报文进行加密传输,以防止攻击者窃听攻击,保证报文传输的机密性。
[0237] 4、在本发明ECU节点分域以及域密钥管理中,
[0238] 本发明对ECU密钥管理方案从存储开销,计算开销两个方面分别进行了性能分析和对比。
[0239] (1)存储开销:指每个ECU节点需要存储的密钥数量。本发明将本发明与现有方案进行对比。为了方便计算,设ECU节点的总数为n,树形域密钥结构为n个节点的满m叉树(m≥2),每个ECU节点需要存储沿其所在叶子节点至根节点该路径上的所有域密钥,每个域的域内密钥有2个,包括EK和AK。由表2可以看出,本发明采用的树形域密钥结构,减少了每个ECU节点存储的密钥数量以及密钥总数量。
[0240] 表2各方案的密钥数量对比
[0241]
[0242] (2)计算开销:指在密钥更新过程中,平均每个ECU节点所需的计算时间。这里假设车内网中ECU节点具有相同的时钟频率。通过改变CAN总线的数据传输速率,测量网关ECU分发密钥所需时间。其中,密钥分发过程所需时间包括:1)网关ECU加密随机数并广播;2)报文传输;3)ECU节点解密数据帧并生成密钥;4)网关ECU加密计数器并广播;5)ECU节点解密数据帧并对比的时间之和。由图11可以看到,随着ECU节点时钟频率的增加以及总线数据传输速率的增加,密钥分发时间随之减少。根据本发明,由于采用分域的形式,网关ECU广播报文,初始密钥分发时间不随着ECU数量的增加而增加,在不增加额外的存储开销的同时,具有良好的可行性。
[0243] 5、安全策略的性能分析
[0244] 本小节使用CANoe V10.0仿真软件模拟车内CAN总线,建立动态链接库来在CANoe中执行安全策略。假设车内网中ECU具有相同的时钟频率,改变CAN总线的数据传输速率,测量ECU的通信响应时间。其中,通信响应时间包括:1)发送方执行安全策略后发送;2)报文传输;3)接收方收到数据帧后,进行HMAC验证或解密。
[0245] 图12表示各个安全策略在ECU节点时钟频率不同和总线数据传输速率不同时所需的通信响应时间。其中策略P1采用广播明文,其通信响应时间只包括2)报文传输的时延,故本发明只对其他5个安全策略的ECU通信响应时间进行测量。可以看到,随着总线数据传输速率的增加,ECU节点所需的通信响应时间逐渐减少。同时,时钟频率越高的ECU节点所需的通信响应时间越少。因此,根据ECU的计算能力的不同以及总线数据传输速率的大小,根据本发明所提方案可以自适应的选取差异化的安全策略,进而减少通信时延和计算开销。
[0246] 6、对比实验
[0247] 将本发明所提自适应安全机制与LeiA方案以及Woo等人所提方案进行对比实验。在CAN总线报文数据集中随机选取时间序列T={t1,t2,...,t8},测量在ti时间段内的总线负载以及使用LeiA、Woo和本发明的总线负载以及ECU节点的通信响应时间。实验设定ECU节点频率均为150MHz,总线的数据传输速率均为1Mbps,随机选取的时间序列中报文数量如表
3所示。
[0248] 表3实验选取的时间序列包含报文数量
[0249]
[0250] 如图13(a),总线负载随时间在不断变化。Woo方案使用32bits的MAC,与报文一并传输,不增加总线负载,故该方案的变化趋势与总线负载的变化重合;LeiA方案将64bits的MAC以额外的报文传输,故总线负载增加一倍。而本发明的方案采用自适应的模糊决策,针对报文需求和网络环境,选取32bits或64bits的MAC,虽然会增加一定的总线负载,但远低于LeiA方案。由图13(b),本发明所提方案的ECU节点响应时间也介于LeiA和Woo方案之间,并未较多的增加ECU节点的通信响应时间。
[0251] 表4将LeiA方案、Woo方案与本发明在安全性和网络性能之间比较。其中安全性包括是否加密以及用于认证的MAC的长度。网络性能包括对总线负载的影响和ECU的通信响应时间。可以看到,本发明相较于LeiA方案。对总线负载影响较小,且通信时延较小;相较于Woo方案,提供了较长的MAC,安全性更高。这是由于本发明增加了自适应的策略选择,兼顾网络性能与安全性。
[0252] 表4 LeiA、Woo和本发明的安全性与网络性能比较
[0253]
[0254] 下面结合效果对本发明作进一步描述。
[0255] 针对现有CAN总线安全方案存在以下问题:(1)单一的安全机制难以满足差异化的报文安全需求以及动态的车内网络环境,现有方案难以兼顾安全性和网络性能;(2)现有CAN总线加密和认证方案中缺乏高效的密钥管理方案,难以适用于计算能力有限的ECU节点。本发明提出了一种自适应的CAN总线安全机制,主要包括:(1)综合考虑报文需求和车内总线网络因素,提出基于层次分析法和模糊决策的安全策略选取方案,针对差异化的报文和动态变化的车内网络环境,自适应的选择较为合理的安全策略;(2)根据ECU间的通信频率将ECU节点划分为层次化的域,进行密钥管理。并设计了差异化的安全策略及相应的通信协议;(3)对本发明所提方案,进行了可行性和安全性分析,并验证了自适应模糊决策的有效性,对ECU分域和密钥管理方案进行性能分析。与现有方案进行对比,结果表明本发明所需的存储开销和计算开销十分有限,适用于计算能力受限的ECU节点和高实时性需求的CAN总线网络。
[0256] 以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈