本发明涉及领域,尤其涉及一种安全验证系统及方法。
背景技术:
汽车ECU,作为汽车某一功能单元的核心组成,ECU内部数据的安全性,直接影响着汽车的安全性,尤其是汽车ECU内部的部分重要数据,在其与汽车匹配完毕后,要对其进行高安全等级的保护,目前普遍的做法是:采用安全认证(基于一定的安全算法)进行保护;也就是说只有通过了ECU内部的安全认证后,方能对上述高安全数据进行修改。
汽车ECU的安全算法是整车至关重要的信息,ECU刷新、ECU配置、ECU参数选择等重要信息都受到安全算法的保护。目前国内整车厂对安全算法的控制主要有以下两种方式:1、供应商提供ECU安全算法源代码给整车厂,整车厂确认以后,双方即约定以此安全算法来进行开发。2、整车厂统一管理ECU安全算法,但释放安全算法的源代码给供应商,供应商以此安全算法来进行开发。以上两种方式,供应商和整车厂都拥有安全算法源代码。
现有安全算法控制方式存在的问题是:整车厂对安全算法源代码不能得到有效的保护,供应商拥有安全算法源代码,存在泄密风险;另外,不同供应商可能对应不同的安全算法源代码,对整车厂来说管理较复杂、管理成本会较大。
技术实现要素:
本发明的主要目的在于提出一种安全验证系统及方法,旨在解决安全算法源代码泄漏风险、管理较复杂及管理成本较大的问题。
为实现上述目的,本发明提供的一种安全验证系统,其特征在于,所述系统包括诊断设备、电子控制单元;
所述诊断设备,用于向电子控制单元发送请求种子的指令;用于依据种子数据生成解锁密钥,所述种子数据为电子控制单元获取所述请求种子的指令后生成;用于获取电子控制单元的判断结果信息;
所述电子控制单元,用于获取所述诊断设备的请求种子的指令,并生成种子数据;用于依据所述种子数据生成安全密钥;用于判断解锁密钥与所述安全密钥是否相同,所述解锁密钥为所述诊断设备依据种子数据生成;用于将判断结果信息发送给所述诊断设备。
进一步的,所述诊断设备包括请求模块、种子数据获取模块、解锁密钥生成模块、判断结果信息获取模块;
所述请求模块,用于向电子控制单元发送请求种子的指令;
所述种子数据获取模块,用于获取电子控制单元生成的种子数据;
所述解锁密钥生成模块,用于依据所述种子数据获取模块的种子数据生成解锁密钥;
所述判断结果信息获取模块,用于获取电子控制单元的判断结果信息。
进一步的,所述电子控制单元包括请求种子获取模块、种子数据生成模块、安全密钥生成模块、解锁密钥获取模块、判断模块、判断结果信息发送模块;
所述请求种子获取模块,用于获取所述诊断设备的请求种子的指令;
所述种子数据生成模块,用于依据所述请求种子获取模块的请求种子的指令生成种子数据;
所述解锁密钥获取模块,用于获取所述诊断设备生成的解锁密钥
所述安全密钥生成模块,用于依据所述种子数据生成安全密钥;
所述判断模块,用于判断解锁密钥与所述安全密钥是否相同;
所述判断结果信息发送模块,用于将所述判断模块的判断结果信息发送给所述诊断设备。
进一步的,所述安全密钥生成模块包括安全算法库文件,所述安全算法库文件用于依据所述种子数据生成安全密钥。
此外,为实现上述目的,本发明还提出一种安全验证方法,其特征在于,所述方法包括步骤:
S1:诊断设备向电子控制单元发送请求种子的指令;
S2:所述电子控制单元获取请求种子的指令,并生成种子数据;
S3:所述诊断设备依据所述种子数据生成解锁密钥;
S4:所述电子控制单元的安全算法库文件依据所述种子数据生成安全密钥;
S5:判断所述解锁密钥与所述安全密钥是否相同;
S6:将判断结果信息发送给所述诊断设备。
进一步的,所述电子控制单元的安全算法库文件通过以下方式建立:
S41:制作DEMO软件文件;
S42:将安全算法文件和所述DEMO软件文件编译生成安全算法库文件;
S43:将所述安全算法库文件集成到所述电子控制单元。
此外,为实现上述目的,本发明还提出一种安全验证方法,其特征在于,所述方法包括步骤:
S10:诊断设备向电子控制单元发送请求种子的指令;
S20:诊断设备生成解锁密钥并将所述解锁密钥发送给所述电子控制单元;所述解锁密钥为所述诊断设备依据电子控制单元生成的种子数据生成;
S30:诊断设备获取电子控制单元的判断结果信息;所述判断结果信息为所述电子控制单元判断所述解锁密钥与所述安全密钥是否相同而产生,所述安全密钥为所述电子控制单元的安全算法库文件依据所述种子数据生成。
进一步的,所述电子控制单元的安全算法库文件通过以下方式建立:
S41:制作DEMO软件文件;
S42:将安全算法文件和所述DEMO软件文件编译生成安全算法库文件;
S43:将所述安全算法库文件集成到所述电子控制单元。
再者,为实现上述目的,本发明还提出一种安全验证方法,其特征在于,所述方法包括步骤:
S100:电子控制单元获取请求种子的指令并生成种子数据,所述请求种子的指令为诊断设备向电子控制单元发送;
S200:电子控制单元获取解锁密钥,所述解锁密钥为诊断设备依据所述种子数据生成;
S300:电子控制单元的安全算法库文件依据所述种子数据生成安全密钥;
S400:电子控制单元判断所述解锁密钥与所述安全密钥是否相同,并将判断结果信息发送给所述诊断设备。
进一步的,所述电子控制单元的安全算法库文件通过以下方式建立:
S41:制作DEMO软件文件;
S42:将安全算法文件和所述DEMO软件文件编译生成安全算法库文件;
S43:将所述安全算法库文件集成到所述电子控制单元。
本发明提出的安全验证系统及方法,通过将安全算法文件和DEMO软件文件编译生成安全算法库文件,在进行ECU的解锁时,调用安全算法库文件进行解锁。一方面有效地防止安全算法源代码的泄漏,另一方面降低了管理成本较大。
附图说明
图1为本发明第一实施例的安全验证系统的诊断设备的结构示意图;
图2为本发明第一实施例的安全验证系统的电子控制单元的结构示意图;
图3为本发明第二实施例的安全验证方法流程示意图;
图4为本发明实施例的安全算法库文件建立流程示意图;
图5为本发明第三实施例的安全验证方法流程示意图;
图6为本发明第四实施例的安全验证方法流程示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
现在将参考附图描述实现本发明各个实施例。在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本发明的说明,其本身并没有特定的意义。
如图1和图2所示,本发明第一实施例提出一种安全验证系统,该安全验证系统包括诊断设备100、电子控制单元200;
诊断设备100,用于向电子控制单元200发送请求种子的指令;用于依据种子数据生成解锁密钥,种子数据为电子控制单元200获取请求种子的指令后生成;用于获取电子控制单元200的判断结果信息;
电子控制单元200,用于获取诊断设备100的请求种子的指令,并生成种子数据;用于依据种子数据生成安全密钥;用于判断解锁密钥与安全密钥是否相同,解锁密钥为诊断设备100依据种子数据生成;用于将判断结果信息发送给诊断设备100。
具体地,在本实施例中,诊断设备100包括请求模块101、种子数据获取模块102、解锁密钥生成模块103、判断结果信息获取模块104;
请求模块101,用于向电子控制单元200发送请求种子的指令;
种子数据获取模块102,用于获取电子控制单元200生成的种子数据;
解锁密钥生成模块103,用于依据种子数据获取模块102的种子数据生成解锁密钥;
判断结果信息获取模块104,用于获取电子控制单元200的判断结果信息。
在本实施例中,电子控制单元200包括请求种子获取模块201、种子数据生成模块202、安全密钥生成模块203、解锁密钥获取模块204、判断模块205、判断结果信息发送模块206;
请求种子获取模块201,用于获取诊断设备100的请求种子的指令;
种子数据生成模块202,用于依据请求种子获取模块201的请求种子的指令生成种子数据;
解锁密钥获取模块203,用于获取诊断设备100生成的解锁密钥
安全密钥生成模块204,用于依据种子数据生成模块202的种子数据生成安全密钥;
判断模块205,用于判断解锁密钥与安全密钥是否相同;
判断结果信息发送模块206,用于将判断模块205的判断结果信息发送给诊断设备100。
判断结果信息可以为:若解锁密钥与安全密钥相同,则解锁成功;若解锁密钥与安全密钥不同,则解锁失败。
在本实施例中,安全密钥生成模块204包括安全算法库文件,安全算法库文件用于依据种子数据生成安全密钥。
具体地,安全算法库文件可通过以下方式建立:
S41:制作DEMO(demonstration,示范)软件文件;
S42:将安全算法文件和所述DEMO软件文件编译生成安全算法库文件;
S43:将所述安全算法库文件集成到所述电子控制单元。
本实施例通过将安全算法文件和DEMO软件文件编译生成安全算法库文件,在进行ECU的解锁时,调用安全算法库文件进行解锁。一方面有效地防止安全算法源代码的泄漏,另一方面降低了管理成本较大。
参照图3所述,本发明第二实施例提出一种安全验证方法,该方法包括步骤:
S1:诊断设备向电子控制单元发送请求种子的指令;
S2:所述电子控制单元获取请求种子的指令,并生成种子数据;
S3:所述诊断设备依据所述种子数据生成解锁密钥;
S4:所述电子控制单元的安全算法库文件依据所述种子数据生成安全密钥;
S5:判断所述解锁密钥与所述安全密钥是否相同;
S6:将判断结果信息发送给所述诊断设备。
如图4所示,在本实施例中,电子控制单元的安全算法库文件通过以下方式建立:
S41:制作DEMO软件文件;
在本实施例中,DEMO软件文件包括接口函数相关信息。
S42:将安全算法文件和所述DEMO软件文件编译生成安全算法库文件;
S43:将所述安全算法库文件集成到所述电子控制单元。
参照图5所述,本发明第三实施例提出一种安全验证方法,该方法包括步骤:
S10:诊断设备向电子控制单元发送请求种子的指令;
S20:诊断设备生成解锁密钥并将所述解锁密钥发送给所述电子控制单元;所述解锁密钥为所述诊断设备依据电子控制单元生成的种子数据生成;
S30:诊断设备获取电子控制单元的判断结果信息;所述判断结果信息为所述电子控制单元判断所述解锁密钥与所述安全密钥是否相同而产生,所述安全密钥为所述电子控制单元的安全算法库文件依据所述种子数据生成。
如图4所示,在本实施例中,电子控制单元的安全算法库文件通过以下方式建立:
S41:制作DEMO软件文件;
在本实施例中,DEMO软件文件包括接口函数相关信息。
S42:将安全算法文件和所述DEMO软件文件编译生成安全算法库文件;
S43:将所述安全算法库文件集成到所述电子控制单元。
参照图6所述,本发明第四实施例提出一种安全验证方法,该方法包括步骤:
S100:电子控制单元获取请求种子的指令并生成种子数据,所述请求种子的指令为诊断设备向电子控制单元发送;
S200:电子控制单元获取解锁密钥,所述解锁密钥为诊断设备依据所述种子数据生成;
S300:电子控制单元的安全算法库文件依据所述种子数据生成安全密钥;
S400:电子控制单元判断所述解锁密钥与所述安全密钥是否相同,并将判断结果信息发送给所述诊断设备。
在本实施例中,DEMO软件文件包括接口函数相关信息。
S42:将安全算法文件和所述DEMO软件文件编译生成安全算法库文件;
S43:将所述安全算法库文件集成到所述电子控制单元。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。