一种车内网ECU安全通信的方法与流程

文档序号:12133490阅读:782来源:国知局
一种车内网ECU安全通信的方法与流程

本发明涉及车内网、密钥分配、安全认证等领域,尤其涉及车内电子控制单元的安全通信领域。



背景技术:

车辆越来越多的被人们使用,车内网对信息技术也变得越来越依赖。在车内的电子控制单元(ECU)不仅要求是可靠的,而且要求他们能有效地抵抗恶意攻击。这些设备的规模与车内的信息技术系统有关,在某些情况下,一些车辆的拥有者,在不被授权的情况下使用汽车,会带来潜在的威胁,使得车辆中相关设备的安全保护变得越来越复杂。如果车内的ECU被攻击者控制,将直接威胁车内乘客的生命安全,因此需要一个具体的方案解决车内ECU的安全通信。

目前国内单独针对车内网通信安全进行研究的还是一片空白,车内网与车载网是密切相关的,都是将车内网看做车载网的一部分,所以还没有一个具体的方案来解决车内网的一些安全通信问题。由于车内ECU的数量和功能的提升,ECU间相互通信的要求持续增多,及时的对车内ECU通信进行安全方面的深入研究,建立稳定的安全方案,可以给我国在车内网通信方面带来理论和实际意义。



技术实现要素:

本发明的目的在于,提出一种车内网ECU安全通信的方法,用以解决车内ECU被攻击者远程控制,窃取车内网的数据等问题。

为了实现上述目的,本发明的技术方案为:

一种车内网ECU安全通信的方法,包括以下部分:(1)建立系统模型:包括车内的主控制器、安装在车辆上的电子控制单元ECU以及车内网的网关;(2)系统初始化:主控制器利用安全的哈希函数生成一个离散的值,将离散的值转换成二进制,并取二进制的最高有效位,即二进制最左端的一位是有效的,这个有效的位就是共享的会话密钥;(3)同一子网中主控制器对ECU进行密钥分配,在已经触发的ECU与主控制器之间安全地传输会话密钥。在通信之前,会话密钥在一些需要通信的ECU之间传输;(4)不同子网的ECU在通信时,车内网关对不同子网中接入的ECU认证,网关中的私钥产生器(SKG)通过一次签名的方法确定接入的ECU是否授权,身份认证成功后给授权的ECU分发私钥;(5)定时更新私钥,私钥由主密钥生成,主密钥通过随机数生成,定时触发网关,私钥动态更新,防止重放攻击。

进一步,所述步骤(3)同一子网中主控制器对ECU进行密钥分配部分:在同一子网中的ECU之间使用一个共享的会话密钥,并且在这两个ECU之间保证通信信息的安全。允许任意两个ECU与主控制器共享一个会话密钥,并且两个ECU之间还有一个特定的会话密钥,这个特定的会话密钥由两个ECU共享使用,并且是不公开的,任何车内外的设备都不能使用;其具体步骤如下:

步骤3.1:系统第一次启动时,需要通信的ECU记为i,通信的另一方(ECU)记为j,i向主控制器发送一个共享会话密钥Sij的请求;

步骤3.2:当需要时,i向主控制器请求和j共享会话密钥,用于和j通信。例如,i可以请求会话密钥Sij,系统启动时,这个会话密钥可能用于与任何一个j进行通信;

步骤3.3:当需要与j进行通信时,并且假定i拥有共享的会话密钥Sij,i将它作为与j进行通信的共享会话密钥,并且根据i和j之间的通信协议进行通信。如果j不拥有会话密钥Sij,它将以与步骤3.2中相同的方式从主控制器那儿获得共享会话密钥;

步骤3.4:当系统断电(例如车辆熄火)时,i和j可以将共享的会话密钥放在一个缓冲池中,避免系统再次启动时需要重复给i,j分配会话密钥。对于给定的i和j,在整个电源周期中共享会话密钥Sij是保持不变的,如果主控制器在掉电之前要求使用共享会话密钥Sij时(即在未熄火之前i和j需要第二次通信),仍然会返回一个相同的会话密钥。

进一步,所述步骤(4)中车内网关对不同子网中接入的ECU进行认证的部分是利用基于身份的广播加密算法,避免了车内网中证书的存储、撤销等问题。

在ECU进行通信之前,车内的网关必须先验证ECU的真实性,网关中的私钥产生器(SKG)对ECU身份认证成功后,给ECU分发密钥t,从而解密其中的信息。在ECU接入网关之前,通过一次签名进行身份认证,其具体步骤如下:

步骤4.1:在网关中的私钥产生器(SKG)中设置参数(μ,n),μ是安全参数,n为整数;

步骤4.2:根据SKG中的私钥和ECU的标识(ID)产生密钥t;

步骤4.3:网关通过比对SKG中的私钥和ECU的身份是否相同来确定接入的ECU是否授权;

步骤4.4:网关验证ECU的身份合法之后将密钥t发送给需要通信的ECU,利用密钥t和公钥加密;

步骤4.5:利用加密过程中所使用的密钥t,ECUi的标识ID,私钥以及步骤4.4加密的结果Hd和公钥进行解密。

此外,在网关中的SKG进行身份认证时可能会通过危险的信道分发私钥,这时需要验证ECU的身份,步骤如下:

步骤4.6:通过步骤4.1-4.5的一次签名方法,网关确定CAN局域网中的ECU1是授权的,就将其接入网关,ECU1将要与FlexRay局域网中的ECU3进行通信的信息M发送给网关;

步骤4.7:网关可能会通过危险的信道在不同的子网中广播信息M,通过步骤4.1到4.5所述的一次签名方法发现LIN局域网中的ECU2是未授权,即ECU2无法解密,进而得不到网关广播的消息;

步骤4.8:经认证中的ECU3是授权的,SKG为其分发私钥,ECU3从广播的信息中解密出ECU1发送给它的通信内容。

步骤4.6-4.8不局限于3个局域网之间的通信,在车内多个局域网中同样适用。

进一步,所述定时更新私钥部分,采用随机数生成主密钥,可以防止重放攻击,私钥是根据主密钥而生成的,一旦主密钥定时更换,就会更换网关中的所有私钥,其步骤如下:

步骤5.1:定时触发网关,根据随机数生成算法任意选取一个随机数。随机数可由车辆的车速或者时间动态构成;

步骤5.2:根据上面得到的随机数生成网关中的主密钥pub的计算方法为pub=s·g,s为初始私钥,g为生成的随机数;

步骤5.3:若有攻击者想计算得到网关中的私钥,此时需要定时触发网关,更换主密钥,将网关中SKG的私钥表切换为当前私钥表,并向车内网中的所有ECU发放新的私钥T;

步骤5.4:将事先产生的私钥表作为当前私钥表,并将初始的私钥表存入历史记录表中,生成新的主密钥,产生新的私钥表。

进一步,密钥分配过程中假定每个ECU与主控制器都有一个256位的共享会话密钥,需要对这个会话密钥初始化配置,一旦ECU获得了会话密钥,它们可以利用这个会话密钥安全地互相通信。

进一步,网关对ECU的身份认证时,每个ECU进行一次签名并且保护好自己的密钥SK。此外,网关使用SKG中的私钥表来证实ECU的有效签名。如果身份认证过程成功,添加相应的ECU是授权的。

此外步骤4.6-4.8表明不论信道是否安全,都能保证不同子网ECU的安全通信。

本发明的有益效果是:

1)从安全服务和安全原语对车内ECU安全通信的框架做了具体设计。

2)主控制器进行密钥分配时,可以撤销一个ECU和另一个ECU进行通信的能力,减少合法ECU的认证次数。

3)通过在主控制器的注册表中规定一组权限集,对ECU进行访问控制,对需要通信的ECU授权,防止同一子网中非法的ECU进行通信。

4)在不同子网中,对以往的身份认证方案做了改进,将ECU的ID直接作为公钥,避免了撤销证书带来的车内网资源浪费的问题。

5)通过一次签名方案证明ECU是合法的,但是攻击者可能会收集ECU的公/私钥来猜测主密钥,针对这个问题,提出了定时更新私钥的设计,使得攻击者计算网关中的主密钥是困难的。

6)身份认证成功后,网关就向其他ECU广播消息,只有授权的ECU才能解密信息,确保了不同局域网中的ECU间的通信是安全的。

附图说明

图1为本发明的总体设计图;

图2为本发明中的车内网ECU安全通信框架图;

图3为本发明中的ECU和主控制器的会话密钥图;

图4为本发明中的网关对ECU进行身份认证的方案图;

图5为对网关中定时更新私钥图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。

如图1、图2所示,本发明的方法以现有车辆的主控制器、若干电子控制单元ECU和网关为应用系统基础,主要包括以下四部分,

1、系统初始化

主控制器利用安全的哈希函数生成一个离散的值,并取其二进制的最低有效位得到共享的会话密钥,在一个已经预配置好的ECU与一个主控制器之间安全地传输会话密钥。在通信之前,会话密钥在一些需要通信的ECU之间传输,并且用于通信。

2、同一子网中主控制器对ECU进行密钥分配

利用会话密钥来进行安全通信信息的传输,在同一子网中的ECU之间使用一个共享的会话密钥,并且在这两个ECU之间保证通信信息的安全。允许任意两个ECU与主控制器共享一个会话密钥,且在两个ECU之间还有一个特定的会话密钥,并且这个密钥由两个ECU共享使用,而且这个密钥不是公开的,任何车内外的设备都不能使用。密钥分配过程如图3所示。

图3中C是需要通信的ECU,由i标识,M是主控制器。j用来标识需要共享会话密钥Si,j的ECU。在这个请求中,j包含多个不同的值,并且会有很多的密钥回应。E(K,X)代表进行消息认证的加密使用对称密钥。认证加密可以使用AES分组密码算法,如:CCM,CWC,EAX,OCB,或者计数器。Ki表示永久ECU会话密钥,并且这个会话密钥在i和主控制器之间共享。N是由ECU在每次开机的时候生成的一个随机数。具体步骤如下:

第一步:系统第一次启动时,需要通信的ECU记为i,通信的另一方记为j,i向主控制器发送一个共享会话密钥Sij的请求;

第二步:当需要时,i向主控制器请求和j共享会话密钥,用于和j通信。例如,i可以请求会话密钥,一旦系统启动时,这个会话密钥可能用于与任何一个j进行通信。

第三步:当需要与j进行通信时,并且假定i拥有共享的会话密钥,i将它作为与j进行通信的共享会话密钥,并且根据客户端ECU定义的通信协议进行通信。如果j不拥有会话密钥,它将以第二步相同的方式从主控制器那儿获得共享会话密钥。

第四步:当系统断电(即车辆熄火)时,i和j可以将共享会话密钥放在一个缓冲池中,避免系统再次启动时需要重复给i,j分配会话密钥。对于给定的i和j,在整个电源周期中共享会话密钥Sij是保持不变的,如果主控制器在掉电之前要求使用共享会话密钥Sij时(即在未熄火之前i和j需要第二次通信),仍然会返回一个相同的会话密钥。

3、车内网关对不同子网中接入的ECU认证

在ECU接入网关之前,通过一次签名方法确定ECU是否授权,具体步骤如下(详细符号定义参照表1,此处的符号是一次签名方法中所用的符号,与上面提到的符号不可混淆):

表1主要符号定义

第一步:设置参数(μ,n):μ是燃油量,n为整数,C=(Q,F1,F2,Fr,e(·,·))是双线性映射组,构建的形式是:∣q∣=μ。随机选取生成元g∈G1、Fi∈G2以及不公开的值w∈Zq*。H1:{0,1}*→Zq,H2:{0,1}m→Zq为两个哈希函数。将H1,H2看做两个安全模型。C和H1,H2是方案中的公用参数。用MSK=(f,w)表示主密钥,表示公钥,且u=ft,v=e(f,h)。

第二步:输出身份密钥:根据MSK=(f,t)和集合中的ECU身份ID输出

第三步:利用密钥t和公钥加密:网关通过计算τ(μ)得到验证ECU身份的密钥VSIG以及用于签名的密钥KSIG(∣VSIG∣=m),设I={IDj}j=1n,j≤n。由上可知,网关随机选取k←Zq*,然后计算k和Hd:

记Hd=(b,Sign(b,KSIG),VSIG),K=VK,加密完成后输出(Hd,K),随后利用密钥K进行加密。

第四步:利用加密过程中所使用的参数t,第i个ECU的身份标识,私钥以及加密的结果Hd和公钥进行解密:从签名的Hd=(b,τ,VSIG)再一次得到加密过程中的对称密钥K:

1)计算ECU产生的签名(F1,F2)在VSIG下是否正确,不正确,输出

2)如果不正确的话,随机选取γ∈Zq,计算:

且有:

3)输出:

这样通过密钥K以及ECU的ID确定了接入的ECU是授权的。

由于ECU成员可能会被攻击者假冒,向SKG申请私钥,以达到破解SKG中所有私钥的目的。此外在网关中的SKG进行身份认证时必须通过安全的信道收到私钥,来验证ECU的身份,但是车内网网络环境是开放的,网关互连不同的网络,且ECU通过网关进行通信的信道通常是不安全的,所以需要对以上存在的问题进行解决,当CAN局域网中的ECU1要与FlexRay局域网中的ECU3进行通信时,首先通过一次签名方案,对ECU1进行身份认证,解决方案如图4所示,具体步骤如下:

第一步:网关已经确定ECU1是授权的,ECU1就接入网关,然后ECU1将要与ECU3通信的信息发送给网关。

第二步:网关在不同的局域网间广播ECU1要通信的信息,比如通过危险的信道发送给LIN局域网和FlexRay局域网,通过上述的一次签名方案,网关发现ECU2是未授权的,于是SKG不对ECU2分配私钥,所以未授权的ECU2无法从网关广播的信息中解密出通信的信息。

第三步:FlexRay局域网中的ECU3经认证是授权的,SKG就为它分发私钥,就能从广播的信息中解密出ECU1发送给它的通信内容。

4、定时更新私钥

由于车内网的恶意攻击者可能会通过收集ECU的公/私钥来试图破解网关中所给出的主密钥。为了解决这个问题,在私钥长度不增加的情况下,又要保证身份认证方案具有很高的安全性,私钥需要定时更换。采用随机数生成主密钥,可以防止重放攻击,私钥是根据主密钥而生成的,一旦主密钥定时更换,它就更换了网关中的所有私钥。定时更新私钥如图5所示,具体步骤如下:

第一步:定时触发网关,根据随机数生成算法任意选取一个随机数。随机数可由车辆的车速或者时间动态构成。

第二步:根据上面得到的随机数生成网关中的主密钥pub的计算方法为pub=s·g,s为初始私钥,g为生成的随机数。

第三步:若有攻击者想计算得到网关中的私钥,此时需要定时触发网关,更换主密钥,将网关中SKG的私钥表切换为当前私钥表,并向车内网中的所有ECU发放新的私钥T。

第四步:将事先产生的私钥表作为当前私钥表,并将初始的私钥表存入历史记录表中,生成新的主密钥,产生新的私钥表。

私钥定时更新,保证了方案具有很高的安全强度,而且私钥管理模块只向认证合法的ECU所请求的信息进行封装,发放私钥,保证了身份认证的高效性,并可实时为通信的ECU生成私钥,能够实现高效的私钥更新,使整个方法的安全性得到提升。

尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1