一種診斷設(shè)備的升級方法及設(shè)備的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及電子技術(shù)領(lǐng)域,尤其涉及一種診斷設(shè)備的升級方法及設(shè)備。
【背景技術(shù)】
[0002]隨著汽車的高速發(fā)展,汽車功能的復(fù)雜性日益提高,為了提高汽車的安全性,汽車診斷設(shè)備在人們的日常生活中也凸顯得越來越重要。
[0003]目前,由于汽車的更新?lián)Q代頻繁,為了使得汽車診斷設(shè)備能夠支持新型汽車的診斷,汽車診斷設(shè)備需要進(jìn)行升級,才能滿足用戶的需求。
[0004]但是,目前汽車診斷設(shè)備在進(jìn)行升級的過程中,汽車診斷設(shè)備僅僅是讀取升級文件,并根據(jù)升文件進(jìn)行升級,這使得汽車診斷設(shè)備可能下載到非法的升級軟件進(jìn)行升級,使得汽車診斷設(shè)備無法保證其升級軟件的合法性,如完整性和安全性,這可能導(dǎo)致汽車診斷設(shè)備對汽車進(jìn)行了誤診斷,這給用戶帶來了不便甚至可能導(dǎo)致用戶的生命安全,使得用戶在使用汽車的過程中的安危得不到保障。
【發(fā)明內(nèi)容】
[0005]本發(fā)明實(shí)施例所要解決的技術(shù)問題在于,提供一種診斷設(shè)備的升級方法及診斷設(shè)備。可保證診斷設(shè)備中運(yùn)行的文件的合法性以及文件的完成性,使得診斷設(shè)備能夠更加穩(wěn)定和安全的運(yùn)行。
[0006]為了解決上述技術(shù)問題,本發(fā)明實(shí)施例提供了一種診斷設(shè)備的升級方法,包括:
[0007]接收與診斷設(shè)備連接的控制設(shè)備發(fā)送的升級文件和密文;
[0008]根據(jù)所述密文判斷所述升級文件是否合法;
[0009]當(dāng)所述升級文件合法時(shí),根據(jù)所述升級文件對所述診斷設(shè)備進(jìn)行升級。
[0010]其中,所述根據(jù)所述密文判斷所述升級文件是否合法包括:
[0011]使用預(yù)置公鑰對所述密文進(jìn)行驗(yàn)證;
[0012]當(dāng)所述密文驗(yàn)證成功時(shí),確定所述升級文件合法。
[0013]其中,所述使用公鑰對所述密文進(jìn)行驗(yàn)證包括:
[0014]采用預(yù)置算法對所述升級文件進(jìn)行計(jì)算,獲得第一摘要值;
[0015]使用所述公鑰,采用解密算法對所述密文和所述第一摘要值進(jìn)行驗(yàn)證。
[0016]其中,所述方法還包括:
[0017]當(dāng)所述密文不成功時(shí),刪除所述升級文件。
[0018]相應(yīng)地,本發(fā)明實(shí)施例還提供了一種診斷設(shè)備,包括:
[0019]接收單元,用于接收與診斷設(shè)備連接的控制設(shè)備發(fā)送的升級文件和密文;
[0020]判斷單元,用于根據(jù)所述密文判斷所述升級文件是否合法;
[0021]升級單元,用于當(dāng)所述升級文件合法時(shí),根據(jù)所述升級文件對所述診斷設(shè)備進(jìn)行升級。
[0022]其中,所述判斷單元包括:
[0023]第一驗(yàn)證子單元,用于使用預(yù)置公鑰對所述密文進(jìn)行驗(yàn)證;
[0024]確定子單元,用于當(dāng)所述密文驗(yàn)證成功時(shí),確定所述升級文件合法。
[0025]其中,所述第一驗(yàn)證子單元包括:
[0026]計(jì)算子單元,用于采用預(yù)置算法對所述升級文件進(jìn)行計(jì)算,獲得第一摘要值;
[0027]第二驗(yàn)證子單元,用于使用所述公鑰,采用解密算法對所述密文和所述第一摘要值進(jìn)行驗(yàn)證。
[0028]其中,所述設(shè)備還包括:
[0029]刪除單元,用于當(dāng)所述密文不成功時(shí),刪除所述升級文件。
[0030]實(shí)施本發(fā)明實(shí)施例,具有如下有益效果:
[0031]在本發(fā)明實(shí)施中,診斷設(shè)備接收與診斷設(shè)備連接的控制設(shè)備發(fā)送的升級文件和密文,根據(jù)所述密文判斷所述升級文件是否合法,并當(dāng)所述升級文件合法時(shí),根據(jù)所述升級文件對所述診斷設(shè)備進(jìn)行升級,這可保證診斷設(shè)備中運(yùn)行的文件的合法性以及文件的完成性,使得診斷設(shè)備能夠更加穩(wěn)定和安全的運(yùn)行。
【附圖說明】
[0032]為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0033]圖1是本發(fā)明一種診斷設(shè)備的升級方法的第一實(shí)施例流程示意圖;
[0034]圖2是本發(fā)明一種診斷設(shè)備的升級方法的第二實(shí)施例流程示意圖;
[0035]圖3是本發(fā)明一種診斷設(shè)備的第一實(shí)施例結(jié)構(gòu)圖;
[0036]圖4是本發(fā)明一種診斷設(shè)備的第二實(shí)施例結(jié)構(gòu)圖。
【具體實(shí)施方式】
[0037]下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0038]在本發(fā)明實(shí)施例中,執(zhí)行主體可以是診斷設(shè)備,其中,診斷設(shè)備可以是汽車診斷設(shè)備。
[0039]請參見圖1,為本發(fā)明一種診斷設(shè)備的升級方法的第一實(shí)施例流程示意圖。如圖1所示,本實(shí)施例所述的一種診斷設(shè)備的升級方法包括步驟:
[0040]S100,接收與診斷設(shè)備連接的控制設(shè)備發(fā)送的升級文件和密文。
[0041]在本發(fā)明實(shí)施例中,診斷設(shè)備可以是用于診斷汽車技術(shù)狀況的汽車診斷設(shè)備。即診斷設(shè)備可查明汽車的故障部位及原因,包括汽車發(fā)動(dòng)機(jī)的檢測與診斷,汽車底盤的檢測與診斷,汽車車身及附件的檢測與診斷以及汽車排氣污染物與噪聲的檢測等。其中,診斷設(shè)備內(nèi)下載有下位機(jī)程序,該下位機(jī)程序是與汽車的ECU(Electronic Control Unit,電子控制單元)通信的核心程序,診斷設(shè)備主要通過下位機(jī)程序進(jìn)行汽車診斷。
[0042]在本發(fā)明實(shí)施例中,控制設(shè)備可以是與診斷設(shè)備連接的上位機(jī),當(dāng)用戶需對診斷設(shè)備的下位機(jī)程序進(jìn)行更新,以使診斷設(shè)備支持新型汽車的診斷時(shí),用戶可以將上位機(jī)與診斷設(shè)備進(jìn)行連接,并通過上位機(jī)將升級文件下載至診斷設(shè)備,從而對診斷設(shè)備進(jìn)行下位機(jī)程序更新,升級。
[0043]在本發(fā)明實(shí)施例中,上位機(jī)可以將要對診斷設(shè)備進(jìn)行下位機(jī)程序更新的升級文件進(jìn)行加密,獲得密文,并將升級文件以及密文發(fā)送給診斷設(shè)備。其中,上位機(jī)可以采用加密算法對升級文件進(jìn)行加密,加密算法可包括對稱加密算法或者非對稱加密算法等。其中,在對稱加密算法中,數(shù)據(jù)發(fā)信方將明文(原始數(shù)據(jù))和加密密鑰一起經(jīng)過特殊加密算法處理后,使其變成復(fù)雜的加密密文發(fā)送出去。收信方收到密文后,若想解讀原文,則需要使用加密用過的密鑰及相同算法的逆算法對密文進(jìn)行解密,才能使其恢復(fù)成可讀明文。在對稱加密算法中,使用的密鑰只有一個(gè),發(fā)收信雙方都使用這個(gè)密鑰對數(shù)據(jù)進(jìn)行加密和解密,這就要求解密方事先必須知道加密密鑰。在非對稱加密算法中,需要兩個(gè)密鑰,公鑰和私鑰,公鑰與私鑰是一對,如果用公鑰對數(shù)據(jù)進(jìn)行加密,只有用對應(yīng)的私鑰才能解密;如果用私鑰對數(shù)據(jù)進(jìn)行加密,那么只有用對應(yīng)的公鑰才能解密。
[0044]優(yōu)選的,在本發(fā)明實(shí)施例中,上位機(jī)可以采用非對稱加密算法對升級文件進(jìn)行加密。具體的,可以是,首先,上位機(jī)可對將要進(jìn)行更新的下位機(jī)程序進(jìn)行編譯成二進(jìn)制文件,獲得升級文件,例如:上位機(jī)可以使用IAR Embedded Workbench IDE編譯軟件對將要進(jìn)行更新的下位機(jī)程序進(jìn)行編譯,生成下位機(jī)BIN文件,其中,下位機(jī)BIN文件可以命名為Download, bin。我們可以理解的是,Download, bin文件可以為升級文件。當(dāng)上位機(jī)獲得升級文件后,上位機(jī)可以使用私鑰對生成的升級文件加密,生成密文。其中,上位機(jī)使用私鑰對生成的升級文件加密,生成密文可以是:首先,上位機(jī)可以采用MD5 (MessageDigest Algorithm,消息摘要算法第五版)算法對升級文件進(jìn)行計(jì)算,獲得摘要值,其次,上位機(jī)可以使用私鑰并采用RSA算法對摘要值進(jìn)行計(jì)算,獲得密文。在具體應(yīng)用中,可以是,首先,上位機(jī)可以采用MD5算法對Download, bin文件進(jìn)行計(jì)算,獲得的摘要值標(biāo)記為DigestData_A,其次,上位機(jī)使用私鑰對DigestData_A進(jìn)行RSA算法計(jì)算,獲得密文標(biāo)記為SignatureData_A,最后,上位機(jī)將SignatureData_A添加至Download, bin文件尾,從而生成包括密文和升級文件的文件,并將該文件標(biāo)記為Download_s.bin。其中,密文可以為數(shù)字簽名,私鑰可以是由終端用戶進(jìn)行預(yù)置。進(jìn)一步的,MD5算法為計(jì)算機(jī)安全領(lǐng)域廣泛使用的一種散列函數(shù),用以提供消息的完整性保護(hù)。RSA算法由羅納德?李維斯特(Ron Rivest),阿迪?薩莫爾(Adi Shamir)和倫納德?阿德曼(Leonard Adleman) 一起提出的算法,為一種加密算法。
[0045]在本發(fā)明實(shí)施例