诊断设备的指令验证方法、装置和下位机与流程

文档序号:14649433发布日期:2018-06-08 21:29阅读:183来源:国知局
诊断设备的指令验证方法、装置和下位机与流程

本发明涉及汽车电子技术领域,尤其涉及诊断设备的指令验证方法、装置和下位机。



背景技术:

随着汽车电子技术的快速发展,汽车的功能越来越复杂,汽车诊断也就越来越重要,汽车的诊断设备在人们的日常生活中起到了非常重要的作用。对于诊断设备来说,其下位机程序是与汽车ECU通信的核心程序,由于汽车的发展,诊断设备的下位机程序需要升级来支持新型汽车的诊断,诊断软件和下位机程序是相符相承的一个整体。

然而,不法分子会逆向通过上位机使用某一车型的数据来欺骗诊断设备的下位机,从而绕开下位机程序的合法性校验,达到与汽车ECU进行非法通信的目的。



技术实现要素:

本发明实施例提供了一种诊断设备的指令验证方法、装置和下位机,能够避免逆向通过上位机使用某一车型的数据来欺骗诊断设备的下位机的可能,提高诊断设备下位机的安全性。

第一方面,提供了一种诊断设备的指令验证方法,所述指令验证方法应用于诊断设备的下位机,包括:

获取诊断设备的上位机发送的第一验证数据,所述诊断设备更新软件版本时携带有所述第一验证数据,所述第一验证数据经过加密且包含有对应软件版本中上位机发送给下位机的指令集合;

解密所述第一验证数据,得到所述指令集合;

将接收自所述上位机的指令数据与所述指令集合进行比较,判断所述指令数据是否符合所述指令集合的要求;

若所述指令数据符合所述指令集合的要求,则执行所述指令数据;

若所述指令数据不符合所述指令集合的要求,则拒绝执行所述指令数据。

可选地,所述第一验证数据还包含有版本证书,所述版本证书由提供软件版本更新的服务器生成;

所述解密所述第一验证数据,得到所述指令集合的步骤具体为:解密所述第一验证数据,得到所述指令集合和所述版本证书;

在将接收自所述上位机的指令数据与所述指令集合进行比较之前,还包括:

校验所述版本证书是否合法;

若所述版本证书合法,则执行所述将接收自所述上位机的指令数据与所述指令集合进行比较的步骤;

若所述版本证书不合法,则结束本次诊断操作。

可选地,在执行所述指令数据之后,还包括:

判断本次诊断是否已完成;

若本次诊断未完成,则接收所述上位机的下一条指令数据,返回执行所述将接收自所述上位机的指令数据与所述指令集合进行比较的步骤;

若本次诊断已完成,则结束本次诊断操作。

可选地,所述判断所述指令数据是否符合所述指令集合的要求包括:

判断所述指令数据是否属于所述指令集合;

若所述指令数据属于所述指令集合,则确定所述指令数据符合所述指令集合的要求;

若所述指令数据不属于所述指令集合,则确定所述指令数据不符合所述指令集合的要求。

可选地,所述第一验证数据由提供软件版本更新的服务器在接收到下载软件版本指令之后,将预先存储的、要求下载的软件版本所对应的指令集合进行加密得到;预先存储的所述指令集合是由软件版本发布方在提取诊断设备待发布的软件版本中上位机发送给下位机的所有指令之后,由所述所有指令生成指令集合,并将所述指令集合和所述待发布的软件版本关联发布至所述提供软件版本更新的服务器上。

第二方面,提供了一种诊断设备的指令验证装置,所述指令验证装置安装于诊断设备的下位机,包括:

验证数据获取模块,用于获取诊断设备的上位机发送的第一验证数据,所述诊断设备更新软件版本时携带有所述第一验证数据,所述第一验证数据经过加密且包含有对应软件版本中上位机发送给下位机的指令集合;

验证数据解密模块,用于解密所述第一验证数据,得到所述指令集合;

指令验证模块,用于将接收自所述上位机的指令数据与所述指令集合进行比较,判断所述指令数据是否符合所述指令集合的要求;

执行模块,用于若所述指令验证模块的判断结果为是,则执行所述指令数据;

拒绝执行模块,用于若所述指令验证模块的判断结果为否,则拒绝执行所述指令数据。

可选地,所述第一验证数据还包含有版本证书,所述版本证书由提供软件版本更新的服务器生成;

所述验证数据解密模块具体用于解密所述第一验证数据,得到所述指令集合和所述版本证书;

所述指令验证装置还包括:

证书校验模块,用于校验所述版本证书是否合法;

触发模块,用于若所述证书校验模块的校验结果为是,则触发所述指令验证模块;

诊断结束模块,用于若所述证书校验模块的校验结果为否,则结束本次诊断操作。

可选地,所述指令验证装置还包括:

诊断完成判断模块,用于判断本次诊断是否已完成;

接收指令模块,用于若所述诊断完成判断模块的判断结果为否,则接收所述上位机的下一条指令数据,再次触发所述指令验证模块;

操作结束模块,用于若所述诊断完成判断模块的判断结果为是,则结束本次诊断操作。

可选地,所述指令验证模块可以包括:

指令判断单元,用于判断所述指令数据是否属于所述指令集合;

第一确定单元,用于若所述指令判断单元的判断结果为是,则确定所述指令数据符合所述指令集合的要求;

第二确定单元,用于若所述指令判断单元的判断结果为否,则确定所述指令数据不符合所述指令集合的要求。

可选地,所述第一验证数据由提供软件版本更新的服务器在接收到下载软件版本指令之后,将预先存储的、要求下载的软件版本所对应的指令集合进行加密得到;预先存储的所述指令集合是由软件版本发布方在提取诊断设备待发布的软件版本中上位机发送给下位机的所有指令之后,由所述所有指令生成指令集合,并将所述指令集合和所述待发布的软件版本关联发布至所述提供软件版本更新的服务器上。

第三方面,提供了一种诊断设备的软件版本发布方法,包括:

提取诊断设备待发布的软件版本中上位机发送给下位机的所有指令;

对所述所有指令加密存储为指令集合;

将所述指令集合和所述待发布的软件版本关联发布至指定的服务器。

第四方面,提供了一种诊断设备的下位机,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述的诊断设备的指令验证方法的步骤。

第五方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述的诊断设备的指令验证方法的步骤。

从以上技术方案可以看出,本发明实施例具有以下优点:

本发明实施例中,诊断设备的下位机首先获取诊断设备的上位机发送的第一验证数据,所述诊断设备更新软件版本时携带有所述第一验证数据,所述第一验证数据经过加密且包含有对应软件版本中上位机发送给下位机的指令集合;然后,解密所述第一验证数据,得到所述指令集合;接着,将接收自所述上位机的指令数据与所述指令集合进行比较,判断所述指令数据是否符合所述指令集合的要求;若所述指令数据符合所述指令集合的要求,则执行所述指令数据;若所述指令数据不符合所述指令集合的要求,则拒绝执行所述指令数据。在本发明实施例中,由于诊断设备更新软件版本时携带有该版本中上位机发送给下位机的指令集合,在下位机接收到上位机的指令数据后,可以判断该指令数据是否符合指令集合的要求,从而完成指令数据的验证,避免了逆向通过上位机使用某一车型的数据来欺骗诊断设备的下位机的可能,提高了诊断设备下位机的安全性。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例中一种诊断设备的指令验证方法一个实施例流程图;

图2为本发明实施例中一种诊断设备的软件版本发布方法一个实施例流程图;

图3为本发明实施例中一种诊断设备的指令验证方法在一个应用场景下的流程示意图;

图4为本发明实施例中一种诊断设备的指令验证装置一个实施例结构图;

图5为本发明一实施例提供的诊断设备的下位机的示意图。

具体实施方式

本发明实施例提供了一种诊断设备的指令验证方法、装置和下位机,用于解决诊断设备的下位机容易被上位机欺骗的问题。

为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本发明一部分实施例,而非全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

请参阅图1,本发明实施例中一种诊断设备的指令验证方法一个实施例包括:

101、获取诊断设备的上位机发送的第一验证数据,所述诊断设备更新软件版本时携带有所述第一验证数据,所述第一验证数据经过加密且包含有对应软件版本中上位机发送给下位机的指令集合;

本实施例中,该诊断设备的指令验证方法应用于诊断设备的下位机。可以理解的是,在启动诊断设备进行本次诊断操作时,诊断设备的上位机会向下位机发送指令数据,在上位机发送指令数据的同时或者之前,上位机还需要向下位机发送第一验证数据。

该第一验证数据是在诊断设备更新软件版本时该软件版本携带有的,第一验证数据经过加密且包含有对应软件版本中上位机发送给下位机的指令集合。

优选地,在一个应用场景下,所述第一验证数据可以由提供软件版本更新的服务器在接收到下载软件版本指令之后,将预先存储的、要求下载的软件版本所对应的指令集合进行加密得到;预先存储的所述指令集合可以是由软件版本发布方在提取诊断设备待发布的软件版本中上位机发送给下位机的所有指令之后,由所述所有指令生成指令集合,并将所述指令集合和所述待发布的软件版本关联发布至所述提供软件版本更新的服务器上。

为便于理解第一验证数据的来历,下面将通过一个应用场景对诊断设备的软件版本发布的过程进行描述。

请参阅图2,本发明提供的一种诊断设备的软件版本发布方法一个实施例包括:

201、提取诊断设备待发布的软件版本中上位机发送给下位机的所有指令;

202、由所述所有指令生成指令集合;

203、将所述指令集合和所述待发布的软件版本关联发布至指定的服务器。

对于上述步骤201,在待发布的软件版本中,均规定了上位机合法发送给下位机的所有指令,这些合法的指令对于不同的软件版本来说通常会存在一定的差别。首先,可以提取该待发布的软件版本中的这些指令。

对于上述步骤202,可以理解的是,为了保护这些指令在发布后不被轻易窃取,在生成指令集合时,还可以对这些指令进行加密存储,得到该软件版本对应的指令集合。

对于上述步骤203,发布时,将该指令集合与对应的软件版本关联发布到指令的服务器上,比如指定的软件版本发布平台、或者第三方软件发布的网站,等等。

可以理解的是,在将诊断设备的软件版本发布至指定的服务器上后,用户可以从该服务器上下载最新的软件版本来实现对诊断设备的更新。首先,用户通过客户端选定服务器上的诊断设备的某个软件版本,一般是最新的软件版本;接着,服务器判断本次软件版本的下载请求是否合法,若不合法,则拒绝该下载请求,若合法,则执行后续步骤;服务器可以生成该软件版本对应的版本证书,即License,再将该版本证书与该软件版本关联的指令集合加密生成第一验证数据(需要注意的是,该版本证书并非必须的,服务器也可以不生成版本证书,直接对指令集合进行加密得到第一验证数据);再然后,服务器将该软件版本和该第一验证数据下载至客户端,客户端根据下载好的软件版本完成诊断设备的软件更新,更新后的诊断设备也一并携带有该第一验证数据。

由上述内容可知,该第一验证数据相当于记录了该诊断设备当前软件版本的行为轨迹,其贯穿在软件版本的发布、下载、使用的全过程中,因而可用于使用过程中的下位机对上位机的指令验证,防止下位机被欺骗。

102、解密所述第一验证数据,得到所述指令集合;

可以理解的是,为了提高第一验证数据的安全性,服务器是通过加密的方式根据指令集合生成第一验证数据的,因此,下位机需要解密该第一验证数据来得到该指令集合。

进一步地,由上面描述的内容可知,服务器还可以生成软件版本对应的版本证书,因此,所述第一验证数据还可以包含有版本证书,所述版本证书由提供软件版本更新的服务器生成。此时,步骤102具体为:解密所述第一验证数据,得到所述指令集合和所述版本证书。那么,下位机在将接收自所述上位机的指令数据与所述指令集合进行比较之前,还可以校验所述版本证书是否合法;若所述版本证书合法,则执行下述步骤103;若所述版本证书不合法,则结束本次诊断操作。可见,加入版本证书后,下位机还可以通过对版本证书的校验来判断第一验证数据本身是否合法,进一步减少不法分子通过伪造第一验证数据本身完成欺骗的可能性,提高了第一验证数据的可信度。

103、将接收自所述上位机的指令数据与所述指令集合进行比较,判断所述指令数据是否符合所述指令集合的要求,若是,则执行步骤104,若否,则执行步骤105;

104、执行所述指令数据;

105、拒绝执行所述指令数据。

对于上述步骤103~105,可以理解的是,在得到诊断设备当前版本的指令集合之后,下位机可以将接收自所述上位机的指令数据与所述指令集合进行比较,判断所述指令数据是否符合所述指令集合的要求,如果符合要求,则执行这些执行数据,还可以将执行的结果反馈给上位机;反之,如果不符合要求,则拒绝执行这些指令数据,并可以结束本次诊断操作。

其中,若该指令集合经过加密,则在执行步骤103将接收自所述上位机的指令数据与所述指令集合进行比较之前,先解密该指令集合,再将指令数据与指令集合中的各个指令进行比较。

进一步地,步骤103判断所述指令数据是否符合所述指令集合的要求具体包括:判断所述指令数据是否属于所述指令集合;若所述指令数据属于所述指令集合,则确定所述指令数据符合所述指令集合的要求;若所述指令数据不属于所述指令集合,则确定所述指令数据不符合所述指令集合的要求。可以理解的是,该指令集合一般可以穷举上位机发送给下位机的所有指令,当下位机接收到的指令数据不属于指令集合中的任意一条指令时,说明该指令数据是非法的,因此判定其不符合该指令集合的要求,从而拒绝执行该指令数据。

进一步地,如图3所示,在执行所述指令数据之后,该指令验证方法还可以包括:

301、判断本次诊断是否已完成,若否,则执行步骤302,若是,则执行步骤303;

302、接收所述上位机的下一条指令数据,返回执行步骤103;

303、结束本次诊断操作。

对于上述步骤301~303,可以理解的是,在一次诊断过程中,上位机可能需要向下位机发送多条指令数据,因此,在下位机在执行了一条指令数据之后,还需要判断本次诊断是否已经完成了。判断本次诊断是否已经完成的方式可以有多种,比如,第一种方式是,若下位机接收到下一条指令数据,则判定本次诊断尚未完成,反之,则判定本次诊断已完成;第二种方式是,下位机监测是否接收到上位机下发的结束指令,如果接收到该结束指令,则判定本次诊断尚未完成,反之,则判定本次诊断已完成。对此,本实施例不再一一列举。

当本次诊断未完成时,下位机接收所述上位机的下一条指令数据,然后返回执行上述步骤103,重新对该下一条指令数据进行验证、处理,如此循环,直至确定本次诊断已完成,则结束本次诊断操作。

本实施例中,诊断设备的下位机首先获取诊断设备的上位机发送的第一验证数据,所述诊断设备更新软件版本时携带有所述第一验证数据,所述第一验证数据经过加密且包含有对应软件版本中上位机发送给下位机的指令集合;然后,解密所述第一验证数据,得到所述指令集合;接着,将接收自所述上位机的指令数据与所述指令集合进行比较,判断所述指令数据是否符合所述指令集合的要求;若所述指令数据符合所述指令集合的要求,则执行所述指令数据;若所述指令数据不符合所述指令集合的要求,则拒绝执行所述指令数据。在本实施例中,由于诊断设备更新软件版本时携带有该版本中上位机发送给下位机的指令集合,在下位机接收到上位机的指令数据后,可以判断该指令数据是否符合指令集合的要求,从而完成指令数据的验证,避免了逆向通过上位机使用某一车型的数据来欺骗诊断设备的下位机的可能,提高了诊断设备下位机的安全性。

应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。

上面主要描述了一种诊断设备的指令验证方法,下面将对一种诊断设备的指令验证装置进行详细描述。

图4示出了本发明实施例中一种诊断设备的指令验证装置一个实施例结构图。

本实施例中,一种诊断设备的指令验证装置,所述指令验证装置安装于诊断设备的下位机,包括:

验证数据获取模块401,用于获取诊断设备的上位机发送的第一验证数据,所述诊断设备更新软件版本时携带有所述第一验证数据,所述第一验证数据经过加密且包含有对应软件版本中上位机发送给下位机的指令集合;

验证数据解密模块402,用于解密所述第一验证数据,得到所述指令集合;

指令验证模块403,用于将接收自所述上位机的指令数据与所述指令集合进行比较,判断所述指令数据是否符合所述指令集合的要求;

执行模块404,用于若所述指令验证模块403的判断结果为是,则执行所述指令数据;

拒绝执行模块405,用于若所述指令验证模块403的判断结果为否,则拒绝执行所述指令数据。

进一步地,所述第一验证数据还可以包含有版本证书,所述版本证书由提供软件版本更新的服务器生成;

所述验证数据解密模块具体可以用于解密所述第一验证数据,得到所述指令集合和所述版本证书;

所述指令验证装置还可以包括:

证书校验模块,用于校验所述版本证书是否合法;

触发模块,用于若所述证书校验模块的校验结果为是,则触发所述指令验证模块;

诊断结束模块,用于若所述证书校验模块的校验结果为否,则结束本次诊断操作。

进一步地,所述指令验证装置还可以包括:

诊断完成判断模块,用于判断本次诊断是否已完成;

接收指令模块,用于若所述诊断完成判断模块的判断结果为否,则接收所述上位机的下一条指令数据,再次触发所述指令验证模块;

操作结束模块,用于若所述诊断完成判断模块的判断结果为是,则结束本次诊断操作。

进一步地,所述指令验证模块可以包括:

指令判断单元,用于判断所述指令数据是否属于所述指令集合;

第一确定单元,用于若所述指令判断单元的判断结果为是,则确定所述指令数据符合所述指令集合的要求;

第二确定单元,用于若所述指令判断单元的判断结果为否,则确定所述指令数据不符合所述指令集合的要求。

进一步地,所述第一验证数据由提供软件版本更新的服务器在接收到下载软件版本指令之后,将预先存储的、要求下载的软件版本所对应的指令集合进行加密得到;预先存储的所述指令集合是由软件版本发布方在提取诊断设备待发布的软件版本中上位机发送给下位机的所有指令之后,由所述所有指令生成指令集合,并将所述指令集合和所述待发布的软件版本关联发布至所述提供软件版本更新的服务器上。

图5是本发明一实施例提供的诊断设备的下位机的示意图。如图5所示,该实施例的诊断设备的下位机5包括:处理器50、存储器51以及存储在所述存储器51中并可在所述处理器50上运行的计算机程序52,例如执行上述诊断设备的指令验证方法的程序。所述处理器50执行所述计算机程序52时实现如下步骤:

获取诊断设备的上位机发送的第一验证数据,所述诊断设备更新软件版本时携带有所述第一验证数据,所述第一验证数据经过加密且包含有对应软件版本中上位机发送给下位机的指令集合;

解密所述第一验证数据,得到所述指令集合;

将接收自所述上位机的指令数据与所述指令集合进行比较,判断所述指令数据是否符合所述指令集合的要求;

若所述指令数据符合所述指令集合的要求,则执行所述指令数据;

若所述指令数据不符合所述指令集合的要求,则拒绝执行所述指令数据。

优选地,所述第一验证数据还包含有版本证书,所述版本证书由提供软件版本更新的服务器生成;

所述解密所述第一验证数据,得到所述指令集合的步骤具体为:解密所述第一验证数据,得到所述指令集合和所述版本证书;

在将接收自所述上位机的指令数据与所述指令集合进行比较之前,还包括:

校验所述版本证书是否合法;

若所述版本证书合法,则执行所述将接收自所述上位机的指令数据与所述指令集合进行比较的步骤;

若所述版本证书不合法,则结束本次诊断操作。

优选地,在执行所述指令数据之后,所述处理器50执行所述计算机程序52时还包括:

判断本次诊断是否已完成;

若本次诊断未完成,则接收所述上位机的下一条指令数据,返回执行所述将接收自所述上位机的指令数据与所述指令集合进行比较的步骤;

若本次诊断已完成,则结束本次诊断操作。

优选地,所述判断所述指令数据是否符合所述指令集合的要求包括:

判断所述指令数据是否属于所述指令集合;

若所述指令数据属于所述指令集合,则确定所述指令数据符合所述指令集合的要求;

若所述指令数据不属于所述指令集合,则确定所述指令数据不符合所述指令集合的要求。

优选地,所述第一验证数据由提供软件版本更新的服务器在接收到下载软件版本指令之后,将预先存储的、要求下载的软件版本所对应的指令集合进行加密得到;预先存储的所述指令集合是由软件版本发布方在提取诊断设备待发布的软件版本中上位机发送给下位机的所有指令之后,由所述所有指令生成指令集合,并将所述指令集合和所述待发布的软件版本关联发布至所述提供软件版本更新的服务器上。

示例性的,所述计算机程序52可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器51中,并由所述处理器50执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序52在所述诊断设备的下位机5中的执行过程。

所述诊断设备的下位机可包括,但不仅限于,处理器50、存储器51。本领域技术人员可以理解,图5仅仅是诊断设备的下位机5的示例,并不构成对诊断设备的下位机5的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述诊断设备的下位机还可以包括输入输出设备、网络接入设备、总线等。

所述处理器50可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

所述存储器51可以是所述诊断设备的下位机5的内部存储单元,例如诊断设备的下位机5的硬盘或内存。所述存储器51也可以是所述诊断设备的下位机5的外部存储设备,例如所述诊断设备的下位机5上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器51还可以既包括所述诊断设备的下位机5的内部存储单元也包括外部存储设备。所述存储器51用于存储所述计算机程序以及所述诊断设备的下位机所需的其他程序和数据。所述存储器51还可以用于暂时地存储已经输出或者将要输出的数据。

在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现如下步骤:

获取诊断设备的上位机发送的第一验证数据,所述诊断设备更新软件版本时携带有所述第一验证数据,所述第一验证数据经过加密且包含有对应软件版本中上位机发送给下位机的指令集合;

解密所述第一验证数据,得到所述指令集合;

将接收自所述上位机的指令数据与所述指令集合进行比较,判断所述指令数据是否符合所述指令集合的要求;

若所述指令数据符合所述指令集合的要求,则执行所述指令数据;

若所述指令数据不符合所述指令集合的要求,则拒绝执行所述指令数据。

优选地,所述第一验证数据还包含有版本证书,所述版本证书由提供软件版本更新的服务器生成;

所述解密所述第一验证数据,得到所述指令集合的步骤具体为:解密所述第一验证数据,得到所述指令集合和所述版本证书;

在将接收自所述上位机的指令数据与所述指令集合进行比较之前,还包括:

校验所述版本证书是否合法;

若所述版本证书合法,则执行所述将接收自所述上位机的指令数据与所述指令集合进行比较的步骤;

若所述版本证书不合法,则结束本次诊断操作。

优选地,在执行所述指令数据之后,还包括:

判断本次诊断是否已完成;

若本次诊断未完成,则接收所述上位机的下一条指令数据,返回执行所述将接收自所述上位机的指令数据与所述指令集合进行比较的步骤;

若本次诊断已完成,则结束本次诊断操作。

优选地,所述判断所述指令数据是否符合所述指令集合的要求包括:

判断所述指令数据是否属于所述指令集合;

若所述指令数据属于所述指令集合,则确定所述指令数据符合所述指令集合的要求;

若所述指令数据不属于所述指令集合,则确定所述指令数据不符合所述指令集合的要求。

优选地,所述第一验证数据由提供软件版本更新的服务器在接收到下载软件版本指令之后,将预先存储的、要求下载的软件版本所对应的指令集合进行加密得到;预先存储的所述指令集合是由软件版本发布方在提取诊断设备待发布的软件版本中上位机发送给下位机的所有指令之后,由所述所有指令生成指令集合,并将所述指令集合和所述待发布的软件版本关联发布至所述提供软件版本更新的服务器上。

其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。

以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

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