汽车电子控制单元的安全访问方法、装置及系统与流程

文档序号:16977417发布日期:2019-02-26 19:09阅读:239来源:国知局
汽车电子控制单元的安全访问方法、装置及系统与流程

本发明涉及汽车技术领域,尤其涉及一种汽车电子控制单元的安全访问方法、装置及系统。



背景技术:

目前,车辆上的汽车电子控制单元(electroniccontrolunit,ecu)一般用于控制车辆系统的操作,例如动力系统、车身系统、底盘系统等。汽车电子控制单元ecu中设置有控制软件或者程序,以便执行控制功能。当需要对ecu进行维护或者更新时,车辆外部设备需要访问ecu,对ecu的程序进行更新或者修改等。为了提高ecu的安全性,目前车辆外部设备在访问ecu之前,ecu需要对车辆外部设备进行安全性验证。

现有技术中的验证方法主要是,ecu向车辆外部设备发送密钥种子,车辆外部设备对密钥种子进行计算,得到待验证密钥,将待验证密钥发送给ecu,ecu将待验证密钥与对密钥种子进行计算得到的正确密钥进行比对,在待验证密钥与正确密钥相同时,验证成功。

然而现有技术中,破解者可以创建模拟器模拟ecu,使用车辆外部设备向模拟器发送请求,模拟器返回密钥种子,车辆外部设备对密钥种子进行计算,得到待验证密钥发送给模拟器,从而使得模拟器可以获取到很多组密钥种子与密钥,从而破解ecu的密钥算法,导致ecu容易被破解,并进行随意修改,降低了ecu的安全性。



技术实现要素:

本发明旨在至少在一定程度上解决相关技术中的技术问题之一。

为此,本发明的第一个目的在于提出一种汽车电子控制单元的安全访问方法,用于解决现有技术中ecu的密钥算法容易被破解,导致ecu的安全性差的问题。

本发明的第二个目的在于提出一种汽车电子控制单元的安全访问方法。

本发明的第三个目的在于提供一种汽车电子控制单元的安全访问装置。

本发明的第四个目的在于提供一种汽车电子控制单元的安全访问装置。

本发明的第五个目的在于提供一种汽车电子控制单元的安全访问系统。

本发明的第六个目的在于提供一种汽车电子控制单元的安全访问装置。

本发明的第七个目的在于提供一种汽车电子控制单元的安全访问装置。

本发明的第八个目的在于提供一种非临时性计算机可读存储介质。

本发明的第九个目的在于提供一种非临时性计算机可读存储介质。

本发明的第十个目的在于提供一种计算机程序产品。

本发明的第十一个目的在于提供一种计算机程序产品。

为达到上述目的,本发明第一方面实施例提出了一种汽车电子控制单元的安全访问方法,包括:

车辆外部设备在需要对汽车电子控制单元ecu进行访问时,向ecu发送请求报文,以使所述ecu根据所述请求报文向所述车辆外部设备返回第一密钥种子;

所述车辆外部设备根据第一密钥算法对所述第一密钥种子进行计算,得到第一待检验密钥,根据第二密钥算法对所述第一待检验密钥进行计算得到第二密钥;将所述第一待检验密钥发送给所述ecu,以使所述ecu将所述第一待检验密钥与对所述第一密钥种子进行计算得到的第一密钥进行比较,根据比较结果向所述车辆外部设备返回第三密钥;

所述车辆外部设备接收所述ecu返回的第三密钥;

所述车辆外部设备将所述第三密钥与所述第二密钥进行比较,判断所述第三密钥与所述第二密钥是否相同;

若所述第三密钥与所述第二密钥相同,则对所述车辆外部设备进行解锁,确定所述车辆外部设备可以安全访问所述ecu。

进一步的,所述的方法还包括:

若所述第三密钥与所述第二密钥不同,则不对所述车辆外部设备进行解锁,确定所述车辆外部设备不可以安全访问所述ecu。

进一步的,所述若所述第三密钥与所述第二密钥不同,则不对所述车辆外部设备进行解锁,确定所述车辆外部设备不可以安全访问所述ecu之后,还包括:

所述车辆外部设备向所述ecu重新发送请求报文,直至所述车辆外部设备解锁成功、或者请求报文发送次数大于预设数值为止;

在请求报文发送次数大于预设数值时,锁定所述车辆外部设备。

本发明实施例的汽车电子控制单元的安全访问方法,车辆外部设备在需要对汽车电子控制单元ecu进行访问时,向ecu发送请求报文,以使ecu根据请求报文向车辆外部设备返回第一密钥种子;车辆外部设备根据第一密钥算法对第一密钥种子进行计算,得到第一待检验密钥,根据第二密钥算法对第一待检验密钥进行计算得到第二密钥;将第一待检验密钥发送给ecu,以使ecu将第一待检验密钥与对第一密钥种子进行计算得到的第一密钥进行比较,根据比较结果向车辆外部设备返回第三密钥;车辆外部设备将第三密钥与所述第二密钥进行比较,在第三密钥与第二密钥相同时,对车辆外部设备进行解锁,确定车辆外部设备可以安全访问ecu,本实施例中,通过对车辆外部设备和ecu分别采用一套密钥算法进行安全性验证,在验证均通过后,才允许车辆外部设备访问ecu,从而避免了现有技术中通过创建模拟器模拟ecu获取多组密钥种子与密钥,破解ecu密钥算法的可能性,使得ecu难以被破解,提高了ecu的安全性。

为达上述目的,本发明第二方面实施例提出了一种汽车电子控制单元的安全访问方法,包括:

汽车电子控制单元ecu接收车辆外部设备发送的请求报文;

所述ecu根据所述请求报文随机生成第一密钥种子;

所述ecu将所述第一密钥种子发送给所述车辆外部设备,以使所述车辆外部设备根据第一密钥算法对所述第一密钥种子进行计算,得到第一待检验密钥,根据第二密钥算法对所述第一待检验密钥进行计算得到第二密钥,并将所述第一待检验密钥发送给所述ecu;

所述ecu接收所述车辆外部设备发送的第一待检验密钥;

所述ecu将所述第一待检验密钥与对所述第一密钥种子进行计算得到的第一密钥进行比较;根据比较结果向所述车辆外部设备返回第三密钥,以使所述车辆外部设备将所述第三密钥与所述第二密钥进行比较;在所述第三密钥与所述第二密钥相同时,对所述车辆外部设备进行解锁,确定所述车辆外部设备可以安全访问所述ecu。

进一步的,所述ecu将所述第一待检验密钥与对所述第一密钥种子进行计算得到的第一密钥进行比较,根据比较结果向所述车辆外部设备返回第三密钥,包括:

所述ecu将所述第一待检验密钥与对所述第一密钥种子进行计算得到的第一密钥进行比较,判断所述第一待检验密钥与所述第一密钥是否相同;

若所述第一待检验密钥与所述第一密钥相同,则将所述第一密钥作为第二密钥种子进行计算得到第二待检验密钥,将所述第二待检验密钥确定为第三密钥;

若所述第一待检验密钥与所述第一密钥不同,则随机生成伪密钥或者根据预设的伪密钥算法生成伪密钥,将所述伪密钥确定为第三密钥;

将所述第三密钥返回给所述车辆外部设备。

本发明实施例的汽车电子控制单元的安全访问方法,汽车电子控制单元ecu根据车辆外部设备的请求报文随机生成第一密钥种子并返给车辆外部设备,以使车辆外部设备根据第一密钥算法对第一密钥种子进行计算,得到第一待检验密钥,根据第二密钥算法对第一待检验密钥进行计算得到第二密钥,并将第一待检验密钥发送给ecu;ecu将第一待检验密钥与对第一密钥种子进行计算得到的第一密钥进行比较;根据比较结果向车辆外部设备返回第三密钥,以使车辆外部设备将第三密钥与第二密钥进行比较;在第三密钥与所述第二密钥相同时,对车辆外部设备进行解锁,确定车辆外部设备可以安全访问ecu,本实施例中,通过对车辆外部设备和ecu分别采用一套密钥算法进行安全性验证,在验证均通过后,才允许车辆外部设备访问ecu,从而避免了现有技术中通过创建模拟器模拟ecu获取多组密钥种子与密钥,破解ecu密钥算法的可能性,使得ecu难以被破解,提高了ecu的安全性。

为达上述目的,本发明第三方面实施例提出了一种汽车电子控制单元的安全访问装置,包括:

第一发送模块,用于在需要对汽车电子控制单元ecu进行访问时,向ecu发送请求报文,以使所述ecu根据所述请求报文向所述车辆外部设备返回第一密钥种子;

第一计算模块,用于根据第一密钥算法对所述第一密钥种子进行计算,得到第一待检验密钥,将所述第一待检验密钥发送给所述ecu,以使所述ecu将所述第一待检验密钥与对所述第一密钥种子进行计算得到的第一密钥进行比较,根据比较结果向所述车辆外部设备返回第三密钥;

第一接收模块,用于接收所述ecu返回的第三密钥;

第二计算模块,用于根据第二密钥算法对所述第一待检验密钥进行计算得到第二密钥;

第一比较模块,用于将所述第三密钥与所述第二密钥进行比较,判断所述第三密钥与所述第二密钥是否相同;

解锁模块,用于在所述第三密钥与所述第二密钥相同时,对所述车辆外部设备进行解锁,确定所述车辆外部设备可以安全访问所述ecu。

进一步的,所述解锁模块,还用于在所述第三密钥与所述第二密钥不同时,不对所述车辆外部设备进行解锁,确定所述车辆外部设备不可以安全访问所述ecu。

进一步的,所述的装置还包括:

重新发送模块,用于向所述ecu重新发送请求报文,直至所述车辆外部设备解锁成功、或者请求报文发送次数大于预设数值为止;

锁定模块,用于在请求报文发送次数大于预设数值时,锁定所述车辆外部设备。

本发明实施例的汽车电子控制单元的安全访问装置,车辆外部设备在需要对汽车电子控制单元ecu进行访问时,向ecu发送请求报文,以使ecu根据请求报文向车辆外部设备返回第一密钥种子;车辆外部设备根据第一密钥算法对第一密钥种子进行计算,得到第一待检验密钥,根据第二密钥算法对第一待检验密钥进行计算得到第二密钥;将第一待检验密钥发送给ecu,以使ecu将第一待检验密钥与对第一密钥种子进行计算得到的第一密钥进行比较,根据比较结果向车辆外部设备返回第三密钥;车辆外部设备将第三密钥与第二密钥进行比较,在第三密钥与第二密钥相同时,对车辆外部设备进行解锁,确定车辆外部设备可以安全访问ecu,本实施例中,通过对车辆外部设备和ecu分别采用一套密钥算法进行安全性验证,在验证均通过后,才允许车辆外部设备访问ecu,从而避免了现有技术中通过创建模拟器模拟ecu获取多组密钥种子与密钥,破解ecu密钥算法的可能性,使得ecu难以被破解,提高了ecu的安全性。

为达上述目的,本发明第四方面实施例提出了一种汽车电子控制单元的安全访问装置,包括:

第二接收模块,用于接收车辆外部设备发送的请求报文;

生成模块,用于根据所述请求报文随机生成第一密钥种子;

第二发送模块,用于将所述第一密钥种子发送给所述车辆外部设备,以使所述车辆外部设备根据第一密钥算法对所述第一密钥种子进行计算,得到第一待检验密钥,根据第二密钥算法对所述第一待检验密钥进行计算得到第二密钥;

第三接收模块,用于接收所述车辆外部设备发送的第一待检验密钥;

第三计算模块,用于对所述第一密钥种子进行计算得到第一密钥;

第二比较模块,用于将所述第一待检验密钥与所述第一密钥进行比较;根据比较结果向所述车辆外部设备返回第三密钥,以使所述车辆外部设备将所述第三密钥与所述第二密钥进行比较;在所述第三密钥与所述第二密钥相同时,对所述车辆外部设备进行解锁,确定所述车辆外部设备可以安全访问所述ecu。

进一步的,所述第二比较模块包括:

比较单元,用于将所述第一待检验密钥与对所述第一密钥种子进行计算得到的第一密钥进行比较,判断所述第一待检验密钥与所述第一密钥是否相同;

计算单元,用于在所述第一待检验密钥与所述第一密钥相同时,将所述第一密钥作为第二密钥种子进行计算得到第二待检验密钥,将所述第二待检验密钥确定为第三密钥;

生成单元,用于在所述第一待检验密钥与所述第一密钥不同时,随机生成伪密钥或者根据预设的伪密钥算法生成伪密钥,将所述伪密钥确定为第三密钥;

发送单元,用于将所述第三密钥返回给所述车辆外部设备。

本发明实施例的汽车电子控制单元的安全访问装置,汽车电子控制单元ecu根据车辆外部设备的请求报文随机生成第一密钥种子并返给车辆外部设备,以使车辆外部设备根据第一密钥算法对第一密钥种子进行计算,得到第一待检验密钥,根据第二密钥算法对第一待检验密钥进行计算得到第二密钥,并将第一待检验密钥发送给ecu;ecu将第一待检验密钥与对第一密钥种子进行计算得到的第一密钥进行比较;根据比较结果向车辆外部设备返回第三密钥,以使车辆外部设备将第三密钥与第二密钥进行比较;在第三密钥与所述第二密钥相同时,对车辆外部设备进行解锁,确定车辆外部设备可以安全访问ecu,本实施例中,通过对车辆外部设备和ecu分别采用一套密钥算法进行安全性验证,在验证均通过后,才允许车辆外部设备访问ecu,从而避免了现有技术中通过创建模拟器模拟ecu获取多组密钥种子与密钥,破解ecu密钥算法的可能性,使得ecu难以被破解,提高了ecu的安全性。

为达上述目的,本发明第五方面实施例提出了一种汽车电子控制单元的安全访问系统,包括:如第三方面实施例中所述的汽车电子控制单元的安全访问装置,以及如第四方面实施例中所述的汽车电子控制单元的安全访问装置。

为达上述目的,本发明第六方面实施例提出了一种汽车电子控制单元的安全访问装置,包括:

存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如第一方面实施例中所述的汽车电子控制单元的安全访问方法。

为达上述目的,本发明第七方面实施例提出了一种汽车电子控制单元的安全访问装置,包括:

存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如第二方面实施例中所述的汽车电子控制单元的安全访问方法。

为达上述目的,本发明第八方面实施例提出了一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如第一方面实施例中所述的汽车电子控制单元的安全访问方法。

为达上述目的,本发明第九方面实施例提出了一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如第二方面实施例中所述的汽车电子控制单元的安全访问方法。

为达上述目的,本发明第十方面实施例提出了一种计算机程序产品,当所述计算机程序产品中的指令处理器执行时,执行一种汽车电子控制单元的安全访问方法,所述方法包括:

车辆外部设备在需要对汽车电子控制单元ecu进行访问时,向ecu发送请求报文,以使所述ecu根据所述请求报文向所述车辆外部设备返回第一密钥种子;

所述车辆外部设备根据第一密钥算法对所述第一密钥种子进行计算,得到第一待检验密钥,根据第二密钥算法对所述第一待检验密钥进行计算得到第二密钥;将所述第一待检验密钥发送给所述ecu,以使所述ecu将所述第一待检验密钥与对所述第一密钥种子进行计算得到的第一密钥进行比较,根据比较结果向所述车辆外部设备返回第三密钥;

接收所述ecu返回的第三密钥;

将所述第三密钥与所述第二密钥进行比较,判断所述第三密钥与所述第二密钥是否相同;

若所述第三密钥与所述第二密钥相同,则对所述车辆外部设备进行解锁,确定所述车辆外部设备可以安全访问所述ecu。

为达上述目的,本发明第十一方面实施例提出了一种计算机程序产品,当所述计算机程序产品中的指令处理器执行时,执行一种汽车电子控制单元的安全访问方法,所述方法包括:

汽车电子控制单元ecu接收车辆外部设备发送的请求报文;

所述ecu根据所述请求报文随机生成第一密钥种子;

所述ecu将所述第一密钥种子发送给所述车辆外部设备,以使所述车辆外部设备根据第一密钥算法对所述第一密钥种子进行计算,得到第一待检验密钥,根据第二密钥算法对所述第一待检验密钥进行计算得到第二密钥,并将所述第一待检验密钥发送给所述ecu;

所述ecu接收所述车辆外部设备发送的第一待检验密钥;

所述ecu将所述第一待检验密钥与对所述第一密钥种子进行计算得到的第一密钥进行比较;根据比较结果向所述车辆外部设备返回第三密钥,以使所述车辆外部设备将所述第三密钥与所述第二密钥进行比较;在所述第三密钥与所述第二密钥相同时,对所述车辆外部设备进行解锁,确定所述车辆外部设备可以安全访问所述ecu。

本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:

图1为本发明实施例提供的一种汽车电子控制单元的安全访问方法的流程示意图;

图2为本发明实施例提供的另一种汽车电子控制单元的安全访问方法的流程示意图;

图3为本发明实施例提供的另一种汽车电子控制单元的安全访问方法中车辆外部设备与ecu交互的信令图;

图4为本发明实施例提供的一种汽车电子控制单元的安全访问装置的结构示意图;

图5为本发明实施例提供的另一种汽车电子控制单元的安全访问装置的结构示意图;

图6为本发明实施例提供的另一种汽车电子控制单元的安全访问装置的结构示意图;

图7为本发明实施例提供的另一种汽车电子控制单元的安全访问装置的结构示意图;

图8为本发明实施例提供的另一种汽车电子控制单元的安全访问装置的结构示意图。

具体实施方式

下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。

下面参考附图描述本发明实施例的汽车电子控制单元的安全访问方法、装置及系统。

图1为本发明实施例提供的一种汽车电子控制单元的安全访问方法的流程示意图。如图1所示,该汽车电子控制单元的安全访问方法包括以下步骤:

s101、车辆外部设备在需要对汽车电子控制单元ecu进行访问时,向ecu发送请求报文,以使ecu根据请求报文向车辆外部设备返回第一密钥种子。

本发明提供的汽车电子控制单元的安全访问方法的执行主体为汽车电子控制单元的安全访问装置,汽车电子控制单元的安全访问装置具体可以为车辆外部设备,或者安装在车辆外部设备中的硬件或者软件。车辆外部设备例如可以为诊断维护工具或者其他可以访问ecu的外部设备。

本实施例中,ecu可以随机生成第一密钥种子,或者根据预设的密钥种子生成算法生成第一密钥种子。

s102、车辆外部设备根据第一密钥算法对第一密钥种子进行计算,得到第一待检验密钥,根据第二密钥算法对第一待检验密钥进行计算得到第二密钥;将第一待检验密钥发送给ecu,以使ecu将第一待检验密钥与对第一密钥种子进行计算得到的第一密钥进行比较,根据比较结果向车辆外部设备返回第三密钥。

本实施例中,ecu上预先保存有第一密钥算法。提前设置好的可以访问ecu的设备上也预先保存有第一密钥算法,也就是说,若车辆外部设备为提前设置好的可以访问ecu的设备,则车辆外部设备上预先保存有第一密钥算法;若车辆外部设备不是提前设置好的可以访问ecu的设备,则车辆外部设备上不会预先保存第一密钥算法。本实施例中,ecu可以根据第一待检验密钥与第一密钥的比较结果确定车辆外部设备是否为可以访问ecu的设备。若第一待检验密钥与第一密钥相同,则表示车辆外部设备上存储的用于计算第一待检验密钥的算法为第一密钥算法,则确定车辆外部设备为可以访问ecu的设备;若第一待检验密钥与第一密钥不同,则不允许车辆外部设备访问ecu。

本实施例中,车辆外部设备上预先保存有第二密钥算法。提前设置好的可以访问车辆外部设备的ecu上也预先保存有第二密钥算法,也就是说,若ecu为提前设置好的可以访问车辆外部设备的ecu,则ecu上预先保存有第二密钥算法;若ecu不是提前设置好的可以访问车辆外部设备的ecu,则ecu上不会预先保存第二密钥算法。本实施例中,在第一待检验密钥与第一密钥相同的情况下,ecu确定车辆外部设备为可以访问ecu的设备后,ecu可以进行解锁,并将第一密钥作为第二密钥种子,进行计算得到第二待检验密钥,将第二待检验密钥作为第三密钥返回给车辆外部设备。在第一待检验密钥与第一密钥不同的情况下,ecu确定车辆外部设备为不可以访问ecu的设备后,ecu可以随机生成伪密钥,或者根据预设的伪密钥算法生成伪密钥,将伪密钥作为第三密钥返回给车辆外部设备。

s103、车辆外部设备接收ecu返回的第三密钥。

s104、车辆外部设备将第三密钥与第二密钥进行比较,判断第三密钥与第二密钥是否相同。

本实施例中,车辆外部设备在接收到第三密钥后,可以将第三密钥与第二密钥进行比较,根据比较结果确定ecu是否已解锁以及确定ecu是否可以访问车辆外部设备。若第三密钥与第二密钥相同,则确定ecu解锁成功,且ecu可以访问车辆外部设备,则对车辆外部设备进行解锁,确定车辆外部设备可以安全访问ecu;若第三密钥与第二密钥不同,则确定ecu解锁失败或者ecu不可以访问车辆外部设备,则不对车辆外部设备进行解锁,确定车辆外部设备不可以安全访问ecu。

s105、若第三密钥与第二密钥相同,则对车辆外部设备进行解锁,确定车辆外部设备可以安全访问ecu。

本实施例中,在第三密钥与第二密钥不同,不对车辆外部设备进行解锁的情况下,车辆外部设备还可以向ecu重新发送请求报文,直至车辆外部设备解锁成功、或者请求报文发送次数大于预设数值为止。进一步的,在请求报文发送次数大于预设数值时,还可以锁定车辆外部设备,禁止车辆外部设备访问ecu。另外,还需要说明的是,锁定车辆外部设备的操作也可以由ecu执行。

本发明实施例的汽车电子控制单元的安全访问方法,车辆外部设备在需要对汽车电子控制单元ecu进行访问时,向ecu发送请求报文,以使ecu根据请求报文向车辆外部设备返回第一密钥种子;车辆外部设备根据第一密钥算法对第一密钥种子进行计算,得到第一待检验密钥,根据第二密钥算法对第一待检验密钥进行计算得到第二密钥;将第一待检验密钥发送给ecu,以使ecu将第一待检验密钥与对第一密钥种子进行计算得到的第一密钥进行比较,根据比较结果向车辆外部设备返回第三密钥;车辆外部设备将第三密钥与第二密钥进行比较,在第三密钥与第二密钥相同时,对车辆外部设备进行解锁,确定车辆外部设备可以安全访问ecu,本实施例中,通过对车辆外部设备和ecu分别采用一套密钥算法进行安全性验证,在验证均通过后,才允许车辆外部设备访问ecu,从而避免了现有技术中通过创建模拟器模拟ecu获取多组密钥种子与密钥,破解ecu密钥算法的可能性,使得ecu难以被破解,提高了ecu的安全性。

图2为本发明实施例提供的另一种汽车电子控制单元的安全访问方法的流程示意图,如图2所示,该汽车电子控制单元的安全访问方法包括以下步骤:

s201、汽车电子控制单元ecu接收车辆外部设备发送的请求报文。

本发明提供的汽车电子控制单元的安全访问方法的执行主体为汽车电子控制单元的安全访问装置,汽车电子控制单元的安全访问装置具体可以为汽车电子控制单元ecu,或者ecu中安装的软件等。车辆外部设备例如可以为诊断维护工具或者其他可以访问ecu的外部设备。

s202、ecu根据请求报文随机生成第一密钥种子。

本实施例中,汽车电子控制单元ecu可以随机生成第一密钥种子。或者,汽车电子控制单元ecu上可以预先保存有密钥种子生成算法,在接收到车辆外部设备的请求报文时,采用密钥种子生成算法生成第一密钥种子。

s203、ecu将第一密钥种子发送给车辆外部设备,以使车辆外部设备根据第一密钥算法对第一密钥种子进行计算,得到第一待检验密钥,根据第二密钥算法对第一待检验密钥进行计算得到第二密钥,并将第一待检验密钥发送给ecu。

s204、ecu接收车辆外部设备发送的第一待检验密钥。

s205、ecu将第一待检验密钥与对第一密钥种子进行计算得到的第一密钥进行比较;根据比较结果向车辆外部设备返回第三密钥,以使车辆外部设备将第三密钥与第二密钥进行比较;在第三密钥与第二密钥相同时,对车辆外部设备进行解锁,确定车辆外部设备可以安全访问ecu。

本实施例中,进一步的,步骤205具体可以包括:ecu将第一待检验密钥与对第一密钥种子进行计算得到的第一密钥进行比较,判断第一待检验密钥与第一密钥是否相同;若第一待检验密钥与第一密钥相同,则将第一密钥作为第二密钥种子进行计算得到第二待检验密钥,将第二待检验密钥确定为第三密钥;若第一待检验密钥与第一密钥不同,则随机生成伪密钥或者根据预设的伪密钥算法生成伪密钥,将伪密钥确定为第三密钥;将第三密钥返回给车辆外部设备。

本实施例中,ecu上预先保存有第一密钥算法。提前设置好的可以访问ecu的设备上也预先保存有第一密钥算法,也就是说,若车辆外部设备为提前设置好的可以访问ecu的设备,则车辆外部设备上预先保存有第一密钥算法;若车辆外部设备不是提前设置好的可以访问ecu的设备,则车辆外部设备上不会预先保存第一密钥算法。本实施例中,ecu接收到车辆外部设备发送的第一待检验密钥后,可以根据第一待检验密钥与第一密钥的比较结果确定车辆外部设备是否为可以访问ecu的设备。若第一待检验密钥与第一密钥相同,则表示车辆外部设备上存储的用于计算第一待检验密钥的算法为第一密钥算法,则确定车辆外部设备为可以访问ecu的设备;若第一待检验密钥与第一密钥不同,则不允许车辆外部设备访问ecu。

本实施例中,车辆外部设备上预先保存有第二密钥算法。提前设置好的可以访问车辆外部设备的ecu上也预先保存有第二密钥算法,也就是说,若ecu为提前设置好的可以访问车辆外部设备的ecu,则ecu上预先保存有第二密钥算法;若ecu不是提前设置好的可以访问车辆外部设备的ecu,则ecu上不会预先保存第二密钥算法。本实施例中,在第一待检验密钥与第一密钥相同的情况下,ecu确定车辆外部设备为可以访问ecu的设备后,ecu可以进行解锁,并将第一密钥作为第二密钥种子,进行计算得到第二待检验密钥,将第二待检验密钥作为第三密钥返回给车辆外部设备。在第一待检验密钥与第一密钥不同的情况下,ecu确定车辆外部设备为不可以访问ecu的设备后,ecu可以随机生成伪密钥,或者根据预设的伪密钥算法生成伪密钥,将伪密钥作为第三密钥返回给车辆外部设备。

本实施例中,车辆外部设备在接收到第三密钥后,可以将第三密钥与第二密钥进行比较,根据比较结果确定ecu是否已解锁以及确定ecu是否可以访问车辆外部设备。若第三密钥与第二密钥相同,则确定ecu解锁成功,且ecu可以访问车辆外部设备,则对车辆外部设备进行解锁,确定车辆外部设备可以安全访问ecu;若第三密钥与第二密钥不同,则确定ecu解锁失败或者ecu不可以访问车辆外部设备,则不对车辆外部设备进行解锁,确定车辆外部设备不可以安全访问ecu。

本发明实施例的汽车电子控制单元的安全访问方法,汽车电子控制单元ecu根据车辆外部设备的请求报文随机生成第一密钥种子并返给车辆外部设备,以使车辆外部设备根据第一密钥算法对第一密钥种子进行计算,得到第一待检验密钥,根据第二密钥算法对第一待检验密钥进行计算得到第二密钥,并将第一待检验密钥发送给ecu;ecu将第一待检验密钥与对第一密钥种子进行计算得到的第一密钥进行比较;根据比较结果向车辆外部设备返回第三密钥,以使车辆外部设备将第三密钥与第二密钥进行比较;在第三密钥与所述第二密钥相同时,对车辆外部设备进行解锁,确定车辆外部设备可以安全访问ecu,本实施例中,通过对车辆外部设备和ecu分别采用一套密钥算法进行安全性验证,在验证均通过后,才允许车辆外部设备访问ecu,从而避免了现有技术中通过创建模拟器模拟ecu获取多组密钥种子与密钥,破解ecu密钥算法的可能性,使得ecu难以被破解,提高了ecu的安全性。

图3为本发明实施例提供的另一种汽车电子控制单元的安全访问方法中车辆外部设备与ecu交互的信令图,如图3所示,包括:

s301、车辆外部设备在需要对汽车电子控制单元ecu进行访问时,向ecu发送请求报文。

例如,车辆外部设备发送的请求报文可以为0x020x270x01/02/03/040xff0xff0xff0xff0xff。

s302、ecu根据请求报文随机生成第一密钥种子。

例如,ecu接收到请求报文后可以随机生成一组4个字节32位的seed1。

s303、ecu将第一密钥种子发送给车辆外部设备。

s304、车辆外部设备根据第一密钥算法对第一密钥种子进行计算,得到第一待检验密钥。

其中,第一待检验密钥key1的计算公式可以为:

key1=arithmetic_32bits_sk1(seed1)(1)

其中,sk1表示第一密钥算法;seed1表示第一密钥种子。

s305、车辆外部设备将第一待检验密钥发送给ecu。

s306、ecu将第一待检验密钥与对第一密钥种子进行计算得到的第一密钥进行比较。若第一待检验密钥与第一密钥相同,则执行步骤307;若第一待检验密钥与第一密钥不同,则执行步骤308。

s307、ecu将第一密钥作为第二密钥种子进行计算得到第二待检验密钥,将第二待检验密钥确定为第三密钥,执行步骤309。

例如,第二密钥算法的计算公式可以为,key2=arithmetic_32bits_sk2(seed2)(2)

其中,key2表示第二待检验密钥;sk2表示第二密钥算法;seed2表示第二密钥种子。

s308、ecu随机生成伪密钥或者根据预设的伪密钥算法生成伪密钥,将伪密钥确定为第三密钥,执行步骤309。

例如,伪密钥的计算公式可以为,key3=arithmetic_32bits_sk3()(3)

其中,key3表示伪密钥;sk3表示伪密钥算法。

s309、ecu将第三密钥发送到车辆外部设备。

s310、车辆外部设备将第三密钥与根据第二密钥算法对第一待检验密钥进行计算得到的第二密钥进行比较,判断第三密钥与第二密钥是否相同。若相同,执行步骤311;若不同,执行步骤312。

s311、对车辆外部设备进行解锁,确定车辆外部设备可以安全访问ecu。

s312、不对车辆外部设备进行解锁,确定车辆外部设备不可以安全访问ecu。

另外,在步骤312确定车辆外部设备不可以安全访问ecu的情况下,车辆外部设备可以向ecu重新发送请求报文,直至车辆外部设备解锁成功、或者请求报文发送次数大于预设数值为止。在请求报文发送次数大于预设数值时,锁定车辆外部设备。

例如,若请求报文发送次数大于等于3次,则不允许再次尝试,以增加安全访问的算法安全。

图4为本发明实施例提供的一种汽车电子控制单元的安全访问装置的结构示意图。如图4所示,包括:第一发送模块41、第一计算模块42、第一接收模块43、第二计算模块44、第一比较模块45和解锁模块46。

其中,第一发送模块41,用于在需要对汽车电子控制单元ecu进行访问时,向ecu发送请求报文,以使所述ecu根据所述请求报文向所述车辆外部设备返回第一密钥种子;

第一计算模块42,用于根据第一密钥算法对所述第一密钥种子进行计算,得到第一待检验密钥,将所述第一待检验密钥发送给所述ecu,以使所述ecu将所述第一待检验密钥与对所述第一密钥种子进行计算得到的第一密钥进行比较,根据比较结果向所述车辆外部设备返回第三密钥;

第一接收模块43,用于接收所述ecu返回的第三密钥;

第二计算模块44,用于根据第二密钥算法对所述第一待检验密钥进行计算得到第二密钥;

第一比较模块45,用于将所述第三密钥与所述第二密钥进行比较,判断所述第三密钥与所述第二密钥是否相同;

解锁模块46,用于在所述第三密钥与所述第二密钥相同时,对所述车辆外部设备进行解锁,确定所述车辆外部设备可以安全访问所述ecu。

进一步的,所述解锁模块46,还用于在所述第三密钥与所述第二密钥不同时,不对所述车辆外部设备进行解锁,确定所述车辆外部设备不可以安全访问所述ecu。

进一步的,结合参考图5,所述的装置还包括:重新发送模块47和锁定模块48。

其中,重新发送模块47,用于向所述ecu重新发送请求报文,直至所述车辆外部设备解锁成功、或者请求报文发送次数大于预设数值为止;

锁定模块48,用于在请求报文发送次数大于预设数值时,锁定所述车辆外部设备。

另外,需要说明的是,本实施例中上述各模块的详细描述可以参考图1和图3所示实施例,此处不再做详细说明。

本发明实施例的汽车电子控制单元的安全访问装置,车辆外部设备在需要对汽车电子控制单元ecu进行访问时,向ecu发送请求报文,以使ecu根据请求报文向车辆外部设备返回第一密钥种子;车辆外部设备根据第一密钥算法对第一密钥种子进行计算,得到第一待检验密钥,根据第二密钥算法对第一待检验密钥进行计算得到第二密钥;将第一待检验密钥发送给ecu,以使ecu将第一待检验密钥与对第一密钥种子进行计算得到的第一密钥进行比较,根据比较结果向车辆外部设备返回第三密钥;车辆外部设备将第三密钥与第二密钥进行比较,在第三密钥与第二密钥相同时,对车辆外部设备进行解锁,确定车辆外部设备可以安全访问ecu,本实施例中,通过对车辆外部设备和ecu分别采用一套密钥算法进行安全性验证,在验证均通过后,才允许车辆外部设备访问ecu,从而避免了现有技术中通过创建模拟器模拟ecu获取多组密钥种子与密钥,破解ecu密钥算法的可能性,使得ecu难以被破解,提高了ecu的安全性。

图6为本发明实施例提供的另一种汽车电子控制单元的安全访问装置的结构示意图。如图6所示,包括:第二接收模块61、生成模块62、第二发送模块63、第三接收模块64、第三计算模块65和第二比较模块66。

其中,第二接收模块61,用于接收车辆外部设备发送的请求报文;

生成模块62,用于根据所述请求报文随机生成第一密钥种子;

第二发送模块63,用于将所述第一密钥种子发送给所述车辆外部设备,以使所述车辆外部设备根据第一密钥算法对所述第一密钥种子进行计算,得到第一待检验密钥,根据第二密钥算法对所述第一待检验密钥进行计算得到第二密钥;

第三接收模块64,用于接收所述车辆外部设备发送的第一待检验密钥;

第三计算模块65,用于对所述第一密钥种子进行计算得到第一密钥;

第二比较模块66,用于将所述第一待检验密钥与所述第一密钥进行比较;根据比较结果向所述车辆外部设备返回第三密钥,以使所述车辆外部设备将所述第三密钥与所述第二密钥进行比较;在所述第三密钥与所述第二密钥相同时,对所述车辆外部设备进行解锁,确定所述车辆外部设备可以安全访问所述ecu。

进一步的,结合参考图7,在图6所示实施例的基础上,所述第二比较模块66包括:比较单元661、计算单元662、生成单元663和发送单元664。

其中,比较单元661,用于将所述第一待检验密钥与对所述第一密钥种子进行计算得到的第一密钥进行比较,判断所述第一待检验密钥与所述第一密钥是否相同;

计算单元662,用于在所述第一待检验密钥与所述第一密钥相同时,将所述第一密钥作为第二密钥种子进行计算得到第二待检验密钥,将所述第二待检验密钥确定为第三密钥;

生成单元663,用于在所述第一待检验密钥与所述第一密钥不同时,随机生成伪密钥或者根据预设的伪密钥算法生成伪密钥,将所述伪密钥确定为第三密钥;

发送单元664,用于将所述第三密钥返回给所述车辆外部设备。

另外,需要说明的是,本实施例中上述各模块的详细描述可以参考图2和图3所示实施例,此处不再做详细说明。

本发明实施例的汽车电子控制单元的安全访问装置,汽车电子控制单元ecu根据车辆外部设备的请求报文随机生成第一密钥种子并返给车辆外部设备,以使车辆外部设备根据第一密钥算法对第一密钥种子进行计算,得到第一待检验密钥,根据第二密钥算法对第一待检验密钥进行计算得到第二密钥,并将第一待检验密钥发送给ecu;ecu将第一待检验密钥与对第一密钥种子进行计算得到的第一密钥进行比较;根据比较结果向车辆外部设备返回第三密钥,以使车辆外部设备将第三密钥与所述第二密钥进行比较;在第三密钥与所述第二密钥相同时,对车辆外部设备进行解锁,确定车辆外部设备可以安全访问ecu,本实施例中,通过对车辆外部设备和ecu分别采用一套密钥算法进行安全性验证,在验证均通过后,才允许车辆外部设备访问ecu,从而避免了现有技术中通过创建模拟器模拟ecu获取多组密钥种子与密钥,破解ecu密钥算法的可能性,使得ecu难以被破解,提高了ecu的安全性。

图8为本发明实施例提供的另一种汽车电子控制单元的安全访问装置的结构示意图。该汽车电子控制单元的安全访问装置包括:

存储器801、处理器802及存储在存储器801上并可在处理器802上运行的计算机程序。

处理器802执行所述程序时实现图1或图2所示实施例中提供的汽车电子控制单元的安全访问方法。

进一步的,汽车电子控制单元的安全访问装置还包括:

通信接口803,用于存储器801和处理器802之间的通信。

存储器801,用于存放可在处理器802上运行的计算机程序。

存储器801可能包含高速ram存储器,也可能还包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。

处理器802,用于执行所述程序时实现图1或图2所示实施例所述的汽车电子控制单元的安全访问方法。

如果存储器801、处理器802和通信接口803独立实现,则通信接口803、存储器801和处理器802可以通过总线相互连接并完成相互间的通信。所述总线可以是工业标准体系结构(industrystandardarchitecture,简称为isa)总线、外部设备互连(peripheralcomponent,简称为pci)总线或扩展工业标准体系结构(extendedindustrystandardarchitecture,简称为eisa)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图8中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

可选的,在具体实现上,如果存储器801、处理器802及通信接口803,集成在一块芯片上实现,则存储器801、处理器802及通信接口803可以通过内部接口完成相互间的通信。

处理器802可能是一个中央处理器(centralprocessingunit,简称为cpu),或者是特定集成电路(applicationspecificintegratedcircuit,简称为asic),或者是被配置成实施本发明实施例的一个或多个集成电路。

本实施例还提供一种汽车电子控制单元的安全访问系统,包括如图4或图5所示实施例中的汽车电子控制单元的安全访问装置,以及如图6或图7所示实施例中的汽车电子控制单元的安全访问装置。

本实施例还提供一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如图1所示实施例中的汽车电子控制单元的安全访问方法。

本实施例还提供一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如图2所示实施例中的汽车电子控制单元的安全访问方法。

本实施例还提供一种计算机程序产品,当所述计算机程序产品中的指令处理器执行时,执行一种汽车电子控制单元的安全访问方法,所述方法包括:

车辆外部设备在需要对汽车电子控制单元ecu进行访问时,向ecu发送请求报文,以使所述ecu根据所述请求报文向所述车辆外部设备返回第一密钥种子;

所述车辆外部设备根据第一密钥算法对所述第一密钥种子进行计算,得到第一待检验密钥,根据第二密钥算法对所述第一待检验密钥进行计算得到第二密钥;将所述第一待检验密钥发送给所述ecu,以使所述ecu将所述第一待检验密钥与对所述第一密钥种子进行计算得到的第一密钥进行比较,根据比较结果向所述车辆外部设备返回第三密钥;

接收所述ecu返回的第三密钥;

将所述第三密钥与所述第二密钥进行比较,判断所述第三密钥与所述第二密钥是否相同;

若所述第三密钥与所述第二密钥相同,则对所述车辆外部设备进行解锁,确定所述车辆外部设备可以安全访问所述ecu。

本实施例还提供一种计算机程序产品,当所述计算机程序产品中的指令处理器执行时,执行一种汽车电子控制单元的安全访问方法,所述方法包括:

汽车电子控制单元ecu接收车辆外部设备发送的请求报文;

所述ecu根据所述请求报文随机生成第一密钥种子;

所述ecu将所述第一密钥种子发送给所述车辆外部设备,以使所述车辆外部设备根据第一密钥算法对所述第一密钥种子进行计算,得到第一待检验密钥,根据第二密钥算法对所述第一待检验密钥进行计算得到第二密钥,并将所述第一待检验密钥发送给所述ecu;

所述ecu接收所述车辆外部设备发送的第一待检验密钥;

所述ecu将所述第一待检验密钥与对所述第一密钥种子进行计算得到的第一密钥进行比较;根据比较结果向所述车辆外部设备返回第三密钥,以使所述车辆外部设备将所述第三密钥与所述第二密钥进行比较;在所述第三密钥与所述第二密钥相同时,对所述车辆外部设备进行解锁,确定所述车辆外部设备可以安全访问所述ecu。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。

此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。

流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。

在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(ram),只读存储器(rom),可擦除可编辑只读存储器(eprom或闪速存储器),光纤装置,以及便携式光盘只读存储器(cdrom)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。

应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。

本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。

此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。

上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1