发明内容
本申请的目的在于提供一种车载以太网数据传输方法、装置及系统,能够基于车辆VIN码进行数据加密,生成消息认证码,以进行验证,保证数据传输的安全性。
第一方面,本申请实施例提供一种车载以太网数据传输方法,方法应用于发送节点,方法包括:基于车辆VIN码对以太网传输数据进行加密,得到密文;基于密文和车辆VIN码,生成第一消息认证码;将密文和第一消息认证码发送至接收节点,以使接收节点根据密文和第一消息认证码进行验证和密文处理。
进一步的,上述基于车辆VIN码对以太网传输数据进行加密,得到密文的步骤,包括:对车辆VIN码进行第一预设运算,生成第一密钥;利用第一密钥对以太网传输数据进行加密,得到密文。
进一步的,上述基于密文和车辆VIN码,生成第一消息认证码的步骤,包括:对车辆VIN码进行第二预设运算,生成第二密钥;利用第二密钥对密文进行加密,得到第一消息认证码。
进一步的,上述将密文和第一消息认证码发送至接收节点的步骤,包括:将密文和第一消息认证码组合在一起,发送至接收节点;组合方式包括:将第一消息认证码置于密文的前面、中间或后面;或者,将密文和第一消息认证码作为连续的两帧数据分开发送至接收节点;其中,密文中设置有标志位,标志位用以表征第一消息认证码和密文相关联。
第二方面,本申请实施例还提供一种车载以太网数据传输方法,方法应用于接收节点,方法包括:接收发送节点发送的密文和第一消息认证码;密文为基于车辆VIN码加密的以太网传输数据;根据密文和车辆VIN码,计算得到第二消息认证码;判断第二消息认证码和第一消息认证码是否相同;如果否,丢弃密文;如果是,处理密文。
进一步的,上述根据密文和车辆VIN码,计算得到第二消息认证码的步骤,包括:利用和发送节点相同的计算方式,对密文和车辆VIN码进行计算,得到第二消息认证码。
进一步的,上述处理密文的步骤,包括:利用和发送节点相同的计算方式,得到目标密钥;应用目标密钥对密文进行解密处理,得到密文对应的以太网传输数据。
第三方面,本申请实施例还提供一种车载以太网数据传输装置,所装置应用于发送节点,装置包括:加密模块,用于基于车辆VIN码对以太网传输数据进行加密,得到密文;第一认证码计算模块,用于基于密文和车辆VIN码,生成第一消息认证码;数据发送模块,用于将密文和第一消息认证码发送至接收节点,以使接收节点根据密文和第一消息认证码进行验证和密文处理。
第四方面,本申请实施例还提供一种车载以太网数据传输装置,装置应用于接收节点,装置包括:数据接收模块,用于接收发送节点发送的密文和第一消息认证码;密文为基于车辆VIN码加密的以太网传输数据;第二认证码计算模块,用于根据密文和车辆VIN码,计算得到第二消息认证码;判断模块,用于判断第二消息认证码和第一消息认证码是否相同;处理模块,用于如果判断模块的判断结果为否,丢弃密文;如果判断模块的判断结果为是,处理密文。
第五方面,本申请实施例还提供一种车载以太网数据传输系统,系统包括至少一个接收节点和至少一个发送节点;接收节点和发送节点通信连接;发送节点用于执行如第一方面所述的车载以太网数据传输方法;接收节点用于执行如第二方面所述的车载以太网数据传输方法。
本申请实施例提供的车载以太网数据传输方法、装置及系统中,应用于发送节点的车载以太网数据传输方法包括:基于车辆VIN码对以太网传输数据进行加密,得到密文;基于密文和车辆VIN码,生成第一消息认证码;将密文和第一消息认证码发送至接收节点,以使接收节点根据密文和第一消息认证码进行验证和密文处理。本申请实施例能够基于车辆VIN码进行数据加密,生成消息认证码,以进行验证,保证数据传输的安全性。
具体实施方式
下面将结合实施例对本申请的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
目前车载以太网相关控制器之间包括控制器内部ECU之间以太网通信大多是没有做数据保护的通信,即使有做数据报文,其中重要的数据也是明文传输,容易被篡改和截取。通信节点之间没有做有效的认证,只是通过IP来传输相关数据,如果黑客模拟了一个IP相同的节点,断开原始节点,但是另外一端没有办法识别出这种情况。基于此,本申请实施例提供一种车载以太网数据传输方法、装置及系统,能够基于车辆VIN码进行数据加密,生成消息认证码,以进行验证,保证数据传输的安全性。为便于对本实施例进行理解,首先对本申请实施例所公开的一种车载以太网数据传输方法进行详细介绍。
图1为本申请实施例提供的一种车载以太网数据传输方法的流程图,该方法应用于发送节点,具体包括以下步骤:
步骤S102,基于车辆VIN码对以太网传输数据进行加密,得到密文。
具体实施时,对车辆VIN码进行第一预设运算,生成第一密钥;利用第一密钥对以太网传输数据进行加密,得到密文。上述第一预设运算可以是移位,异或等计算方法。
步骤S104,基于密文和车辆VIN码,生成第一消息认证码。
对车辆VIN码进行第二预设运算,生成第二密钥;利用第二密钥对密文进行加密,得到第一消息认证码。第二预设运算可以是和第一预设运算一样的运算,也可以是与第一预设运算不同的运算。
步骤S106,将密文和第一消息认证码发送至接收节点,以使接收节点根据密文和第一消息认证码进行验证和密文处理。
这里有两种数据发送方式,一种是将密文和第一消息认证码组合在一起,发送至接收节点;组合方式包括:将第一消息认证码置于密文的前面、中间或后面;另一种是将密文和第一消息认证码作为连续的两帧数据分开发送至接收节点;其中,密文中设置有标志位,标志位用以表征第一消息认证码和密文相关联。
将密文和第一消息认证码发送至接收节点后,接收节点可以根据密文和第一消息认证码进行验证和密文处理。具体的验证和处理过程可参见下一实施例。
本申请实施例提供的车载以太网数据传输方法,能够解决车载以太网通信节点之间的认证问题,实现以太网节点的安全认证,传输数据加密,保护重要数据的安全性。
基于上述方法实施例,本申请实施例还提供一种车载以太网数据传输方法,该方法应用于接收节点,参见图2所示,该方法包括以下步骤:
步骤S202,接收发送节点发送的密文和第一消息认证码;密文为基于车辆VIN码加密的以太网传输数据;
步骤S204,根据密文和车辆VIN码,计算得到第二消息认证码。
利用和发送节点相同的计算方式,对密文和车辆VIN码进行计算,得到第二消息认证码。即同前述步骤一样,首先对车辆VIN码进行第二预设运算,生成第二密钥;利用第二密钥对密文进行加密,得到第二消息认证码。
步骤S206,判断第二消息认证码和第一消息认证码是否相同;
如果否,执行步骤S208,丢弃密文;
如果是,执行步骤S210,处理密文。
处理密文的方式如下:利用和发送节点相同的计算方式,得到目标密钥;应用目标密钥对密文进行解密处理,得到密文对应的以太网传输数据。即同前述步骤,对车辆VIN码进行第一预设运算,生成第一密钥;应用第一密钥对密文进行解密处理,得到密文对应的以太网传输数据。
本申请实施例提供的车载以太网数据传输方法,能够在接收到密文和消息认证码时,先进行消息认证,认证成功后再处理密文,否则放弃该密文,不做处理。解决了车载以太网通信节点之间的认证问题,实现了以太网节点的安全认证,传输数据加密,保护重要数据的安全性。
基于上述方法实施例,本申请实施例还提供一种车载以太网数据传输系统,系统包括至少一个接收节点和至少一个发送节点;接收节点和发送节点通信连接;发送节点用于执行如第一实施例所述的车载以太网数据传输方法;接收节点用于执行如第二实施例所述的车载以太网数据传输方法。
该系统的工作流程可参见图3所示的流程图,以太网数据发送端通过车辆VIN码作为密钥或者密钥原始文件,对以太网传输的数据进行加密,接着对加密后的数据和车辆VIN码相关数据作为共享密钥来计算消息认证码。加密后的数据和消息认证码组合在一起通过以太网传输给其他车载以太网节点。
以太网接收节点对接受到的数据,按照定义好的格式提取出密文和消息认证码,接收节点使用和发送节点相同的算法,通过用密文和共享密钥计算出消息认证码,接收节点对比自己计算出的消息认证码和接收到的消息认证码,如果相同则继续处理密文部分,否则丢弃这条报文数据。对认证通过的报文,接收节点对密文部分,采用和发送节点方法通过VIN生成密钥,对密文进行解密,完成对解密报文的数据接收。
以太网节点的发送端对原始数据进行对称加密,如AES_128等,采用的密钥来源是VIN码,其中VIN码是车辆唯一识别码,每一辆汽车的VIN码都不相同,长度17byte。用VIN码作为密钥源,解决了密钥生成,配送等问题,而且实现了每一辆车的密钥都不相同,实现了每辆车的以太网节点的数据内容的唯一性。
通过对VIN码进行各种运算生成密钥,其中运算可以是移位,异或等计算方法,另外定义接收端和发送的通过VIN码来生成密钥的计算方式是相同的。
对原始数据加密的密钥和生成MAC值时采用的密钥都通过以VIN码为数据源方式计算得到,两者计算方可以相同,也可以不同。MAC的计算可以采用CBC-MAC或者HMAC方式。
密文和MAC的发送方式可以时组合在一起在同一个报文中发送,例如MAC可以放在密文的前后,或者中间位置也可以。另外密文和MAC值可以是连续的两帧数据分开发送,可以通过报文中插入相关数据位来标志是MAC值和密文是一对。
接收端对接收到的密文和MAC完成配对校验,先使用和发送节点相同的算法,通过对VIN码计算得到密钥(和发送端相同)。接收端通过使用VIN码计算得到的密钥和密文计算出MAC值,并对比接收的MAC值,如果相同则,接着处理密文数据,否则丢弃数据,不做处理。
解密密文采用的密钥和发送端使用相同的算法,对VIN码采用相同的计算方式得到密钥,对密文进行解密,得到原始数据。本发明中加密解密可以采用软件或者硬件方式实现。硬件方式可以通过HSM方式来实现。
本申请实施例提供的车载以太网数据传输系统,以VIN码来生成加密密钥,保证了每辆车的密钥的唯一性,不容易被破解,提高了安全性,解决了密钥配送问题。通过MAC来识别节点认证问题,其中生成MAC也需要的密钥也需要VIN码来参与生成。密文和MAC值的发送方式以及对密文的处理需要根据MAC值对比的结果来决定,MAC不一直数据丢弃,可以阻止大量数据攻击。
基于前述第一方法实施例,本申请实施例还提供一种车载以太网数据传输装置,所装置应用于发送节点,参见图4所示,该装置包括:加密模块42,用于基于车辆VIN码对以太网传输数据进行加密,得到密文;第一认证码计算模块44,用于基于密文和车辆VIN码,生成第一消息认证码;数据发送模块46,用于将密文和第一消息认证码发送至接收节点,以使接收节点根据密文和第一消息认证码进行验证和密文处理。
上述加密模块42还用于:对车辆VIN码进行第一预设运算,生成第一密钥;利用第一密钥对以太网传输数据进行加密,得到密文。
上述第一认证码计算模块44还用于:对车辆VIN码进行第二预设运算,生成第二密钥;利用第二密钥对密文进行加密,得到第一消息认证码。
上述数据发送模块46还用于:将密文和第一消息认证码组合在一起,发送至接收节点;组合方式包括:将第一消息认证码置于密文的前面、中间或后面;或者,将密文和第一消息认证码作为连续的两帧数据分开发送至接收节点;其中,密文中设置有标志位,标志位用以表征第一消息认证码和密文相关联。
本申请实施例提供的车载以太网数据传输装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置的实施例部分未提及之处,可参考前述方法实施例中相应内容。
基于前述第二方法实施例,本申请实施例还提供一种车载以太网数据传输装置,装置应用于接收节点,参见图5所示,该装置包括:数据接收模块52,用于接收发送节点发送的密文和第一消息认证码;密文为基于车辆VIN码加密的以太网传输数据;第二认证码计算模块54,用于根据密文和车辆VIN码,计算得到第二消息认证码;判断模块56,用于判断第二消息认证码和第一消息认证码是否相同;处理模块58,用于如果判断模块的判断结果为否,丢弃密文;如果判断模块的判断结果为是,处理密文。
上述第二认证码计算模块54还用于:利用和发送节点相同的计算方式,对密文和车辆VIN码进行计算,得到第二消息认证码。
上述处理模块58还用于:利用和发送节点相同的计算方式,得到目标密钥;应用目标密钥对密文进行解密处理,得到密文对应的以太网传输数据。
本申请实施例提供的车载以太网数据传输装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置的实施例部分未提及之处,可参考前述方法实施例中相应内容。
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令在被处理器调用和执行时,该计算机可执行指令促使处理器实现上述方法,具体实现可参见前述方法实施例,在此不再赘述。
本申请实施例所提供的方法、装置和电子设备的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对步骤、数字表达式和数值并不限制本申请的范围。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
在本申请的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本申请和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本申请的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
最后应说明的是:以上所述实施例,仅为本申请的具体实施方式,用以说明本申请的技术方案,而非对其限制,本申请的保护范围并不局限于此,尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本申请实施例技术方案的精神和范围,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。