基于汽车CAN-FD网络的信息安全通信方法、装置和计算机设备

文档序号:31293844发布日期:2022-08-27 03:44阅读:136来源:国知局
基于汽车CAN-FD网络的信息安全通信方法、装置和计算机设备
基于汽车can-fd网络的信息安全通信方法、装置和计算机设备
技术领域
1.本发明涉及信息安全技术领域,特别涉及一种基于汽车can-fd网络的信息安全通信方法、装置和计算机设备。


背景技术:

2.随着现代通信和网络技术的发展(如4g/5g),大量自动驾驶应用被应用到智能汽车中。这使得传统的can网络不能满足这种高数据量的要求,具有高带宽和灵活数据速率的can-fd应运而生。同时,为了提供舒适便捷的乘车体验,外部智能设备都能连接到can-fd网络上,而can-fd网络无任何安全保护措施,很容易遭受各种网络攻击(窃听、篡改、dos攻击等),从而威胁到驾驶员和乘客的安全甚至生命安全。


技术实现要素:

3.本发明提供了一种基于汽车can-fd网络的信息安全通信方法、装置和计算机设备,提供全面的信息安全设计,包括智能网联汽车节点身份认证,确保机密性、完整性以及可用性的安全通信。
4.本发明提供了一种基于汽车can-fd网络的信息安全通信方法,包括:
5.在汽车启动后,从ecua向主ecu发送请求消息,其中,所述请求消息包括采用从ecua的授权密钥加密发送消息的消息流id;
6.主ecu采用从ecua的授权密钥解密所述请求消息,得到目标消息流id,并根据访问控制列表验证所述目标消息流id的合法性;
7.当所述目标消息流id合法时,主ecu生成授权信息并将所述授权信息发送给所述从ecua和从ecub;其中,所述授权信息包括从ecua的授权密钥和从ecub的授权密钥加密的流密钥;
8.所述从ecua采用流密钥加密所述发送消息,得到第一加密结果并将第一加密结果发送给所述从ecub;
9.所述从ecub接收所述第一加密结果,采用流密钥解密所述第一加密结果,得到第一解密结果;
10.当所述第一加密结果和所述第一解密结果比对成功后,完成汽车can-fd网络的信息安全通信。
11.进一步地,所述在汽车启动后,从ecua向主ecu发送请求消息,其中,所述请求消息包括采用从ecua的授权密钥加密发送消息的消息流id的步骤之前,还包括:
12.在汽车启动前,主ecu广播第一数字证书给can-fd域内所有的从ecu;其中,所述第一数字证书包括主ecu公钥和第一标识符;
13.所述从ecu向所述主ecu发送注册信息;其中,所述注册信息包括所述从ecu采用所述主ecu公钥加密形成的当前从ecu的授权密钥的密文、对所述授权密钥的数字签名、第二
数字证书,第二数字证书包括从ecu公钥和第二标识符;
14.所述主ecu采用主ecu私钥解密当前采用主ecu公钥加密的从ecu的授权密钥,得到第二解密结果,并产生第二解密结果的hash值,所述主ecu采用所述从ecu公钥解密所述数字签名,得到第三解密结果;
15.当所述第二解密结果的hash值与所述第三解密结果相等时,所述主ecu向所述从ecu发送确认信息;其中所述确认信息包括所述从ecu的授权密钥加密的所述第一标识符和所述第二标识符;
16.所述从ecu接收所述确认信息,并采用其授权密钥解密所述确认信息,完成can-fd网络的ecu身份认证。
17.进一步地,所述从ecua采用流密钥加密所述发送消息,得到第一加密结果并将第一加密结果发送给所述从ecub的步骤,包括:
18.所述从ecua采用从ecua的授权密钥解密所述授权消息,得到第一流密钥;
19.采用第一流密钥加密所述发送消息得到加密消息,并生成所述加密消息的第一hmac值;其中,所述加密消息和所述第一hmac值组成所述第一加密结果;
20.将所述第一加密结果发送给所述从ecub。
21.进一步地,所述从ecub接收所述第一加密结果,采用流密钥解密所述第一加密结果,得到第一解密结果的步骤,包括:
22.所述从ecub采用从ecub的授权密钥解密所述授权消息,得到第二流密钥;其中,第一流密钥和第二流密钥是同一个对称密钥;
23.所述从ecub接收所述第一加密结果,采用第二流密钥解密所述第一加密结果中的密文消息得到消息明文,并采用hmac算法计算第一加密结果中的加密消息得到第二hmac值;其中,所述明文消息和所述第二hmac值组成所述第一解密结果。
24.进一步地,所述主ecu采用主ecu私钥解密当前采用主ecu公钥加密的从ecu的授权密钥,得到第二解密结果,并产生第二解密结果的hash值,所述主ecu采用所述从ecu公钥解密所述数字签名,得到第三解密结果的步骤,包括:
25.所述主ecu采用主ecu私钥解密当前采用主ecu公钥加密授权密钥密文,得到明文形式的授权密钥,所述明文形式的授权密钥即为第二解密结果;
26.对所述明文形式的授权密钥进行hash计算得到第一hash值,所述第一hash值即为第二解密结果的hash值;
27.所述主ecu采用所述从ecu公钥解密所述数字签名,得到所述数字签名中当前从ecu的授权密钥的hash值,记为第二hash值,所述第二hash值即为第三解密结果。
28.进一步地,所述ecu发送消息时,采用can-fd消息分片机制,所述can-fd消息分片机制包括单帧格式发送数据和多帧格式发送数据;
29.所述单帧格式发送数据包括:字节1的高4位为单帧标识符,字节1的低4位为单帧中额外发送的填充数据的大小,字节2到字节64为实际发送的数据;
30.所述多帧格式发送数据包括首帧和连续帧,首帧字节1的高4位为首帧标识符,首帧字节1的低4位表示连续帧的数目,连续帧字节1的高4位为连续帧标识符,连续帧字节1的低4位为连续帧索引,连续帧字节2到字节64为实际发送的数据。
31.进一步地,所述请求消息、授权消息和加密消息均包括唯一的随机数和时间戳。
32.本发明还提供了一种基于汽车can-fd网络的信息安全通信装置,包括:
33.第一发送模块,用于在汽车启动后,从ecua向主ecu发送请求消息,其中,所述请求消息包括采用从ecua的授权密钥加密发送消息的消息流id;
34.第一解密模块,用于主ecu采用从ecua的授权密钥解密所述请求消息,得到目标消息流id,并根据访问控制列表验证所述目标消息流id的合法性;
35.第二发送模块,用于当所述目标消息流id合法时,主ecu生成授权信息并将所述授权信息发送给所述从ecua和从ecub;其中,所述授权信息包括从ecua的授权密钥和从ecub的授权密钥加密的流密钥;
36.加密模块,用于所述从ecua采用流密钥加密所述发送消息,得到第一加密结果并将第一加密结果发送给所述从ecub;
37.第二解密模块,用于所述从ecub接收所述第一加密结果,采用流密钥解密所述第一加密结果,得到第一解密结果;
38.比对模块,用于当所述第一加密结果和所述第一解密结果比对成功后,完成汽车can-fd网络的信息安全通信。
39.本发明还提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。
40.本发明还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述方法的步骤。
41.本发明的有益效果为:
42.1.安全全面性,采用流密钥加密消息确保了消息的机密性,hmac确保了消息的完整性,随机数和时间戳机制确保了消息的可用性,体现全面的信息安全。
43.2.利用数字证书、数字签名、非对称加密算法、对称加密算法实现智能网联汽车节点的身份认证;利用对称加密算法、随机数和时间戳机制以及hmac算法实现轻量级的全面的安全通信。
44.3.本发明中的所使用的所有非对称加密算法、对称加密算法以及hash算法均可以自由选择不同种类的密码学算法,不受设计影响。
附图说明
45.图1为本发明一实施例的ecu身份认证流程示意图。
46.图2为本发明一实施例的授权通信流程示意图。
47.图3为本发明一实施例的can-fd网络架构示意图。
48.图4为本发明一实施例的装置结构示意图。
49.图5为本发明一实施例的计算机设备内部结构示意图。
50.本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
51.应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
52.如图2所示,本发明提供了一种基于汽车can-fd网络的信息安全通信方法,包括:
53.s1、在汽车启动后,从ecua向主ecu发送请求消息,其中,所述请求消息包括采用从
ecua的授权密钥加密发送消息的消息流id;
54.s2、主ecu采用从ecua的授权密钥解密所述请求消息,得到目标消息流id,并根据访问控制列表验证所述目标消息流id的合法性;
55.s3、当所述目标消息流id合法时,主ecu生成授权信息并将所述授权信息发送给所述从ecua和从ecub;其中,所述授权信息包括从ecua的授权密钥和从ecub的授权密钥加密的流密钥;
56.s4、所述从ecua采用流密钥加密所述发送消息,得到第一加密结果并将第一加密结果发送给所述从ecub;
57.s5、所述从ecub接收所述第一加密结果,采用流密钥解密所述第一加密结果,得到第一解密结果;
58.s6、当所述第一加密结果和所述第一解密结果比对成功后,完成汽车can-fd网络的信息安全通信。
59.如上述步骤s1-s6所述,为了确保can-fd网络中ecu身份的真实性和can-fd消息全面的安全性,本发明为can-fd网络提供ecu身份认证和安全通信框架。ecu身份认证发生在车辆正式使用之前,用于can-fd网络中各节点的身份合法性,同时为后续授权过程共享对称密钥。授权通信发生在车辆启动后,主要是完成ecu合法通信的授权,即共享ecu合法通信的对称密钥。
60.参照图2,图2即为在车辆启动后授权通信的流程示意图,包括三个过程,分别是从ecua请求、主ecu授权、从ecua和从ecub通信。从ecua和从ecub为示意的两个需要通信的从ecu,从ecua请求是指当从ecua有消息要发送给从ecub时,向主ecu发送请求信息的过程,请求信息是一个加密的信息,其为采用从ecua的授权密钥加密发送消息的消息流id,消息流id可以指明两个通信ecu(从ecua和从ecub)的id和发送消息的id。请求信息除了上述消息流id以外,还附带了唯一的随机数和时间戳,这种机制有效抵抗了重放攻击、防洪攻击等,确保通信的可用性。
61.主ecu授权是指在收到从ecua请求消息并核对其合法性后,主ecu生成并发送授权信息给两个通信从ecu(从ecua和从ecub)。授权过程是一个解密任务和一个加密任务。解密任务是主ecu采用从ecua的授权密钥解密从ecua的请求消息,以得到消息流id。每个主ecu都有一个访问控制列表来验证消息流id的合法性,如果是合法通信的消息流,主ecu将生成授权消息,如果是非法的消息流,授权将被终止。加密任务是主ecu采用两个从ecu(从ecua和从ecub)的授权密钥分别加密通信密钥(即流密钥),从而形成授权信息。最后,主ecu将授权信息分别发送给两个从ecu(从ecua和从ecub)完成授权。其中,流密钥也是对称密钥,是两个通信从ecu(从ecua和从ecub)共用的密钥。每次通信的流密钥都不相同,流密钥的实时更新有效地防止了密钥被暴力破解的可能。此外,授权消息除了包含通信密钥,还附带了唯一的随机数和时间戳,不同的消息附带的随机数和时间戳均不相同,确保了通信的可用性。
62.主ecu和从ecu通信,在收到主ecu的授权信息后,从ecua采用从ecua的授权密钥解密授权信息获取通信密钥(流密钥)。从ecua采用通信密钥加密要发送的消息,同时生成消息的hmac值(第一hmac值),与加密消息一同发给接收从ecub;从ecub收到从ecua的消息后,采用从ecub的授权密钥解密此消息获取消息明文,并采用hmac算法计算出消息的hmac值(第二hmac值),核对收到的hmac值(第一hmac值)和计算出的新的hmac值(第二hmac值),如
果两者一致,则说明该消息未被篡改,执行消息完成安全通信,否则停止通信。从ecua发送给从ecub的加密消息中,也还附带了唯一的随机数和时间戳,用来确保了通信的可用性。
63.信息安全设计包括机密性、完整性和可用性三个方面,现有的信息安全技术并不够完全,一般只包含了信息安全三方面的其中一种或者两种。汽车除了是安全关键的系统,也是时间关键的系统,部署的安全措施会增加汽车应用的时延,而现有的安全技术还不够轻量级。因此,本发明在授权通信的每个过程还额外加一个未加密的接收端标识符,接收端ecu(从ecub)收到can-fd消息后先识别接收端id,如果是发给自己的,则接收,否则丢弃。此设计使本发明具有轻量级的安全通信。
64.参照图3,图3示出了本发明中can-fd网络架构,包括三个stm32芯片和3个can-fd收发器。本发明采用意法半导体的stm32h743芯片来实现can-fd网络通信。发明中用到的主要芯片以及芯片作用如下:
65.stm32开发板3个:主要相关芯片为stm32h743iit。stm32h743iit芯片采用arm cortex m7内核的处理器,带有本设计的需要用到usart串口控制器和can控制器等外设。
66.tja1057收发器3个:tja1057是can-fd协议控制器和物理总线之间的接口,该收发器是为汽车工业中的高速can应用而设计的,为具有can-fd协议控制器提供差分发送和接收能力。通过连接stm32开发板的5v、pa11、pa12、gnd等引脚实现将stm32开发板接入can-fd总线。
67.stm32加密库包(x-cube-cryptolib v4.0):由意法半导体公司提供,提供包括加密、散列、消息认证和数字签名所有信息安全算法,这些算法都经过了美国加密算法验证计划(cavp)的认证。
68.对称加密算法包括aes-128,aes-192,aes-256,同时支持ecb,cbc,ctr,cfb,ofb,ccm,gcm,cmac,key wrap和xts模式;还有des和tripledes算法,支持ecb和cbc模式;
69.hash和hmac支持md5,sha-1,sha-224,sha-256,sha-384和sha-512模式;随机数生成器支持drbg-aes-128的随机引擎;
70.非对称加密算法包括:rsa、ecc等。
71.如图1所示,在一个实施例中,所述在汽车启动后,从ecua向主ecu发送请求消息,其中,所述请求消息包括采用从ecua的授权密钥加密发送消息的消息流id的步骤之前,还包括:
72.s01、在汽车启动前,主ecu广播第一数字证书给can-fd域内所有的从ecu;其中,所述第一数字证书包括主ecu公钥和第一标识符;
73.s02、所述从ecu向所述主ecu发送注册信息;其中,所述注册信息包括所述从ecu采用所述主ecu公钥加密形成的当前从ecu的授权密钥的密文、对所述授权密钥的数字签名、第二数字证书,第二数字证书包括从ecu公钥和第二标识符;
74.s03、所述主ecu采用主ecu私钥解密当前采用主ecu公钥加密的从ecu的授权密钥,得到第二解密结果,并产生第二解密结果的hash值,所述主ecu采用所述从ecu公钥解密所述数字签名,得到第三解密结果;
75.s04、当所述第二解密结果的hash值与所述第三解密结果相等时,所述主ecu向所述从ecu发送确认信息;其中所述确认信息包括所述从ecu的授权密钥加密的所述第一标识符和所述第二标识符;
76.s05、所述从ecu接收所述确认信息,并采用其授权密钥解密所述确认信息,完成can-fd网络的ecu身份认证。
77.如上述步骤s01-s05所述,参照图1,图1即为在车辆正式使用之前,ecu身份认证的流程示意图。ecu身份认证分为四步,分别是主ecu广播、从ecu注册、以及主ecu确认和从ecu确认。从ecu的数量为多个,本实施例中使用一个从ecu进行举例说明。
78.主ecu广播是指将主ecu自身的数字证书广播给can-fd域内所有从ecu,使从ecu认证主ecu的身份。数字证书是由证书授权中心(certificate authority,ca)颁发的权威电子文档,其中包括节点公钥、标识符和其他信息。本实施例主要是利用数字证书中的公钥,每个节点都有一个可信的身份证书列表,以验证其他节点的身份,广播实则是发送主ecu公钥。
79.从ecu注册是从ecu向主ecu发送三条信息组成的注册信息,使主ecu认证从ecu的身份,并向主ecu共享授权密钥。第一条信息是用主ecu公钥加密的授权密钥(每个从ecu均具有一个自己的授权密钥);第二条信息是主ecu对授权密钥的数字签名,包括两个操作,首先是对授权密钥做hash运算得到hash值,然后用从ecu自身的私钥加密此hash值,通过数字签名确保传输的内容未被篡改且来自合法的发送者;第三条信息是从ecu的数字证书,即将从ecu的公钥共享给主ecu。即,注册信息实际上是由两条加密信息和一个从ecu公钥组成的。从ecu注册过程包含两次非对称加密任务,但是采用的密钥是不同的:一次是采用主ecu的公钥,一次是采用从ecu的私钥。
80.主ecu确认是主ecu验证从ecu注册消息并向从ecu发送采用从ecu的授权密钥加密的确认消息。主ecu对从ecu注册信息的验证是两次解密任务和一次hash值对比。第一次解密是主ecu采用自身私钥解密其公钥加密的授权密钥(即从ecu的授权密钥),得到明文形式的授权密钥,然后对该授权密钥进行hash计算得到新的hash值;第二次解密是采用从ecu的公钥解密从ecu的数字签名,获得数字签名中授权密钥的hash值。一次hash值对比则是将主ecu计算的hash值与数字签名中解密的hash值进行对比,如果两个hash值相等,说明授权密钥未被篡改,否则停止认证。在验证并获取合法的授权密钥后,主ecu采用该授权密钥(从ecu的授权密钥)加密确认信息并将其发送给各从ecu。主ecu确认过程包含两次非对称解密任务,采用的密钥不同,一次是采用主ecu的私钥,一次是采用从ecu的公钥。两次非对称解密是和从ecu注册的加密一一对应的,巧妙的利用了非对称加密的私钥私密保存,公钥共享使用的特征。授权密钥是对称密钥,是授权过程中主ecu和从ecu共用的密钥,但每个从ecu与主ecu的授权密钥都不一样,即每个从ecu将自身的授权密钥分享给主ecu,而主ecu拥有每个从ecu的授权密钥。
81.从ecu确认是指从ecu收到主ecu确认信息(确认信息包括所述从ecu的授权密钥加密的所述第一标识符和所述第二标识符)后,从ecu用授权密钥(请求过程中的授权密钥,也是自身的授权密钥)解密确认信息完成从ecu确认,从而完成全部can-fd网络ecu身份认证。
82.在一个实施例中,所述从ecua采用流密钥加密所述发送消息,得到第一加密结果并将第一加密结果发送给所述从ecub的步骤,包括:
83.s41、所述从ecua采用从ecua的授权密钥解密所述授权消息,得到第一流密钥;
84.s42、采用第一流密钥加密所述发送消息得到加密消息,并生成所述加密消息的第一hmac值;其中,所述加密消息和所述第一hmac值组成所述第一加密结果;
85.s43、将所述第一加密结果发送给所述从ecub。
86.如上述步骤s41-s43所述,从ecua采用从ecua的授权密钥解密所述流密钥,得到第一流密钥,第一流密钥即采用从ecua的授权密钥解密后的流密钥;然后使用解密后的流密钥加密发送消息(即从ecua需要发给从ecub的消息)得到加密消息,同时生成所述加密消息的第一hmac值,然后将加密消息、第一hmac值发送给所述从ecub,以便从ecub进行解密使用。
87.在一个实施例中,所述从ecub接收所述第一加密结果,采用流密钥解密所述第一加密结果,得到第一解密结果的步骤,包括:
88.s51、所述从ecub采用从ecub的授权密钥解密所述授权消息,得到第二流密钥;其中,第一流密钥和第二流密钥是同一个对称密钥;
89.s52、所述从ecub接收所述第一加密结果,采用第二流密钥解密所述第一加密结果中的密文消息得到消息明文,并采用hmac算法计算第一加密结果中的加密消息得到第二hmac值;其中,所述明文消息和所述第二hmac值组成所述第一解密结果。
90.如上述步骤s51-s52所述,从ecub接收所述第一加密结果,第一加密结果包括加密消息和第一hmac值,采用从ecub的授权密钥流密钥,得到第二流密钥,第二流密钥即采用从ecub的授权密钥解密后的流密钥;然后采用解密后的流密钥解密第一加密结果中的加密消息得到消息明文,进而采用hmac算法计算第二hmac值,以便于后续对第一hmac值和第二hmac值进行比对,如果两者一致,则说明该消息未被篡改,执行消息完成安全通信,否则停止通信。
91.在一个实施例中,所述主ecu采用主ecu私钥解密当前采用主ecu公钥加密的从ecu的授权密钥,得到第二解密结果,并产生第二解密结果的hash值,所述主ecu采用所述从ecu公钥解密所述数字签名,得到第三解密结果的步骤,包括:
92.s031、所述主ecu采用主ecu私钥解密当前采用主ecu公钥加密授权密钥密文,得到明文形式的授权密钥,所述明文形式的授权密钥即为第二解密结果;
93.s032、对所述明文形式的授权密钥进行hash计算得到第一hash值,所述第一hash值即为第二解密结果的hash值;
94.s033、所述主ecu采用所述从ecu公钥解密所述数字签名,得到所述数字签名中当前从ecu的授权密钥的hash值,记为第二hash值,所述第二hash值即为第三解密结果。
95.如上述步骤s031-s033所述,主ecu采用主ecu私钥解密当前从ecu的授权密钥,得到明文形式的授权密钥,然后对该授权密钥进行hash计算得到第一hash值;主ecu采用从ecu公钥解密数字签名(从ecu的数字签名),得到数字签名中当前从ecu的授权密钥的hash值,记为第二hash值,以便后续对第一hash值和第二hash值进行比对,如果两个hash值相等,说明授权密钥未被篡改,否则停止认证。
96.在一个实施例中,所述ecu发送消息时,采用can-fd消息分片机制,所述can-fd消息分片机制包括单帧格式发送数据和多帧格式发送数据;
97.所述单帧格式发送数据包括:字节1的高4位为单帧标识符,字节1的低4位为单帧中额外发送的填充数据的大小,字节2到字节64为实际发送的数据;
98.所述多帧格式发送数据包括首帧和连续帧,首帧字节1的高4位为首帧标识符,首帧字节1的低4位表示连续帧的数目,连续帧字节1的高4位为连续帧标识符,连续帧字节1的
低4位为连续帧索引,连续帧字节2到字节64为实际发送的数据。
99.如上所述,can-fd一帧最高可发送64字节的数据,而数据经过加密后可能会生成超过64字节的密文,如果是超过64字节的数据,需要采用分片机制发送数据。本实施例只对can-fd的数据报文的数据域进行更改,使之能发送数据大小超过64bytes的数据。分片机制主要分为两类数据帧格式发送数据:
100.单帧:
101.如果数据不超过63字节,能够用一帧发送完数据,则采用单帧形式发送数据。单帧包括两个部分1字节的标识位和要发送的数据,具体单帧的数据域的格式如下:
102.1、字节1的高4位:单帧标识符,用来标识单帧,当接收端收到数据时辨别数据的类型。
103.2、字节1的低4位:单帧中额外发送的填充数据的大小。由于can-fd只传输固定长度的数据(0、1、2、3、4、5、6、7、8、12、16、20、24、32、48、64),而实际数据长度是任意的,当实际数据长度与can-fd数据固定长度不一致时,向上选择can-fd数据固定长度发送数据,实际数据不足的字节采用0填充,因此接收端需要根据额外数据的字节数直接将填充的数据丢弃,确保正确接收数据(由33bytes填充到48bytes以及最多填充15bytes,采用4bits可以表示全所有数据,即:24=16)。
104.3、字节2到字节64:用来发送需要实际发送的数据。按照can-fd固定数据长度向上选择发送数据,不足的字节用0填充。
105.多帧:
106.如果数据超过63字节,无法用一帧无法发送完,则采用多帧形式发送数据。对于多帧发送的数据,第一个帧叫首帧、后续发送的帧叫连续帧。
107.1、首帧字节1的高4位:首帧标识符,表示首帧,当接收端收到数据时辨别数据的类型;
108.2、首帧字节1的低4位:表示连续帧的数目,可表示24=16帧连续帧,即总计16*63=1008bytes数据,再加上尾帧的63bytes数据,总计可以传输1071bytes数据,数据大小是足够的;
109.3、连续帧字节1的高4位:连续帧标识符,表示连续帧,当接收端收到数据时辨别数据的类型;
110.4、连续帧字节1的低4位:连续帧索引,表示第几帧连续帧;
111.5、连续帧字节2到字节64:用来发送实际数据,最后一帧连续帧发送实际数据大小,可能是满帧数据也可能不是满帧数据。
112.在一个实施例中,所述请求消息、授权消息和加密消息均包括唯一的随机数和时间戳。请求消息中附带的唯一的随机数和时间戳,有效抵抗了重放攻击、防洪攻击等,确保通信的可用性。授权消息中附带的唯一的随机数和时间戳,不同的消息附带的随机数和时间戳均不相同,确保了通信的可用性。加密消息中附带的唯一的随机数和时间戳,同样确保了通信的可用性。
113.本发明基于can-fd汽车网络的信息安全设计,相较于现有的信息安全设计,可以提供全面的信息安全设计,包括智能网联汽车节点身份认证,以及轻量级的确保机密性、完整性以及可用性的安全通信。利用数字证书、数字签名、非对称加密算法、对称加密算法实
现智能网联汽车节点的身份认证;利用对称加密算法、随机数和时间戳机制以及hmac算法实现轻量级的全面的安全通信;采用的加密算法不限与某种固定的信息算法,可以自行选择,在此不做限定。
114.本发明的优点和积极效果:
115.1.安全全面性:采用通信密钥加密消息确保了消息的机密性,hmac确保了消息的完整性,随机数和时间戳机制确保了消息的可用性,体现全面的信息安全。
116.2.轻量级的安全通信:轻量级表现在授权通信的每个过程还额外加一个为加密的接收端标识符,接收端ecu收到can-fd消息后先识别接收端id,如果是发给自己的,则接收,否则丢弃。
117.3.可兼容性强:本发明中的所使用的所有非对称加密算法、对称加密算法以及hash算法均可以自由选择不同种类的密码学算法,不受设计影响,体现了本发明的可兼容性强。
118.如图4所示,本发明还提供了一种基于汽车can-fd网络的信息安全通信装置,包括:
119.第一发送模块1,用于在汽车启动后,从ecua向主ecu发送请求消息,其中,所述请求消息包括采用从ecua的授权密钥加密发送消息的消息流id;
120.第一解密模块2,用于主ecu采用从ecua的授权密钥解密所述请求消息,得到目标消息流id,并根据访问控制列表验证所述目标消息流id的合法性;
121.第二发送模块3,用于当所述目标消息流id合法时,主ecu生成授权信息并将所述授权信息发送给所述从ecua和从ecub;其中,所述授权信息包括从ecua的授权密钥和从ecub的授权密钥加密的流密钥;
122.加密模块4,用于所述从ecua采用流密钥加密所述发送消息,得到第一加密结果并将第一加密结果发送给所述从ecub;
123.第二解密模块5,用于所述从ecub接收所述第一加密结果,采用流密钥解密所述第一加密结果,得到第一解密结果;
124.比对模块6,用于当所述第一加密结果和所述第一解密结果比对成功后,完成汽车can-fd网络的信息安全通信。
125.在一个实施例中,还包括:
126.广播模块,用于在汽车启动前,主ecu广播第一数字证书给can-fd域内所有的从ecu;其中,所述第一数字证书包括主ecu公钥和第一标识符;
127.注册信息发送模块,用于所述从ecu向所述主ecu发送注册信息;其中,所述注册信息包括所述从ecu采用所述主ecu公钥加密形成的当前从ecu的授权密钥的密文、对所述授权密钥的数字签名、第二数字证书,第二数字证书包括从ecu公钥和第二标识符;
128.第二解密结果模块,用于所述主ecu采用主ecu私钥解密当前采用主ecu公钥加密的从ecu的授权密钥,得到第二解密结果,并产生第二解密结果的hash值,所述主ecu采用所述从ecu公钥解密所述数字签名,得到第三解密结果;
129.确认信息发送模块,用于当所述第二解密结果的hash值与所述第三解密结果相等时,所述主ecu向所述从ecu发送确认信息;其中所述确认信息包括所述从ecu的授权密钥加密的所述第一标识符和所述第二标识符;
130.所述从ecu接收所述确认信息,并采用其授权密钥解密所述确认信息,完成can-fd网络的ecu身份认证。
131.在一个实施例中,加密模块4,包括:
132.第一流密钥单元,用于所述从ecua采用从ecua的授权密钥解密所述授权消息,得到第一流密钥;
133.加密消息单元,用于采用第一流密钥加密所述发送消息得到加密消息,并生成所述加密消息的第一hmac值;其中,所述加密消息和所述第一hmac值组成所述第一加密结果;
134.加密消息发送单元,用于将所述第一加密结果发送给所述从ecub。
135.在一个实施例中,第二解密模块5,包括:
136.第二流密钥单元,所述从ecub采用从ecub的授权密钥解密所述授权消息,得到第二流密钥;其中,第一流密钥和第二流密钥是同一个对称密钥;
137.明文消息单元,用于所述从ecub接收所述第一加密结果,采用第二流密钥解密所述第一加密结果中的密文消息得到消息明文,并采用hmac算法计算第一加密结果中的加密消息得到第二hmac值;其中,所述明文消息和所述第二hmac值组成所述第一解密结果。
138.在一个实施例中,第二解密结果模块,包括:
139.授权密钥单元,用于所述主ecu采用主ecu私钥解密当前采用主ecu公钥加密授权密钥密文,得到明文形式的授权密钥,所述明文形式的授权密钥即为第二解密结果;
140.第二解密结果单元,用于对所述明文形式的授权密钥进行hash计算得到第一hash值,所述第一hash值即为第二解密结果的hash值;
141.第三解密结果单元,用于所述主ecu采用所述从ecu公钥解密所述数字签名,得到所述数字签名中当前从ecu的授权密钥的hash值,记为第二hash值,所述第二hash值即为第三解密结果。
142.在一个实施例中,所述ecu发送消息时,采用can-fd消息分片机制,所述can-fd消息分片机制包括单帧格式发送数据和多帧格式发送数据;
143.所述单帧格式发送数据包括:字节1的高4位为单帧标识符,字节1的低4位为单帧中额外发送的填充数据的大小,字节2到字节64为实际发送的数据;
144.所述多帧格式发送数据包括首帧和连续帧,首帧字节1的高4位为首帧标识符,首帧字节1的低4位表示连续帧的数目,连续帧字节1的高4位为连续帧标识符,连续帧字节1的低4位为连续帧索引,连续帧字节2到字节64为实际发送的数据。
145.在一个实施例中,所述请求消息、授权消息和加密消息均包括唯一的随机数和时间戳。
146.上述各模块、单元均是用于对应执行上述基于汽车can-fd网络的信息安全通信方法中的各个步骤,其具体实现方式参照上述方法实施例所述,在此不再进行赘述。
147.如图5所示,本发明还提供了一种计算机设备,该计算机设备可以是服务器,其内部结构可以如图5所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设计的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储基于汽车can-fd网络的信息安全通信方法的过程需要的所有数
据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现基于汽车can-fd网络的信息安全通信方法。
148.本领域技术人员可以理解,图5中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定。
149.本技术一实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述任意一个基于汽车can-fd网络的信息安全通信方法。
150.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储与一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的和实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可以包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram通过多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双速据率sdram(ssrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
151.需要说明的是,在本文中,术语“包括”、“包含”或者其任何其它变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其它要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
152.以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1