本技术涉及智能网联汽车,具体而言,涉及一种基于canfd的证书灌装方法及装置。
背景技术:
1、随着智能网联汽车技术的快速发展和互联网、ai、云计算等技术的不断升级和应用,汽车也随之向着万物互联时代的智能终端发展。在车载ecu(electroniccontrolunit,电子控制单元)上,随着软件和网络的发展更新,使得车辆信息数据和网络安全的隐患也在增长。
2、目前,主要通过uds服务(unifieddiagnosticservices,统一诊断服务)中的27服务(securityaccess,安全访问服务)来对车辆信息数据进行安全访问验证,来预防数据信息泄密、网络被攻击等问题。
技术实现思路
1、有鉴于此,本技术的目的在于提供一种基于canfd的证书灌装方法及装置,通过统一诊断服务的安全访问服务对ecu进行安全访问验证,并基于canfd的统一诊断服务执行证书灌装流程,提高了证书灌装的安全性和可靠性,使得证书文件不容易被外部篡改,且canfd报文的数据段长度可达64字节,增加了支持的报文的数据段长度,可以传输更长的文件。同时,通过特殊否定响应码来维持诊断流程,保证了诊断流程的正常进行。
2、第一方面,本技术实施例提供了一种基于canfd的证书灌装方法,应用于电子控制单元ecu;所述证书灌装方法包括:
3、在通过统一诊断服务的安全访问服务后,响应于接收到电检设备发送的第一canfd报文为证书申请请求,调用获取对应的证书请求文件的证书申请接口;
4、返回特殊否定响应码至所述电检设备以调起所述电检设备的等待流程,并以预设的第一周期轮询所述证书申请接口,判断所述ecu是否已完成所述证书请求文件的接收;
5、若是,则将所述证书请求文件的数据流填充到所述第一canfd报文,将填充后的第一canfd报文返回至所述电检设备,以使所述电检设备在接收到所述证书请求文件后生成对应的安全证书并将所述安全证书发送至所述ecu;
6、响应于接收到所述电检设备发送的第二canfd报文为证书写入请求,则调用对应的证书写入接口,并基于所述证书写入接口将所述安全证书传输给车机系统;
7、返回特殊否定响应码至所述电检设备以调起所述电检设备的等待流程,并以预设的第二周期轮询所述证书写入接口,响应于所述车机系统已完成所述安全证书的存储,则返回写入成功的响应至所述电检设备。
8、在一种可能的实施方式中,所述通过统一诊断服务的安全访问服务,包括:
9、响应于接收到诊断设备发送的安全访问请求,生成对应的随机数种子,并将所述随机数种子返回给所述诊断设备,以使所述诊断设备根据所述随机数种子计算得到认证密钥因子后发送所述认证密钥因子;
10、响应于接收到所述诊断设备发送的认证密钥因子,基于所述随机数种子和预设的哈希算法进行计算,得到对应的哈希码;
11、基于所述认证密钥因子和所述哈希码得到对应的密钥,并基于所述密钥解密所述认证密钥因子,得到解密后的随机数种子;
12、响应于所述解密后的随机数种子和所述随机数种子一致,则确定通过统一诊断服务的安全访问服务。
13、在一种可能的实施方式中,所述基于所述认证密钥因子和所述哈希码得到对应的密钥,并基于所述密钥解密所述认证密钥因子,得到解密后的随机数种子,包括:
14、拼接所述哈希码与所述认证密钥因子得到对应的拼接值,并基于所述哈希算法对所述拼接值进行计算,得到对应的哈希值;
15、对所述哈希值截取得到密钥,并基于预设的加解密算法和所述密钥对所述认证密钥因子进行解密,得到解密后的随机数种子。
16、在一种可能的实施方式中,所述方法还包括:
17、若所述ecu未完成所述证书请求文件的接收,则返回所述特殊否定响应码至所述电检设备以调起所述电检设备的等待流程;
18、响应于第一等待次数大于预设的第一等待次数阈值,则返回否定响应至所述电检设备。
19、在一种可能的实施方式中,所述接收到电检设备发送的第一canfd报文为证书申请请求,调用获取对应的证书请求文件的证书申请接口,包括:
20、响应于接收到电检设备发送的第一canfd报文,并判断所述第一canfd报文的例行程序控制身份标识是否为证书申请请求;
21、若是,则确定所述第一canfd报文为证书文件请求指令,并调用获取所述对应的证书请求文件的接口。
22、在一种可能的实施方式中,所述方法还包括:
23、若所述车机系统未完成所述安全证书的存储,则判断第二等待次数是否大于预设的第二等待次数阈值;
24、响应于所述第二等待次数大于所述第二等待次数阈值,则返回写入失败的响应至所述电检设备。
25、在一种可能的实施方式中,所述方法还包括:
26、响应于接收到所述诊断设备发送的第三canfd报文为证书更新流程请求,则调用对应的证书清除接口;
27、基于所述证书清除接口删除所述车机系统内部存储的证书请求文件。
28、第二方面,本技术实施例还提供了一种基于canfd的证书灌装装置,应用于电子控制单元ecu;所述证书灌装装置包括:
29、安全模块,用于在通过统一诊断服务的安全访问服务后,响应于接收到电检设备发送的第一canfd报文为证书申请请求,调用获取对应的证书请求文件的证书申请接口;
30、第一判断模块,用于返回特殊否定响应码至所述电检设备以调起所述电检设备的等待流程,并以预设的第一周期轮询所述证书申请接口,判断所述ecu是否已完成所述证书请求文件的接收;
31、发送模块,用于若是,则将所述证书请求文件的数据流填充到所述第一canfd报文,将填充后的第一canfd报文返回至所述电检设备,以使所述电检设备在接收到所述证书请求文件后生成对应的安全证书并将所述安全证书发送至所述ecu;
32、传输模块,用于响应于接收到所述电检设备发送的第二canfd报文为证书写入请求,则调用对应的证书写入接口,并基于所述证书写入接口将所述安全证书传输给车机系统;
33、返回模块,用于返回特殊否定响应码至所述电检设备以调起所述电检设备的等待流程,并以预设的第二周期轮询所述证书写入接口,响应于所述车机系统已完成所述安全证书的存储,则返回写入成功的响应至所述电检设备。
34、在一种可能的实施方式中,所述安全模块,具体用于:
35、响应于接收到诊断设备发送的安全访问请求,生成对应的随机数种子,并将所述随机数种子返回给所述诊断设备,以使所述诊断设备根据所述随机数种子计算得到认证密钥因子后发送所述认证密钥因子;
36、响应于接收到所述诊断设备发送的认证密钥因子,基于所述随机数种子和预设的哈希算法进行计算,得到对应的哈希码;
37、基于所述认证密钥因子和所述哈希码得到对应的密钥,并基于所述密钥解密所述认证密钥因子,得到解密后的随机数种子;
38、响应于所述解密后的随机数种子和所述随机数种子一致,则确定通过统一诊断服务的安全访问服务。
39、在一种可能的实施方式中,所述安全模块,具体用于:
40、拼接所述哈希码与所述认证密钥因子得到对应的拼接值,并基于所述哈希算法对所述拼接值进行计算,得到对应的哈希值;
41、对所述哈希值截取得到密钥,并基于预设的加解密算法和所述密钥对所述认证密钥因子进行解密,得到解密后的随机数种子。
42、在一种可能的实施方式中,所述基于canfd的证书灌装装置,还包括:
43、第二判断模块,用于若所述ecu未完成所述证书请求文件的接收,则返回所述特殊否定响应码至所述电检设备以调起所述电检设备的等待流程;
44、第三判断模块,用于响应于第一等待次数大于预设的第一等待次数阈值,则返回否定响应至所述电检设备。
45、在一种可能的实施方式中,所述安全模块,具体用于:
46、第四判断模块,用于响应于接收到电检设备发送的第一canfd报文,并判断所述第一canfd报文的例行程序控制身份标识是否为证书申请请求;
47、确定模块,用于若是,则确定所述第一canfd报文为证书文件请求指令,并调用获取所述对应的证书请求文件的接口。
48、在一种可能的实施方式中,所述基于canfd的证书灌装,还包括:
49、第五判断模块,用于若所述车机系统未完成所述安全证书的存储,则判断第二等待次数是否大于预设的第二等待次数阈值;
50、第六判断模块,用于响应于所述第二等待次数大于所述第二等待次数阈值,则返回写入失败的响应至所述电检设备。
51、在一种可能的实施方式中,所述基于canfd的证书灌装装置,还包括:
52、调用模块,用于响应于接收到所述诊断设备发送的第三canfd报文为证书更新流程请求,则调用对应的证书清除接口;
53、删除模块,用于基于所述证书清除接口删除所述车机系统内部存储的证书请求文件。
54、第三方面,本技术实施例提供了一种电子设备,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述机器可读指令,以执行如第一方面任一项所述的基于canfd的证书灌装方法的步骤。
55、第四方面,本技术实施例提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行第一方面任一项所述的基于canfd的证书灌装方法的步骤。
57、为使本技术的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。