首页> 中国专利> 公路列车数据认证鉴权方法及车载终端

公路列车数据认证鉴权方法及车载终端

摘要

本发明提供了一种公路列车数据认证鉴权方法及车载终端,涉及公路列车技术领域,方法包括:接收跟车车载终端发送的加入车队请求消息;判断加入车队请求消息中的跟车公钥证书中是否有可信第三方签发信息;若跟车公钥证书中有可信第三方签发信息,向跟车车载终端发送头车公钥证书;将跟车公钥证书中的跟车公钥存储于头车本地数据库中;向跟车车载终端发送控制指令数据包,以使得跟车车载终端根据头车公钥证书中的头车公钥解析控制指令数据包,并进行与控制指令数据包相关的行驶操作;接收跟车车载终端发送的跟车数据包,并根据跟车公钥解析跟车数据包,获取跟车车载终端的行驶操作反馈数据。本发明能够避免头车与跟车的数据被攻击的问题。

著录项

  • 公开/公告号CN104717071A

    专利类型发明专利

  • 公开/公告日2015-06-17

    原文格式PDF

  • 申请/专利权人 深圳先进技术研究院;

    申请/专利号CN201510092223.X

  • 申请日2015-02-28

  • 分类号

  • 代理机构北京三友知识产权代理有限公司;

  • 代理人王涛

  • 地址 518055 广东省深圳市南山区西丽大学城学苑大道1068号

  • 入库时间 2023-12-18 09:33:32

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-01-05

    授权

    授权

  • 2015-07-15

    实质审查的生效 IPC(主分类):H04L9/32 申请日:20150228

    实质审查的生效

  • 2015-06-17

    公开

    公开

说明书

技术领域

本发明涉及公路列车技术领域,尤其涉及一种公路列车数据认证鉴权方法及车载 终端。

背景技术

近年来,公路列车技术逐渐得到了人们的认可。公路列车技术是通过车载自组织 网络(Vehicle Ad-hoc Networks,简称VANET)将一辆辆单独的汽车从形态上连接成 一个车队形式,在网络通信的基础上形成一个独立的自组织网络。一个公路列车车队 中包含一辆头车(HV:Head Vehicle)以及若干辆跟车(FV:Follow Vehicle)。行驶 中,头车通过车载传感器将各项数据采集后经处理发出控制信号,经由VANET到达 各跟车,跟车分析处理控制信号,接受头车的指令完成驾驶操作,从而各车辆形成一 个整体,完成加速减速,转弯刹车,超车避障等行驶动作。公路列车技术通过协同驾 驶,使得整个系统的运动状态协调一致,因此减少了因为车辆之间不同的驾驶行为造 成的交通拥堵情况。同时,通过公路列车系统,可以减少车队中每个车辆的间距,增 大了公路的容量,提高了通行率。

当前,公路列车技术中的头车与跟车进行数据交互时一般采用开放的信道,而且 所交互的数据包一般均未加密,导致控制数据泄露,容易被公路列车车队外的其他数 据攻击。

发明内容

本发明的实施例提供一种公路列车数据认证鉴权方法及车载终端,以解决当前公 路列车技术中的头车与跟车进行数据交互时一般采用开放的信道,而且所交互的数据 包一般均未加密,导致控制数据泄露,容易被公路列车车队外的其他数据攻击的问题。

为达到上述目的,本发明采用如下技术方案:

一种公路列车数据认证鉴权方法,包括:

接收跟车车载终端发送的加入车队请求消息;所述加入车队请求消息包括一跟车 公钥证书;

判断所述跟车公钥证书中是否有可信第三方签发信息;

若所述跟车公钥证书中有所述可信第三方签发信息,向所述跟车车载终端发送头 车公钥证书;

将所述跟车公钥证书中的跟车公钥存储于头车本地数据库中;

向所述跟车车载终端发送控制指令数据包,以使得所述跟车车载终端根据所述头 车公钥证书中的头车公钥解析所述控制指令数据包,并进行与所述控制指令数据包相 关的行驶操作;

接收所述跟车车载终端发送的跟车数据包,并根据所述跟车公钥解析所述跟车数 据包,获取跟车车载终端的行驶操作反馈数据。

进一步的,该公路列车数据认证鉴权方法,还包括:

获取头车本地车辆诊断系统的相关数据;

判断所述相关数据是否发生变化;

若所述相关数据发生变化,获取本地头车车载GPS数据;

根据所述相关数据和所述头车车载GPS数据,生成跟车控制指令,并生成所述 控制指令数据包。

具体的,所述向所述跟车车载终端发送控制指令数据包,包括:

根据一头车私钥对所述控制指令数据包进行加密,并将加密后的控制指令数据包 发送给所述跟车车载终端。

进一步的,所述公路列车数据认证鉴权方法,还包括:

若所述相关数据未发生变化,判断是否收到所述跟车数据包;

所述根据所述跟车公钥解析所述跟车数据包,获取跟车车载终端的行驶操作反馈 数据,包括:

在收到所述跟车数据包后,通过所述跟车公钥对所述跟车数据包进行解密,获取 所述跟车数据包的第一时间戳;

判断所述第一时间戳与当前时间的时间差是否小于等于一预先设置的第一时间 阈值;

若所述第一时间戳与当前时间的时间差小于等于所述第一时间阈值,解析所述跟 车数据包,获取跟车车载终端的行驶操作反馈数据,将所述行驶操作反馈数据反馈到 所述控制指令数据包中的控制指令上,并将所述行驶操作反馈数据存储于所述头车本 地数据库中。

进一步的,所述公路列车数据认证鉴权方法,还包括:

接收跟车车载终端发送的脱离车队请求消息;

根据一头车私钥对所述脱离车队请求消息进行解密;

若解密所述脱离车队请求消息成功,生成一脱队许可消息,并根据所述跟车公钥 证书中的跟车公钥将所述脱队许可消息进行加密;

向所述跟车车载终端发送加密后的所述脱队许可消息;

将头车本地数据库中的所述跟车车载终端对应的跟车公钥删除。

一种公路列车数据认证鉴权方法,包括:

向一头车车载终端发送加入车队请求消息;所述加入车队请求消息包括一跟车公 钥证书;

接收头车车载终端发送的头车公钥证书;

判断所述头车公钥证书中是否有所述可信第三方签发信息;

若所述头车公钥证书中有所述可信第三方签发信息,将所述头车公钥证书中的头 车公钥存储于跟车本地数据库中;

接收头车车载终端发送的控制指令数据包;

根据所述头车公钥解析所述控制指令数据包,并进行与所述控制指令数据包相关 的行驶操作;

生成行驶操作反馈数据,并打包为跟车数据包;

将所述跟车数据包发送到所述头车车载终端。

具体的,在接收头车车载终端发送的控制指令数据包之后,包括:

获取所述控制指令数据包中的目的地址信息,判断所述目的地址信息是否与跟车 车载终端对应;

若所述目的地址信息与跟车车载终端不对应,判断所述跟车车载终端是否为中继 节点;

若所述跟车车载终端是中继节点,将所述控制指令数据包发送给与所述目的地址 信息对应的跟车车载终端;

若所述跟车车载终端不是中继节点,将所述控制指令数据包丢弃。

具体的,所述根据所述头车公钥解析所述控制指令数据包,并进行与所述控制指 令数据包相关的行驶操作,包括:

若所述目的地址信息与跟车车载终端对应,根据所述头车公钥解密所述控制指令 数据包,并判断所述控制指令数据包是否合法;

若所述控制指令数据包不合法,将所述控制指令数据包丢弃;

若所述控制指令数据包合法,获取所述控制指令数据包的第二时间戳;

判断所述第二时间戳与当前时间的时间差是否小于等于一预先设置的第二时间 阈值;

若所述第二时间戳与当前时间的时间差小于等于所述第二时间阈值,解析所述头 车数据包,获取所述控制指令数据包中的控制指令,并控制本车进行行驶操作;

若所述第二时间戳与当前时间的时间差大于所述第二时间阈值,将所述控制指令 数据包丢弃。

具体的,所述生成行驶操作反馈数据,并打包为跟车数据包,包括:

获取本地跟车车辆诊断系统的相关数据;

根据所述本地跟车车辆诊断系统的相关数据,生成行驶操作反馈数据,并打包为 跟车数据包;

通过一跟车私钥将所述跟车数据包进行加密;

所述将所述跟车数据包发送到所述头车车载终端,包括:

将加密后的跟车数据包发送到所述头车车载终端。

进一步的,所述公路列车数据认证鉴权方法,还包括:

生成一脱离车队请求消息,并将所述脱离车队请求消息通过所述头车公钥加密;

向头车车载终端发送加密后的脱离车队请求消息;

接收头车车载终端发送的脱队许可消息;

根据一跟车私钥对所述脱队许可消息进行解密;

若解密所述脱队许可消息成功,将跟车本地数据库中的头车车载终端对应的头车 公钥删除。

一种头车车载终端,包括:

请求消息接收单元,用于接收跟车车载终端发送的加入车队请求消息;所述加入 车队请求消息包括一跟车公钥证书;

跟车公钥证书判断单元,用于判断所述跟车公钥证书中是否有可信第三方签发信 息;

头车公钥证书发送单元,用于在所述跟车公钥证书中有所述可信第三方签发信息 时,向所述跟车车载终端发送头车公钥证书;

跟车公钥存储单元,用于将所述跟车公钥证书中的跟车公钥存储于头车本地数据 库中;

控制指令数据包发送单元,用于向所述跟车车载终端发送控制指令数据包;

跟车数据包接收单元,用于接收所述跟车车载终端发送的跟车数据包,并根据所 述跟车公钥解析所述跟车数据包,获取跟车车载终端的行驶操作反馈数据。

进一步的,该头车车载终端,还包括:

车辆诊断系统数据获取单元,用于获取头车本地车辆诊断系统的相关数据;

相关数据判断单元,用于判断所述相关数据是否发生变化;

头车车载GPS数据获取单元,用于在所述相关数据发生变化时,获取本地头车 车载GPS数据;

跟车控制指令生成单元,用于根据所述相关数据和所述头车车载GPS数据,生 成跟车控制指令,并生成所述控制指令数据包。

另外,所述控制指令数据包发送单元,具体用于:

根据一头车私钥对所述控制指令数据包进行加密,并将加密后的控制指令数据包 发送给所述跟车车载终端。

进一步的,该头车车载终端,还包括:

跟车数据包监测单元,用于在所述相关数据未发生变化时,判断是否收到所述跟 车数据包;

所述跟车数据包接收单元,具体用于:

通过所述跟车公钥对所述跟车数据包进行解密,获取所述跟车数据包的第一时间 戳;

判断所述第一时间戳与当前时间的时间差是否小于等于一预先设置的第一时间 阈值;

在所述第一时间戳与当前时间的时间差小于等于所述第一时间阈值时,解析所述 跟车数据包,获取跟车车载终端的行驶操作反馈数据,将所述行驶操作反馈数据反馈 到所述控制指令数据包中的控制指令上,并将所述行驶操作反馈数据存储于所述头车 本地数据库中。

进一步的,该头车车载终端,还包括:

脱离车队请求消息接收单元,用于接收跟车车载终端发送的脱离车队请求消息;

解密单元,用于根据一头车私钥对所述脱离车队请求消息进行解密;

脱队许可消息生成单元,用于在解密所述脱离车队请求消息成功时,生成一脱队 许可消息,并根据所述跟车公钥证书中的跟车公钥将所述脱队许可消息进行加密;

脱队许可消息发送单元,用于向所述跟车车载终端发送加密后的所述脱队许可消 息;

跟车公钥删除单元,用于将头车本地数据库中的所述跟车车载终端对应的跟车公 钥删除。

一种跟车车载终端,包括:

加入车队请求消息发送单元,用于向一头车车载终端发送加入车队请求消息;所 述加入车队请求消息包括一跟车公钥证书;

头车公钥证书接收单元,用于接收头车车载终端发送的头车公钥证书;

头车公钥证书判断单元,用于判断所述头车公钥证书中是否有所述可信第三方签 发信息;

头车公钥存储单元,用于在所述头车公钥证书中有所述可信第三方签发信息时, 将所述头车公钥证书中的头车公钥存储于跟车本地数据库中;

控制指令数据包接收单元,用于接收头车车载终端发送的控制指令数据包;

行驶操作执行单元,用于根据所述头车公钥解析所述控制指令数据包,并进行与 所述控制指令数据包相关的行驶操作;

跟车数据包生成单元,用于生成行驶操作反馈数据,并打包为跟车数据包;

跟车数据包发送单元,用于将所述跟车数据包发送到所述头车车载终端。

此外,该跟车车载终端,还包括:

目的地址信息获取单元,用于获取所述控制指令数据包中的目的地址信息,判断 所述目的地址信息是否与跟车车载终端对应;

中继节点判断单元,用于在所述目的地址信息与跟车车载终端不对应时,判断所 述跟车车载终端是否为中继节点;

控制指令数据包转发单元,用于在所述跟车车载终端是中继节点时,将所述控制 指令数据包发送给与所述目的地址信息对应的跟车车载终端;

控制指令数据包丢弃单元,用于在所述跟车车载终端不是中继节点,将所述控制 指令数据包丢弃。

此外,所述行驶操作执行单元,具体用于:

在所述目的地址信息与跟车车载终端对应时,根据所述头车公钥解密所述控制指 令数据包,并判断所述控制指令数据包是否合法;

在所述控制指令数据包不合法时,将所述控制指令数据包丢弃;

在所述控制指令数据包合法时,获取所述控制指令数据包的第二时间戳;

判断所述第二时间戳与当前时间的时间差是否小于等于一预先设置的第二时间 阈值;

在所述第二时间戳与当前时间的时间差小于等于所述第二时间阈值时,解析所述 头车数据包,获取所述控制指令数据包中的控制指令,并控制本车进行行驶操作;

在所述第二时间戳与当前时间的时间差大于所述第二时间阈值时,将所述控制指 令数据包丢弃。

另外,所述跟车数据包生成单元,具体用于:

获取本地跟车车辆诊断系统的相关数据;

根据所述本地跟车车辆诊断系统的相关数据,生成行驶操作反馈数据,并打包为 跟车数据包;

通过一跟车私钥将所述跟车数据包进行加密;

所述跟车数据包发送单元,具体用于:

将加密后的跟车数据包发送到所述头车车载终端。

另外,该跟车车载终端,还包括:

脱离车队请求消息生成单元,用于生成一脱离车队请求消息,并将所述脱离车队 请求消息通过所述头车公钥加密;

脱离车队请求消息发送单元,用于向头车车载终端发送加密后的脱离车队请求消 息;

脱队许可消息接收单元,用于接收头车车载终端发送的脱队许可消息;

解密单元,用于根据一跟车私钥对所述脱队许可消息进行解密;

头车公钥删除单元,用于在解密所述脱队许可消息成功时,将跟车本地数据库中 的头车车载终端对应的头车公钥删除。

一种车载终端,包括一电源适配器、OBD接口、GPS模块、中央处理芯片、MCU 芯片、加解密芯片以及通信模块;其中,所述MCU芯片与所述通信模块、中央处理 芯片、OBD接口、加解密芯片以及电源适配器分别连接;所述电源适配器还分别连 接所述OBD接口、GPS模块、中央处理芯片、加解密芯片以及所述通信模块,以为 所述OBD接口、GPS模块、中央处理芯片、加解密芯片以及所述通信模块供电;所 述GPS模块还与所述中央处理芯片连接。

具体的,所述电源适配器为DC-DC稳压器。

本发明实施例提供的公路列车数据认证鉴权方法及车载终端,在头车车载终端接 收到跟车车载终端发送的加入车队请求消息时,头车车载终端能够对跟车公钥证书进 行认证,并在认证成功后将自身的头车公钥证书发送给相应的跟车车载终端。从而在 后续向跟车车载终端发送控制指令数据包时,该跟车车载终端可以根据所述头车公钥 证书中的头车公钥解析所述控制指令数据包,并进行与所述控制指令数据包相关的行 驶操作;跟车车载终端也可以发送跟车数据包,而头车车载终端可以根据跟车公钥解 析所述跟车数据包,获取跟车车载终端的行驶操作反馈数据。这样,避免了头车与跟 车进行数据交互时采用开放的信道,且交互的数据包一般均未加密,导致控制数据泄 露,容易被公路列车车队外的其他数据攻击的问题。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅 是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前 提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的公路列车数据认证鉴权方法的流程图一;

图2为本发明实施例提供的公路列车数据认证鉴权方法的流程图二;

图3A为本发明实施例提供的公路列车数据认证鉴权方法的流程图三的第一部 分;

图3B为本发明实施例提供的公路列车数据认证鉴权方法的流程图三的第二部 分;

图4为本发明实施例提供的公路列车数据认证鉴权方法中的脱离车队流程图;

图5为本发明实施例提供的头车车载终端的结构示意图一;

图6为本发明实施例提供的头车车载终端的结构示意图二;

图7为本发明实施例提供的跟车车载终端的结构示意图一;

图8为本发明实施例提供的跟车车载终端的结构示意图二;

图9为本发明实施例提供的车载终端的结构示意图;

图10为本发明实施例中的OBD接口的连接示意图;

图11为本发明实施例中的GPS模块的示意图;

图12为本发明实施例中的通信模块的示意图;

图13为本发明实施例中的MCU芯片与加解密芯片的示意图;

图14为本发明实施例中的电源适配模块的示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。 基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的 所有其他实施例,都属于本发明保护的范围。

如图1所示,本发明实施例提供一种公路列车数据认证鉴权方法,以头车车载终 端为执行主体进行阐述,该方法包括:

步骤101、接收跟车车载终端发送的加入车队请求消息。

其中,该加入车队请求消息包括一跟车公钥证书。

步骤102、判断跟车公钥证书中是否有可信第三方签发信息。

步骤103、在跟车公钥证书中有可信第三方签发信息时,向跟车车载终端发送头 车公钥证书。

步骤104、将跟车公钥证书中的跟车公钥存储于头车本地数据库中。

步骤105、向跟车车载终端发送控制指令数据包,以使得跟车车载终端根据头车 公钥证书中的头车公钥解析控制指令数据包,并进行与控制指令数据包相关的行驶操 作。

步骤106、接收跟车车载终端发送的跟车数据包,并根据跟车公钥解析跟车数据 包,获取跟车车载终端的行驶操作反馈数据。

本发明实施例提供的公路列车数据认证鉴权方法,在头车车载终端接收到跟车车 载终端发送的加入车队请求消息时,头车车载终端能够对跟车公钥证书进行认证,并 在认证成功后将自身的头车公钥证书发送给相应的跟车车载终端。从而在后续向跟车 车载终端发送控制指令数据包时,该跟车车载终端可以根据头车公钥证书中的头车公 钥解析控制指令数据包,并进行与控制指令数据包相关的行驶操作;跟车车载终端也 可以发送跟车数据包,而头车车载终端可以根据跟车公钥解析跟车数据包,获取跟车 车载终端的行驶操作反馈数据。这样,避免了头车与跟车进行数据交互时采用开放的 信道,且交互的数据包一般均未加密,导致控制数据泄露,容易被公路列车车队外的 其他数据攻击的问题。

如图2所示,本发明实施例提供一种公路列车数据认证鉴权方法,以跟车车载终 端为执行主体进行阐述,该方法包括:

步骤201、向一头车车载终端发送加入车队请求消息。

其中,该加入车队请求消息包括一跟车公钥证书。

步骤202、接收头车车载终端发送的头车公钥证书。

步骤203、判断头车公钥证书中是否有可信第三方签发信息。

步骤204、在该头车公钥证书中有可信第三方签发信息时,将头车公钥证书中的 头车公钥存储于跟车本地数据库中。

步骤205、接收头车车载终端发送的控制指令数据包。

步骤206、根据头车公钥解析控制指令数据包,并进行与控制指令数据包相关的 行驶操作。

步骤207、生成行驶操作反馈数据,并打包为跟车数据包。

步骤208、将跟车数据包发送到头车车载终端。

本发明实施例提供的公路列车数据认证鉴权方法,跟车车载终端可以向头车车载 终端发送加入车队请求消息,以使得头车车载终端对跟车公钥证书进行认证,并在认 证成功后将自身的头车公钥证书发送给相应的跟车车载终端。从而在后续跟车车载终 端接收到控制指令数据包时,该跟车车载终端可以根据头车公钥证书中的头车公钥解 析控制指令数据包,并进行与控制指令数据包相关的行驶操作;跟车车载终端也可以 发送跟车数据包,从而使得头车车载终端可以根据跟车公钥解析跟车数据包,获取跟 车车载终端的行驶操作反馈数据。这样,避免了头车与跟车进行数据交互时采用开放 的信道,且交互的数据包一般均未加密,导致控制数据泄露,容易被公路列车车队外 的其他数据攻击的问题。

为了使本领域的技术人员更好的了解本发明,下面列举一个更为详细的实施例, 如图3A和图3B所示(由于步骤较多,其中图3A显示的是步骤301至步骤308,图 3B显示的是步骤309至步骤325,其中M和N表示图3A和图3B两条线的连接处), 本发明实施例提供一种公路列车数据认证鉴权方法,包括:

步骤301、跟车车载终端向一头车车载终端发送加入车队请求消息。

其中,加入车队请求消息包括一跟车公钥证书。

步骤302、头车车载终端判断该跟车公钥证书中是否有可信第三方签发信息。

若该跟车公钥证书中有可信第三方签发信息,执行步骤303;否则,若该跟车公 钥证书中没有可信第三方签发信息,执行步骤304。

步骤303、头车车载终端向跟车车载终端发送头车公钥证书,并将接收到的跟车 公钥证书中的跟车公钥存储于头车本地数据库中。之后继续执行步骤305。

步骤304、头车车载终端不允许跟车车载终端加入车队,并阻止该跟车车载终端 向其发送数据。

步骤305、跟车车载终端判断头车公钥证书中是否有可信第三方签发信息。

若头车公钥证书中有可信第三方签发信息,执行步骤306;否则,若头车公钥证 书中有可信第三方签发信息,执行步骤307。若在一预定时间内跟车车载终端未收到 头车车载终端发送的头车公钥证书,则在预定时间后可以重新返回步骤301。即例如, 在10秒钟未收到头车车载终端发送的头车公钥证书,则可以重新向头车车载终端发 送加入车队请求消息。

步骤306、跟车车载终端将该头车公钥证书中的头车公钥存储于跟车本地数据库 中。之后执行步骤308。

步骤307、跟车车载终端阻止该头车车载终端向其发送数据。

步骤308、头车车载终端获取头车本地车辆诊断系统的相关数据,并判断该相关 数据是否发生变化。

若相关数据发生变化,执行步骤309;否则若该相关数据未发生变化,执行步骤 310。

步骤309、头车车载终端获取本地头车车载GPS数据。之后执行步骤311。

步骤311、头车车载终端根据相关数据和头车车载GPS数据,生成跟车控制指令, 并生成控制指令数据包。

步骤312、头车车载终端根据一头车私钥对控制指令数据包进行加密,并将加密 后的控制指令数据包发送给跟车车载终端。

步骤313、跟车车载终端获取控制指令数据包中的目的地址信息,判断该目的地 址信息是否与跟车车载终端对应。

若目的地址信息与跟车车载终端不对应,执行步骤314;否则,若目的地址信息 与跟车车载终端对应,执行步骤315。

步骤314、跟车车载终端判断终端自身是否为中继节点。

若跟车车载终端是中继节点,则执行步骤316;否则,若跟车车载终端不是中继 节点,则执行步骤317。

步骤316、跟车车载终端将控制指令数据包发送给与目的地址信息对应的跟车车 载终端。

步骤317、跟车车载终端将控制指令数据包丢弃。

步骤315、跟车车载终端根据头车公钥解密控制指令数据包,并判断控制指令数 据包是否合法。

若控制指令数据包不合法,执行步骤317;若控制指令数据包合法,执行步骤318。

步骤318、跟车车载终端获取控制指令数据包的第二时间戳,并判断第二时间戳 与当前时间的时间差是否小于等于一预先设置的第二时间阈值。

若第二时间戳与当前时间的时间差小于等于第二时间阈值,执行步骤319;否则, 若第二时间戳与当前时间的时间差大于第二时间阈值,执行步骤317。

步骤319、跟车车载终端解析头车数据包,获取控制指令数据包中的控制指令, 并控制本车进行行驶操作。

步骤320、跟车车载终端获取本地跟车车辆诊断系统的相关数据。

步骤321、跟车车载终端根据本地跟车车辆诊断系统的相关数据,生成行驶操作 反馈数据,并打包为跟车数据包。

步骤322、跟车车载终端通过一跟车私钥将跟车数据包进行加密,并将加密后的 跟车数据包向头车车载终端发送。之后执行步骤310。

步骤310、头车车载终端判断是否收到跟车数据包。在步骤310之后继续执行步 骤323。

步骤323、若头车车载终端收到跟车数据包,头车车载终端通过跟车公钥对跟车 数据包进行解密,获取跟车数据包的第一时间戳。

步骤324、头车车载终端判断第一时间戳与当前时间的时间差是否小于等于一预 先设置的第一时间阈值。

步骤325、若第一时间戳与当前时间的时间差小于等于第一时间阈值,头车车载 终端解析跟车数据包,获取跟车车载终端的行驶操作反馈数据,将行驶操作反馈数据 反馈到控制指令数据包中的控制指令上,并将行驶操作反馈数据存储于头车本地数据 库中。

另外,如图4所示,当跟车需要脱离其所在的车队时,还可以有如下过程:

步骤401、跟车车载终端生成一脱离车队请求消息,并将脱离车队请求消息通过 头车公钥加密。

步骤402、跟车车载终端向头车车载终端发送加密后的脱离车队请求消息。

步骤403、头车车载终端根据一头车私钥对脱离车队请求消息进行解密。

步骤404、若解密脱离车队请求消息成功,头车车载终端生成一脱队许可消息, 并根据跟车公钥证书中的跟车公钥将脱队许可消息进行加密。

步骤405、头车车载终端向跟车车载终端发送加密后的脱队许可消息,并将头车 本地数据库中的跟车车载终端对应的跟车公钥删除。

步骤406、跟车车载终端根据一跟车私钥对该脱队许可消息进行解密。

此处,若在一预定时间跟车车载终端未接收到该脱队许可消息,则可以返回步骤 402重新发送脱离车队请求消息。

步骤407、若解密脱队许可消息成功,跟车车载终端将跟车本地数据库中的头车 车载终端对应的头车公钥删除。

本发明实施例提供的公路列车数据认证鉴权方法,在头车车载终端接收到跟车车 载终端发送的加入车队请求消息时,头车车载终端能够对跟车公钥证书进行认证,并 在认证成功后将自身的头车公钥证书发送给相应的跟车车载终端。从而在后续向跟车 车载终端发送控制指令数据包时,该跟车车载终端可以根据头车公钥证书中的头车公 钥解析控制指令数据包,并进行与控制指令数据包相关的行驶操作;跟车车载终端也 可以发送跟车数据包,而头车车载终端可以根据跟车公钥解析跟车数据包,获取跟车 车载终端的行驶操作反馈数据。这样,避免了头车与跟车进行数据交互时采用开放的 信道,且交互的数据包一般均未加密,导致控制数据泄露,容易被公路列车车队外的 其他数据攻击的问题。

对应于上述图1至图4的方法实施例,如图5所示,本发明实施例提供一种头车 车载终端,包括:

请求消息接收单元51,可以接收跟车车载终端发送的加入车队请求消息。其中, 加入车队请求消息包括一跟车公钥证书;

跟车公钥证书判断单元52,可以判断跟车公钥证书中是否有可信第三方签发信 息。

头车公钥证书发送单元53,可以在跟车公钥证书中有可信第三方签发信息时, 向跟车车载终端发送头车公钥证书。

跟车公钥存储单元54,可以将跟车公钥证书中的跟车公钥存储于头车本地数据 库中。

控制指令数据包发送单元55,可以向跟车车载终端发送控制指令数据包。

跟车数据包接收单元56,可以接收跟车车载终端发送的跟车数据包,并根据跟 车公钥解析跟车数据包,获取跟车车载终端的行驶操作反馈数据。

进一步的,如图6所示,该头车车载终端,还可以包括:

车辆诊断系统数据获取单元57,可以获取头车本地车辆诊断系统的相关数据。

相关数据判断单元58,可以判断相关数据是否发生变化。

头车车载GPS数据获取单元59,可以在相关数据发生变化时,获取本地头车车 载GPS数据。

跟车控制指令生成单元60,可以根据相关数据和头车车载GPS数据,生成跟车 控制指令,并生成控制指令数据包。

另外,该控制指令数据包发送单元55,具体可以根据一头车私钥对控制指令数 据包进行加密,并将加密后的控制指令数据包发送给跟车车载终端。

进一步的如图6所示,该头车车载终端,还可以包括:

跟车数据包监测单元61,可以在相关数据未发生变化时,判断是否收到跟车数 据包。

该跟车数据包接收单元56,具体可以通过该跟车公钥对跟车数据包进行解密, 获取跟车数据包的第一时间戳。判断第一时间戳与当前时间的时间差是否小于等于一 预先设置的第一时间阈值。在第一时间戳与当前时间的时间差小于等于第一时间阈值 时,解析跟车数据包,获取跟车车载终端的行驶操作反馈数据,将行驶操作反馈数据 反馈到控制指令数据包中的控制指令上,并将行驶操作反馈数据存储于头车本地数据 库中。

进一步的,如图6所示,该头车车载终端,还包括:

脱离车队请求消息接收单元62,可以接收跟车车载终端发送的脱离车队请求消 息。

解密单元63,可以根据一头车私钥对脱离车队请求消息进行解密。

脱队许可消息生成单元64,可以在解密脱离车队请求消息成功时,生成一脱队 许可消息,并根据跟车公钥证书中的跟车公钥将脱队许可消息进行加密。

脱队许可消息发送单元65,可以向跟车车载终端发送加密后的脱队许可消息。

跟车公钥删除单元66,可以将头车本地数据库中的跟车车载终端对应的跟车公 钥删除。

本发明实施例提供的头车车载终端,该头车车载终端接收到跟车车载终端发送的 加入车队请求消息时,头车车载终端能够对跟车公钥证书进行认证,并在认证成功后 将自身的头车公钥证书发送给相应的跟车车载终端。从而在后续向跟车车载终端发送 控制指令数据包时,该跟车车载终端可以根据头车公钥证书中的头车公钥解析控制指 令数据包,并进行与控制指令数据包相关的行驶操作;跟车车载终端也可以发送跟车 数据包,而头车车载终端可以根据跟车公钥解析跟车数据包,获取跟车车载终端的行 驶操作反馈数据。这样,避免了头车与跟车进行数据交互时采用开放的信道,且交互 的数据包一般均未加密,导致控制数据泄露,容易被公路列车车队外的其他数据攻击 的问题。

对应于上述图1至图4的方法实施例,如图7所示,本发明实施例提供一种跟车 车载终端,包括:

加入车队请求消息发送单元71,可以向一头车车载终端发送加入车队请求消息。 其中,该加入车队请求消息包括一跟车公钥证书。

头车公钥证书接收单元72,可以接收头车车载终端发送的头车公钥证书。

头车公钥证书判断单元73,可以判断该头车公钥证书中是否有可信第三方签发 信息。

头车公钥存储单元74,可以在头车公钥证书中有可信第三方签发信息时,将头 车公钥证书中的头车公钥存储于跟车本地数据库中。

控制指令数据包接收单元75,可以接收头车车载终端发送的控制指令数据包。

行驶操作执行单元76,可以根据头车公钥解析控制指令数据包,并进行与控制 指令数据包相关的行驶操作。

跟车数据包生成单元77,可以生成行驶操作反馈数据,并打包为跟车数据包。

跟车数据包发送单元78,可以将跟车数据包发送到头车车载终端。

此外,如图8所示,该跟车车载终端,还可以包括:

目的地址信息获取单元79,可以获取控制指令数据包中的目的地址信息,判断 目的地址信息是否与跟车车载终端对应。

中继节点判断单元80,可以在目的地址信息与跟车车载终端不对应时,判断跟 车车载终端是否为中继节点。

控制指令数据包转发单元81,可以在跟车车载终端是中继节点时,将控制指令 数据包发送给与目的地址信息对应的跟车车载终端。

控制指令数据包丢弃单元82,可以在跟车车载终端不是中继节点,将控制指令 数据包丢弃。

此外,行驶操作执行单元76,具体可以在目的地址信息与跟车车载终端对应时, 根据头车公钥解密控制指令数据包,并判断控制指令数据包是否合法;在控制指令数 据包不合法时,将控制指令数据包丢弃;在控制指令数据包合法时,获取控制指令数 据包的第二时间戳;判断第二时间戳与当前时间的时间差是否小于等于一预先设置的 第二时间阈值;在第二时间戳与当前时间的时间差小于等于第二时间阈值时,解析头 车数据包,获取控制指令数据包中的控制指令,并控制本车进行行驶操作;在第二时 间戳与当前时间的时间差大于第二时间阈值时,将控制指令数据包丢弃。

另外,该跟车数据包生成单元77,具体可以获取本地跟车车辆诊断系统的相关 数据;根据本地跟车车辆诊断系统的相关数据,生成行驶操作反馈数据,并打包为跟 车数据包;通过一跟车私钥将跟车数据包进行加密。

另外,该跟车数据包发送单元78,具体可以将加密后的跟车数据包发送到头车 车载终端。

另外,如图8所示,该跟车车载终端,还包括:

脱离车队请求消息生成单元83,可以生成一脱离车队请求消息,并将脱离车队 请求消息通过头车公钥加密。

脱离车队请求消息发送单元84,可以向头车车载终端发送加密后的脱离车队请 求消息。

脱队许可消息接收单元85,可以接收头车车载终端发送的脱队许可消息。

解密单元86,可以根据一跟车私钥对脱队许可消息进行解密。

头车公钥删除单元87,可以在解密脱队许可消息成功时,将跟车本地数据库中 的头车车载终端对应的头车公钥删除。

本发明实施例提供的跟车车载终端,该跟车车载终端可以向头车车载终端发送加 入车队请求消息,以使得头车车载终端对跟车公钥证书进行认证,并在认证成功后将 自身的头车公钥证书发送给相应的跟车车载终端。从而在后续跟车车载终端接收到控 制指令数据包时,该跟车车载终端可以根据头车公钥证书中的头车公钥解析控制指令 数据包,并进行与控制指令数据包相关的行驶操作;跟车车载终端也可以发送跟车数 据包,从而使得头车车载终端可以根据跟车公钥解析跟车数据包,获取跟车车载终端 的行驶操作反馈数据。这样,避免了头车与跟车进行数据交互时采用开放的信道,且 交互的数据包一般均未加密,导致控制数据泄露,容易被公路列车车队外的其他数据 攻击的问题。

上述的头车车载终端和跟车车载终端可以通过硬件来实现,例如图9所示,本发 明实施例提供的一种车载终端,包括一电源适配器90、OBD接口91、GPS模块92、 中央处理芯片93、MCU芯片94、加解密芯片96以及通信模块95。

其中,MCU(微控制单元,Micro Control Unit)芯片94与通信模块95、中央处 理芯片93、OBD接口91、加解密芯片96以及电源适配器90分别连接。电源适配器 90还分别连接OBD接口91、GPS(Global Positioning System,全球定位系统)模块 92、中央处理芯片93、加解密芯片96以及通信模块95,以为OBD接口91、GPS模 块92、中央处理芯片93、加解密芯片96以及通信模块95供电;GPS模块92还与中 央处理芯片93连接。

具体的,电源适配器90可以为DC-DC稳压器。该电源适配模块用于电压的适配 和电流的分流。

该OBD接口为车载诊断系统(On Board Diagnosis,简称OBD)接口,用于采 集汽车当前的车况信息。该OBD接口采用标准的16针脚OBD电气接口,可以和汽 车的OBD接口相连接,需要注意的是,该OBD接口除具有OBD协议数据引脚外, 其第16针脚可以从汽车电瓶取电,成为整个车载终端的电源。例如,OBD接口的连 接情况可以如图10所示。OBD接口由OBDII芯片与ELM327设备连接组成,再将 车辆数据通过ELM327的串口导出,传给MCU芯片。ELM327芯片内部集成了CAN 控制器,在该CAN控制器外部搭配一个MCP2551CAN收发器,MCP2551CAN口高 位与低位分别和OBDII的CAN+与CAN-口相连,而其TXD口作为CAN总线数据的 发送口与ELM327的CANTX口连接,RXD口作为CAN总线数据的接收口与ELM327 的RX口连接。而OBDII上的SAE+与SAE-口通过J1850总线与ELM327的J1850 总线口相连。OBDII芯片上的BAT+作为车载电瓶导出口,可向电源适配模块提供 +12V的电压。

如下为OBD-II接口设计概述(相当于线选模块,MCU可通过ELM327的AT 指令选择通信接口),模块通过OBD-Ⅱ接口和汽车相连接,通过电平转换电路将不 同协议的电平转换成微控制器可以识别的电平信息。

OBD接口通过ELM327芯片与MCU芯片连接,ELM327是一款专用的OBD-Ⅱ 网关芯片。

由于J1850的两种不同协议需要两种不同的电压(VPW需要8V,PWM需要), 因此,采用一种输出可调的电压调整芯片LM317。LM317的输出电压由M327的引 脚J1850Volts控制。当引脚J1850Volts输出高电平时,在LM317的引脚上便可以得 到8V的电压,当引脚J1850Volts输出低电平时,在LM317出端得到5V的电压。

在使用J1850VPW协议的情况下,输入时,传输线SAE J1850+上的电压信号通 过R12和R33分压后送入到芯片ELM327中。输出通过ELM327的引脚4(J1850Bus+) 来完成。当引脚4输出高电平时,晶体管Q3导通,Q2也导通,传输线SAE J1850+ 电压便被拉升到约8V,总线便处于显性位。否则,引脚4输出低电平时,总线便处 于隐性位。在使用J1850PMW协议的情况下,输入时,若传输线SAE J1850+处于显 性(高电平),SAE J1850-也处于显性(低电平),此时,Q2导通,Q5导通,输入低 电平到芯片ELM327的引脚PWM IN中。否则,当SAE J1850+和SAE J1850-都处于 隐性的时候,输入高电平到ELM327的引脚PWM IN中。输出通过ELM327的引脚 4(J1850Bus+)和引脚14(J1850Bus-)来实现。ELM327芯片通过引脚17(RS232TX) 和引脚18(RS232RX)接口直接与MCU芯片的UART1接口相连。

另外,如图11所示,其显示的是GPS模块92内部的连接情况,其内部具体引脚 如图所示。其中CC50-BG是北斗GPS定位芯片,其具有一个天线接口与外接天线相 连,同时其UART接口与CP2105芯片的TXD_SCI以及RXD_SCI口相连,其中CP2105 芯片是一个具有RS232串口转接USB的桥接转换器。CP2105芯片的USB数据总线 与上位机的USB口相连,从而传输GPS数据。

另外,如图12所示,其为通信模块95的内部具体引脚示意图,该模块采用VTX201 芯片,该芯片复位信号线与上位机相连,其中SPI0SCLK、SPI0TX、SPI0RX与SPI0_FM 作为数据口,用于在通信模块95与MCU芯片之间传递数据。

另外,如图13所示,其为MCU芯片94与加解密芯片96的内部具体引脚示意图, 其中MCU芯片采用的是具有ARM内核的STM32F103C6芯片(以下简称STM32), 而加解密芯片96采用的是基于8051内核的ECIES加解密芯片。ECIES加解密芯片 的Rxd0以及Txd0口与STM32F103C6芯片UART3串口相连,之间传递待加解密的 数据。STM32芯片上存在3路UART端口,UART1通过串口与OBDII的ELM327 UART口相连,采集OBD模块传来的车况数据;而UART2串口通过CP2105的ECI 口与上位机相连,用于传输GPS数据;而UART3串口与加解密芯片96的数据口相 连,传输待加解密数据。STM32芯片上也存在1路CAN总线控制器端口,该总线端 口通过MCP2551连接车辆控制模块。STM32上的SPI0接口作为额外的数据传输口 连接V2X-201芯片的数据口,传输数据到达通信模块。

另外,如图14所示的电源适配模块90的内部具体引脚示意图,该电源适配模块 采用的是MAX16977汽车专用DC-DC稳压器,能够提供车载数据处理模块的所需的 +5V电压。而LDO电源能够将12V的输入电压转化为+3.3V的低压供MCU芯片、 中央处理芯片和GPS模块等使用。

本发明实施例提供的车载终端,可以用于汽车上,以在汽车之间进行加密通信, 避免了头车与跟车进行数据交互时采用开放的信道,且交互的数据包一般均未加密, 导致控制数据泄露,容易被公路列车车队外的其他数据攻击的问题。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程 序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件 方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序 代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等) 上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流 程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的 每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些 计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设 备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执 行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方 框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特 定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包 括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一 个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计 算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算 机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或 方框图一个方框或多个方框中指定的功能的步骤。

本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例 的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术 人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述, 本说明书内容不应理解为对本发明的限制。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号