CN112688845B - 车载can网络的通信方法及装置 - Google Patents
车载can网络的通信方法及装置 Download PDFInfo
- Publication number
- CN112688845B CN112688845B CN202011535537.XA CN202011535537A CN112688845B CN 112688845 B CN112688845 B CN 112688845B CN 202011535537 A CN202011535537 A CN 202011535537A CN 112688845 B CN112688845 B CN 112688845B
- Authority
- CN
- China
- Prior art keywords
- data
- key
- vehicle
- network
- counter
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Small-Scale Networks (AREA)
Abstract
本申请涉及一种车载CAN网络的通信方法及装置,该车载CAN网络的通信方法应用于发送方,所述方法包括:获取车载CAN网络的第一密钥和当前的新鲜值;将所述第一密钥和所述新鲜值进行拼接,得到拼接结果;基于所述拼接结果和待发送的CAN数据的数据长度确定第二密钥;利用所述第二密钥对待发送的所述CAN数据进行加密。本申请能够在不增加CAN总线负载的情况下,实现对CAN总线报文数据的加密,保护车辆CAN总线数据隐私,并保证CAN总线的通信性能。
Description
技术领域
本申请涉及通信安全技术领域,具体涉及一种车载CAN网络的通信方法及装置。
背景技术
现有的汽车内的控制功能大多由CAN总线控制,通过车内各种电子控制单元向CAN总线上发送CAN报文来实现对汽车各部件的控制。但是目前业界并没有对总线报文进行任何加密处理,而是采取私有协议的方式对总线报文信息进行保护,导致了每款车型的CAN总线通信协议都不一样,无法统一,维护成本高。并且一旦总线私有协议泄露,或者被黑客逆向,车内总线就毫无安全性可言,黑客可以通过向CAN 总线注入精心构造的攻击流量来对车辆造成攻击。
现有的总线安全保护方案SECOC(secure communication on board),通过将原始报文与新鲜值进行连接和填充,凑齐满足基本分组加密的数据长度,然后利用密钥和加密算法对填充后的数据进行加密,之后截取部分密文作为MAC(消息验证码),然后将明文数据与MAC 拼接在一起组成最终的安全报文发送。SECOC方案通过MAC机制保证了 CAN总线上消息的真实性和完整性。但是,数据域部分仍然是以明文的形式出现,无法保证数据域部分的隐私性;同时,SECOC方案大量占用 CAN报文负载,从而导致总线负载率提升、通信实时性下降,甚至正常功能受到影响。
发明内容
鉴于现有技术存在的上述问题,本申请的目的在于提供一种车载 CAN网络的通信方法及装置,其能够在不增加CAN总线负载的情况下,实现对CAN总线报文数据的加密,保护车辆CAN总线数据隐私。
为了实现上述目的,本申请实施例提供一种车载CAN网络的通信方法,应用于发送方,所述方法包括:
获取车载CAN网络的第一密钥和当前的新鲜值;
将所述第一密钥和所述新鲜值进行拼接,得到拼接结果;
基于所述拼接结果和待发送的CAN数据的数据长度确定第二密钥;
利用所述第二密钥对待发送的所述CAN数据进行加密。
在一些实施例中,基于所述拼接结果和待发送的CAN数据的数据长度确定第二密钥,包括:
对所述拼接结果进行哈希运算,得到哈希值;
根据待发送的所述CAN数据的数据长度,从所述哈希值中截取相应长度的数据作为所述第二密钥。
在一些实施例中,利用所述第二密钥对待发送的所述CAN数据进行加密,包括:
将待发送的所述CAN数据与所述第二密钥进行按位异或,得到CAN 数据密文。
在一些实施例中,所述哈希运算的算法包括SM3算法、MD5算法或者SHA算法,所述哈希值的长度为32字节。
在一些实施例中,所述新鲜值基于帧计数器确定,所述新鲜值包括行程计数器、重置计数器、消息计数器和重置标识。
在一些实施例中,所述车载CAN网络包括主电子控制单元和至少一个从电子控制单元,所述行程计数器、重置计数器和消息计数器均单调递增,所述从电子控制单元的所述行程计数器和所述重置计数器根据所述主电子控制单元的所述行程计数器和所述重置计数器的变化同步更新;所述消息计数器在每个CAN数据报文成功发送时计数并更新;所述重置标识实时同步所述主电子控制单元中的所述重置计数器的计数值。
在一些实施例中,所述新鲜值的长度为8字节,所述行程计数器和所述重置计数器均为3字节。
本申请实施例还提供一种车载CAN网络的通信方法,应用于接收方,所述方法包括:
获取车载CAN网络的第三密钥和当前的新鲜值;
将所述第三密钥和所述新鲜值进行拼接,得到拼接结果;
基于所述拼接结果和所述接收方接收的CAN数据的数据长度确定第四密钥;
利用所述第四密钥对接收的所述CAN数据进行解密。
本申请实施例还提供一种车载CAN网络的通信装置,应用于发送方,包括:
获取模块,其配置为获取车载CAN网络的第一密钥和当前的新鲜值;
拼接模块,其配置为将所述第一密钥和所述新鲜值进行拼接,得到拼接结果;
确定模块,其配置为基于所述拼接结果和待发送的CAN数据的数据长度确定第二密钥;
加密模块,其配置为利用所述第二密钥对待发送的所述CAN数据进行加密。
本申请实施例还提供一种车载CAN网络的通信装置,应用于发送方,包括:
获取模块,其配置为获取车载CAN网络的第三密钥和当前的新鲜值;
拼接模块,其配置为将所述第三密钥和所述新鲜值进行拼接,得到拼接结果;
确定模块,其配置为基于所述拼接结果和所述接收方接收的CAN 数据的数据长度确定第四密钥;
解密模块,其配置为利用所述第四密钥对接收的所述CAN数据进行解密。
与现有技术相比较,本申请实施例提供的车载CAN网络的通信方法及装置,可以在发送方发送CAN数据或接收方接收CAN数据时,基于主密钥和当先的新鲜值得到临时密钥,并通过临时密钥对CAN数据进行加密或解密,由于新鲜值实时动态变化,实际加密或解密的密钥也会随之变化,可以保证CAN数据的安全性。同时,由于临时密钥基于不断更新的新鲜值确定,可以有效防止密钥泄漏,进一步提高数据安全性。此外,本申请实施例中,新鲜值无需与CAN数据进行连接、填充等,可以在不增加CAN总线的数据负载的情况下对原始CAN报文数据进行加密,保证CAN总线的通信性能。
附图说明
在不一定按比例绘制的附图中,相同的附图标记可以在不同的视图中描述相似的部件。具有字母后缀或不同字母后缀的相同附图标记可以表示相似部件的不同实例。附图大体上通过举例而不是限制的方式示出各种实施例,并且与说明书一起用于对所申请的实施例进行说明。在适当的时候,在所有附图中使用相同的附图标记指代同一或相似的部分。这样的实施例是例证性的,而并非旨在作为本装置或方法的穷尽或排他实施例。
图1为本申请实施例的车载CAN网络的通信方法的流程图;
图2为本申请实施例的新鲜值的结构示意图;
图3为本申请实施例的新鲜值管理的框图;
图4为本申请实施例的另一车载CAN网络的通信方法的流程图;
图5为本申请实施例的车载CAN网络的通信装置的结构示意图;
图6为本申请实施例的另一车载CAN网络的通信装置的结构示意图。
具体实施方式
下面,结合附图对本申请的具体实施例进行详细的描述,但不作为本申请的限定。
应理解的是,可以对此处公开的实施例做出各种修改。因此,上述说明书不应该视为限制,而仅是作为实施例的范例。本领域的技术人员将想到在本申请的范围和精神内的其他修改。
包含在说明书中并构成说明书的一部分的附图示出了本申请的实施例,并且与上面给出的对本申请的大致描述以及下面给出的对实施例的详细描述一起用于解释本申请的原理。
通过下面参照附图对给定为非限制性实例的实施例的优选形式的描述,本申请的这些和其它特征将会变得显而易见。
还应当理解,尽管已经参照一些具体实例对本申请进行了描述,但本领域技术人员能够确定地实现本申请的很多其它等效形式,它们具有如权利要求所述的特征并因此都位于借此所限定的保护范围内。
当结合附图时,鉴于以下详细说明,本申请的上述和其他方面、特征和优势将变得更为显而易见。
此后参照附图描述本申请的具体实施例;然而,应当理解,所公开的实施例仅仅是本申请的实例,其可采用多种方式实施。熟知和/或重复的功能和结构并未详细描述以避免不必要或多余的细节使得本申请模糊不清。因此,本文所公开的具体的结构性和功能性细节并非意在限定,而是仅仅作为权利要求的基础和代表性基础用于教导本领域技术人员以实质上任意合适的详细结构多样地使用本申请。
图1为本申请实施例的车载CAN网络的通信方法的流程图。如图1 所示,本申请实施例提供了一种车载CAN网络的通信方法,应用于车辆CAN数据的发送方,发送方为车辆的电子控制单元(electronic control unit,ECU),车辆中可以设置多个电子控制单元,不同的电子控制单元通过CAN总线连接,构成车载CAN网络,各电子控制单元之间通过CAN总线进行点对点的数据信息传输和交换。CAN数据是指车辆CAN总线上的网络通信数据,可以包括多个CAN报文数据,CAN报文数据可以在发送方和接收方之间进行传输。本申请实施例中,发送方可以为主电子控制单元也可以为从电子控制单元,具体不作限定。车载CAN网络中,电子控制单元包括主电子控制单元(Master ECU)和与主电子控制单元通过总线连接的至少一个从电子控制单元(Slave ECU)。
所述车载CAN网络的通信方法包括如下步骤:
步骤S101:获取所述车载CAN网络的第一密钥和当前的新鲜值。
具体地,在发送方发送CAN数据之前,获取所述车载CAN网络的第一密钥和当前的新鲜值。
其中,第一密钥为车辆的主密钥,预先确定并保存。整车厂商可以在车辆下线配置程序时静态分配主密钥,也可以使用云端服务器动态地给车辆分配主密钥。即发送方可以直接获取第一密钥,也可以向云端服务器请求获取第一密钥,云端服务器接收到密钥请求后,向车辆的发送方ECU发送该第一密钥。
在一些实施例中,所有的电子控制单元之间进行通信时可以采用相同的第一密钥,即发送方与不同的接收方之间可以采用同一第一密钥。在另一些实施例中,不同的电子控制单元之间进行通信时采用不同的第一密钥,即发送方与不同的接收方之间采用不同的第一密钥,发送方与第一接收方之间通过第一密钥进行数据加密传输,发送方与第二接收方之间通过另一个第一密钥进行数据加密传输。具体实施中,只要发送方与接收方之间使用的第一密钥对应,以用于数据加密、解密即可。
可以理解的是,对于同一个电子控制单元,可以发送CAN数据,也可以CAN数据,并且,可以同时向多个电子控制单元发送CAN数据或者同时接收多个电子控制单元发送的CAN数据。
新鲜值(又称新鲜度值)是根据一定逻辑不断更新的数值,可以降低车辆CAN网络受到重复攻击的风险。新鲜值可以存储于电子控制单元,也可以存储于车辆的存储器中,以便发送方使用时及时调用。本申请实施例中,当前的新鲜值是指发送方准备发送CAN数据时,由电子控制单元和车辆CAN总线构成的车辆CAN网络的当前新鲜值。
步骤S102:将所述第一密钥和所述新鲜值进行拼接,得到拼接结果。
具体地,可以将第一密钥和新鲜值拼接组成一个任意长度的字符串。
步骤S103:基于所述拼接结果和待发送的CAN数据的数据长度确定第二密钥。
步骤S103中,基于所述拼接结果和待发送的CAN数据的数据长度确定第二密钥,具体包括:
步骤S1031:对所述拼接结果进行哈希运算,得到哈希值;
具体地,可以采用SM3算法、MD5算法或者SHA算法等对所述拼接结果进行哈希运算,得到哈希值。哈希算法是一种输入任意位长的消息并输出固定位长的哈希值的算法。本申请实施例中,可以将不同数据长度的拼接结果输出为统一数据长度的哈希值,哈希值的长度可以为32字节。本步骤中,利用哈希算法的不可逆性,可以防止主密钥泄漏,同时,保证新鲜值的非重复使用性。
步骤S1032:根据待发送的所述CAN数据的数据长度,从所述哈希值中截取相应长度的数据作为所述第二密钥。
具体地,可以从所述哈希值的头部开始截取相应长度的数据作为所述第二密钥,也可以从所述哈希值的其他任意部位(例如尾部或中部)开始截取。从头部截取,操作方便,且能够截取到与CAN数据的数据长度相同的数据作为第二密钥。
本申请中,由于待发送的CAN数据的数据长度的最大值为8字节 (64bit),因此,将哈希值设置为32字节,可以保证能够截取哈希值中与CAN数据的数据长度相同的数据作为第二密钥。
步骤S104:利用所述第二密钥对待发送的所述CAN数据进行加密。
在得到第二密钥后,可以利用该第二密钥和加密算法对待发送的 CAN数据进行加密。
具体地,步骤S104包括:
将待发送的所述CAN数据与所述第二密钥进行按位异或,得到CAN 数据密文。
由于待发送的CAN数据与所述第二密钥的数据长度相同,因此,采用按位异或的方式可以进行快速加密,从而提高通信传输效率。
本申请实施例提供的应用于发送方的车载CAN网络的通信方法,可以在发送方发送CAN数据时,基于主密钥和当先的新鲜值得到临时密钥,并通过临时密钥对CAN数据进行加密,由于新鲜值实时动态变化,实际加密的密钥也会随之变化,可以保证CAN数据的安全性。同时,由于临时密钥基于不断更新的新鲜值确定,可以有效防止密钥泄漏,进一步提高数据安全性。此外,本申请实施例中,新鲜值无需与CAN数据进行连接、填充等,可以在不增加CAN总线的数据负载的情况下对原始CAN报文数据进行加密,保证CAN总线的通信性能。
由于第二密钥基于不断更新的新鲜值确定,因此,新鲜值的管理对CAN总线数据的保护尤其重要。新鲜值可以基于时间戳(整车各节点统一的时钟)或帧计数器确定。本实施例中,新鲜值基于帧计数器确定,即在每个发送方ECU或接收方ECU中,均设有专用的本地帧计数器以用于跟踪CAN数据传输事件。该帧计数器只会在每个CAN报文数据成功发送或接收时计数,避免了时间同步上的问题。当出现CAN 报文数据错误或丢失情况时,ECU可以通过帧计数器重新同步来恢复正常工作。
本实施例中,车辆通信系统中通过主电子控制单元(Master ECU) 作为管理节点对新鲜值进行统一更新管理,从电子控制单元(Slave ECU)作为从动节点负责接收同步更新的新鲜值。新鲜值为随着CAN数据的发送而单调递增的计数值,以确保后续每次加密使用的新鲜值不同。新鲜值可以基于全局计时器广播生成或行程计数器生成等,本申请实施例不作具体限定。同时,新鲜值可以在一定的周期内进行循环,即一个周期内CAN数据对应不同的新鲜值,一个周期结束后,新鲜值可以被重置,例如周期可以设置为24小时。
图2为本申请实施例的新鲜值的结构示意图。如图2所示,新鲜值包括行程计数器(Trip Counter)、重置计数器(Reset Counter)、消息计数器(Message Counter)和重置标识(Reset Flag),新鲜值的长度为8字节。
其中,行程计数器(Trip Counter)为单调递增计数器,初始值为0,在上电、唤醒等操作时自增,当行程计数器自增时,重置计数器 (Reset Counter)清零;主电子控制单元(Master ECU)将一个新的行程计数器和重置计数器放到同步消息中发送给从电子控制单元(Slave ECU),所有从电子控制单元(Slave ECU)均保存行程计数器和重置计数器。每一次自增后都将当前计数值保存。图3为本申请实施例的新鲜值管理的框图。如图3所示,行程计数器和重置计数器由主电子控制单元周期性广播到各从电子控制单元。
进一步地,行程计数器的计数值优选为3字节(24bit),在内存中的存储形式为0XFFFFFF(16进制中),将其转化为十进制为16777215,车辆的使用寿命按30年计算,16777215/30/365=1532。即平均每天可重复上电1532次,30年后才会出现溢出。本申请的行程计数器可以有效抵御重放攻击,行程计数器溢出后,便不能够有效抵御重放攻击。重置计数器溢出时,行程计数器的计数值+1。
重置计数器(Reset Counter)单调递增,重置计数器可根据车辆的实际场景设置不同的周期,周期单调递增(即Reset Counter+1);当重置计数器自增时,消息计数器清零;主电子控制单元将当前最新的行程计数器和重置计数器作为同步消息发送给从电子控制单元,所有从电子控制单元均保存行程计数器和重置计数器。
进一步地,重置计数器的计数值优选为3字节(24bit),在内存中的存储形式为0XFFFFFF(16进制中),将其转化为十进制为16777215, CAN总线上最快10MS一帧报文发出,可以将重置计数器的递增周期设置为200ms,即每秒钟会递增5次,每天递增5*60*60*24=432000次。 16777215/432000=38.8。即在不下电的情况下,重置计数器在第38 天后会发生溢出,溢出后将不再能够抵御重放攻击。重置计数器的递增周期可以根据CAN报文数据的实际传输速率设置,本申请不具体限定。
消息计数器(Message Counter)单调递增,发送ECU每发送一次报文数据帧,发送ECU的计数值加一(即Message Counter+1),截取消息计数器的低位(Message CntLower),作为新鲜值部分组包到CAN 总线报文帧中(Secured I-PDU)。接收ECU接收到成功验证一条指令后同样执行计数值加一的操作。通过消息计数器可以对发送方发送的 CAN报文数据帧或发送方接收的CAN报文数据帧进行可靠统计。将新鲜值加入CAN总线报文帧中可以判断传输的CAN数据的新鲜性。
进一步地,消息计数器优选为14bit,高位10bit不出现在消息体中,低位4bit出现在消息体中,保证在一次重置周期内,消息计数器不会出现溢出,以抵御重放攻击。
重置标识(Reset Flag)实时同步来自主电子控制单元中的重置计数器的计数值,取重置计数器的低2位,作为新鲜值部分组包到CAN 总线报文帧中。
本申请实施例中,通过构建8字节的新鲜值,并与第一密钥拼接,在CAN数据的数据长度较小时,可以保证能够得到大于8字节的哈希值,以便截取得到第二密钥。
图4为本申请实施例提供的另一车载CAN网络的通信方法的流程图。基于上述应用于发送方的车载CAN网络的通信方法,本申请实施例提供一种车载CAN网络的通信方法,应用于接收方,所述方法包括以下步骤:
步骤S401:获取车载CAN网络的第三密钥和当前的新鲜值。
其中,第三密钥为与发送方的第一密钥相匹配的主密钥,以便于接收方对发送方发送的加密后的CAN数据进行解密。
第三密钥可以直接存储于接收方ECU,以便接收方直接调用;第三密钥也可以存储于发送方,发送方将加密后的CAN数据发送至接收方时,可以将与第一密钥匹配的第三密钥一起发送至接收方;接收方ECU 也可以向云端服务器发送密钥请求,以获得第三密钥。第三密钥与第一密钥可以为对称密钥,也可以为非对称密钥。
当前的新鲜值为接收方接收CAN数据时,车载CAN网络的当前新鲜值。
在一些实施例中,由于加密时的第二密钥基于新鲜值确定,因此接收方在解密过程中还需要得到发送方发送CAN数据时的新鲜值。即当前的新鲜值可以为接收方接收加密后的CAN数据时,从发送方获取的该CAN数据加密时所使用的新鲜值。
步骤S402:将所述第三密钥和所述新鲜值进行拼接,得到拼接结果。
具体地,可以将第三密钥和新鲜值拼接组成一个任意长度的字符串。
步骤S403:基于所述拼接结果和所述接收方接收的CAN数据的数据长度确定第四密钥。
接收方接收的CAN数据为经发送方加密后的CAN数据,需要接收方对其进行解密。
步骤S403中,基于所述拼接结果和所述接收方接收的CAN数据的数据长度确定第四密钥,具体包括:
步骤S4031:对所述拼接结果进行哈希运算,得到哈希值;
步骤S4032:根据所述接收的CAN数据的数据长度,从所述哈希值中截取相应长度的数据作为所述第四密钥。
步骤S404:利用所述第四密钥对接收的所述CAN数据进行解密。
在得到第三密钥后,可以利用该第三密钥和解密算法对所述接收的CAN数据进行解密,得到解密后的明文数据。接收方可以采用和发送方相同的加密算法对发送方加密后的数据进行解密。
具体地,步骤S404包括:
将接收的所述CAN数据与所述第四密钥进行按位异或,得到CAN 数据明文。
本申请实施例中,接收方接收的CAN数据的解密过程与发送方发送的CAN数据的加密过程类似,接收方接收发送方发送的CAN数据密文后,通过车载CAN网络的第三密钥和当前的新鲜值派生出接收CAN 数据对应的临时密钥,利用该临时密钥对发送方发送的CAN数据密文进行按位异或操作,得到对应的明文数据,即可实现数据解密,保证 CAN数据的安全性。
图5为本申请实施例的车载CAN网络的通信装置的结构示意图。如图5所示,本申请实施例提供一种车载CAN网络的通信装置,应用于发送方,该车载CAN网络的通信装置包括:
获取模块501,其配置为获取车载CAN网络的第一密钥和当前的新鲜值;
拼接模块502,其配置为将所述第一密钥和所述新鲜值进行拼接,得到拼接结果;
确定模块203,其配置为基于所述拼接结果和待发送的CAN数据的数据长度确定第二密钥;
加密模块504,其配置为利用所述第二密钥对待发送的所述CAN数据进行加密。
发送方为车载CAN网络中的电子控制单元(ECU),可以根据主密钥和当前的新鲜值得到临时密钥,并利用临时密钥对CAN报文数据进行加密得到安全报文,然后再将安全报文发送到CAN总线上,通过CAN 总线发送至接收方。
该车载CAN网络的通信装置对应于上述实施例的应用于发送方的车载CAN网络的通信方法,车载CAN网络的通信方法实施例中的任何可选项也适用于本实施例,这里不再详述。
图6为本申请实施例的另一车载CAN网络的通信装置的结构示意图。如图6所示,本申请实施例提供一种车载CAN网络的通信装置,应用于接收方,该车载CAN网络的通信装置包括:
获取模块601,其配置为获取车载CAN网络的第三密钥和当前的新鲜值;
拼接模块602,其配置为将所述第三密钥和所述新鲜值进行拼接,得到拼接结果;
确定模块603,其配置为基于所述拼接结果和所述接收方接收的 CAN数据的数据长度确定第四密钥;
解密模块604,其配置为利用所述第四密钥对接收的所述CAN数据进行解密。
接收方为车载CAN网络中的电子控制单元(ECU),可以通过CAN 总线接收发送方发送的加密后的CAN数据密文,并根据车载CAN网络的主密钥和当前的新鲜值得到临时密钥,利用临时密钥对接收的CAN 数据密文进行解密得到明文数据。
该车载CAN网络的通信装置对应于上述实施例的应用于接收方的车载CAN网络的通信方法,车载CAN网络的通信方法实施例中的任何可选项也适用于本实施例,这里不再详述。
本申请实施例还提供了一种车辆,该车辆包括上述的发送方和接收方,其中,发送方和接收方为车辆的不同电子控制单元,用于实现不同电子控制单元之间的通信。
本申请实施例的电子控制单元包括存储器和处理器,存储器用于存储可执行程序代码;处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,以用于执行上述的车载CAN 网络的通信方法。
在一些实施例中,处理器可以是包括一个以上通用处理设备的处理设备,诸如微处理器、中央处理单元(CPU)、图形处理单元(GPU) 等。更具体地,该处理器可以是复杂指令集计算(CISC)微处理器、精简指令集计算(RISC)微处理器、超长指令字(VLIW)微处理器、运行其他指令集的处理器或运行指令集的组合的处理器。该处理器还可以是一个以上专用处理设备,诸如专用集成电路(ASIC)、现场可编程门阵列(FPGA)、数字信号处理器(DSP)、片上系统(SoC)等。
存储器为计算机可读介质,在该计算机可读介质上可嵌入可执行程序代码(例如用于实施本申请的方法的软件),以执行上述的车载CAN 网络的通信方法。
存储器还可以存储密钥、CAN数据以及新鲜值等,新鲜值可以为旧的新鲜值和当前新的新鲜值。存储器可以为易失性存储器(例如,随机存取存储器(random-access memory,RAM),其可包括易失性RAM、磁性RAM、铁电RAM以及任何其他适合的形式),也可以为非易失性存储器(例如,磁盘存储器、闪速存储器、可擦除可编程只读存储器 (erasableprogrammable read-only memory,EPROM)、电可擦除可编程只读存储器(electricallyerasable programmable read-only memory,EEPROM)、基于忆阻器的非易失性固态存储器等)。
本申请实施例中,存储器优选为非易失性存储器,以防止新鲜值丢失;且电子控制单元中设置专门的安全存储器,安全地存储新鲜值。密钥、CAN数据可以存储于该安全存储器中,也可以存储于独立的存储器中。
以上实施例仅为本申请的示例性实施例,不用于限制本申请,本申请的保护范围由权利要求书限定。本领域技术人员可以在本申请的实质和保护范围内,对本申请做出各种修改或等同替换,这种修改或等同替换也应视为落在本申请的保护范围内。
Claims (9)
1.一种车载CAN网络的通信方法,应用于发送方,其特征在于,所述方法包括:
获取车载CAN网络的第一密钥和当前的新鲜值;
将所述第一密钥和所述新鲜值进行拼接,得到拼接结果;
基于所述拼接结果和待发送的CAN数据的数据长度确定第二密钥;
利用所述第二密钥对待发送的所述CAN数据进行加密;
其中,基于所述拼接结果和待发送的CAN数据的数据长度确定第二密钥,包括:
对所述拼接结果进行哈希运算,得到哈希值;
根据待发送的所述CAN数据的数据长度,从所述哈希值中截取相应长度的数据作为所述第二密钥。
2.根据权利要求1所述的方法,其特征在于,利用所述第二密钥对待发送的所述CAN数据进行加密,包括:
将待发送的所述CAN数据与所述第二密钥进行按位异或,得到CAN数据密文。
3.根据权利要求1所述的方法,其特征在于,所述哈希运算的算法包括SM3算法、MD5算法或者SHA算法,所述哈希值的长度为32字节。
4.根据权利要求1所述的方法,其特征在于,所述新鲜值基于帧计数器确定,所述新鲜值包括行程计数器、重置计数器、消息计数器和重置标识。
5.根据权利要求4所述的方法,其特征在于,所述车载CAN网络包括主电子控制单元和至少一个从电子控制单元,所述行程计数器、重置计数器和消息计数器均单调递增,所述从电子控制单元的所述行程计数器和所述重置计数器根据所述主电子控制单元的所述行程计数器和所述重置计数器的变化同步更新;所述消息计数器在每个CAN数据报文成功发送时计数并更新;所述重置标识实时同步所述主电子控制单元中的所述重置计数器的计数值。
6.根据权利要求5所述的方法,其特征在于,所述新鲜值的长度为8字节,所述行程计数器和所述重置计数器均为3字节。
7.一种车载CAN网络的通信方法,应用于接收方,其特征在于,所述方法包括:
获取车载CAN网络的第三密钥和当前的新鲜值;
将所述第三密钥和所述新鲜值进行拼接,得到拼接结果;
基于所述拼接结果和所述接收方接收的CAN数据的数据长度确定第四密钥;
利用所述第四密钥对接收的所述CAN数据进行解密;
其中,基于所述拼接结果和所述接收方接收的CAN数据的数据长度确定第四密钥,包括:
对所述拼接结果进行哈希运算,得到哈希值;
根据接收的所述CAN数据的数据长度,从所述哈希值中截取相应长度的数据作为所述第四密钥。
8.一种车载CAN网络的通信装置,应用于发送方,其特征在于,包括:
获取模块,其配置为获取车载CAN网络的第一密钥和当前的新鲜值;
拼接模块,其配置为将所述第一密钥和所述新鲜值进行拼接,得到拼接结果;
确定模块,其配置为基于所述拼接结果和待发送的CAN数据的数据长度确定第二密钥;
加密模块,其配置为利用所述第二密钥对待发送的所述CAN数据进行加密;
其中,基于所述拼接结果和待发送的CAN数据的数据长度确定第二密钥,包括:
对所述拼接结果进行哈希运算,得到哈希值;
根据待发送的所述CAN数据的数据长度,从所述哈希值中截取相应长度的数据作为所述第二密钥。
9.一种车载CAN网络的通信装置,应用于接收方,其特征在于,包括:
获取模块,其配置为获取车载CAN网络的第三密钥和当前的新鲜值;
拼接模块,其配置为将所述第三密钥和所述新鲜值进行拼接,得到拼接结果;
确定模块,其配置为基于所述拼接结果和所述接收方接收的CAN数据的数据长度确定第四密钥;
解密模块,其配置为利用所述第四密钥对接收的所述CAN数据进行解密;
其中,基于所述拼接结果和所述接收方接收的CAN数据的数据长度确定第四密钥,包括:
对所述拼接结果进行哈希运算,得到哈希值;
根据接收的所述CAN数据的数据长度,从所述哈希值中截取相应长度的数据作为所述第四密钥。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011535537.XA CN112688845B (zh) | 2020-12-23 | 2020-12-23 | 车载can网络的通信方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011535537.XA CN112688845B (zh) | 2020-12-23 | 2020-12-23 | 车载can网络的通信方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112688845A CN112688845A (zh) | 2021-04-20 |
CN112688845B true CN112688845B (zh) | 2022-08-05 |
Family
ID=75450984
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011535537.XA Active CN112688845B (zh) | 2020-12-23 | 2020-12-23 | 车载can网络的通信方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112688845B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113541955B (zh) * | 2021-06-03 | 2024-07-02 | 国电南瑞科技股份有限公司 | 一种安控系统2m通信的加密方法及装置 |
CN113472620A (zh) * | 2021-06-23 | 2021-10-01 | 重庆长安汽车股份有限公司 | 一种车内消息认证新鲜值的管理方法及系统 |
WO2023272488A1 (zh) * | 2021-06-29 | 2023-01-05 | 华为技术有限公司 | 数据传输的方法和通信装置 |
CN114142998B (zh) * | 2021-11-26 | 2024-03-15 | 北京神经元网络技术有限公司 | 一种数据加密处理方法、装置、电子设备及存储介质 |
CN114760096B (zh) * | 2022-03-11 | 2024-07-26 | 延锋伟世通电子科技(上海)有限公司 | 网络通讯加密策略mac实现方法、系统、发送端及接收端 |
CN115277219A (zh) * | 2022-07-29 | 2022-11-01 | 中国第一汽车股份有限公司 | 消息加密方法、解密方法、装置及存储介质 |
CN115396190A (zh) * | 2022-08-24 | 2022-11-25 | 北京天融信网络安全技术有限公司 | 一种数据加密的方法、解密方法及装置 |
CN115664887B (zh) * | 2022-10-20 | 2024-08-23 | 东风汽车股份有限公司 | 一种整车can总线负载率计算方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106533697A (zh) * | 2016-12-06 | 2017-03-22 | 上海交通大学 | 随机数生成与提取方法及其在身份认证上的应用 |
CN106603485A (zh) * | 2016-10-31 | 2017-04-26 | 美的智慧家居科技有限公司 | 密钥协商方法及装置 |
CN107480986A (zh) * | 2017-08-14 | 2017-12-15 | 飞天诚信科技股份有限公司 | 一种利用硬件实现数字货币钱包的方法及硬件钱包 |
CN110120869A (zh) * | 2019-03-27 | 2019-08-13 | 上海隔镜信息科技有限公司 | 密钥管理系统及密钥服务节点 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104852904B (zh) * | 2015-04-16 | 2019-03-12 | 国家电网公司 | 一种基于手机app应用和加密短信息的服务器远程重启方法 |
US10630481B2 (en) * | 2016-11-07 | 2020-04-21 | Ford Global Technologies, Llc | Controller area network message authentication |
CN106411513B (zh) * | 2016-12-02 | 2019-10-18 | 美的智慧家居科技有限公司 | 局域网通信中密钥协商方法及装置 |
US10791125B2 (en) * | 2018-01-03 | 2020-09-29 | Ford Global Technologies, Llc | End-to-end controller protection and message authentication |
CN109754322A (zh) * | 2018-12-27 | 2019-05-14 | 石更箭数据科技(上海)有限公司 | 一种数据服务系统 |
DE102019204608B3 (de) * | 2019-04-01 | 2020-08-27 | Conti Temic Microelectronic Gmbh | Vorrichtungen und Verfahren zum Erzeugen und zur Authentisierungsprüfung mindestens eines in einem Bus-System (BU) eines Kraftfahrzeugs zu übertragenden Datenpakets |
CN110635898A (zh) * | 2019-08-30 | 2019-12-31 | 深圳壹账通智能科技有限公司 | 加密方法及加密系统 |
CN110933110A (zh) * | 2019-12-17 | 2020-03-27 | 东软集团股份有限公司 | 一种车载网络的通信方法、发送端、接收端与车辆 |
CN113132082A (zh) * | 2020-01-10 | 2021-07-16 | 华为技术有限公司 | 一种基于车内网的通信方法及装置 |
-
2020
- 2020-12-23 CN CN202011535537.XA patent/CN112688845B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106603485A (zh) * | 2016-10-31 | 2017-04-26 | 美的智慧家居科技有限公司 | 密钥协商方法及装置 |
CN106533697A (zh) * | 2016-12-06 | 2017-03-22 | 上海交通大学 | 随机数生成与提取方法及其在身份认证上的应用 |
CN107480986A (zh) * | 2017-08-14 | 2017-12-15 | 飞天诚信科技股份有限公司 | 一种利用硬件实现数字货币钱包的方法及硬件钱包 |
CN110120869A (zh) * | 2019-03-27 | 2019-08-13 | 上海隔镜信息科技有限公司 | 密钥管理系统及密钥服务节点 |
Non-Patent Citations (3)
Title |
---|
Identification of inland fresh water wetland using SAR and ETM+ data;Renzong Ruan;《2007 IEEE International Geoscience and Remote Sensing Symposium》;20080107;全文 * |
基于多路密钥协商的物联网安全通信方法;谢婉娟;《计算机与现代化》;20150215(第02期);全文 * |
蓝牙安全中链接密钥改进的一种新机制;任秀丽等;《东北大学学报(自然科学版)》;20030530(第05期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112688845A (zh) | 2021-04-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112688845B (zh) | 车载can网络的通信方法及装置 | |
CN108075897B (zh) | 控制器局域网消息认证 | |
EP2775660B1 (en) | Message authentication method in communication system and communication system | |
US10735435B2 (en) | Communication system, management node, normal node, counter synchronization method, and storage medium | |
CN109600350B (zh) | 用于车辆网络中的控制器间的安全通信的系统和方法 | |
EP3451577B1 (en) | Computing device, authentication system, and authentication method | |
CN112865977B (zh) | 通信系统及通信方法 | |
US11539518B2 (en) | Time-based encryption key derivation | |
KR102450811B1 (ko) | 차량 내부 네트워크의 키 관리 시스템 | |
CN112910650B (zh) | 经认证加密和解密的方法和系统 | |
CN112600838B (zh) | 一种can总线数据的加密方法、装置、存储介质及电子设备 | |
US12021999B2 (en) | Devices and methods for the generating and authentication of at least one data packet to be transmitted in a bus system (BU), in particular of a motor vehicle | |
CN115277219A (zh) | 消息加密方法、解密方法、装置及存储介质 | |
Bittl | Attack potential and efficient security enhancement of automotive bus networks using short MACs with rapid key change | |
CA3127711A1 (en) | Systems, methods and controllers for secure communications | |
CN113489589A (zh) | 数据加密、解密方法、装置及电子设备 | |
KR101705639B1 (ko) | 차량 네트워크 시스템에서의 메시지 송수신 방법 | |
WO2018040605A1 (zh) | 数据处理方法、装置及计算机存储介质 | |
CN112152790A (zh) | 一种数据加密方法、解密方法、加密装置和解密装置 | |
CN115834210A (zh) | 一种量子安全网络数据的发送、接收方法及通信系统 | |
CN113132092B (zh) | 通信方法和电子设备 | |
CN112740726B (zh) | 一种数据传输方法及装置 | |
CN113285956B (zh) | 一种控制器局域网络总线加密方法、装置、设备及介质 | |
CN117155592A (zh) | 数据加密方法、装置、存储介质及电子设备 | |
US9710499B2 (en) | Method for detecting the playback of a data packet |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |