车联网系统中T_Box设备与ECU设备进行安全通信的方法与设备与流程

文档序号:15061737发布日期:2018-07-31 21:58阅读:819来源:国知局

本发明涉及车联网技术领域,尤其涉及一种车联网系统中t_box设备与ecu设备进行安全通信的技术。



背景技术:

随着车联网应用的多样化、网络化和智能化,车联网的安全攻击面受到越来越多的威胁,车联网中一个重要核心组件是t-box(telematicsbox)控制单元,可以用来交换车内ecu(electroniccontrolunit)与车外的数据信息。然而,目前t-box与ecu之间的通信仍使用明文的方式在can(controllerareanetwork)总线上传输,但can总线通信技术并没有考虑信息安全特性,发送和接收数据包没有进行身份验证和数据加密。

现有的安全通信技术(如ssl(securesocketlayer)、ipsec(internetprotocolsecurity)、s-http(securehypertexttransferprotocol)等)通常使用对称或者非对称算法对数据进行加密,并使用身份认证技术对两种通信实体进行单向或双向认证。但现有的双向认证方案,不仅交互流程较多,而且使用的加密算法较为复杂,而车联网中的t-box设备以及ecu设备都是资源较为紧张的嵌入式系统设备,使得现有的安全技术方案很难直接应用到t-box与ecu的认证和通信中。

面对黑客可以远程控制t-box并通过截获t-box与车辆ecu的通信内容进行攻击的风险,如何实现t-box与车辆ecu之间的安全通信,成为一项亟待解决的技术问题。



技术实现要素:

本发明的一个目的是提供一种用于车联网系统中t_box设备与ecu设备进行安全通信的方法与设备。

根据本发明的一个方面,提供了一种车联网系统中t_box设备与ecu设备进行安全通信的方法,其中,该方法包括:

t_box设备向对应的ecu设备发送第一信息,其中,该第一信息是由所述t_box设备生成的第一随机数与所述车联网系统的主密钥的哈希值进行异或得到;

所述ecu设备根据所述第一信息、所述主密钥的哈希值,以及所述ecu设备生成的第二随机数,生成第二信息,并将所述第二信息发送至所述t_box设备;

所述t_box设备根据所述第二信息、所述第一随机数和由所述t_box设备生成的第三随机数,生成第三信息,并将所述第三信息发送至所述ecu设备;

所述t_box设备根据所述第二信息和所述第三随机数,以及所述t_box设备的身份标识信息与所述ecu设备的身份标识,生成第一密钥;

所述t_box设备基于所述第一密钥对待下发指令进行加密,以将经加密的所述指令发送至所述ecu设备;

所述ecu设备响应于接收所述t_box设备所发送的经加密的所述指令,根据所述第三信息和所述第二随机数,以及所述t_box设备的身份标识信息与所述ecu设备的身份标识,生成第二密钥;

所述ecu设备根据所述第二密钥对经加密的所述指令进行解密,以获得所述指令。

根据本发明的另一方面,还提供了一种车联网系统中与ecu设备进行安全通信的t_box设备,其中,该t_box设备包括:

用于向对应的ecu设备发送第一信息的装置,其中,该第一信息是由所述t_box设备生成的第一随机数与所述车联网系统的主密钥的哈希值进行异或得到;

用于接收所述ecu设备发送的第二信息的装置,其中,所述第二信息由所述第一信息、所述主密钥的哈希值,以及所述ecu设备生成的第二随机数生成;

用于根据所述第二信息、所述第一随机数和由所述t_box设备生成的第三随机数,生成第三信息,并将所述第三信息发送至所述ecu设备的装置;

用于根据所述第二信息和所述第三随机数,以及所述t_box设备的身份标识信息与所述ecu设备的身份标识,生成第一密钥的装置;

用于基于所述第一密钥对待下发指令进行加密,以将经加密的所述指令发送至所述ecu设备的装置。

根据本发明的再一方面,还提供了一种车联网系统中与t_box设备进行安全通信的ecu设备,其中,该ecu设备包括:

用于接收对应t_box设备发送的第一信息的装置,其中,该第一信息是由所述t_box设备生成的第一随机数与所述车联网系统的主密钥的哈希值进行异或得到;

用于根据所述第一信息、所述主密钥的哈希值,以及所述ecu设备生成的第二随机数,生成第二信息,并将所述第二信息发送至所述t_box设备的装置;

用于接收所述t_box设备发送的第三信息的装置;

用于接收所述t_box设备发送的经加密的指令的装置,其中,所述指令经第一密钥加密,所述第一密钥的生成是基于所述第二信息、所述t_box设备生成的第三随机数,以及所述t_box设备的身份标识信息与所述ecu设备的身份标识;

用于响应于接收经加密的所述指令,根据所述第三信息和所述第二随机数,以及所述t_box设备的身份标识信息与所述ecu设备的身份标识,生成第二密钥的装置;

用于根据所述第二密钥对经加密的所述指令进行解密,以获得所述指令的装置。

根据本发明的又一个方面,还提供了一种车联网系统,其中,该系统包括如前述根据本发明另一方面的一种t_box设备,以及根据本发明再一方面的一种ecu设备。

与现有技术相比,本发明的一个实施例中的t_box设备能够使用协商的安全会话密钥与ecu设备进行轻量级安全通信,解决了现在车联网发展中用户控制命令在“最后一公里”被窃听、截取、伪造和重放的威胁,也实现了t_box设备与ecu设备之间的双向认证,并进一步降低了任意一方设备被恶意俘获而发送非合法的数据,比如非法ecu节点发送不合理的车辆状态信息给用户,被俘获的t_box设备被恶意替换,用来执行黑客的指令到车载网络中去等风险

附图说明

通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:

图1示出根据本发明一个方面的车联网系统中的t_box设备与ecu设备的设备示意图;

图2示出根据本发明另一个方面的一种车联网系统中t_box设备与ecu设备进行安全通信的方法流程图。

附图中相同或相似的附图标记代表相同或相似的部件。

具体实施方式

下面结合附图对本发明作进一步详细描述。

图1示出根据本发明一个方面的车联网系统中的t_box设备1与ecu设备2,t_box设备1与ecu设备2之间能够实现安全通信。其中,t_box设备1包括:用于向对应的ecu设备2发送第一信息的装置(以下简称“第一发送装置11”),其中,该第一信息是由所述t_box设备1生成的第一随机数与所述车联网系统的主密钥的哈希值进行异或得到;用于接收所述ecu设备2发送的第二信息的装置(以下简称“第二接收装置12”),其中,所述第二信息由所述第一信息、所述主密钥的哈希值,以及所述ecu设备2生成的第二随机数生成;用于根据所述第二信息、所述第一随机数和由所述t_box设备1生成的第三随机数,生成第三信息,并将所述第三信息发送至所述ecu设备2的装置(以下简称“第三发送装置13”);用于根据所述第二信息和所述第三随机数,以及所述t_box设备1的身份标识信息与所述ecu设备2的身份标识,生成第一密钥的装置(以下简称“第一密钥装置14”);用于基于所述第一密钥对待下发指令进行加密,以将经加密的所述指令发送至所述ecu设备2的装置(以下简称“第四发送装置15”)。ecu设备2包括:用于接收对应t_box设备1发送的第一信息的装置(以下简称“第一接收装置21”),其中,该第一信息是由所述t_box设备1生成的第一随机数与所述车联网系统的主密钥的哈希值进行异或得到;用于根据所述第一信息、所述主密钥的哈希值,以及所述ecu设备2生成的第二随机数,生成第二信息,并将所述第二信息发送至所述t_box设备1的装置(以下简称“第二发送装置22”);用于接收所述t_box设备1发送的第三信息的装置(以下简称“第三接收装置23”);用于接收所述t_box设备1发送的经加密的指令的装置(以下简称“第四接收装置24”),其中,所述指令经第一密钥加密,所述第一密钥的生成是基于所述第二信息、所述t_box设备1生成的第三随机数,以及所述t_box设备1的身份标识信息与所述ecu设备2的身份标识;用于响应于接收经加密的所述指令,根据所述第三信息和所述第二随机数,以及所述t_box设备1的身份标识信息与所述ecu设备2的身份标识,生成第二密钥的装置(以下简称“第二密钥装置25”);用于根据所述第二密钥对经加密的所述指令进行解密,以获得所述指令的装置(以下简称“第一解密装置26”)。

具体地,t_box设备1的第一发送装置11向对应的ecu设备2发送第一信息,其中,该第一信息是由所述t_box设备1生成的第一随机数与所述车联网系统的主密钥的哈希值进行异或得到;相应地,ecu设备2的第一接收装置21接收对应t_box设备1发送的第一信息其中,该第一信息是由所述t_box设备1生成的第一随机数与所述车联网系统的主密钥的哈希值进行异或得到;第二发送装置22根据所述第一信息、所述主密钥的哈希值,以及所述ecu设备2生成的第二随机数,生成第二信息,并将所述第二信息发送至所述t_box设备1;相应地,t_box设备1的第二接收装置12接收所述ecu设备2发送的第二信息,其中,所述第二信息由所述第一信息、所述主密钥的哈希值,以及所述ecu设备2生成的第二随机数生成;第三发送装置13根据所述第二信息、所述第一随机数和由所述t_box设备1生成的第三随机数,生成第三信息,并将所述第三信息发送至所述ecu设备2;相应地,ecu设备2的第三接收装置23接收所述t_box设备1发送的第三信息;t_box设备1的第一密钥装置14根据所述第二信息和所述第三随机数,以及所述t_box设备1的身份标识信息与所述ecu设备2的身份标识,生成第一密钥;第四发送装置15基于所述第一密钥对待下发指令进行加密,以将经加密的所述指令发送至所述ecu设备2;相应地,ecu设备2的第四接收装置24接收所述t_box设备1发送的经加密的指令,其中,所述指令经第一密钥加密,所述第一密钥的生成是基于所述第二信息、所述t_box设备1生成的第三随机数,以及所述t_box设备1的身份标识信息与所述ecu设备2的身份标识;第二密钥装置25响应于接收经加密的所述指令,根据所述第三信息和所述第二随机数,以及所述t_box设备1的身份标识信息与所述ecu设备2的身份标识,生成第二密钥;第一解密装置26根据所述第二密钥对经加密的所述指令进行解密,以获得所述指令。

在此,t_box设备1是指车辆上主要用于和后台系统/手机app通信,实现手机app的车辆信息显示与控制的车载信息终端,如实现对车辆的运行数据、位置数据进行管理,提供包含诸如实时监控(地图、图表)、数据回放、轨迹回放、远程诊断等功能,并能够用来交换车内ecu设备的数据信息和车外的数据信息。

在此,ecu设备2是指车辆的专用微机控制器,其通常由微处理器(cpu)、存储器(rom、、ram)、输入/输出接口(i/o)、模数转换器(a/d)以及整形、驱动等大规模集成电路组成,可被称为“行车电脑”、“车载电脑”等。

在此,车辆出厂前可对其t_box设备1和ecu设备2进行预先分配身份标识信息,包括1个t_box设备1的身份标识id(如t_box_id)、若干ecu设备2的身份标识id(如ecu-i),以及t_box设备1和ecu设备2之间网络通信的主密钥。在具体实施例中,t_box设备1和ecu设备2可采用can总线进行通信。在此,所述主密钥是指t_box设备1和ecu设备2之间共享的密钥,可作为生成t_box设备1和ecu设备2之间的会话密钥的初始辅助密钥,并且该主密钥能够在一定周期内得到同步更新。

本领域技术人员应能理解上述t_box设备1和ecu设备2仅为举例,其他现有的或今后可能出现的t_box设备或ecu设备如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。在此,t_box设备1和ecu设备2均包括一种能够按照事先设定或存储的指令,自动进行数值计算和信息处理的电子设备,其硬件包括但不限于微处理器、专用集成电路(asic)、可编程门阵列(fpga)、数字处理器(dsp)、嵌入式设备等。

具体地,t_box设备1的第一发送装置11向对应的ecu设备2发送第一信息,其中,该第一信息是由所述t_box设备1生成的第一随机数与所述车联网系统的主密钥的哈希值进行异或得到。

例如,某出厂的车辆,其t_box设备1和ecu设备2预先被分配了身份标识信息,如t_box设备1身份标识id为t_box_id、若干ecu设备2的身份标识为(ecu-i),以及t_box设备1和ecu设备2之间网络通信的主密钥a,则t_box设备1与ecu设备2进行通信时,t_box设备1的第一发送装置11首先生成第一随机数如nounce_1,然后将该随机数与主密钥a的哈希值进行异或,即可得到第一信息,也即第一信息如用n_1表示,则有n_1=nounce_1⊕hash(a);接着,第一发送装置11通过can总线,将该第一信息发送至对应的ecu设备2。

相应地,ecu设备2的第一接收装置21通过can总线,接收对应t_box设备1发送的第一信息,其中,该第一信息是由所述t_box设备1生成的第一随机数与所述车联网系统的主密钥的哈希值进行异或得到。例如,接上例,ecu设备2的第一接收装置21接收到的第一信息n_1。

第二发送装置22根据所述第一信息、所述主密钥的哈希值,以及所述ecu设备2生成的第二随机数,生成第二信息,并将所述第二信息发送至所述t_box设备1。

例如,接上例,第二发送装置22首先生成第二随机数如nounce_2;然后,将第一信息n_1与主密钥的哈希值hash(a)进行异或,得到nounce_1_cal,并将该异或值与第二随机数nounce_2进行异或,即得到第二信息,也即第二信息如用n_2表示,则有n_2=nounce_2⊕nounce_1_cal=nounce_2⊕[n_1⊕hash(a)];接着,第二发送装置22通过can总线,将该第二信息发送至t_box设备1。

相应地,t_box设备1的第二接收装置12接收所述ecu设备2发送的第二信息,其中,所述第二信息由所述第一信息、所述主密钥的哈希值,以及所述ecu设备2生成的第二随机数生成。例如,t_box设备1的第二接收装置12通过can总线,接收到ecu设备2发送的第二信息n_2。

第三发送装置13根据所述第二信息、所述第一随机数和由所述t_box设备1生成的第三随机数,生成第三信息,并将所述第三信息发送至所述ecu设备2。

例如,第三发送装置13计算第二信息n_2和第一随机数nounce_1的异或值,得到nounce_2_cal,并将nounce_2_cal与生成的第三随机数nounce_3进行异或得到第三信息n_3,也即,n_3=nounce_3⊕nounce_2_cal=nounce_3⊕[n_2⊕nounce_1];然后,第三发送装置13通过can总线,将第三信息发送至ecu设备2。

相应地,ecu设备2的第三接收装置23通过can总线,接收到所述t_box设备1发送的第三信息n_3。

t_box设备1的第一密钥装置14根据所述第二信息和所述第三随机数,以及所述t_box设备1的身份标识信息与所述ecu设备2的身份标识,生成第一密钥。例如,第一密钥装置14首先通过数据拼接操作,将t_box设备1的身份标识信息t_box_id、正在与t_box设备1进行通信的ecu设备2的身份标识(ecu-i)、第三随机数nounce_3、随机数nounce_2_cal进行数据拼接,得到:|t_box_id|ecu-i|nounce_3|nounce_2_cal|;然后,利用哈希算法md5对该拼接结果进行哈希运算,即可得到第一密钥key_1。

第四发送装置15基于所述第一密钥对待下发指令进行加密,以将经加密的所述指令发送至所述ecu设备2。例如,假设待下发指令为instruction-1,则第四发送装置15首先利用key_1对该指令进行加密,得到经加密的指令key_1_instruction-1;然后,通过can总线,将经加密的指令key_1_instruction-1发送给ecu设备2。

相应地,ecu设备2的第四接收装置24通过can总线,接收所述t_box设备1发送的经加密的指令,其中,所述指令经第一密钥加密,所述第一密钥的生成是基于所述第二信息、所述t_box设备1生成的第三随机数,以及所述t_box设备1的身份标识信息与所述ecu设备2的身份标识。

第二密钥装置25响应于接收经加密的所述指令,根据所述第三信息和所述第二随机数,以及所述t_box设备1的身份标识信息与所述ecu设备2的身份标识,生成第二密钥。例如,在第四接收装置24接收到来自t_box设备1的经加密的指令key_1_instruction-1之后,第二密钥装置25首先通过数据拼接操作,将正在与ecu设备2进行通信的t_box设备1的身份标识信息t_box_id、ecu设备2的身份标识(ecu-i)、第三信息和第二随机数的异或值nounce_3_cal=n_3⊕nounce_2、第二随机数nounce_2进行数据拼接,得到:|t_box_id|ecu-i|nounce_3_cal|nounce_2|;然后,利用哈希算法md5对该拼接结果进行哈希运算,即可得到第一密钥key_2。

第一解密装置26根据所述第二密钥对经加密的所述指令进行解密,以获得所述指令。例如,第一解密装置26利用key_2对经加密的指令key_1_instruction-1进行解密,以获得相应指令。

在此,本发明中的t-box设备能够使用协商的安全会话密钥与ecu进行轻量级安全通信。具体的,密钥协商参数使用t-box与ecu自身固定参数、自身生成的随机数,通过三次交互计算获得最终统一的协商参数,接着使用安全哈希函数作用于最终的协商参数,在这一过程中完成了身份的双向认证和会话密钥的生成,最后利用该会话密钥完成后续的数据通信过程。

在此,本发明中的t_box设备能够使用协商的安全会话密钥与ecu设备进行轻量级安全通信,解决了现在车联网发展中用户控制命令在“最后一公里”被窃听、截取、伪造和重放的威胁,也实现了t_box设备与ecu设备之间的双向认证,并进一步降低了任意一方设备被恶意俘获而发送非合法的数据,比如非法ecu节点发送不合理的车辆状态信息给用户,被俘获的t_box设备被恶意替换,用来执行黑客的指令到车载网络中去等风险。

t_box设备1和ecu设备2的各个装置之间是持续不断工作的。具体地,t_box设备1的第一发送装置11持续向对应的ecu设备2发送第一信息,其中,该第一信息是由所述t_box设备1生成的第一随机数与所述车联网系统的主密钥的哈希值进行异或得到;相应地,ecu设备2的第一接收装置21持续接收对应t_box设备1发送的第一信息,其中,该第一信息是由所述t_box设备1生成的第一随机数与所述车联网系统的主密钥的哈希值进行异或得到;第二发送装置22持续根据所述第一信息、所述主密钥的哈希值,以及所述ecu设备2生成的第二随机数,生成第二信息,并将所述第二信息发送至所述t_box设备1;相应地,t_box设备1的第二接收装置12持续接收所述ecu设备2发送的第二信息,其中,所述第二信息由所述第一信息、所述主密钥的哈希值,以及所述ecu设备2生成的第二随机数生成;第三发送装置13持续根据所述第二信息、所述第一随机数和由所述t_box设备1生成的第三随机数,生成第三信息,并将所述第三信息发送至所述ecu设备2;相应地,ecu设备2的第三接收装置23持续接收所述t_box设备1发送的第三信息;t_box设备1的第一密钥装置14持续根据所述第二信息和所述第三随机数,以及所述t_box设备1的身份标识信息与所述ecu设备2的身份标识,生成第一密钥;第四发送装置15持续基于所述第一密钥对待下发指令进行加密,以将经加密的所述指令发送至所述ecu设备2;相应地,ecu设备2的第四接收装置24持续接收所述t_box设备1发送的经加密的指令,其中,所述指令经第一密钥加密,所述第一密钥的生成是基于所述第二信息、所述t_box设备1生成的第三随机数,以及所述t_box设备1的身份标识信息与所述ecu设备2的身份标识;第二密钥装置25持续响应于接收经加密的所述指令,根据所述第三信息和所述第二随机数,以及所述t_box设备1的身份标识信息与所述ecu设备2的身份标识,生成第二密钥;第一解密装置26持续根据所述第二密钥对经加密的所述指令进行解密,以获得所述指令。在此,本领域技术人员应当理解,所述“持续”是指t_box设备1和ecu设备2的各装置之间分别不断地进行第一信息的生成与发送、第二信息的生成与发送、第三信息的生成与发送、第一密钥的生成、经第一密钥加密的指令的发送、第二密钥的生成、对指令的解密,直至t_box设备1在较长时间内停止生成第一信息。

在一个实施例中,t_box设备1还包括用于更新所述主密钥的装置(以下简称“更新装置”,未示出)。

例如,更新装置可基于接收到的来用户发起的主密钥更新指令,来更新所述主密钥,或者,按周期等方式,自动更新所述主密钥。

在具体实施例中,更新装置还可将更新后的主密钥下发给ecu设备2,下发的过程可按照以上t_box设备1与ecu设备2之间指令的下发过程进行完成;如果更新成功,则删除原有主密钥,之后利用新的主密钥进行通信;如果失败,则不更新主密钥,通知用户失败。

在一个实施例中(参考图1),其中,t_box设备1还包括用于向所述ecu设备2发送第一辅助信息和第二辅助信息的装置(以下简称“第五发送装置”,未示出);ecu设备2还包括:用于接收所述t_box设备1发送的第一辅助信息和第二辅助信息的装置(以下简称“第五接收装置”,未示出);用于根据所述第一辅助信息和所述第二辅助信息,检测是否满足数据完整性的第一触发条件的装置(以下简称“第一检测装置”,未示出);其中,第二发送装置22用于:

-若满足该第一触发条件,根据接收到所述第一辅助信息和所述第二辅助信息的时间信息,进行时间戳验证;

-若验证通过,根据所述第一信息、所述主密钥的哈希值,以及所述ecu设备2生成的第二随机数,生成第二信息,并将所述第二信息发送至所述t_box设备1。

具体地,t_box设备1的第五发送装置向所述ecu设备2发送第一辅助信息和第二辅助信息。例如,第五发送装置将t_box设备1的身份标识信息(t_box_id)、要通信的ecu设备2的身份标识信息(ecu-i)、当前t_box设备1的系统时间(t_box_1)和第一发送装置11生成的第一信息n_1通过数据直接拼接来得到第一辅助信息如m_1:|t_box_id|ecu-i|t_box_1|n_1|,然后,使用主密钥a对第一辅助信息m_1进行摘要计算,得到第二辅助信息,如m_2;然后,第五发送装置将m_1和m_2发送给ecu设备2。

相应地,ecu设备2的第五接收装置接收所述t_box设备1发送的第一辅助信息和第二辅助信息。

然后,第一检测装置根据所述第一辅助信息和所述第二辅助信息,检测是否满足数据完整性的第一触发条件,如使用主密钥a对m_1进行摘要计算,将计算结果与m_2进行比较,若相同,则说明满足所述第一触发条件,否则,不满足所述第一触发条件。

接着,若满足该第一触发条件,第二发送装置22首先根据接收到所述第一辅助信息和所述第二辅助信息的时间信息,进行时间戳验证;若验证通过,第二发送装置22根据所述第一信息、所述主密钥的哈希值,以及所述ecu设备2生成的第二随机数,生成第二信息,并将所述第二信息发送至所述t_box设备1。

例如,假设第一检测装置检测满足所述第一触发条件,则第二发送装置22首先根据接收到所述第一辅助信息和所述第二辅助信息的时间信息,进行时间戳验证,例如,假设第五接收装置接收所述t_box设备1发送的第一辅助信息和第二辅助信息的时间信息为t_ecu_1,则第二发送装置22根据该时间信息,将在该时间点接收到的第一辅助信息和第二辅助信息发送至t_box设备1,以由t_box设备1确认是否正确,若t_box设备1返回正确的确认结果,则说明验证通过,如果t_box设备1返回错误的确认结果,则说明验证不通过,也即说明此时受到了重放攻击威胁,ecu设备2可丢弃该数据包,不进行处理;只有验证通过时,第二发送装置22才生成所述第二信息,并将所述第二信息发送至所述t_box设备1。

在此,本发明通过在ecu设备2端增加数据完整性检测和时间戳验证环节,进一步提高了t_box设备1与ecu设备2之间通信的安全性,也有利于发现攻击和威胁。

在另一个实施例中(参考图1),其中,ecu设备2还包括用于向所述t_box设备1发送第三辅助信息和第四辅助信息的装置(以下简称“第六发送装置”,未示出);t_box设备1还包括:用于接收所述ecu设备所发送的第三辅助信息和第四辅助信息的装置(以下简称“第六接收装置”,未示出);用于根据所述第三辅助信息和所述第四辅助信息,检测是否满足数据完整性的第二触发条件的装置(以下简称“第二检测装置”,未示出);其中,第三发送装置13用于:

-若满足该第二触发条件,根据接收到所述第三辅助信息和所述第四辅助信息的时间信息,进行时间戳验证;

-若验证通过,根据所述第二信息生成第三信息,并将所述第三信息发送至所述ecu设备2。

具体地,ecu设备2的第六发送装置向所述t_box设备1发送第三辅助信息和第四辅助信息。例如,第六发送装置将t_box设备1的身份标识信息(t_box_id)、ecu设备2的身份标识信息(ecu-i)、当前ecu设备2的系统时间(t_ecu_2)和第二发送装置22生成的第二信息n_2进行数据直接拼接来得到第三辅助信息如m_3:|t_box_id|ecu-i|t_ecu_2|n_2|,然后,使用主密钥a对第三辅助信息m_3进行摘要计算,得到第四辅助信息,如m_4;然后,第六发送装置将m_3和m_4发送给t_box设备1。

相应地,t_box设备1的第六接收装置接收所述ecu设备2所发送的第三辅助信息和第四辅助信息。

然后,第二检测装置根据所述第三辅助信息和所述第四辅助信息,检测是否满足数据完整性的第二触发条件,如使用主密钥a对m_3进行摘要计算,将计算结果与m_4进行比较,若相同,则说明满足所述第二触发条件,否则,不满足所述第二触发条件。

若满足该第二触发条件,第三发送装置13首先根据接收到所述第三辅助信息和所述第四辅助信息的时间信息,进行时间戳验证;若验证通过,根据所述第二信息生成第三信息,并将所述第三信息发送至所述ecu设备2。

例如,假设第二检测装置检测满足所述第二触发条件,第三发送装置13首先根据接收到所述第三辅助信息和所述第四辅助信息的时间信息,进行时间戳验证,假设第六接收装置接收ecu设备2发送的第三辅助信息和第四辅助信息的时间信息为t_box_2,则第三发送装置13根据该时间信息,将在该时间点接收到的第三辅助信息和第四辅助信息发送至ecu设备2,以由ecu设备2确认是否正确,若ecu设备2返回正确的确认结果,则说明验证通过,如果ecu设备2返回错误的确认结果,则说明验证不通过,也即说明此时受到了重放攻击威胁,t_box设备1可丢弃该数据包,不进行处理;只有验证通过时,第三发送装置13才生成所述第三信息,并将所述第三信息发送至ecu设备2。

在此,本发明在t_box设备1端通过增加数据完整性检测和时间戳验证环节,更进一步提高了t_box设备1与ecu设备2之间通信的安全性,也有利于发现攻击和威胁。

在还一个实施例中(参考图1),其中,t_box设备1的第四发送装置15还用于向所述ecu设备2发送第五辅助信息和第六辅助信息;ecu设备2还包括:用于接收所述t_box设备1发送的第五辅助信息和第六辅助信息的装置(以下简称“第七接收装置”,未示出);用于根据接收到所述第五辅助信息和所述第六辅助信息的时间信息,进行时间戳验证的装置(以下简称“第一验证装置”,未示出);

其中,第二密钥装置25用于:

若验证通过,响应于接收所述t_box设备所发送的所述指令,根据所述第三信息和所述第二随机数,以及所述t_box设备的身份标识信息与所述ecu设备的身份标识,生成第二密钥。

具体地,t_box设备1的第四发送装置15还用于向所述ecu设备2发送第五辅助信息和第六辅助信息。例如,第四发送装置15将加密后的指令(key_1_instruction-1)、ecu设备2的身份标识信息(ecu-i)、第三随机数n_3以及当前t_box设备1的系统时间(t_box_3)进行数据拼接得到第五辅助信息m_5:|t_box_id||ecu-i|t_box_3|n_3|key_1_instruction-1|;然后,使用第一密钥key_1对m_5进行摘要计算得到m_6,并将m_5和m_6发送给ecu设备2。

相应地,ecu设备2的第七接收装置接收所述t_box设备1发送的第五辅助信息和第六辅助信息。

接着,第一验证装置根据接收到所述第五辅助信息和所述第六辅助信息的时间信息,进行时间戳验证。例如,假设第七接收装置接收到所述t_box设备1发送的第五辅助信息和第六辅助信息的时间信息为t_ecu_3,则第一验证装置根据接收到所述第五辅助信息和所述第六辅助信息的时间信息,进行时间戳验证,将在该时间点接收到的第五辅助信息和第六辅助信息发送至t_box设备1,以由t_box设备1确认是否正确,若t_box设备1返回正确的确认结果,则说明验证通过,如果t_box设备1返回错误的确认结果,则说明验证不通过,也即说明此时受到了重放攻击威胁,ecu设备2可丢弃该数据包,不进行处理。

若验证通过,第二密钥装置25响应于接收所述t_box设备所发送的所述指令,根据所述第三信息和所述第二随机数,以及所述t_box设备的身份标识信息与所述ecu设备的身份标识,生成第二密钥。

在此,本发明通过在ecu设备2端继续增加时间戳验证环节,进一步提高了t_box设备1与ecu设备2之间通信的安全性,也有利于发现攻击和威胁。

在又一个实施例中(参考图1),其中,所述ecu设备2获得所述指令之后,该ecu设备2还包括:用于检测是否满足删除所述第二密钥及所述第二随机数的第四触发条件的装置(以下简称“第三检测装置”,未示出);若不满足该第四触发条件,用于根据所述第二密钥将返回数据进行加密,以将经加密的所述返回数据发送至所述t_box设备1的装置(以下简称“第八发送装置”,未示出)。t_box设备1还包括:用于接收所述ecu设备2发送的经加密的返回数据的装置(以下简称“第八接收装置”,未示出),其中,所述返回数据经第二密钥加密;用于根据所述第一密钥对接收到的经加密的所述返回数据进行解密,以获得所述返回数据的装置(以下简称“第二解密装置”,未示出)。

具体地,ecu设备2获得所述指令之后,开始进行相应动作执行,如果不需要数据返回至t_box设备1,或者,在执行完指令后,在一段时间之内没有指令下发,则第三检测装置可判断满足所述第四触发条件,key_2和第二随机数nounce_2被删除。

若不满足该第四触发条件,第八发送装置根据所述第二密钥将返回数据进行加密,以将经加密的所述返回数据发送至所述t_box设备。例如,若需要数据返回至t_box设备1,则第八发送装置利用key_2将返回数据进行加密,以将经加密的所述返回数据发送至t_box设备。

相应地,t_box设备1的第八接收装置接收所述ecu设备2发送的经加密的返回数据。

第二解密装置根据第一密钥key_1对接收到的经加密的所述返回数据进行解密,以获得所述返回数据。

优选地,所述t_box设备1获得所述返回数据之后,若没有指令继续发送给所述ecu设备2,该t_box设备1还包括将所述第一密钥、所述第一随机数和所述第三随机数删除的装置(以下简称“删除装置”,未示出)。

例如,t_box设备1获得所述返回数据之后,若没有指令继续发送给所述ecu设备2,删除装置将第一密钥key_1、第一随机数nounce_1和第三随机数nounce_3删除。

优选地,第八发送装置还用于向所述t_box设备1发送第七辅助信息和第八辅助信息;其中,t_box设备1的第八接收装置还用于接收所述ecu设备2发送的第七辅助信息和第八辅助信息,其中,第二解密装置用于:

-根据接收到所述第七辅助信息和所述第八辅助信息的时间信息,进行时间戳验证;

-若验证通过,根据所述第一密钥、所述第七辅助信息和所述第八辅助信息,检测是否满足数据完整性的第五触发条件;

-若满足该第五触发条件,根据所述第一密钥对接收到的经加密的所述返回数据进行解密,以获得所述返回数据。

具体地,ecu设备2获得所述指令之后,若不满足所述第四触发条件,如需要数据返回至t_box设备1,第八发送装置首先将经加密后的返回数据、ecu设备2的身份标识信息(ecu-i)和ecu设备2的当前系统时刻(t_ecu_4)直接数据拼接得到第七辅助信息m_7:,并利用第二密钥key_2对m_7进行摘要计算得到第八辅助信息m_8,然后将m_7和m_8发送给t_box设备1。

相应地,t_box设备1的第八接收装置还用于接收所述ecu设备2发送的第七辅助信息和第八辅助信息。

然后,t_box设备1的第二解密装置首先根据接收到所述第七辅助信息和所述第八辅助信息的时间信息,进行时间戳验证,在此,时间戳验证方式与前述时间戳验证方式相同或近似,为简明起见,故在此不再赘述;若验证通过,第二解密装置再根据所述第一密钥、所述第七辅助信息和所述第八辅助信息,检测是否满足数据完整性的第五触发条件,如使用第一密钥key_1对m_7进行摘要计算,将计算结果与m_8进行比较,若相同,则说明满足该第五触发条件,否则,不满足该第五触发条件;若满足该第五触发条件,第二解密装置根据第一密钥key_1对接收到的经加密的所述返回数据进行解密,以获得所述返回数据。

图2示出根据本发明另一个方面的一种车联网系统中t_box设备与ecu设备进行安全通信的方法流程图。

其中,该方法包括步骤s1、步骤s2、步骤s3、步骤s4、步骤s5、步骤s6和步骤s7。

具体地,在步骤s1中,t_box设备1向对应的ecu设备2发送第一信息,其中,该第一信息是由所述t_box设备1生成的第一随机数与所述车联网系统的主密钥的哈希值进行异或得到;相应地,ecu设备2接收对应t_box设备1发送的第一信息其中,该第一信息是由所述t_box设备1生成的第一随机数与所述车联网系统的主密钥的哈希值进行异或得到;在步骤s2中,ecu设备2根据所述第一信息、所述主密钥的哈希值,以及所述ecu设备2生成的第二随机数,生成第二信息,并将所述第二信息发送至所述t_box设备1;相应地,t_box设备1接收所述ecu设备2发送的第二信息,其中,所述第二信息由所述第一信息、所述主密钥的哈希值,以及所述ecu设备2生成的第二随机数生成;在步骤s3中,t_box设备1根据所述第二信息、所述第一随机数和由所述t_box设备1生成的第三随机数,生成第三信息,并将所述第三信息发送至所述ecu设备2;相应地,接收所述t_box设备1发送的第三信息;在步骤s4中,t_box设备1根据所述第二信息和所述第三随机数,以及所述t_box设备1的身份标识信息与所述ecu设备2的身份标识,生成第一密钥;在步骤s5中,t_box设备1基于所述第一密钥对待下发指令进行加密,以将经加密的所述指令发送至所述ecu设备2;相应地,ecu设备2接收所述t_box设备1发送的经加密的指令,其中,所述指令经第一密钥加密,所述第一密钥的生成是基于所述第二信息、所述t_box设备1生成的第三随机数,以及所述t_box设备1的身份标识信息与所述ecu设备2的身份标识;在步骤s6中,ecu设备2响应于接收经加密的所述指令,根据所述第三信息和所述第二随机数,以及所述t_box设备1的身份标识信息与所述ecu设备2的身份标识,生成第二密钥;在步骤s7中,ecu设备2根据所述第二密钥对经加密的所述指令进行解密,以获得所述指令。

在此,t_box设备1是指车辆上主要用于和后台系统/手机app通信,实现手机app的车辆信息显示与控制的车载信息终端,如实现对车辆的运行数据、位置数据进行管理,提供包含诸如实时监控(地图、图表)、数据回放、轨迹回放、远程诊断等功能,并能够用来交换车内ecu设备的数据信息和车外的数据信息。

在此,ecu设备2是指车辆的专用微机控制器,其通常由微处理器(cpu)、存储器(rom、、ram)、输入/输出接口(i/o)、模数转换器(a/d)以及整形、驱动等大规模集成电路组成,可被称为“行车电脑”、“车载电脑”等。

在此,车辆出厂前可对其t_box设备1和ecu设备2进行预先分配身份标识信息,包括1个t_box设备1身份标识id(如t_box_id)、若干ecu设备2的身份标识id(如ecu-i),以及t_box设备1和ecu设备2之间网络通信的主密钥。在具体实施例中,t_box设备1和ecu设备2可采用can总线进行通信。在此,所述主密钥是指t_box设备1和ecu设备2之间共享的密钥,可作为生成t_box设备1和ecu设备2之间的会话密钥的初始辅助密钥,并且该主密钥能够在一定周期内得到同步更新。

本领域技术人员应能理解上述t_box设备1和ecu设备2仅为举例,其他现有的或今后可能出现的t_box设备或ecu设备如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。在此,t_box设备1和ecu设备2均包括一种能够按照事先设定或存储的指令,自动进行数值计算和信息处理的电子设备,其硬件包括但不限于微处理器、专用集成电路(asic)、可编程门阵列(fpga)、数字处理器(dsp)、嵌入式设备等。

具体地,在步骤s1中,t_box设备1向对应的ecu设备2发送第一信息,其中,该第一信息是由所述t_box设备1生成的第一随机数与所述车联网系统的主密钥的哈希值进行异或得到。

例如,某出厂的车辆,其t_box设备1和ecu设备2预先被分配了身份标识信息,如t_box设备1身份标识id为t_box_id、若干ecu设备2的身份标识为(ecu-i),以及t_box设备1和ecu设备2之间网络通信的主密钥a,则t_box设备1与ecu设备2进行通信时,在步骤s1中,t_box设备1首先生成第一随机数如nounce_1,然后将该随机数与主密钥a的哈希值进行异或,即可得到第一信息,也即第一信息如用n_1表示,则有n_1=nounce_1⊕hash(a);接着,在步骤s1中,t_box设备1通过can总线,将该第一信息发送至对应的ecu设备2。

相应地,ecu设备2通过can总线,接收对应t_box设备1发送的第一信息,其中,该第一信息是由所述t_box设备1生成的第一随机数与所述车联网系统的主密钥的哈希值进行异或得到。例如,接上例,在步骤s1中,ecu设备2接收到的第一信息n_1。

在步骤s2中,ecu设备2根据所述第一信息、所述主密钥的哈希值,以及所述ecu设备2生成的第二随机数,生成第二信息,并将所述第二信息发送至所述t_box设备1。

例如,接上例,在步骤s2中,ecu设备2首先生成第二随机数如nounce_2;然后,将第一信息n_1与主密钥的哈希值hash(a)进行异或,得到nounce_1_cal,并将该异或值与第二随机数nounce_2进行异或,即得到第二信息,也即第二信息如用n_2表示,则有n_2=nounce_2⊕nounce_1_cal=nounce_2⊕[n_1⊕hash(a)];接着,在步骤s2中,ecu设备2通过can总线,将该第二信息发送至t_box设备1。

相应地,t_box设备1接收所述ecu设备2发送的第二信息,其中,所述第二信息由所述第一信息、所述主密钥的哈希值,以及所述ecu设备2生成的第二随机数生成。例如,在步骤s2中,t_box设备1通过can总线,接收到ecu设备2发送的第二信息n_2。

在步骤s3中,t_box设备1根据所述第二信息、所述第一随机数和由所述t_box设备1生成的第三随机数,生成第三信息,并将所述第三信息发送至所述ecu设备2。

例如,在步骤s3中,t_box设备1计算第二信息n_2和第一随机数nounce_1的异或值,得到nounce_2_cal,并将nounce_2_cal与生成的第三随机数nounce_3进行异或得到第三信息n_3,也即,n_3=nounce_3⊕nounce_2_cal=nounce_3⊕[n_2⊕nounce_1];然后,在步骤s3中,t_box设备1通过can总线,将第三信息发送至ecu设备2。

相应地,ecu设备2通过can总线,接收到所述t_box设备1发送的第三信息n_3。

在步骤s4中,t_box设备1根据所述第二信息和所述第三随机数,以及所述t_box设备1的身份标识信息与所述ecu设备2的身份标识,生成第一密钥。例如,在步骤s4中,t_box设备1首先通过数据拼接操作,将t_box设备1的身份标识信息t_box_id、正在与t_box设备1进行通信的ecu设备2的身份标识(ecu-i)、第三随机数nounce_3、随机数nounce_2_cal进行数据拼接,得到:|t_box_id|ecu-i|nounce_3|nounce_2_cal|;然后,利用哈希算法md5对该拼接结果进行哈希运算,即可得到第一密钥key_1。

在步骤s5中,t_box设备1基于所述第一密钥对待下发指令进行加密,以将经加密的所述指令发送至所述ecu设备2。例如,假设待下发指令为instruction-1,则在步骤s5中,t_box设备1首先利用key_1对该指令进行加密,得到经加密的指令key_1_instruction-1;然后,通过can总线,将经加密的指令key_1_instruction-1发送给ecu设备2。

相应地,ecu设备2通过can总线,接收所述t_box设备1发送的经加密的指令,其中,所述指令经第一密钥加密,所述第一密钥的生成是基于所述第二信息、所述t_box设备1生成的第三随机数,以及所述t_box设备1的身份标识信息与所述ecu设备2的身份标识。

在步骤s6中,ecu设备2响应于接收经加密的所述指令,根据所述第三信息和所述第二随机数,以及所述t_box设备1的身份标识信息与所述ecu设备2的身份标识,生成第二密钥。例如,在步骤s5中,ecu设备2接收到来自t_box设备1的经加密的指令key_1_instruction-1之后,在步骤s6中,ecu设备2首先通过数据拼接操作,将正在与ecu设备2进行通信的t_box设备1的身份标识信息t_box_id、ecu设备2的身份标识(ecu-i)、第三信息和第二随机数的异或值nounce_3_cal=n_3⊕nounce_2、第二随机数nounce_2进行数据拼接,得到:|t_box_id|ecu-i|nounce_3_cal|nounce_2|;然后,利用哈希算法md5对该拼接结果进行哈希运算,即可得到第一密钥key_2。

在步骤s7中,ecu设备2根据所述第二密钥对经加密的所述指令进行解密,以获得所述指令。例如,在步骤s7中,ecu设备2利用key_2对经加密的指令key_1_instruction-1进行解密,以获得相应指令。

在此,本发明中的t-box设备能够使用协商的安全会话密钥与ecu进行轻量级安全通信。具体的,密钥协商参数使用t-box与ecu自身固定参数、自身生成的随机数,通过三次交互计算获得最终统一的协商参数,接着使用安全哈希函数作用于最终的协商参数,在这一过程中完成了身份的双向认证和会话密钥的生成,最后利用该会话密钥完成后续的数据通信过程。

在此,本发明中的t_box设备能够使用协商的安全会话密钥与ecu设备进行轻量级安全通信,解决了现在车联网发展中用户控制命令在“最后一公里”被窃听、截取、伪造和重放的威胁,也实现了t_box设备与ecu设备之间的双向认证,并进一步降低了任意一方设备被恶意俘获而发送非合法的数据,比如非法ecu节点发送不合理的车辆状态信息给用户,被俘获的t_box设备被恶意替换,用来执行黑客的指令到车载网络中去等风险。

t_box设备1和ecu设备2的各个步骤之间是持续不断工作的。具体地,在步骤s1中,t_box设备1持续向对应的ecu设备2发送第一信息,其中,该第一信息是由所述t_box设备1生成的第一随机数与所述车联网系统的主密钥的哈希值进行异或得到;相应地,ecu设备2持续接收对应t_box设备1发送的第一信息,其中,该第一信息是由所述t_box设备1生成的第一随机数与所述车联网系统的主密钥的哈希值进行异或得到;在步骤s2中,ecu设备2持续根据所述第一信息、所述主密钥的哈希值,以及所述ecu设备2生成的第二随机数,生成第二信息,并将所述第二信息发送至所述t_box设备1;相应地,t_box设备1的持续接收所述ecu设备2发送的第二信息,其中,所述第二信息由所述第一信息、所述主密钥的哈希值,以及所述ecu设备2生成的第二随机数生成;在步骤s3中,t_box设备1持续根据所述第二信息、所述第一随机数和由所述t_box设备1生成的第三随机数,生成第三信息,并将所述第三信息发送至所述ecu设备2;相应地,ecu设备2持续接收所述t_box设备1发送的第三信息;在步骤s4中,t_box设备1持续根据所述第二信息和所述第三随机数,以及所述t_box设备1的身份标识信息与所述ecu设备2的身份标识,生成第一密钥;在步骤s5中,t_box设备1持续基于所述第一密钥对待下发指令进行加密,以将经加密的所述指令发送至所述ecu设备2;相应地,ecu设备2持续接收所述t_box设备1发送的经加密的指令,其中,所述指令经第一密钥加密,所述第一密钥的生成是基于所述第二信息、所述t_box设备1生成的第三随机数,以及所述t_box设备1的身份标识信息与所述ecu设备2的身份标识;在步骤s6中,ecu设备2持续响应于接收经加密的所述指令,根据所述第三信息和所述第二随机数,以及所述t_box设备1的身份标识信息与所述ecu设备2的身份标识,生成第二密钥;在步骤s7中,ecu设备2持续根据所述第二密钥对经加密的所述指令进行解密,以获得所述指令。在此,本领域技术人员应当理解,所述“持续”是指t_box设备1和ecu设备2的各步骤之间分别不断地进行第一信息的生成与发送、第二信息的生成与发送、第三信息的生成与发送、第一密钥的生成、经第一密钥加密的指令的发送、第二密钥的生成、对指令的解密,直至t_box设备1在较长时间内停止生成第一信息。

在一个实施例中,该方法还包括步骤s8(未示出)。具体地,在步骤s8中,t_box设备1更新所述主密钥。

例如,在步骤s8中,t_box设备1可基于接收到的来用户发起的主密钥更新指令,来更新所述主密钥,或者,按周期等方式,自动更新所述主密钥。

在具体实施例中,在步骤s8中,t_box设备1还可将更新后的主密钥下发给ecu设备2,下发的过程可按照以上t_box设备1与ecu设备2之间指令的下发过程进行完成;如果更新成功,则删除原有主密钥,之后利用新的主密钥进行通信;如果失败,则不更新主密钥,通知用户失败。

在一个实施例中(参考图2),其中,该方法还包括步骤s9(未示出)和步骤s10(未示出)。具体地,在步骤s9中,t_box设备1向所述ecu设备2发送第一辅助信息和第二辅助信息;相应地,ecu设备2接收所述t_box设备1发送的第一辅助信息和第二辅助信息;在步骤s10中,ecu设备2根据所述第一辅助信息和所述第二辅助信息,检测是否满足数据完整性的第一触发条件;其中,在步骤s2中,ecu设备2用于:

-若满足该第一触发条件,根据接收到所述第一辅助信息和所述第二辅助信息的时间信息,进行时间戳验证;

-若验证通过,根据所述第一信息、所述主密钥的哈希值,以及所述ecu设备2生成的第二随机数,生成第二信息,并将所述第二信息发送至所述t_box设备1。

具体地,在步骤s9中,t_box设备1向所述ecu设备2发送第一辅助信息和第二辅助信息。例如,在步骤s9中,t_box设备1将t_box设备1的身份标识信息(t_box_id)、要通信的ecu设备2的身份标识信息(ecu-i)、当前t_box设备1的系统时间(t_box_1)和在步骤s1中t_box设备1生成的第一信息n_1通过数据直接拼接来得到第一辅助信息如m_1:|t_box_id|ecu-i|t_box_1|n_1|,然后,使用主密钥a对第一辅助信息m_1进行摘要计算,得到第二辅助信息,如m_2;然后,第五发送装置将m_1和m_2发送给ecu设备2。

相应地,ecu设备2接收所述t_box设备1发送的第一辅助信息和第二辅助信息。

然后,在步骤s10中,ecu设备2根据所述第一辅助信息和所述第二辅助信息,检测是否满足数据完整性的第一触发条件,如使用主密钥a对m_1进行摘要计算,将计算结果与m_2进行比较,若相同,则说明满足所述第一触发条件,否则,不满足所述第一触发条件。

接着,若满足该第一触发条件,在步骤s2中,ecu设备2首先根据接收到所述第一辅助信息和所述第二辅助信息的时间信息,进行时间戳验证;若验证通过,在步骤s2中,ecu设备2根据所述第一信息、所述主密钥的哈希值,以及所述ecu设备2生成的第二随机数,生成第二信息,并将所述第二信息发送至所述t_box设备1。

例如,假设在步骤s10中,ecu设备2检测满足所述第一触发条件,则在步骤s2中,ecu设备2首先根据接收到所述第一辅助信息和所述第二辅助信息的时间信息,进行时间戳验证,例如,假设在步骤s9中,ecu设备2接收所述t_box设备1发送的第一辅助信息和第二辅助信息的时间信息为t_ecu_1,则在步骤s2中,ecu设备2根据该时间信息,将在该时间点接收到的第一辅助信息和第二辅助信息发送至t_box设备1,以由t_box设备1确认是否正确,若t_box设备1返回正确的确认结果,则说明验证通过,如果t_box设备1返回错误的确认结果,则说明验证不通过,也即说明此时受到了重放攻击威胁,ecu设备2可丢弃该数据包,不进行处理;只有验证通过时,在步骤s2中,ecu设备2才生成所述第二信息,并将所述第二信息发送至所述t_box设备1。

在此,本发明通过在ecu设备2端增加数据完整性检测和时间戳验证环节,进一步提高了t_box设备1与ecu设备2之间通信的安全性,也有利于发现攻击和威胁。

在另一个实施例中(参考图2),其中,该方法还包括步骤s11(未示出)和步骤s12(未示出)。具体地,在步骤s11中,ecu设备2向所述t_box设备1发送第三辅助信息和第四辅助信息;相应地,t_box设备1接收所述ecu设备所发送的第三辅助信息和第四辅助信息;在步骤s12中,t_box设备1根据所述第三辅助信息和所述第四辅助信息,检测是否满足数据完整性的第二触发条件;其中,在步骤s3中,t_box设备1用于:

-若满足该第二触发条件,根据接收到所述第三辅助信息和所述第四辅助信息的时间信息,进行时间戳验证;

-若验证通过,根据所述第二信息生成第三信息,并将所述第三信息发送至所述ecu设备2。

具体地,在步骤s11中,ecu设备2向所述t_box设备1发送第三辅助信息和第四辅助信息。例如,在步骤s11中,ecu设备2将t_box设备1的身份标识信息(t_box_id)、ecu设备2的身份标识信息(ecu-i)、当前ecu设备2的系统时间(t_ecu_2)和其在步骤s2中生成的第二信息n_2进行数据直接拼接来得到第三辅助信息如m_3:|t_box_id|ecu-i|t_ecu_2|n_2|,然后,使用主密钥a对第三辅助信息m_3进行摘要计算,得到第四辅助信息,如m_4;然后,ecu设备2将m_3和m_4发送给t_box设备1。

相应地,t_box设备1接收所述ecu设备2所发送的第三辅助信息和第四辅助信息。

然后,在步骤s12中,t_box设备1根据所述第三辅助信息和所述第四辅助信息,检测是否满足数据完整性的第二触发条件,如使用主密钥a对m_3进行摘要计算,将计算结果与m_4进行比较,若相同,则说明满足所述第二触发条件,否则,不满足所述第二触发条件。

若满足该第二触发条件,在步骤s3中,t_box设备1首先根据接收到所述第三辅助信息和所述第四辅助信息的时间信息,进行时间戳验证;若验证通过,根据所述第二信息生成第三信息,并将所述第三信息发送至所述ecu设备2。

例如,假设在步骤s12中,t_box设备1检测满足所述第二触发条件,在步骤s3中,t_box设备1首先根据接收到所述第三辅助信息和所述第四辅助信息的时间信息,进行时间戳验证,假设在步骤s12中,t_box设备1接收ecu设备2发送的第三辅助信息和第四辅助信息的时间信息为t_box_2,则在步骤s3中,t_box设备1根据该时间信息,将在该时间点接收到的第三辅助信息和第四辅助信息发送至ecu设备2,以由ecu设备2确认是否正确,若ecu设备2返回正确的确认结果,则说明验证通过,如果ecu设备2返回错误的确认结果,则说明验证不通过,也即说明此时受到了重放攻击威胁,t_box设备1可丢弃该数据包,不进行处理;只有验证通过时,在步骤s3中,t_box设备1才生成所述第三信息,并将所述第三信息发送至ecu设备2。

在此,本发明在t_box设备1端通过增加数据完整性检测和时间戳验证环节,更进一步提高了t_box设备1与ecu设备2之间通信的安全性,也有利于发现攻击和威胁。

在还一个实施例中(参考图2),其中,该方法还包括步骤13(未示出),其在,在步骤s5中,t_box设备1还向所述ecu设备2发送第五辅助信息和第六辅助信息;相应地,ecu设备2还接收所述t_box设备1发送的第五辅助信息和第六辅助信息;在步骤s13中,ecu设备2根据接收到所述第五辅助信息和所述第六辅助信息的时间信息,进行时间戳验证;

其中,在步骤s6中,ecu设备2:

若验证通过,响应于接收所述t_box设备所发送的所述指令,根据所述第三信息和所述第二随机数,以及所述t_box设备的身份标识信息与所述ecu设备的身份标识,生成第二密钥。

具体地,在步骤s5中,t_box设备1还向所述ecu设备2发送第五辅助信息和第六辅助信息。例如,在步骤s5中,t_box设备1将加密后的指令(key_1_instruction-1)、ecu设备2的身份标识信息(ecu-i)、第三随机数n_3以及当前t_box设备1的系统时间(t_box_3)进行数据拼接得到第五辅助信息m_5:|t_box_id||ecu-i|t_box_3|n_3|key_1_instruction-1|;然后,使用第一密钥key_1对m_5进行摘要计算得到m_6,并将m_5和m_6发送给ecu设备2。

相应地,ecu设备2接收所述t_box设备1发送的第五辅助信息和第六辅助信息。

接着,在步骤s13中,ecu设备2根据接收到所述第五辅助信息和所述第六辅助信息的时间信息,进行时间戳验证。例如,假设在步骤s5中,ecu设备2接收到所述t_box设备1发送的第五辅助信息和第六辅助信息的时间信息为t_ecu_3,则在步骤s13中,ecu设备2根据接收到所述第五辅助信息和所述第六辅助信息的时间信息,进行时间戳验证,将在该时间点接收到的第五辅助信息和第六辅助信息发送至t_box设备1,以由t_box设备1确认是否正确,若t_box设备1返回正确的确认结果,则说明验证通过,如果t_box设备1返回错误的确认结果,则说明验证不通过,也即说明此时受到了重放攻击威胁,ecu设备2可丢弃该数据包,不进行处理。

若验证通过,在步骤s6中,ecu设备2响应于接收所述t_box设备所发送的所述指令,根据所述第三信息和所述第二随机数,以及所述t_box设备的身份标识信息与所述ecu设备的身份标识,生成第二密钥。

在此,本发明通过在ecu设备2端继续增加时间戳验证环节,进一步提高了t_box设备1与ecu设备2之间通信的安全性,也有利于发现攻击和威胁。

在又一个实施例中(参考图2),其中,所述ecu设备2获得所述指令之后,该方法还包括步骤s14(未示出)、步骤s15(未示出)和步骤s16(未示出)。具体地,在步骤s14中,ecu设备2检测是否满足删除所述第二密钥及所述第二随机数的第四触发条件;若不满足该第四触发条件,在步骤s15中,ecu设备2根据所述第二密钥将返回数据进行加密,以将经加密的所述返回数据发送至所述t_box设备1;相应地,t_box设备1接收所述ecu设备2发送的经加密的返回数据,其中,所述返回数据经第二密钥加密;在步骤s16中,t_box设备1根据所述第一密钥对接收到的经加密的所述返回数据进行解密,以获得所述返回数据。

具体地,ecu设备2获得所述指令之后,开始进行相应动作执行,如果不需要数据返回至t_box设备1,或者,在执行完指令后,在一段时间之内没有指令下发,则在步骤s14中,ecu设备2可判断满足所述第四触发条件,key_2和第二随机数nounce_2被删除。

若不满足该第四触发条件,在步骤s15中,ecu设备2根据所述第二密钥将返回数据进行加密,以将经加密的所述返回数据发送至所述t_box设备。例如,若需要数据返回至t_box设备1,则在步骤s15中,ecu设备2利用key_2将返回数据进行加密,以将经加密的所述返回数据发送至t_box设备。

相应地,t_box设备1接收所述ecu设备2发送的经加密的返回数据。

在步骤s16中,t_box设备1根据第一密钥key_1对接收到的经加密的所述返回数据进行解密,以获得所述返回数据。

优选地,所述t_box设备1获得所述返回数据之后,若没有指令继续发送给所述ecu设备2,该方法还包括步骤s17(未示出)。具体地,在步骤s17中,t_box设备1将所述第一密钥、所述第一随机数和所述第三随机数删除。

例如,t_box设备1获得所述返回数据之后,若没有指令继续发送给所述ecu设备2,在步骤s17中,t_box设备1将第一密钥key_1、第一随机数nounce_1和第三随机数nounce_3删除。

优选地,在步骤s15中,ecu设备2还用于向所述t_box设备1发送第七辅助信息和第八辅助信息;相应地,t_box设备1还接收所述ecu设备2发送的第七辅助信息和第八辅助信息,其中,在步骤s16中,t_box设备1用于:

-根据接收到所述第七辅助信息和所述第八辅助信息的时间信息,进行时间戳验证;

-若验证通过,根据所述第一密钥、所述第七辅助信息和所述第八辅助信息,检测是否满足数据完整性的第五触发条件;

-若满足该第五触发条件,根据所述第一密钥对接收到的经加密的所述返回数据进行解密,以获得所述返回数据。

具体地,ecu设备2获得所述指令之后,若不满足所述第四触发条件,如需要数据返回至t_box设备1,在步骤s15中,ecu设备2首先将经加密后的返回数据、ecu设备2的身份标识信息(ecu-i)和ecu设备2的当前系统时刻(t_ecu_4)直接数据拼接得到第七辅助信息m_7:,并利用第二密钥key_2对m_7进行摘要计算得到第八辅助信息m_8,然后将m_7和m_8发送给t_box设备1。

相应地,t_box设备1还接收所述ecu设备2发送的第七辅助信息和第八辅助信息。

然后,在步骤s16中,t_box设备1首先根据接收到所述第七辅助信息和所述第八辅助信息的时间信息,进行时间戳验证,在此,时间戳验证方式与前述时间戳验证方式相同或近似,为简明起见,故在此不再赘述;若验证通过,在步骤s16中,t_box设备1再根据所述第一密钥、所述第七辅助信息和所述第八辅助信息,检测是否满足数据完整性的第五触发条件,如使用第一密钥key_1对m_7进行摘要计算,将计算结果与m_8进行比较,若相同,则说明满足该第五触发条件,否则,不满足该第五触发条件;若满足该第五触发条件,在步骤s16中,t_box设备1根据第一密钥key_1对接收到的经加密的所述返回数据进行解密,以获得所述返回数据。

需要注意的是,本发明可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(asic)、通用目的计算机或任何其他类似硬件设备来实现。在一个实施例中,本发明的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本发明的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,ram存储器,磁或光驱动器或软磁盘及类似设备。另外,本发明的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。

另外,本发明的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本发明的方法和/或技术方案。而调用本发明的方法的程序指令,可能被存储在固定的或可移动的记录介质中,和/或通过广播或其他信号承载媒体中的数据流而被传输,和/或被存储在根据所述程序指令运行的计算机设备的工作存储器中。在此,根据本发明的一个实施例包括一个装置,该装置包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该装置运行基于前述根据本发明的多个实施例的方法和/或技术方案。

对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。

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