實(shí)現(xiàn)ecu的安全訪問方法、ecu及上位的制造方法
【專利摘要】本申請(qǐng)?zhí)峁┝藢?shí)現(xiàn)ECU的安全訪問方法、ECU及上位機(jī),一種方法應(yīng)用于ECU上,該方法包括:響應(yīng)于接收上位機(jī)的安全訪問請(qǐng)求,生成隨機(jī)數(shù)并發(fā)送給所述上位機(jī);依據(jù)所述隨機(jī)數(shù)和預(yù)先設(shè)置的鏈接變量的移位參數(shù)來計(jì)算第一MD5值,并將所述第一MD5值與所述上位機(jī)返回的第二MD5值進(jìn)行比較;根據(jù)比較結(jié)果進(jìn)行安全訪問控制。在本申請(qǐng)中,引入了移位參數(shù),利用該移位參數(shù)對(duì)MD5算法中的鏈接變量進(jìn)行了移位,使得MD5算法更加靈活,同時(shí),因?yàn)椴捎酶倪M(jìn)的MD5算法實(shí)現(xiàn)安全訪問,也使得上位機(jī)對(duì)ECU的訪問較為安全,并且提高了ECU安全訪問的靈活性和可操控性。
【專利說明】實(shí)現(xiàn)ECU的安全訪問方法、ECU及上位機(jī)
【技術(shù)領(lǐng)域】
[0001]本申請(qǐng)涉及網(wǎng)絡(luò)數(shù)據(jù)處理領(lǐng)域,特別涉及實(shí)現(xiàn)E⑶的安全訪問方法、E⑶及上位機(jī)。
【背景技術(shù)】
[0002]ECU (電子控制單元,Electronic Contol Unit),又稱“行車電腦”、“車載電腦”等。E⑶和普通的電腦一樣,由微處理器(CPU)、存儲(chǔ)器(R0M、RAM)、輸入\輸出接口(I/O)、模數(shù)轉(zhuǎn)換器(A/D)以及整形、驅(qū)動(dòng)等大規(guī)模集成電路組成。也因此對(duì)于ECU的安全訪問就顯得至關(guān)重要,而現(xiàn)有技術(shù)并不存在一種能夠有效控制對(duì)ECU的安全訪問的方案。
【發(fā)明內(nèi)容】
[0003]本申請(qǐng)所要解決的技術(shù)問題是提供一種實(shí)現(xiàn)ECU的安全訪問方法,用以解決現(xiàn)有技術(shù)中無法實(shí)現(xiàn)對(duì)ECU進(jìn)行安全訪問的技術(shù)問題,從而提高ECU訪問的安全性。
[0004]本申請(qǐng)還提供了一種E⑶及上位機(jī),用以保證上述方法在實(shí)際中的實(shí)現(xiàn)及應(yīng)用。
[0005]為了解決上述問題,本申請(qǐng)公開了一種實(shí)現(xiàn)ECU的安全訪問方法,該方法應(yīng)用于ECU上,包括:
[0006]響應(yīng)于接收上位機(jī)的安全訪問請(qǐng)求,生成隨機(jī)數(shù)并發(fā)送給所述上位機(jī);
[0007]依據(jù)所述隨機(jī)數(shù)和預(yù)先設(shè)置的鏈接變量的移位參數(shù)來計(jì)算第一 MD5值,并將所述第一 MD5值與所述上位機(jī)返回的第二 MD5值進(jìn)行比較;
[0008]根據(jù)比較結(jié)果進(jìn)行安全訪問控制。
[0009]可選的,所述根據(jù)比較結(jié)果進(jìn)行安全訪問控制,包括:
[0010]判斷所述第一 MD5值與所述第二 MD5值是否相等,如果是,則通過所述上位機(jī)的安全訪問請(qǐng)求,如果否,則拒絕所述上位機(jī)的安全訪問請(qǐng)求。
[0011]可選的,所述依據(jù)所述隨機(jī)數(shù)和預(yù)先設(shè)置的鏈接變量的移位參數(shù)來計(jì)算第一 MD5值,包括:
[0012]將所述隨機(jī)數(shù)確定為MD5算法的輸入?yún)?shù);
[0013]將所述移位參數(shù)對(duì)32進(jìn)行取整,以得到移位的位數(shù);
[0014]將所述MD5算法中的鏈接變量循環(huán)左移所述位數(shù)位;
[0015]利用所述輸入?yún)?shù)和移位后的鏈接變量來計(jì)算所述第一 MD5值。
[0016]本申請(qǐng)公開了一種E⑶,包括:
[0017]生成單元,用于響應(yīng)于接收上位機(jī)的安全訪問請(qǐng)求,生成隨機(jī)數(shù)并發(fā)送給所述上位機(jī);
[0018]第一計(jì)算單元,用于依據(jù)所述隨機(jī)數(shù)和預(yù)先設(shè)置的鏈接變量的移位參數(shù)來計(jì)算第一MD5 值;
[0019]比較單元,用于將所述第一 MD5值與所述上位機(jī)返回的第二 MD5值進(jìn)行比較;
[0020]安全訪問控制單元,用于根據(jù)比較結(jié)果進(jìn)行安全訪問控制。
[0021]可選的,所述安全訪問控制單元包括:
[0022]判斷模塊,用于判斷所述第一 MD5值與所述第二 MD5值是否相等;
[0023]第一控制模塊,用于在所述判斷模塊的結(jié)果為是的情況下,通過所述上位機(jī)的安全訪問請(qǐng)求;
[0024]第二控制模塊,用于在所述判斷模塊的結(jié)果為否的情況下,拒絕所述上位機(jī)的安全訪問請(qǐng)求。
[0025]可選的,所述第一計(jì)算單元包括:
[0026]第一確定模塊,用于將所述隨機(jī)數(shù)確定為MD5算法的輸入?yún)?shù);
[0027]第一取整模塊,用于將所述移位參數(shù)對(duì)32進(jìn)行取整,以得到移位的位數(shù);
[0028]第一移位模塊,用于將所述MD5算法中的鏈接變量循環(huán)左移所述位數(shù)位;
[0029]第一計(jì)算模塊,用于利用所述輸入?yún)?shù)和移位后的鏈接變量來計(jì)算所述第一 MD5值。
[0030]本申請(qǐng)還公開了另一種實(shí)現(xiàn)E⑶的安全訪問方法,該方法應(yīng)用于上位機(jī)中,包括:
[0031]向E⑶發(fā)送安全訪問請(qǐng)求;
[0032]接收所述ECU響應(yīng)于安全訪問請(qǐng)求返回的隨機(jī)數(shù);
[0033]依據(jù)所述隨機(jī)數(shù)和預(yù)先設(shè)置的鏈接變量的移位參數(shù)來計(jì)算第二 MD5值,并將所述第二 MD5值發(fā)送給所述E⑶,以便所述E⑶依據(jù)所述第一 MD5值和第二 MD5值的比較結(jié)果進(jìn)行安全訪問控制。
[0034]可選的,所述依據(jù)所述隨機(jī)數(shù)和預(yù)先設(shè)置的鏈接變量的移位參數(shù)來計(jì)算第二 MD5值,包括:
[0035]將所述隨機(jī)數(shù)確定為MD5算法的輸入?yún)?shù);
[0036]將所述移位參數(shù)對(duì)32進(jìn)行取整,以得到移位的位數(shù);
[0037]將所述MD5算法中的鏈接變量循環(huán)左移所述位數(shù)位;
[0038]利用所述輸入?yún)?shù)和移位后的鏈接變量來計(jì)算所述第二 MD5值。
[0039]本申請(qǐng)還公開了一種上位機(jī),包括:
[0040]發(fā)送請(qǐng)求單元,用于向E⑶發(fā)送安全訪問請(qǐng)求;
[0041]接收單元,用于接收所述ECU響應(yīng)于安全訪問請(qǐng)求返回的隨機(jī)數(shù);
[0042]第二計(jì)算單元,用于依據(jù)所述隨機(jī)數(shù)和預(yù)先設(shè)置的鏈接變量的移位參數(shù)來計(jì)算第二MD5 值;
[0043]發(fā)送MD5值單元,用于將所述第二 MD5值發(fā)送給所述E⑶,以便所述E⑶依據(jù)所述第一 MD5值和第二 MD5值的比較結(jié)果進(jìn)行安全訪問控制。
[0044]可選的,所述第二計(jì)算單元包括:
[0045]第二確定模塊,用于將所述隨機(jī)數(shù)確定為MD5算法的輸入?yún)?shù);
[0046]第二取整模塊,用于將所述移位參數(shù)對(duì)32進(jìn)行取整,以得到移位的位數(shù);
[0047]第二移位模塊,用于將所述MD5算法中的鏈接變量循環(huán)左移所述位數(shù)位;
[0048]第二計(jì)算模塊,用于利用所述輸入?yún)?shù)和移位后的鏈接變量來計(jì)算所述第二 MD5值。
[0049]與現(xiàn)有技術(shù)相比,本申請(qǐng)包括以下優(yōu)點(diǎn):
[0050]在本申請(qǐng)中,引入了移位參數(shù),利用預(yù)先設(shè)置的移位參數(shù)對(duì)MD5算法中的鏈接變量進(jìn)行了移位,使得MD5算法更加靈活,同時(shí),因?yàn)椴捎酶倪M(jìn)的MD5算法實(shí)現(xiàn)安全訪問,也使得上位機(jī)對(duì)ECU的訪問較為安全,并且提高了 ECU安全訪問的靈活性和可操控性。
【專利附圖】
【附圖說明】
[0051]為了更清楚地說明本申請(qǐng)實(shí)施例中的技術(shù)方案,下面將對(duì)實(shí)施例描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本申請(qǐng)的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0052]圖1是本申請(qǐng)的一種實(shí)現(xiàn)ECU的安全訪問方法實(shí)施例1的流程圖;
[0053]圖2是本申請(qǐng)的一種實(shí)現(xiàn)ECU的安全訪問方法實(shí)施例2的流程圖;
[0054]圖3是本申請(qǐng)的一種E⑶實(shí)施例的結(jié)構(gòu)框圖;
[0055]圖4是本申請(qǐng)的一種上位機(jī)的實(shí)施例的結(jié)構(gòu)框圖。
【具體實(shí)施方式】
[0056]下面將結(jié)合本申請(qǐng)實(shí)施例中的附圖,對(duì)本申請(qǐng)實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本申請(qǐng)一部分實(shí)施例,而不是全部的實(shí)施例?;诒旧暾?qǐng)中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本申請(qǐng)保護(hù)的范圍。
[0057]本申請(qǐng)可用于眾多通用或?qū)S玫挠?jì)算裝置環(huán)境或配置中。例如:個(gè)人計(jì)算機(jī)、服務(wù)器計(jì)算機(jī)、手持設(shè)備或便攜式設(shè)備、平板型設(shè)備、多處理器裝置、包括以上任何裝置或設(shè)備的分布式計(jì)算環(huán)境等等。
[0058]本申請(qǐng)可以在由計(jì)算機(jī)執(zhí)行的計(jì)算機(jī)可執(zhí)行指令的一般上下文中描述,例如程序模塊。一般地,程序模塊包括執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型的例程、程序、對(duì)象、組件、數(shù)據(jù)結(jié)構(gòu)等等。也可以在分布式計(jì)算環(huán)境中實(shí)踐本申請(qǐng),在這些分布式計(jì)算環(huán)境中,由通過通信網(wǎng)絡(luò)而被連接的遠(yuǎn)程處理設(shè)備來執(zhí)行任務(wù)。在分布式計(jì)算環(huán)境中,程序模塊可以位于包括存儲(chǔ)設(shè)備在內(nèi)的本地和遠(yuǎn)程計(jì)算機(jī)存儲(chǔ)介質(zhì)中。
[0059]參考圖1,示出了本申請(qǐng)一種實(shí)現(xiàn)E⑶的安全訪問方法實(shí)施例1的流程圖,可以包括以下步驟:
[0060]步驟101:E⑶響應(yīng)于接收上位機(jī)的安全訪問請(qǐng)求,生成隨機(jī)數(shù)并發(fā)送給所述上位機(jī)。
[0061]在實(shí)際英語中,用戶如果觸發(fā)了對(duì)ECU的安全訪問請(qǐng)求,上位機(jī)將響應(yīng)于用戶發(fā)送的安全訪問請(qǐng)求,再將安全訪問請(qǐng)求發(fā)送給ECU, ECU在接收到對(duì)自己的安全訪問請(qǐng)求之后,會(huì)生成一隨機(jī)數(shù),并且為了保證上位機(jī)也能根據(jù)該隨機(jī)數(shù)計(jì)算MD5值,還會(huì)將隨機(jī)數(shù)發(fā)送給上位機(jī)。
[0062]其中,MD5 (Message Digest Algorithm5,)算法主要用于確保信息傳輸完整一致,它是計(jì)算機(jī)廣泛使用的雜湊算法之一。而雜湊算法的基礎(chǔ)原理是將數(shù)據(jù)(如漢字)運(yùn)算為另一個(gè)固定長(zhǎng)度值。
[0063]步驟102:E⑶依據(jù)所述隨機(jī)數(shù)和預(yù)先設(shè)置的鏈接變量的移位參數(shù)來計(jì)算第一 MD5值。
[0064]ECU在生成隨機(jī)數(shù)之后,將該隨機(jī)數(shù)作為MD5算法中的輸入?yún)?shù),并將預(yù)先設(shè)置的移位參數(shù)args決定的位數(shù)來對(duì)鏈接變量進(jìn)行移位,再按照輸入?yún)?shù)和移位后的鏈接變量來利用MD5算法計(jì)算第一 MD5值。
[0065]在具體實(shí)現(xiàn)時(shí),步驟102在實(shí)際應(yīng)用中具體可以包括:
[0066]步驟Al:E⑶將所述隨機(jī)數(shù)確定為MD5算法的輸入?yún)?shù)。
[0067]步驟A2:E⑶將所述移位參數(shù)對(duì)32進(jìn)行取整,以得到移位的位數(shù);
[0068]因?yàn)樵贛D5算法中,有四個(gè)32位被稱作鏈接變量(Chaining Variable)的整數(shù)參數(shù),他們分別為:A = 0x01234567,B = 0x89abcdef,C = 0xfedcba98,D = 0x76543210。例如已知移位參數(shù)args,對(duì)于十六進(jìn)制來講,那么移位數(shù)就是args的值對(duì)16取整,即int s=args% 32。對(duì)哪一個(gè)數(shù)值進(jìn)行取整決定與計(jì)算機(jī)的操作倍數(shù)。
[0069]步驟A3:E⑶將所述MD5算法中的鏈接變量循環(huán)左移所述位數(shù)位;
[0070]在得到鏈接變量需要移位的位數(shù)之后,即將四個(gè)鏈接變量循環(huán)左移所述位數(shù)位。以上面的例子來講,移位后的鏈接變量分別為:A = 0x67452301 (A = A?s | Α? (32-s)),B = 0xefcdab89 (B = B〈〈s|B>>(32_s)),C = 0x98badcfe(C = C〈〈s|C>>(32_s)),D =0x10325476 (D = D?s | D>> (32-s))。
[0071]步驟A4:E⑶利用所述輸入?yún)?shù)和移位后的鏈接變量來計(jì)算所述第一 MD5值。
[0072]E⑶再利用輸入?yún)?shù)和移位后的鏈接變量來計(jì)算第一 MD5值。
[0073]具體在實(shí)現(xiàn)時(shí),可以在編程時(shí)將Hnt32[]bits的第args% 4個(gè)值轉(zhuǎn)化為一個(gè)長(zhǎng)度為4的byte[]數(shù)組,作為返回值。如果計(jì)算機(jī)為十六進(jìn)制,當(dāng)args為O或者16的倍數(shù)時(shí),采用本實(shí)施例的計(jì)算結(jié)果就會(huì)與未進(jìn)行移位操作的MD5算法的結(jié)果重合,因此,本領(lǐng)域技術(shù)人員可以將MD5的四輪主循環(huán)中的第一個(gè)循環(huán)中FF第一步的“循環(huán)左移sll”與最后一步的“左移sl4”互換,互換后,在第一個(gè)循環(huán)中FF第一步為循環(huán)左移sl4位,最后一步則為左循環(huán)sll位。
[0074]步驟103:E⑶將所述第一 MD5值與所述上位機(jī)返回的第二 MD5值進(jìn)行比較。
[0075]E⑶在計(jì)算出第一 MD5值之和,將自己計(jì)算得到的第一 MD5值與上位機(jī)返回的第二MD5值進(jìn)行比較,其中,上位機(jī)計(jì)算第二 MD5值的方式與步驟102中的介紹相同。
[0076]步驟104:E⑶根據(jù)比較結(jié)果進(jìn)行安全訪問控制。
[0077]在不同的實(shí)施例中,步驟104在實(shí)際應(yīng)用中具體可以包括:
[0078]步驟B1:判斷所述第一 MD5值與所述第二 MD5值是否相等,如果是,則進(jìn)入步驟B2,如果否,則進(jìn)入步驟B3。
[0079]E⑶判斷第一 MD5值和第二 MD5值是否相等,如果相等,說明本次訪問是安全的,則通過上位機(jī)的安全訪問請(qǐng)求。如果不等,則說明本次訪問可能不是安全的,此時(shí)則拒絕上位機(jī)的安全訪問請(qǐng)求。
[0080]步驟B2:通過所述上位機(jī)的安全訪問請(qǐng)求。
[0081]步驟B3:拒絕所述上位機(jī)的安全訪問請(qǐng)求。
[0082]采用本發(fā)明實(shí)施例,通過預(yù)先設(shè)置的移位參數(shù),可以對(duì)MD5算法中的鏈接變量進(jìn)行了移位,使得MD5算法更加靈活,同時(shí),因?yàn)椴捎酶倪M(jìn)的MD5算法實(shí)現(xiàn)安全訪問,也使得上位機(jī)對(duì)ECU的訪問較為安全,并且提高了 ECU安全訪問的靈活性和可操控性。
[0083]參考圖2,示出了本申請(qǐng)一種E⑶的安全訪問方法實(shí)施例2的流程圖,可以包括以下步驟:
[0084]步驟201:上位機(jī)向E⑶發(fā)送安全訪問請(qǐng)求。
[0085]上位機(jī)在接收到用戶觸發(fā)的對(duì)ECU的訪問時(shí),將安全訪問請(qǐng)求發(fā)送給ECU。
[0086]步驟202:上位機(jī)接收所述E⑶響應(yīng)于安全訪問請(qǐng)求返回的隨機(jī)數(shù)。
[0087]上位機(jī)接收到E⑶返回的隨機(jī)數(shù)。
[0088]步驟203:上位機(jī)依據(jù)所述隨機(jī)數(shù)和鏈接變量的移位參數(shù)來計(jì)算第二 MD5值。
[0089]上位機(jī)將該隨機(jī)數(shù)作為MD5算法中中的輸入?yún)?shù),并依據(jù)輸入?yún)?shù)和鏈接變量的移位參數(shù)來計(jì)算第二 MD5值。具體的計(jì)算方式可以參考步驟102的介紹,在此不再贅述。
[0090]其中,在不同的實(shí)施例中,所述步驟203具體可以包括:
[0091]步驟Cl:將所述隨機(jī)數(shù)確定為MD5算法的輸入?yún)?shù);
[0092]步驟C2:將所述移位參數(shù)對(duì)32進(jìn)行取整,以得到移位的位數(shù)。
[0093]步驟C3:將所述MD5算法中的鏈接變量循環(huán)左移所述位數(shù)位。
[0094]步驟C4:利用所述輸入?yún)?shù)和移位后的鏈接變量來計(jì)算所述第二 MD5值。
[0095]步驟204:上位機(jī)將所述第二 MD5值發(fā)送給所述E⑶,以便所述E⑶依據(jù)所述第一MD5值和第二 MD5值的比較結(jié)果進(jìn)行安全訪問控制。
[0096]上位機(jī)再將第二 MD5值發(fā)送給所述E⑶,E⑶依據(jù)所述第一 MD5值和第二 MD5值的比較結(jié)果進(jìn)行安全訪問控制,具體的安全訪問控制過程可以參考步驟104中的介紹,在此不再贅述。
[0097]需要說明的是,本實(shí)施例與前一個(gè)實(shí)施例的不同之處僅在于執(zhí)行主體,因此,未盡之處可以參考前一個(gè)實(shí)施例的相關(guān)介紹。
[0098]采用本發(fā)明實(shí)施例,利用預(yù)先設(shè)置的移位參數(shù),對(duì)MD5算法中的鏈接變量進(jìn)行了移位,使得MD5算法更加靈活,同時(shí),因?yàn)椴捎酶倪M(jìn)的MD5算法實(shí)現(xiàn)安全訪問,也使得上位機(jī)對(duì)ECU的訪問較為安全,并且提高了 ECU安全訪問的靈活性和可操控性。
[0099]對(duì)于前述的各方法實(shí)施例,為了簡(jiǎn)單描述,故將其都表述為一系列的動(dòng)作組合,但是本領(lǐng)域技術(shù)人員應(yīng)該知悉,本申請(qǐng)并不受所描述的動(dòng)作順序的限制,因?yàn)橐罁?jù)本申請(qǐng),某些步驟可以采用其他順序或者同時(shí)進(jìn)行。其次,本領(lǐng)域技術(shù)人員也應(yīng)該知悉,說明書中所描述的實(shí)施例均屬于優(yōu)選實(shí)施例,所涉及的動(dòng)作和模塊并不一定是本申請(qǐng)所必須的。
[0100]與上述本申請(qǐng)一種實(shí)現(xiàn)ECU的安全訪問方法實(shí)施例1所提供的方法相對(duì)應(yīng),參見圖3,本申請(qǐng)還提供了一種ECU實(shí)施例,在本實(shí)施例中,可以包括:
[0101]生成單元301,用于響應(yīng)于接收上位機(jī)的安全訪問請(qǐng)求,生成隨機(jī)數(shù)并發(fā)送給所述上位機(jī)。
[0102]第一計(jì)算單元302,用于依據(jù)所述隨機(jī)數(shù)和預(yù)先設(shè)置的鏈接變量的移位參數(shù)來計(jì)算第一 MD5值。
[0103]在不同的實(shí)施例中,所述第一計(jì)算單元302具體可以包括:
[0104]第一確定模塊,用于將所述隨機(jī)數(shù)確定為MD5算法的輸入?yún)?shù);第一取整模塊,用于將所述移位參數(shù)對(duì)32進(jìn)行取整,以得到移位的位數(shù);第一移位模塊,用于將所述MD5算法中的鏈接變量循環(huán)左移所述位數(shù)位;以及,第一計(jì)算模塊,用于利用所述輸入?yún)?shù)和移位后的鏈接變量來計(jì)算所述第一 MD5值。
[0105]比較單元303,用于將所述第一 MD5值與所述上位機(jī)返回的第二 MD5值進(jìn)行比較。
[0106]安全訪問控制單元304,用于根據(jù)比較結(jié)果進(jìn)行安全訪問控制。
[0107]在不同的實(shí)施例中,所述安全訪問控制單元304具體可以包括:
[0108]判斷模塊,用于判斷所述第一 MD5值與所述第二 MD5值是否相等;第一控制模塊,用于在所述判斷模塊的結(jié)果為是的情況下,通過所述上位機(jī)的安全訪問請(qǐng)求;以及,第二控制模塊,用于在所述判斷模塊的結(jié)果為否的情況下,拒絕所述上位機(jī)的安全訪問請(qǐng)求。
[0109]本實(shí)施例中的ECU對(duì)MD5算法中的鏈接變量進(jìn)行了移位,使得MD5算法更加靈活,同時(shí),因?yàn)椴捎酶倪M(jìn)的MD5算法實(shí)現(xiàn)安全訪問,也使得上位機(jī)對(duì)ECU的訪問較為安全,并且提高了 ECU安全訪問的靈活性和可操控性。
[0110]與上述本申請(qǐng)一種實(shí)現(xiàn)ECU的安全訪問方法實(shí)施例2所提供的方法相對(duì)應(yīng),參見圖4,本申請(qǐng)還提供了一種上位機(jī)實(shí)施例,在本實(shí)施例中,可以包括:
[0111]發(fā)送請(qǐng)求單元401,用于向E⑶發(fā)送安全訪問請(qǐng)求。
[0112]接收單元402,用于接收所述ECU響應(yīng)于安全訪問請(qǐng)求返回的隨機(jī)數(shù)。
[0113]第二計(jì)算單元403,用于依據(jù)所述隨機(jī)數(shù)和預(yù)先設(shè)置的鏈接變量的移位參數(shù)來計(jì)算第二 MD5值。
[0114]在不同的實(shí)施例中,所述第二計(jì)算單元403具體可以包括:
[0115]第二確定模塊,用于將所述隨機(jī)數(shù)確定為MD5算法的輸入?yún)?shù);第二取整模塊,用于將所述移位參數(shù)對(duì)32進(jìn)行取整,以得到移位的位數(shù);第二移位模塊,用于將所述MD5算法中的鏈接變量循環(huán)左移所述位數(shù)位;以及,第二計(jì)算模塊,用于利用所述輸入?yún)?shù)和移位后的鏈接變量來計(jì)算所述第二 MD5值。
[0116]發(fā)送MD5值單元404,用于將所述第二 MD5值發(fā)送給所述E⑶,以便所述E⑶依據(jù)所述第一 MD5值和第二 MD5值的比較結(jié)果進(jìn)行安全訪問控制。
[0117]本實(shí)施例中的上位機(jī)對(duì)MD5算法中的鏈接變量進(jìn)行了移位,使得MD5算法更加靈活,同時(shí),因?yàn)椴捎酶倪M(jìn)的MD5算法實(shí)現(xiàn)安全訪問,也使得上位機(jī)對(duì)ECU的訪問較為安全,并且提高了 ECU安全訪問的靈活性和可操控性。
[0118]需要說明的是,本說明書中的各個(gè)實(shí)施例均采用遞進(jìn)的方式描述,每個(gè)實(shí)施例重點(diǎn)說明的都是與其他實(shí)施例的不同之處,各個(gè)實(shí)施例之間相同相似的部分互相參見即可。對(duì)于裝置類實(shí)施例而言,由于其與方法實(shí)施例基本相似,所以描述的比較簡(jiǎn)單,相關(guān)之處參見方法實(shí)施例的部分說明即可。
[0119]最后,還需要說明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語僅僅用來將一個(gè)實(shí)體或者操作與另一個(gè)實(shí)體或操作區(qū)分開來,而不一定要求或者暗示這些實(shí)體或操作之間存在任何這種實(shí)際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個(gè)……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設(shè)備中還存在另外的相同要素。
[0120]以上對(duì)本申請(qǐng)所提供的一種E⑶的安全訪問方法、E⑶及上位機(jī)進(jìn)行了詳細(xì)介紹,本文中應(yīng)用了具體個(gè)例對(duì)本申請(qǐng)的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說明只是用于幫助理解本申請(qǐng)的方法及其核心思想;同時(shí),對(duì)于本領(lǐng)域的一般技術(shù)人員,依據(jù)本申請(qǐng)的思想,在【具體實(shí)施方式】及應(yīng)用范圍上均會(huì)有改變之處,綜上所述,本說明書內(nèi)容不應(yīng)理解為對(duì)本申請(qǐng)的限制。
【權(quán)利要求】
1.一種實(shí)現(xiàn)E⑶的安全訪問方法,其特征在于,該方法應(yīng)用于E⑶上,包括: 響應(yīng)于接收上位機(jī)的安全訪問請(qǐng)求,生成隨機(jī)數(shù)并發(fā)送給所述上位機(jī); 依據(jù)所述隨機(jī)數(shù)和預(yù)先設(shè)置的鏈接變量的移位參數(shù)來計(jì)算第一 MD5值,并將所述第一MD5值與所述上位機(jī)返回的第二 MD5值進(jìn)行比較; 根據(jù)比較結(jié)果進(jìn)行安全訪問控制。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述根據(jù)比較結(jié)果進(jìn)行安全訪問控制,包括: 判斷所述第一 MD5值與所述第二 MD5值是否相等,如果是,則通過所述上位機(jī)的安全訪問請(qǐng)求,如果否,則拒絕所述上位機(jī)的安全訪問請(qǐng)求。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述依據(jù)所述隨機(jī)數(shù)和預(yù)先設(shè)置的鏈接變量的移位參數(shù)來計(jì)算第一 MD5值,包括: 將所述隨機(jī)數(shù)確定為MD5算法的輸入?yún)?shù); 將所述移位參數(shù)對(duì)32進(jìn)行取整,以得到移位的位數(shù); 將所述MD5算法中的鏈接變量循環(huán)左移所述位數(shù)位; 利用所述輸入?yún)?shù)和移位后的鏈接變量來計(jì)算所述第一 MD5值。
4.一種實(shí)現(xiàn)E⑶的安全訪問方法,其特征在于,該方法應(yīng)用于上位機(jī)中,包括: 向E⑶發(fā)送安全訪問請(qǐng)求; 接收所述ECU響應(yīng)于安全訪問請(qǐng)求返回的隨機(jī)數(shù); 依據(jù)所述隨機(jī)數(shù)和預(yù)先設(shè)置的鏈接變量的移位參數(shù)來計(jì)算第二 MD5值,并將所述第二MD5值發(fā)送給所述E⑶,以便所述E⑶依據(jù)所述第一 MD5值和第二 MD5值的比較結(jié)果進(jìn)行安全訪問控制。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述依據(jù)所述隨機(jī)數(shù)和預(yù)先設(shè)置的鏈接變量的移位參數(shù)來計(jì)算第二 MD5值,包括: 將所述隨機(jī)數(shù)確定為MD5算法的輸入?yún)?shù); 將所述移位參數(shù)對(duì)32進(jìn)行取整,以得到移位的位數(shù); 將所述MD5算法中的鏈接變量循環(huán)左移所述位數(shù)位; 利用所述輸入?yún)?shù)和移位后的鏈接變量來計(jì)算所述第二 MD5值。
6.一種E⑶,其特征在于,該E⑶包括: 生成單元,用于響應(yīng)于接收上位機(jī)的安全訪問請(qǐng)求,生成隨機(jī)數(shù)并發(fā)送給所述上位機(jī); 第一計(jì)算單元,用于依據(jù)所述隨機(jī)數(shù)和預(yù)先設(shè)置的鏈接變量的移位參數(shù)來計(jì)算第一MD5 值; 比較單元,用于將所述第一 MD5值與所述上位機(jī)返回的第二 MD5值進(jìn)行比較; 安全訪問控制單元,用于根據(jù)比較結(jié)果進(jìn)行安全訪問控制。
7.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述安全訪問控制單元包括: 判斷模塊,用于判斷所述第一 MD5值與所述第二 MD5值是否相等; 第一控制模塊,用于在所述判斷模塊的結(jié)果為是的情況下,通過所述上位機(jī)的安全訪問請(qǐng)求; 第二控制模塊,用于在所述判斷模塊的結(jié)果為否的情況下,拒絕所述上位機(jī)的安全訪問請(qǐng)求。
8.根據(jù)權(quán)利要求6所述的ECU,其特征在于,所述第一計(jì)算單元包括: 第一確定模塊,用于將所述隨機(jī)數(shù)確定為MD5算法的輸入?yún)?shù); 第一取整模塊,用于將所述移位參數(shù)對(duì)32進(jìn)行取整,以得到移位的位數(shù); 第一移位模塊,用于將所述MD5算法中的鏈接變量循環(huán)左移所述位數(shù)位; 第一計(jì)算模塊,用于利用所述輸入?yún)?shù)和移位后的鏈接變量來計(jì)算所述第一 MD5值。
9.一種上位機(jī),其特征在于,包括: 發(fā)送請(qǐng)求單元,用于向E⑶發(fā)送安全訪問請(qǐng)求; 接收單元,用于接收所述ECU響應(yīng)于安全訪問請(qǐng)求返回的隨機(jī)數(shù); 第二計(jì)算單元,用于依據(jù)所述隨機(jī)數(shù)和預(yù)先設(shè)置的鏈接變量的移位參數(shù)來計(jì)算第二MD5 值; 發(fā)送MD5值單元,用于將所述第二 MD5值發(fā)送給所述E⑶,以便所述E⑶依據(jù)所述第一MD5值和第二 MD5值的比較結(jié)果進(jìn)行安全訪問控制。
10.根據(jù)權(quán)利要求9所述的上位機(jī),其特征在于,所述第二計(jì)算單元包括: 第二確定模塊,用于將所述隨機(jī)數(shù)確定為MD5算法的輸入?yún)?shù); 第二取整模塊,用于將所述移位參數(shù)對(duì)32進(jìn)行取整,以得到移位的位數(shù); 第二移位模塊,用于將所述MD5算法中的鏈接變量循環(huán)左移所述位數(shù)位; 第二計(jì)算模塊,用于利用所述輸入?yún)?shù)和移位后的鏈接變量來計(jì)算所述第二 MD5值。
【文檔編號(hào)】G06F21/62GK104134047SQ201410309182
【公開日】2014年11月5日 申請(qǐng)日期:2014年7月1日 優(yōu)先權(quán)日:2014年7月1日
【發(fā)明者】王欣偉, 王冰, 張坤明, 艾聰, 張國(guó)梁 申請(qǐng)人:濰柴動(dòng)力股份有限公司