CN108139752A - 诊断设备的指令验证方法、装置和下位机 - Google Patents

诊断设备的指令验证方法、装置和下位机 Download PDF

Info

Publication number
CN108139752A
CN108139752A CN201780002279.9A CN201780002279A CN108139752A CN 108139752 A CN108139752 A CN 108139752A CN 201780002279 A CN201780002279 A CN 201780002279A CN 108139752 A CN108139752 A CN 108139752A
Authority
CN
China
Prior art keywords
described instruction
data
instruction set
verification
diagnostic device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201780002279.9A
Other languages
English (en)
Other versions
CN108139752B (zh
Inventor
刘均
赵小兵
燕葳
刘国柱
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Launch Software Co Ltd
Original Assignee
Shenzhen Launch Software Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shenzhen Launch Software Co Ltd filed Critical Shenzhen Launch Software Co Ltd
Publication of CN108139752A publication Critical patent/CN108139752A/zh
Application granted granted Critical
Publication of CN108139752B publication Critical patent/CN108139752B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B23/00Testing or monitoring of control systems or parts thereof
    • G05B23/02Electric testing or monitoring
    • G05B23/0205Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults
    • G05B23/0218Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterised by the fault detection method dealing with either existing or incipient faults
    • G05B23/0221Preprocessing measurements, e.g. data collection rate adjustment; Standardization of measurements; Time series or signal analysis, e.g. frequency analysis or wavelets; Trustworthiness of measurements; Indexes therefor; Measurements using easily measured parameters to estimate parameters difficult to measure; Virtual sensor creation; De-noising; Sensor fusion; Unconventional preprocessing inherently present in specific fault detection methods like PCA-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/606Protecting data by securing the transmission between two devices or processes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Automation & Control Theory (AREA)
  • Stored Programmes (AREA)
  • Storage Device Security (AREA)

Abstract

一种诊断设备的指令验证方法,用于解决诊断设备的下位机容易被上位机欺骗的问题。该方法包括:获取诊断设备的上位机发送的第一验证数据,所述诊断设备更新软件版本时携带有所述第一验证数据,所述第一验证数据经过加密且包含有对应软件版本中上位机发送给下位机的指令集合;解密所述第一验证数据,得到所述指令集合;将接收自所述上位机的指令数据与所述指令集合进行比较,判断所述指令数据是否符合所述指令集合的要求;若所述指令数据符合所述指令集合的要求,则执行所述指令数据;若所述指令数据不符合所述指令集合的要求,则拒绝执行所述指令数据。

Description

诊断设备的指令验证方法、装置和下位机
技术领域
本发明涉及汽车电子技术领域,尤其涉及诊断设备的指令验证方法、装置和下位机。
背景技术
随着汽车电子技术的快速发展,汽车的功能越来越复杂,汽车诊断也就越来越重要,汽车的诊断设备在人们的日常生活中起到了非常重要的作用。对于诊断设备来说,其下位机程序是与汽车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 AccessMemory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (10)

1.一种诊断设备的指令验证方法,其特征在于,所述指令验证方法应用于诊断设备的下位机,包括:
获取诊断设备的上位机发送的第一验证数据,所述诊断设备更新软件版本时携带有所述第一验证数据,所述第一验证数据经过加密且包含有对应软件版本中上位机发送给下位机的指令集合;
解密所述第一验证数据,得到所述指令集合;
将接收自所述上位机的指令数据与所述指令集合进行比较,判断所述指令数据是否符合所述指令集合的要求;
若所述指令数据符合所述指令集合的要求,则执行所述指令数据;
若所述指令数据不符合所述指令集合的要求,则拒绝执行所述指令数据。
2.根据权利要求1所述的指令验证方法,其特征在于,所述第一验证数据还包含有版本证书,所述版本证书由提供软件版本更新的服务器生成;
所述解密所述第一验证数据,得到所述指令集合的步骤具体为:解密所述第一验证数据,得到所述指令集合和所述版本证书;
在将接收自所述上位机的指令数据与所述指令集合进行比较之前,还包括:
校验所述版本证书是否合法;
若所述版本证书合法,则执行所述将接收自所述上位机的指令数据与所述指令集合进行比较的步骤;
若所述版本证书不合法,则结束本次诊断操作。
3.根据权利要求1所述的指令验证方法,其特征在于,在执行所述指令数据之后,还包括:
判断本次诊断是否已完成;
若本次诊断未完成,则接收所述上位机的下一条指令数据,返回执行所述将接收自所述上位机的指令数据与所述指令集合进行比较的步骤;
若本次诊断已完成,则结束本次诊断操作。
4.根据权利要求1所述的指令验证方法,其特征在于,所述判断所述指令数据是否符合所述指令集合的要求包括:
判断所述指令数据是否属于所述指令集合;
若所述指令数据属于所述指令集合,则确定所述指令数据符合所述指令集合的要求;
若所述指令数据不属于所述指令集合,则确定所述指令数据不符合所述指令集合的要求。
5.根据权利要求1至4中任一项所述的指令验证方法,其特征在于,所述第一验证数据由提供软件版本更新的服务器在接收到下载软件版本指令之后,将预先存储的、要求下载的软件版本所对应的指令集合进行加密得到;预先存储的所述指令集合是由软件版本发布方在提取诊断设备待发布的软件版本中上位机发送给下位机的所有指令之后,由所述所有指令生成指令集合,并将所述指令集合和所述待发布的软件版本关联发布至所述提供软件版本更新的服务器上。
6.一种诊断设备的指令验证装置,其特征在于,所述指令验证装置安装于诊断设备的下位机,包括:
验证数据获取模块,用于获取诊断设备的上位机发送的第一验证数据,所述诊断设备更新软件版本时携带有所述第一验证数据,所述第一验证数据经过加密且包含有对应软件版本中上位机发送给下位机的指令集合;
验证数据解密模块,用于解密所述第一验证数据,得到所述指令集合;
指令验证模块,用于将接收自所述上位机的指令数据与所述指令集合进行比较,判断所述指令数据是否符合所述指令集合的要求;
执行模块,用于若所述指令验证模块的判断结果为是,则执行所述指令数据;
拒绝执行模块,用于若所述指令验证模块的判断结果为否,则拒绝执行所述指令数据。
7.根据权利要求6所述的指令验证装置,其特征在于,所述第一验证数据还包含有版本证书,所述版本证书由提供软件版本更新的服务器生成;
所述验证数据解密模块具体用于解密所述第一验证数据,得到所述指令集合和所述版本证书;
所述指令验证装置还包括:
证书校验模块,用于校验所述版本证书是否合法;
触发模块,用于若所述证书校验模块的校验结果为是,则触发所述指令验证模块;
诊断结束模块,用于若所述证书校验模块的校验结果为否,则结束本次诊断操作。
8.根据权利要求6或7所述的指令验证装置,其特征在于,所述指令验证装置还包括:
诊断完成判断模块,用于判断本次诊断是否已完成;
接收指令模块,用于若所述诊断完成判断模块的判断结果为否,则接收所述上位机的下一条指令数据,再次触发所述指令验证模块;
操作结束模块,用于若所述诊断完成判断模块的判断结果为是,则结束本次诊断操作。
9.一种诊断设备的下位机,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至5中任一项所述诊断设备的指令验证方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5中任一项所述诊断设备的指令验证方法的步骤。
CN201780002279.9A 2017-12-28 2017-12-28 诊断设备的指令验证方法、装置和下位机 Active CN108139752B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2017/119571 WO2019127275A1 (zh) 2017-12-28 2017-12-28 诊断设备的指令验证方法、装置和下位机

Publications (2)

Publication Number Publication Date
CN108139752A true CN108139752A (zh) 2018-06-08
CN108139752B CN108139752B (zh) 2020-09-15

Family

ID=62400274

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780002279.9A Active CN108139752B (zh) 2017-12-28 2017-12-28 诊断设备的指令验证方法、装置和下位机

Country Status (5)

Country Link
US (1) US10740491B2 (zh)
EP (1) EP3528071B1 (zh)
CN (1) CN108139752B (zh)
ES (1) ES2890430T3 (zh)
WO (1) WO2019127275A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109767210A (zh) * 2018-12-28 2019-05-17 深圳市讯联智付网络有限公司 防止eSe芯片生命周期被意外终止的系统及方法
CN113746833A (zh) * 2021-09-02 2021-12-03 上海商汤智能科技有限公司 通信方法及装置、电子设备和存储介质
CN114625106A (zh) * 2022-03-07 2022-06-14 深圳市元征科技股份有限公司 车辆诊断的方法、装置、电子设备及存储介质

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10623385B2 (en) * 2018-03-16 2020-04-14 At&T Mobility Ii Llc Latency sensitive tactile network security interfaces
US11144635B2 (en) * 2018-11-06 2021-10-12 International Business Machines Corporation Restricted command set management in a data storage system
CN111083545B (zh) * 2019-11-18 2022-04-15 北京小米移动软件有限公司 遥控操作控制方法、遥控操作控制装置及存储介质
CN114640578B (zh) * 2022-03-15 2024-08-23 中国电信股份有限公司 设备的自动配置方法、装置及系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002318607A (ja) * 2001-04-18 2002-10-31 Omron Corp リニューアル設計支援方法及びシステム並びにそれに用いられる仮想設備
CN101183312A (zh) * 2007-12-12 2008-05-21 中兴通讯股份有限公司 终端通过接入usb存储设备实现版本升级及备份的方法
CN103631609A (zh) * 2012-08-21 2014-03-12 广州汽车集团股份有限公司 一种车载ecu应用程序的刷新方法及系统
CN105812404A (zh) * 2014-12-29 2016-07-27 罗伯特·博世有限公司 车辆诊断设备数据升级方法、装置及车辆诊断设备
CN106982213A (zh) * 2017-03-30 2017-07-25 深圳市元征科技股份有限公司 一种应用于车载设备的网络攻击防御方法及相关装置
CN107491336A (zh) * 2017-09-05 2017-12-19 武汉理工大学 一种汽车电控模块刷新系统及方法

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10249659B4 (de) * 2002-10-24 2014-04-10 Volkswagen Ag Verfahren und Steuergerät zur Durchführung von Diagnosen bei einem Kraftfahrzeug
JP2008181228A (ja) * 2007-01-23 2008-08-07 Sony Corp 管理システムおよび管理方法、端末装置、管理サーバ、並びにプログラム
CN102667716A (zh) * 2009-12-18 2012-09-12 惠普发展公司,有限责任合伙企业 使用固件更新应用程序更新部件的固件的方法及装置
US8874922B2 (en) * 2012-01-17 2014-10-28 Dell Products L.P. Systems and methods for multi-layered authentication/verification of trusted platform updates
CN102736615B (zh) * 2012-03-31 2014-08-13 深圳市元征科技股份有限公司 汽车故障诊断方法
US8966248B2 (en) * 2012-04-06 2015-02-24 GM Global Technology Operations LLC Secure software file transfer systems and methods for vehicle control modules
CN103287400A (zh) * 2013-02-05 2013-09-11 深圳市元征科技股份有限公司 车辆数据诊断系统及方法
US20150170136A1 (en) * 2013-12-18 2015-06-18 PayRange Inc. Method and System for Performing Mobile Device-To-Machine Payments
US10320745B2 (en) * 2015-08-05 2019-06-11 Samsung Electronics Co., Ltd. Apparatus and method for transparent, secure element-based mediation of on-board diagnostic operations
US9916151B2 (en) * 2015-08-25 2018-03-13 Ford Global Technologies, Llc Multiple-stage secure vehicle software updating
US10402561B2 (en) * 2015-10-01 2019-09-03 Samsung Electronics Co., Ltd. Apparatus and method for protection of critical embedded system components via hardware-isolated secure element-based monitor
US10171478B2 (en) * 2016-06-30 2019-01-01 Faraday & Future Inc. Efficient and secure method and apparatus for firmware update
US10270599B2 (en) * 2017-04-27 2019-04-23 Factom, Inc. Data reproducibility using blockchains
US11290466B2 (en) * 2017-08-16 2022-03-29 Cable Television Laboratories, Inc. Systems and methods for network access granting
JP6773617B2 (ja) * 2017-08-21 2020-10-21 株式会社東芝 更新制御装置、ソフトウェア更新システムおよび更新制御方法
US10505920B2 (en) * 2017-11-30 2019-12-10 Mocana Corporation System and method of device identification for enrollment and registration of a connected endpoint device, and blockchain service

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002318607A (ja) * 2001-04-18 2002-10-31 Omron Corp リニューアル設計支援方法及びシステム並びにそれに用いられる仮想設備
CN101183312A (zh) * 2007-12-12 2008-05-21 中兴通讯股份有限公司 终端通过接入usb存储设备实现版本升级及备份的方法
CN103631609A (zh) * 2012-08-21 2014-03-12 广州汽车集团股份有限公司 一种车载ecu应用程序的刷新方法及系统
CN105812404A (zh) * 2014-12-29 2016-07-27 罗伯特·博世有限公司 车辆诊断设备数据升级方法、装置及车辆诊断设备
CN106982213A (zh) * 2017-03-30 2017-07-25 深圳市元征科技股份有限公司 一种应用于车载设备的网络攻击防御方法及相关装置
CN107491336A (zh) * 2017-09-05 2017-12-19 武汉理工大学 一种汽车电控模块刷新系统及方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109767210A (zh) * 2018-12-28 2019-05-17 深圳市讯联智付网络有限公司 防止eSe芯片生命周期被意外终止的系统及方法
CN113746833A (zh) * 2021-09-02 2021-12-03 上海商汤智能科技有限公司 通信方法及装置、电子设备和存储介质
CN113746833B (zh) * 2021-09-02 2023-06-16 上海商汤智能科技有限公司 通信方法及装置、电子设备和存储介质
CN114625106A (zh) * 2022-03-07 2022-06-14 深圳市元征科技股份有限公司 车辆诊断的方法、装置、电子设备及存储介质
CN114625106B (zh) * 2022-03-07 2024-05-14 深圳市元征科技股份有限公司 车辆诊断的方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
EP3528071B1 (en) 2021-06-30
EP3528071A4 (en) 2019-12-25
US10740491B2 (en) 2020-08-11
US20190205570A1 (en) 2019-07-04
WO2019127275A1 (zh) 2019-07-04
ES2890430T3 (es) 2022-01-19
EP3528071A1 (en) 2019-08-21
CN108139752B (zh) 2020-09-15

Similar Documents

Publication Publication Date Title
CN108139752A (zh) 诊断设备的指令验证方法、装置和下位机
CN108124491B (zh) 诊断设备的诊断接头升级验证方法、装置及诊断接头
US20140075517A1 (en) Authorization scheme to enable special privilege mode in a secure electronic control unit
CN108259479B (zh) 业务数据处理方法、客户端与计算机可读存储介质
CN101194229A (zh) 对数据指令的更新
CN103368987A (zh) 云服务器、应用程序的审核认证及管理系统和方法
CN103679005A (zh) 启用安全电子控制单元的开发模式的方法
CN103390122B (zh) 应用程序发送方法、应用程序运行方法、服务器和终端
CN108496323B (zh) 一种证书导入方法及终端
CN103248495A (zh) 一种应用内付费的方法、服务器、客户端和系统
CN105701423A (zh) 应用于云端支付业务的数据存储方法及装置
CN108460273A (zh) 一种终端的应用管理方法、应用服务器及终端
CN111159657A (zh) 一种应用程序鉴权方法及系统
CN106549957A (zh) 一种终端应用正版的认证方法及系统
CN107506207B (zh) 一种pos机的安全验证方法及终端
CN115643564A (zh) 汽车安全的fota升级方法、装置、设备及存储介质
CN113312674A (zh) 基于多因子环境感知数字证书的接入安全的方法和系统
CN105208046B (zh) 智能pos机双重安全认证方法及装置
CN111970117B (zh) 证书下载方法、装置及设备
CN109063422B (zh) 一种付费应用的下载运行方法、加固方法和服务器
CN107479923A (zh) 应用程序升级方法、装置及显示终端
CN114629658B (zh) 一种应用签名方法、装置、设备及存储介质
CN110581833A (zh) 一种业务安全保护方法及装置
CN114661314A (zh) 车载终端文件加密升级的方法、装置、终端设备及存储介质
CN105279425A (zh) 一种应用程序的处理方法和相关装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant