本發(fā)明涉及檢測針對搭載在車輛中的ECU(Electronic Control Unit:電子控制單元)等信息處理裝置的程序或數(shù)據(jù)的非法重寫的重寫檢測系統(tǒng)以及構(gòu)成該系統(tǒng)的信息處理裝置。
背景技術(shù):
在搭載于車輛的ECU等信息處理裝置中,根據(jù)存儲在ROM(Read Only Memory:只讀存儲器)等存儲部中的程序和數(shù)據(jù),由CPU(Central Processing Unit:中央處理單元)等處理部進(jìn)行各種處理。在近年來的車輛中,通過CAN(Controller Area Network:控制器局域網(wǎng))等車內(nèi)網(wǎng)絡(luò)來進(jìn)行對存儲在信息處理裝置的存儲部中的程序和數(shù)據(jù)的重寫的功能得到應(yīng)用。由此,能夠使信息處理裝置的軟件的版本升級等變得容易,易于實(shí)現(xiàn)信息處理裝置的高功能化。
在專利文獻(xiàn)1中,提出了如下的車載網(wǎng)絡(luò)系統(tǒng):具備對車載控制裝置進(jìn)行認(rèn)證的構(gòu)成管理裝置,該構(gòu)成管理裝置通過與車載網(wǎng)絡(luò)連接的登記裝置將用于實(shí)施構(gòu)成證明的構(gòu)成證明數(shù)據(jù)傳送到車載控制裝置。
現(xiàn)有技術(shù)文獻(xiàn)
專利文獻(xiàn)
專利文獻(xiàn)1:日本特開2013-17140號公報(bào)
技術(shù)實(shí)現(xiàn)要素:
發(fā)明要解決的課題
由于是能夠?qū)Υ鎯υ谛畔⑻幚硌b置的存儲部中的程序和數(shù)據(jù)進(jìn)行重寫的構(gòu)成,存在進(jìn)行非法的程序和數(shù)據(jù)重寫的可能性。例如在如拼車或租車等數(shù)目不確定的用戶利用車輛的情況下,存在由惡意的用戶進(jìn)行非法重寫的可能性。另外,例如用戶也有可能對自己擁有的車輛進(jìn)行非法的改造。
例如可以考慮通過在信息處理裝置中搭載先進(jìn)的認(rèn)證功能或加密功能等,防止存儲部的程序或數(shù)據(jù)的非法重寫。但是,由于將這種功能搭載到信息處理裝置,存在會(huì)導(dǎo)致信息處理裝置的高成本化的問題。另外,難以完全防止非法重寫。專利文獻(xiàn)1中記載的車載網(wǎng)絡(luò)系統(tǒng)也具有相同的問題。
為了解決該問題,本申請的發(fā)明人提出了如下的系統(tǒng):對信息處理裝置發(fā)送種子信息,接收到該種子信息的信息處理裝置使用種子信息和存儲在存儲部中的程序或數(shù)據(jù)來進(jìn)行散列值的計(jì)算,根據(jù)由信息處理裝置計(jì)算出的散列值是否與期望值一致來檢測非法重寫。
本發(fā)明是鑒于如上所述的情況而完成的,其目的在于,提供一種重寫檢測系統(tǒng)及信息處理裝置,在利用上述的散列值來檢測非法重寫的系統(tǒng)中,能夠?qū)崿F(xiàn)裝置間的通信量的減少或各裝置中的處理時(shí)間的縮短等。
用于解決課題的技術(shù)方案
本發(fā)明的重寫檢測系統(tǒng),針對具備存儲有程序或數(shù)據(jù)的存儲部、處理部和通信部的信息處理裝置檢測所述存儲部所存儲的程序或數(shù)據(jù)的重寫,所述處理部進(jìn)行基于該存儲部所存儲的程序或數(shù)據(jù)的處理,所述通信部通過網(wǎng)絡(luò)進(jìn)行與其他裝置的通信,所述重寫檢測系統(tǒng)的特征在于,具備重寫檢測裝置,該重寫檢測裝置具有:種子信息發(fā)送單元,通過所述網(wǎng)絡(luò)向所述信息處理裝置發(fā)送用于散列值計(jì)算的種子信息;散列值接收單元,接收與該種子信息發(fā)送單元發(fā)送的種子信息對應(yīng)地從所述信息處理裝置發(fā)送的散列值;以及散列值判定單元,判定該散列值接收單元接收到的散列值是否正確,所述重寫檢測裝置根據(jù)該散列值判定單元的判定結(jié)果來檢測重寫,所述信息處理裝置具有:存儲區(qū)域確定單元,從所述存儲部確定應(yīng)作為處理對象的存儲區(qū)域;以及散列值計(jì)算單元,計(jì)算基于所述種子信息發(fā)送單元發(fā)送的種子信息和存儲在所述存儲區(qū)域確定單元所確定的存儲區(qū)域中的程序或數(shù)據(jù)的散列值,所述信息處理裝置將該散列值計(jì)算單元計(jì)算出的散列值向所述重寫檢測裝置發(fā)送。
另外,在本發(fā)明的重寫檢測系統(tǒng)中,其特征在于,所述重寫檢測裝置反復(fù)執(zhí)行由所述種子信息發(fā)送單元進(jìn)行的種子信息的發(fā)送來重復(fù)進(jìn)行重寫檢測,所述信息處理裝置的所述存儲區(qū)域確定單元將相對于作為上一次散列值計(jì)算的處理對象的存儲區(qū)域隔開預(yù)定地址的存儲區(qū)域確定為處理對象。
另外,在本發(fā)明的重寫檢測系統(tǒng)中,其特征在于,所述重寫檢測裝置重復(fù)進(jìn)行由所述種子信息發(fā)送單元進(jìn)行的種子信息的發(fā)送來重復(fù)進(jìn)行重寫檢測,所述信息處理裝置的所述存儲區(qū)域確定單元將把所述存儲部分成兩部分而得到的第1存儲區(qū)域和第2存儲區(qū)域交替地確定為作為處理對象的存儲區(qū)域。
另外,在本發(fā)明的重寫檢測系統(tǒng)中,其特征在于,所述重寫檢測裝置重復(fù)進(jìn)行由所述種子信息發(fā)送單元進(jìn)行的種子信息的發(fā)送來重復(fù)進(jìn)行重寫檢測,所述重寫檢測裝置具有信息發(fā)送單元,在所述散列值接收單元接收到來自所述信息處理裝置的散列值之后,所述信息發(fā)送單元將指定應(yīng)作為下一次散列值計(jì)算的處理對象的存儲區(qū)域的存儲區(qū)域指定信息向所述信息處理裝置發(fā)送,所述信息處理裝置具有存儲從所述重寫檢測裝置接收到的所述存儲區(qū)域指定信息的存儲區(qū)域指定信息存儲單元,所述信息處理裝置的所述存儲區(qū)域確定單元根據(jù)所述存儲區(qū)域指定信息存儲單元所存儲的所述存儲區(qū)域指定信息來確定存儲區(qū)域。
另外,在本發(fā)明的重寫檢測系統(tǒng)中,其特征在于,所述重寫檢測裝置具有信息發(fā)送單元,該信息發(fā)送單元將指定應(yīng)作為散列值計(jì)算的處理對象的第一次的存儲區(qū)域的存儲區(qū)域指定信息向所述信息處理裝置發(fā)送,所述信息處理裝置的所述存儲區(qū)域確定單元根據(jù)從所述重寫檢測裝置接收到的所述存儲區(qū)域指定信息,確定應(yīng)作為處理對象的第一次的存儲區(qū)域。
另外,本發(fā)明的重寫檢測系統(tǒng),針對具備存儲有程序或數(shù)據(jù)的存儲部、處理部和通信部的信息處理裝置檢測所述存儲部所存儲的程序或數(shù)據(jù)的重寫,所述處理部進(jìn)行基于該存儲部所存儲的程序或數(shù)據(jù)的處理,所述通信部通過網(wǎng)絡(luò)進(jìn)行與其他裝置的通信,所述重寫檢測系統(tǒng)的特征在于,具備重寫檢測裝置,該重寫檢測裝置具有:種子信息發(fā)送單元,通過所述網(wǎng)絡(luò)向所述信息處理裝置發(fā)送用于散列值計(jì)算的種子信息;散列值接收單元,接收與該種子信息發(fā)送單元發(fā)送的種子信息對應(yīng)地從所述信息處理裝置發(fā)送的散列值;散列值判定單元,判定該散列值接收單元接收到的散列值是否正確;以及信息發(fā)送單元,在所述散列值接收單元接收到來自所述信息處理裝置的散列值之后,將指定應(yīng)作為下一次散列值計(jì)算的處理對象的存儲區(qū)域的存儲區(qū)域指定信息向所述信息處理裝置發(fā)送,所述重寫檢測裝置根據(jù)所述散列值判定單元的判定結(jié)果來檢測重寫,所述信息處理裝置具有:存儲區(qū)域指定信息存儲單元,存儲從所述重寫檢測裝置接收到的所述存儲區(qū)域指定信息;以及散列值計(jì)算單元,計(jì)算基于所述種子信息發(fā)送單元發(fā)送的種子信息和存儲在由所述存儲區(qū)域指定信息存儲單元存儲的存儲區(qū)域指定信息指定的存儲區(qū)域中的程序或數(shù)據(jù)的散列值,所述信息處理裝置將該散列值計(jì)算單元計(jì)算出的散列值向所述重寫檢測裝置發(fā)送。
另外,本發(fā)明的信息處理裝置,其特征在于,具備:存儲部,存儲有程序或數(shù)據(jù);處理部,進(jìn)行基于該存儲部所存儲的程序或數(shù)據(jù)的處理;通信部,通過網(wǎng)絡(luò)進(jìn)行與其他裝置的通信;存儲區(qū)域確定單元,從所述存儲部確定應(yīng)作為處理對象的存儲區(qū)域;以及散列值計(jì)算單元,計(jì)算基于從其他裝置發(fā)送的種子信息和存儲在所述存儲區(qū)域確定單元所確定的存儲區(qū)域中的程序或數(shù)據(jù)的散列值,所述信息處理裝置將該散列值計(jì)算單元計(jì)算出的散列值向所述其他裝置發(fā)送。
在本發(fā)明中,重寫檢測裝置生成種子信息并向信息處理裝置發(fā)送,根據(jù)信息處理裝置接收到的種子信息和存儲在存儲部中的程序或數(shù)據(jù)來計(jì)算散列值并向重寫檢測裝置發(fā)送。此時(shí),信息處理裝置自行確定存儲部的存儲區(qū)域中的作為散列值計(jì)算的處理對象的存儲區(qū)域,并進(jìn)行散列值的計(jì)算。另外,對于種子信息,例如能夠生成預(yù)定位數(shù)的隨機(jī)的值來利用。重寫檢測裝置判定從信息處理裝置接收到的散列值是否正確,判定是否進(jìn)行了針對程序或數(shù)據(jù)的非法重寫。即,重寫檢測裝置能夠在散列值正確時(shí)判斷為未進(jìn)行非法重寫,在散列值不正確時(shí)判斷為進(jìn)行了非法重寫。
由此,能夠檢測針對信息處理裝置的程序或數(shù)據(jù)的非法重寫,能夠適當(dāng)?shù)剡M(jìn)行對進(jìn)行了非法重寫的信息處理裝置的動(dòng)作停止、修理或更換等處理。由于信息處理裝置自行確定應(yīng)作為處理對象的存儲區(qū)域,重寫檢測裝置無需將指定存儲區(qū)域的信息等向信息處理裝置發(fā)送,能夠減少重寫檢測裝置和信息處理裝置之間的通信量。另外,信息處理裝置通過種子信息的接收,不用等待指定存儲區(qū)域的信息的接收等就能夠開始散列值計(jì)算的處理,因此能夠縮短處理時(shí)間。
另外,在本發(fā)明中,信息處理裝置將相對于作為上一次散列值計(jì)算對象的存儲區(qū)域隔開預(yù)定地址的存儲區(qū)域設(shè)為作為本次處理對象的存儲區(qū)域。即,在上一次的存儲區(qū)域?yàn)槔鐝腁0地址到A1地址時(shí),信息處理裝置能夠?qū)⒈敬蔚拇鎯^(qū)域確定為例如從A0+α地址到A1+α地址。另外,重寫檢測裝置也存儲相同的預(yù)定地址α,掌握信息處理裝置是使用哪個(gè)存儲區(qū)域進(jìn)行了散列值的計(jì)算。由此,信息處理裝置能夠容易且切實(shí)地確定應(yīng)作為處理對象的存儲區(qū)域。
另外,在本發(fā)明中,信息處理裝置將存儲區(qū)域分成兩部分來利用,例如將前半部分作為第1存儲區(qū)域且將后半部分作為第2存儲區(qū)域來交替地切換散列值計(jì)算的處理對象。由此,信息處理裝置能夠容易且切實(shí)地確定應(yīng)作為處理對象的存儲區(qū)域。
另外,在本發(fā)明中,重寫檢測裝置在從信息處理裝置接收到散列值之后,將指定應(yīng)作為下一次散列值計(jì)算的處理對象的存儲區(qū)域的信息向信息處理裝置發(fā)送。信息處理裝置從重寫檢測裝置接收存儲區(qū)域的指定信息并存儲,將由進(jìn)行下一次散列值計(jì)算時(shí)存儲的信息指定的存儲區(qū)域作為處理對象。該結(jié)構(gòu)雖然需要每次都從重寫檢測裝置向信息處理裝置發(fā)送指定存儲區(qū)域的信息,但是信息發(fā)送能夠在到進(jìn)行下一次的檢測處理為止的任意的時(shí)刻進(jìn)行,因此例如也能夠選擇網(wǎng)絡(luò)的負(fù)載少的情況等來進(jìn)行信息發(fā)送。另外,信息處理裝置在從重寫檢測裝置接收到種子信息時(shí),不用等待指定存儲區(qū)域的信息的接收就能夠根據(jù)所存儲的信息來確定存儲區(qū)域并進(jìn)行散列值的計(jì)算,因此能夠縮短處理時(shí)間。
另外,在本發(fā)明中,在重復(fù)進(jìn)行的檢測處理的第一次中,重寫檢測裝置將指定應(yīng)作為處理對象的第一次的存儲區(qū)域的信息發(fā)送到信息處理裝置。信息處理裝置在從重寫檢測裝置接收到指定存儲區(qū)域的信息時(shí),將所指定的存儲區(qū)域作為處理對象來進(jìn)行散列值的計(jì)算,在除此以外的情況下通過上述的方法進(jìn)行散列值的計(jì)算。由此,在重復(fù)進(jìn)行的檢測處理的第一次中,信息處理裝置能夠切實(shí)地進(jìn)行散列值的計(jì)算。
另外,也可以構(gòu)成為,重寫檢測裝置不指定第一次的存儲區(qū)域,而是將例如存儲部的最前頭區(qū)域等預(yù)先確定的存儲區(qū)域作為第一次的存儲區(qū)域來進(jìn)行散列值的計(jì)算。
發(fā)明效果
在本發(fā)明的情況下,通過構(gòu)成為由信息處理裝置確定應(yīng)作為散列值計(jì)算的處理對象的存儲區(qū)域,能夠?qū)崿F(xiàn)重寫檢測裝置和信息處理裝置間的通信量的減少或重寫檢測的處理所需的各裝置中的處理時(shí)間的縮短等。
附圖說明
圖1是示出本實(shí)施方式的重寫檢測系統(tǒng)的結(jié)構(gòu)的示意圖。
圖2是示出ECU的結(jié)構(gòu)的框圖。
圖3是示出ECU的存儲部的結(jié)構(gòu)的示意圖。
圖4是示出重寫檢測裝置的結(jié)構(gòu)的框圖。
圖5是示出服務(wù)器裝置的結(jié)構(gòu)的框圖。
圖6是示出重寫檢測數(shù)據(jù)庫的第1構(gòu)成例的示意圖。
圖7是示出重寫檢測數(shù)據(jù)庫的第2構(gòu)成例的示意圖。
圖8是用于說明基于重寫檢測裝置的重寫檢測處理的示意圖。
圖9是用于說明實(shí)施方式1的ECU的存儲區(qū)域確定方法的示意圖。
圖10是示出重寫檢測裝置進(jìn)行的重寫檢測處理的步驟的流程圖。
圖11是示出ECU所進(jìn)行的重寫檢測處理的步驟的流程圖。
圖12是示出服務(wù)器裝置所進(jìn)行的重寫檢測處理的步驟的流程圖。
圖13是用于說明實(shí)施方式2的ECU的存儲區(qū)域確定方法的示意圖。
圖14是用于說明實(shí)施方式3的基于重寫檢測系統(tǒng)的存儲區(qū)域確定方法的示意圖。
圖15是示出實(shí)施方式3的重寫檢測裝置所進(jìn)行的重寫檢測處理的步驟的流程圖。
圖16是示出實(shí)施方式3的ECU所進(jìn)行的重寫檢測處理的步驟的流程圖。
具體實(shí)施方式
(實(shí)施方式1)
<系統(tǒng)結(jié)構(gòu)>
以下,對于本發(fā)明,根據(jù)示出其實(shí)施方式的附圖來具體地進(jìn)行說明。圖1是示出本實(shí)施方式的重寫檢測系統(tǒng)的結(jié)構(gòu)的示意圖。在附圖中,1為車輛,在車輛1中例如搭載有車身ECU和發(fā)動(dòng)機(jī)ECU等各種ECU2。搭載于車輛1的多個(gè)ECU2經(jīng)由CAN等車內(nèi)網(wǎng)絡(luò)3連接,能夠彼此進(jìn)行信息的收發(fā)。另外,在車輛1中設(shè)置有用于對車內(nèi)網(wǎng)絡(luò)3連接其他裝置的連接器4。
本實(shí)施方式的重寫檢測系統(tǒng)具備重寫檢測裝置5,該重寫檢測裝置5對進(jìn)行了針對搭載于車輛1的ECU2的程序或數(shù)據(jù)的非法重寫的情況進(jìn)行檢測。重寫檢測裝置5為可移動(dòng)式裝置,例如保管在車輛1的經(jīng)銷商或修理廠等中。重寫檢測裝置5經(jīng)由通信線纜6與設(shè)置在車輛1中的連接器4連接,從而能夠通過車內(nèi)網(wǎng)絡(luò)3進(jìn)行與ECU2的通信。重寫檢測裝置5在連接器4連接有通信線纜6的狀態(tài)下進(jìn)行針對ECU2的程序或數(shù)據(jù)的非法重寫的檢測處理。
另外,重寫檢測裝置5具有進(jìn)行利用了無線LAN(Local Area Network:局域網(wǎng))或移動(dòng)電話網(wǎng)絡(luò)等的無線通信的功能。在本實(shí)施方式中,重寫檢測裝置5利用該無線通信功能,通過因特網(wǎng)等網(wǎng)絡(luò)9進(jìn)行與服務(wù)器裝置7的通信。服務(wù)器裝置7是由例如車輛1的制造公司或銷售公司等管理、運(yùn)營的裝置。服務(wù)器裝置7存儲重寫檢測裝置5的重寫檢測處理所需的信息,并根據(jù)進(jìn)行重寫檢測處理時(shí)提供的來自重寫檢測裝置5的請求,將所需的信息發(fā)送到重寫檢測裝置5。
圖2是示出ECU2的結(jié)構(gòu)的框圖。ECU2構(gòu)成為具備處理部21、存儲部22以及通信部23等。處理部21利用CPU(Central Processing Unit:中央處理單元)等運(yùn)算處理裝置構(gòu)成。處理部21通過讀取并執(zhí)行存儲部22所存儲的程序,進(jìn)行車輛1的各種信息處理。
存儲部22利用閃存或EEPROM(Electrically Erasable Programmable Read Only Memory:電可擦除可編程只讀存儲器)等能夠非易失性地重寫數(shù)據(jù)的存儲器元件構(gòu)成。存儲部22存儲處理部21所執(zhí)行的程序和在由此進(jìn)行的處理中所需的各種數(shù)據(jù)。在本實(shí)施方式中,存儲部22作為ROM來使用,而存儲在存儲部22中的程序或數(shù)據(jù)不會(huì)通過處理部21的處理而被重寫。但是,能夠進(jìn)行基于程序的版本升級等的重寫。
通信部23例如依照CAN等的通信協(xié)議,進(jìn)行經(jīng)由車內(nèi)網(wǎng)絡(luò)3的與其他ECU2的通信。通信部23將從處理部21提供的發(fā)送用信息轉(zhuǎn)換為依照通信協(xié)議的發(fā)送信號,并通過向構(gòu)成車內(nèi)網(wǎng)絡(luò)3的通信線輸出轉(zhuǎn)換后的信號來進(jìn)行向其他ECU2的信息發(fā)送。通信部23對車內(nèi)網(wǎng)絡(luò)3的通信線的電位進(jìn)行采樣,從而獲取其他ECU2輸出的信號,通過將該信號依照通信協(xié)議轉(zhuǎn)換為二進(jìn)制的信息來進(jìn)行信息的接收,并將接收到的信息提供給處理部21。
另外,在本實(shí)施方式中,ECU2的處理部21具有根據(jù)來自重寫檢測裝置5的指示來計(jì)算散列值的散列值計(jì)算部24。散列值計(jì)算部24根據(jù)從重寫檢測裝置5提供的隨機(jī)種子(種子信息)和存儲在存儲部22中的程序或數(shù)據(jù),通過預(yù)定的散列計(jì)算算法(散列函數(shù))計(jì)算散列值。散列值計(jì)算部24可以實(shí)現(xiàn)為軟件,也可以實(shí)現(xiàn)為硬件。對于散列值的計(jì)算方法的詳細(xì)內(nèi)容,將在后文中詳細(xì)敘述。
圖3是示出ECU2的存儲部22的結(jié)構(gòu)的示意圖。在圖示的例子中,存儲部22具有地址(地址)以0000h~FFFFh表示的存儲區(qū)域。在存儲部22中存儲有由處理部21執(zhí)行的兩個(gè)程序(程序1和程序2)、在各程序的執(zhí)行中各自所需的兩種數(shù)據(jù)(數(shù)據(jù)1和數(shù)據(jù)2)。在存儲部22中,從地址的最前頭側(cè)起按順序存儲有程序1、程序2、數(shù)據(jù)1、數(shù)據(jù)2,在它們之間的存儲區(qū)域和地址的末尾側(cè)的存儲區(qū)域中存儲有虛擬數(shù)據(jù)。
虛擬數(shù)據(jù)可以是任意的值,例如能夠存儲隨機(jī)確定的值。虛擬數(shù)據(jù)寫入到存儲部22的全部的剩余區(qū)域。即,在存儲部22中,在其全部的存儲區(qū)域中存儲有某種數(shù)據(jù)。由此,能夠防止在存儲部22的剩余區(qū)域中存儲非法的程序而進(jìn)行非法的處理的情況。另外,能夠使存儲在存儲部22中的程序和數(shù)據(jù)難以壓縮。
圖4是示出重寫檢測裝置5的結(jié)構(gòu)的框圖。重寫檢測裝置5具備處理部51、存儲部52、操作部53、顯示部54、有線通信部55以及無線通信部56等構(gòu)成。處理部51利用CPU等運(yùn)算處理裝置構(gòu)成。處理部51通過讀取存儲在存儲部52中的程序并執(zhí)行,進(jìn)行針對搭載于車輛1的ECU2的程序或數(shù)據(jù)的非法重寫的檢測處理。存儲部52利用閃存等非易失性的存儲器元件構(gòu)成,存儲有處理部51所執(zhí)行的程序和執(zhí)行中所需的各種數(shù)據(jù)。重寫檢測裝置5可以將在處理部51的處理過程等中產(chǎn)生的臨時(shí)的信息存儲到存儲部52,也可以具備存儲臨時(shí)的信息的RAM(Random Access Memory:隨機(jī)存取存儲器)。
操作部53利用按鈕開關(guān)或觸摸面板等構(gòu)成,受理用戶的操作并通知到處理部51。顯示部54利用液晶面板等構(gòu)成,根據(jù)來自處理部51的指示,顯示針對用戶的各種圖像和消息等。有線通信部55例如依照CAN等的通信協(xié)議,進(jìn)行經(jīng)由通信線纜6的與其他裝置的通信。在通信線纜6連接到車輛1的連接器4時(shí),有線通信部55能夠通過車輛1的車內(nèi)網(wǎng)絡(luò)3進(jìn)行與ECU2的通信。無線通信部56進(jìn)行利用無線LAN或移動(dòng)電話網(wǎng)絡(luò)等的無線通信,從而通過因特網(wǎng)等網(wǎng)絡(luò)9進(jìn)行與服務(wù)器裝置7的通信。
圖5是示出服務(wù)器裝置7的結(jié)構(gòu)的框圖。服務(wù)器裝置7具備處理部71、存儲部72以及通信部73等而構(gòu)成。處理部71利用CPU等運(yùn)算處理裝置構(gòu)成。處理部71通過讀取并執(zhí)行在存儲部72中存儲的程序,進(jìn)行發(fā)送在重寫檢測裝置5的重寫檢測處理中所需的信息的處理。通信部73通過因特網(wǎng)等網(wǎng)絡(luò)9進(jìn)行與其他裝置的通信。在本實(shí)施方式中,通信部73在與重寫檢測裝置51之間進(jìn)行通信,將從重寫檢測裝置51接收到的信息提供給處理部71,并且將從處理部71提供的發(fā)送用的信息向重寫檢測裝置51發(fā)送。
存儲部72利用硬盤等大容量的存儲裝置構(gòu)成。在本實(shí)施方式中,在存儲部72中構(gòu)建有重寫檢測數(shù)據(jù)庫75。重寫檢測數(shù)據(jù)庫75是存儲有在重寫檢測裝置5的重寫檢測處理中所需的信息的數(shù)據(jù)庫。關(guān)于重寫檢測數(shù)據(jù)庫75,可以考慮幾種結(jié)構(gòu),以下示出兩個(gè)構(gòu)成例。
圖6是示出重寫檢測數(shù)據(jù)庫75的第1構(gòu)成例的示意圖。在第1構(gòu)成例的重寫檢測數(shù)據(jù)庫75中建立對應(yīng)地存儲有“車型”、“ECU類型”以及“存儲內(nèi)容”。在重寫檢測數(shù)據(jù)庫75的“車型”中存儲有用于識別車輛1的種類的識別信息等。即使車輛1的車名和外觀等相同,在級別等不同而所搭載的ECU2的結(jié)構(gòu)不同時(shí),在本實(shí)施方式中也將這些車輛處理為不同的車型。在圖示的例子中,在重寫檢測數(shù)據(jù)庫75中存儲有車型A、車型B…的信息以作為“車型”。在重寫檢測數(shù)據(jù)庫75的“ECU類型”中存儲有例如用于識別車身ECU或發(fā)動(dòng)機(jī)ECU等ECU20的種類的識別信息等。在圖示的例子中,在重寫檢測數(shù)據(jù)庫75中存儲有ECUa、ECUb…的信息以作為“ECU類型”。重寫檢測數(shù)據(jù)庫75的“存儲內(nèi)容”是對應(yīng)的ECU2的存儲部22的存儲內(nèi)容的拷貝。
重寫檢測裝置5指定“車型”、“ECU類型”、“存儲區(qū)域”以及“隨機(jī)種子”并向服務(wù)器裝置7詢問期望值。與詢問有關(guān)的“存儲區(qū)域”是用于指定ECU2的存儲部22的存儲區(qū)域的一部分的信息,例如通過開始地址X和結(jié)束地址Y的組合或開始地址X和區(qū)域尺寸Z的組合等來指定存儲區(qū)域。與詢問有關(guān)的“隨機(jī)種子”是重寫檢測裝置5生成的信息,在本實(shí)施方式中是16進(jìn)制且4位的數(shù)值。
服務(wù)器裝置7從與該詢問有關(guān)的車型和ECU類型對應(yīng)的存儲內(nèi)容中讀取通過詢問來指定的存儲區(qū)域的存儲內(nèi)容。服務(wù)器裝置7根據(jù)與詢問有關(guān)的隨機(jī)種子和所讀取的存儲內(nèi)容來進(jìn)行散列值的計(jì)算,并將計(jì)算出的散列值作為期望值向重寫檢測裝置5發(fā)送。由此,服務(wù)器裝置7存儲與ECU2的散列值計(jì)算部24所使用的散列函數(shù)相同的函數(shù)。
圖7是示出重寫檢測數(shù)據(jù)庫75的第2構(gòu)成例的示意圖。在第2構(gòu)成例的重寫檢測數(shù)據(jù)庫75中建立對應(yīng)地存儲有“車型”、“ECU類型”、“存儲區(qū)域”、“隨機(jī)種子”以及“期望值”。其中“車型”和“ECU類型”與第1構(gòu)成例相同。第2構(gòu)成例的重寫檢測數(shù)據(jù)庫75的“存儲區(qū)域”是指定ECU2的存儲部22的存儲區(qū)域的一部分的信息。在圖示的例子中,將存儲部22劃分為多個(gè)存儲區(qū)域以作為第1區(qū)域、第2區(qū)域…。各區(qū)域可以不是相同的尺寸,也可以具有重復(fù)的部分。
重寫檢測數(shù)據(jù)庫75的“隨機(jī)種子”是重寫檢測裝置5所生成的隨機(jī)種子,在本實(shí)施方式中為16進(jìn)制且4位的數(shù)值。在圖示的例子中,關(guān)于“隨機(jī)種子”,針對每個(gè)“ECU類型”設(shè)定有如0000h~FFFFh的65536這樣的值。重寫檢測數(shù)據(jù)庫75的“期望值”是應(yīng)該由ECU3針對“存儲區(qū)域”和“隨機(jī)種子”計(jì)算的散列值,在本實(shí)施方式中為16進(jìn)制且4位的數(shù)值?!捌谕怠笔顷P(guān)于ECU2的存儲部22的存儲內(nèi)容(程序、數(shù)據(jù)和虛擬數(shù)據(jù))的針對存儲在對應(yīng)的“存儲區(qū)域”中的存儲內(nèi)容使用對應(yīng)的“隨機(jī)種子”預(yù)先計(jì)算散列值并存儲的值。另外,圖示的“期望值”為一例。
重寫檢測裝置5指定“車型”、“ECU類型”、“存儲區(qū)域”以及“隨機(jī)種子”并向服務(wù)器裝置7詢問期望值。服務(wù)器裝置7根據(jù)該詢問而從重寫檢測數(shù)據(jù)庫75讀取對應(yīng)的期望值并向重寫檢測裝置5發(fā)送。
另外,在本實(shí)施方式中,如果車型和ECU類型相同,則存儲在ECU2的存儲部22中的程序和數(shù)據(jù)相同。不過,根據(jù)車輛1的目的地或程序的版本差異等,可能存在即使車型和ECU類型相同,所存儲的程序和數(shù)據(jù)也不同的情況。在這種情況下,例如在重寫檢測數(shù)據(jù)庫75中設(shè)置有程序的版本等項(xiàng)目,針對每個(gè)版本存儲有存儲部22的存儲內(nèi)容,或者,針對每個(gè)版本存儲有期望值。重寫檢測裝置5從該ECU2獲取作為重寫檢測處理的對象的ECU2的程序的版本,在向服務(wù)器裝置7進(jìn)行期望值的詢問時(shí)將程序的版本信息與車型和隨機(jī)種子等的信息一起發(fā)送。服務(wù)器裝置7能夠根據(jù)來自重寫檢測裝置5的程序的版本信息,從重寫檢測數(shù)據(jù)庫75讀取適當(dāng)?shù)男畔?,并向重寫檢測裝置5發(fā)送期望值。
<散列值計(jì)算方法>
ECU2的散列值計(jì)算部24能夠構(gòu)成為,例如利用MD(Message Digest:消息摘要)4、MD5、SHA-1、SHA-256、SHA-384、SHA-512、EIPEMD-160或SHA-3等現(xiàn)有的散列函數(shù)來進(jìn)行散列值的計(jì)算。這些是所謂的單向散列函數(shù),是針對所輸入的信息輸出一個(gè)散列值的函數(shù)。輸入到散列函數(shù)的信息在本實(shí)施方式中是存儲在ECU2的存儲部22中的程序或數(shù)據(jù)的一部分或全部。即使輸入到散列函數(shù)中的信息為程序或數(shù)據(jù)中的任一種或者是程序和數(shù)據(jù)這雙方,散列函數(shù)也能夠?qū)⑺斎氲男畔⒑唵蔚靥幚頌槎M(jìn)制的信息,并計(jì)算散列值。散列值計(jì)算部24存儲預(yù)先確定的散列函數(shù),利用該散列函數(shù)進(jìn)行散列值的計(jì)算。
以下,簡單地對散列值計(jì)算部24利用SHA-1的散列函數(shù)來計(jì)算散列值的情況進(jìn)行說明。另外,關(guān)于SHA-1的散列函數(shù)的詳細(xì)的處理以及散列值計(jì)算部24利用其他散列函數(shù)的情況,由于這些散列函數(shù)為現(xiàn)有的技術(shù),因此省略說明。
在利用SHA-1的散列函數(shù)時(shí),散列值計(jì)算部24首先進(jìn)行填充處理。在填充處理中,散列值計(jì)算部24通過在輸入信息之后附加額外的數(shù)據(jù),以使處理對象的信息的大小成為預(yù)定值(512位)的整數(shù)倍的方式進(jìn)行調(diào)整。接著,散列值計(jì)算部24將被填充處理的信息按照每512位的塊進(jìn)行分割,進(jìn)行對各塊計(jì)算80個(gè)值的第1處理。
接著,散列值計(jì)算部24針對預(yù)定大小(160位)的初始值進(jìn)行如下的第二處理:進(jìn)行使用了通過第1處理計(jì)算出的值的運(yùn)算,并將運(yùn)算后的160位的值作為散列值。在第2處理中,首先,散列值計(jì)算部24使用針對一個(gè)塊計(jì)算出的80個(gè)值,對160位的初始值進(jìn)行80步驟的運(yùn)算。通過該80步驟的運(yùn)算,能夠?qū)?60位的初始值混入塊的信息,作為輸出而得到160位的值。散列值計(jì)算部24將所得到的160位的值作為初始值,使用針對下一個(gè)塊計(jì)算的80個(gè)值同樣地進(jìn)行80步驟的運(yùn)算。散列值計(jì)算部24針對全部的塊進(jìn)行同樣的80步驟的處理,將最終得到的160位的值作為散列值。
另外,在本實(shí)施方式中,散列值計(jì)算部24需要利用從重寫檢測裝置5提供的隨機(jī)種子來進(jìn)行散列值的計(jì)算。例如散列值計(jì)算部24在上述的填充處理中,能夠?qū)Ω郊拥捷斎胄畔⒌臄?shù)據(jù)使用隨機(jī)種子。另外,例如散列值計(jì)算部24在上述的第2處理中,能夠?qū)?60位的初始值使用隨機(jī)種子。在本實(shí)施方式中,對第2處理的初始值使用隨機(jī)種子。
另外,基于散列值計(jì)算部24的隨機(jī)種子的利用方法不限于上述的方法。例如散列值計(jì)算部24能夠?qū)⒆鳛樯⒘兄涤?jì)算的對象的存儲部22的信息與隨機(jī)種子的邏輯運(yùn)算值(異或等)作為向散列函數(shù)的輸入信息。另外,例如散列值計(jì)算部24能夠使對作為散列值計(jì)算的對象的存儲部22的信息的最前頭部分或末尾部分等預(yù)定位置附加了隨機(jī)種子而得到的信息作為向散列函數(shù)的輸入信息。
<重寫檢測處理>
例如在車輛1的車檢、定期檢查或修理等時(shí),經(jīng)銷商或修理廠等的作業(yè)人員將重寫檢測裝置5的通信線纜6連接到車輛1的連接器4,將重寫檢測裝置5連接到車輛1的車內(nèi)網(wǎng)絡(luò)3。作業(yè)人員進(jìn)行針對重寫檢測裝置5的操作部53的操作,將開始針對車輛1的ECU2的非法重寫的檢測處理的指示提供給重寫檢測裝置5。
重寫檢測裝置5在由操作部53受理了非法重寫檢測處理的開始指示時(shí),通過有線通信部55開始與車輛1的ECU2的通信。在本實(shí)施方式中,重寫檢測裝置5從搭載于車輛1的多個(gè)ECU2中適當(dāng)?shù)剡x擇一個(gè),進(jìn)行所選擇的存儲在ECU2的存儲部22中的程序和數(shù)據(jù)的非法重寫的檢測處理。在對一個(gè)ECU2結(jié)束了檢測處理之后,重寫檢測裝置5進(jìn)行針對未處理的ECU2的檢測處理。重寫檢測裝置5通過重復(fù)這些處理來對多個(gè)ECU2依次進(jìn)行檢測處理,對搭載于車輛1的能夠作為檢測對象的全部的ECU2進(jìn)行非法重寫的檢測處理。
另外,重寫檢測裝置5也可以構(gòu)成為,針對連接到車內(nèi)網(wǎng)絡(luò)3的多個(gè)ECU2同時(shí)進(jìn)行非法重寫的檢測處理。但是,在本實(shí)施方式中,如上所述重寫檢測裝置5針對多個(gè)ECU2依次進(jìn)行非法重寫的檢測處理。另外,在下文中,為了簡化說明,對重寫檢測裝置5進(jìn)行針對一個(gè)ECU2的非法重寫的檢測處理的情況進(jìn)行說明。對多個(gè)ECU2重復(fù)進(jìn)行同樣的處理即可。
圖8是用于說明基于重寫檢測裝置5的重寫檢測處理的示意圖。連接到車輛2的車內(nèi)網(wǎng)絡(luò)3的重寫檢測裝置5針對作為重寫檢測處理的對象的ECU2通知開始重寫檢測處理等。與此對應(yīng)地,作為對象的ECU2例如中斷其他處理而進(jìn)行散列值計(jì)算部24的處理的準(zhǔn)備等(但是,無需一定中斷其他處理,也可以構(gòu)成為散列值計(jì)算部24能夠與其他處理并行地進(jìn)行處理)。
重寫檢測裝置5根據(jù)適當(dāng)?shù)碾S機(jī)數(shù)生成算法來生成隨機(jī)的值,將該值作為隨機(jī)種子發(fā)送到ECU2。隨機(jī)種子可以是例如64位以上的隨機(jī)的值。在散列值計(jì)算部24使用SHA-1作為散列函數(shù)時(shí),隨機(jī)種子可以是例如160位。接收到來自重寫檢測裝置5的隨機(jī)種子的ECU2進(jìn)行確定存儲部22的存儲區(qū)域中的作為散列值計(jì)算的處理對象的存儲區(qū)域的處理,并讀取所確定的存儲區(qū)域的存儲內(nèi)容。ECU2根據(jù)接收到的隨機(jī)種子和所讀取的存儲內(nèi)容,利用預(yù)先確定的散列函數(shù)來計(jì)算散列值。ECU2將計(jì)算出的散列值向重寫檢測裝置5發(fā)送。
另外,重寫檢測裝置5將所生成的隨機(jī)種子向服務(wù)器裝置7發(fā)送,詢問針對該隨機(jī)種子的散列值的期望值。此時(shí),重寫檢測裝置5以與ECU2相同的方法確定作為散列值計(jì)算的處理對象的存儲部22的存儲區(qū)域。重寫檢測裝置5將進(jìn)行重寫檢測處理的車輛1的車輛ID(Identifier:標(biāo)識符)或車型等車輛信息、識別處理對象的ECU2的ID等ECU識別信息以及指定作為散列值計(jì)算的處理對象的存儲區(qū)域的信息與隨機(jī)種子一起向服務(wù)器裝置7發(fā)送。
接收到這些信息的服務(wù)器裝置7參照存儲部72的重寫檢測數(shù)據(jù)庫75。例如在重寫檢測數(shù)據(jù)庫75為圖6所示的結(jié)構(gòu)時(shí),服務(wù)器裝置7從根據(jù)與來自重寫檢測裝置5的詢問有關(guān)的車型和ECU類型存儲的ECU2的存儲內(nèi)容中讀取與通過詢問指定的存儲區(qū)域?qū)?yīng)的存儲內(nèi)容。服務(wù)器裝置7根據(jù)從重寫檢測數(shù)據(jù)庫75讀取的存儲內(nèi)容以及與來自重寫檢測裝置5的詢問有關(guān)的隨機(jī)種子來計(jì)算散列值,將所計(jì)算出的散列值作為期望值向重寫檢測裝置5發(fā)送。
重寫檢測裝置5對從ECU2接收到的散列值與從服務(wù)器裝置7接收到的期望值進(jìn)行比較。在散列值和期望值一致時(shí),重寫檢測裝置5判定為未進(jìn)行針對存儲在ECU2的存儲部22中的程序和數(shù)據(jù)的非法重寫。與此相對地,在散列值和期望值不一致時(shí),重寫檢測裝置5判定為進(jìn)行了針對ECU2的程序和數(shù)據(jù)的非法重寫。作為重寫檢測處理的處理結(jié)果,重寫檢測裝置5在顯示部54中顯示是否進(jìn)行了非法重寫。
另外,重寫檢測裝置5也可以對從向ECU2發(fā)送隨機(jī)種子起到接收散列值為止的時(shí)間進(jìn)行計(jì)測,并進(jìn)行基于所計(jì)測到的時(shí)間的重寫的有無。此時(shí),重寫檢測裝置5判定所計(jì)測到的時(shí)間是否超過閾值,在計(jì)測時(shí)間超過閾值時(shí),判定為進(jìn)行了針對ECU2的程序和數(shù)據(jù)的非法重寫。另外,關(guān)于在判定中使用的閾值,考慮重寫檢測裝置5和ECU2的通信速度和ECU2的處理能力等,在本系統(tǒng)的設(shè)計(jì)階段等中預(yù)先確定。
<存儲區(qū)域確定方法>
ECU2的散列值計(jì)算部24在根據(jù)來自重寫檢測裝置5的隨機(jī)種子來計(jì)算散列值時(shí),進(jìn)行確定應(yīng)作為計(jì)算處理對象的存儲部22的存儲區(qū)域的處理。圖9是用于說明實(shí)施方式1的ECU2的存儲區(qū)域確定方法的示意圖?;谏⒘兄涤?jì)算部24的存儲區(qū)域的確定方法在首次計(jì)算散列值的情況下和第二次以后計(jì)算散列值的情況下不同。在本實(shí)施方式中,重寫檢測裝置5確定作為散列值計(jì)算對象的第一次的存儲區(qū)域并通知給ECU2。ECU2的散列值計(jì)算部24在首次進(jìn)行散列值的計(jì)算的情況(例如,未存儲與上一次散列值計(jì)算有關(guān)的信息的情況等)下,從重寫檢測裝置5接收隨機(jī)種子和指定作為散列值計(jì)算的處理對象的存儲區(qū)域的信息,將所指定的存儲區(qū)域作為散列值計(jì)算處理的對象。在圖9中,重寫檢測裝置5例如像“從X地址到Y(jié)地址為止以Z地址間隔”這樣將不連續(xù)的多個(gè)區(qū)域指定為第一次的存儲區(qū)域。因此,ECU2的散列值計(jì)算部24將存儲部22的X地址~Y地址、X+Z地址~Y+Z地址、X+2Z地址~Y+2Z地址、…、作為散列值計(jì)算的處理對象的存儲區(qū)域。另外,X、Y、Z的值可以是預(yù)先確定的值,也可以每次由重寫檢測裝置5隨機(jī)確定。ECU2的散列值計(jì)算部24根據(jù)所指定的存儲區(qū)域的存儲內(nèi)容和接收到的隨機(jī)種子來計(jì)算散列值,并且存儲與在散列值計(jì)算中使用的存儲區(qū)域有關(guān)的信息(本例中為X、Y、Z的值等)。
ECU2的散列值計(jì)算部24能夠根據(jù)是否存儲有與在上一次散列值計(jì)算中使用的存儲區(qū)域有關(guān)的信息,判斷本次的處理為第一次還是第二次之后。散列值計(jì)算部24在第二次之后計(jì)算散列值的情況下,根據(jù)在上一次散列值計(jì)算中使用的存儲區(qū)域來確定在本次的散列值計(jì)算處理中使用的存儲區(qū)域。散列值計(jì)算部24預(yù)先存儲在確定存儲區(qū)域時(shí)使用的預(yù)定值α。散列值計(jì)算部24將對表示上一次的存儲區(qū)域的地址加上α地址而得到的地址作為本次的散列值計(jì)算的處理對象的存儲區(qū)域。在圖9所示的例子中,散列值計(jì)算部24將存儲部22的X+α~Y+α、X+α+Z~Y+α+Z、X+α+2Z~Y+α+2Z、…、作為第二次的散列值計(jì)算的處理對象的存儲區(qū)域。散列值計(jì)算部24存儲與第二次的存儲區(qū)域有關(guān)的信息,同樣地,第三次將存儲部22的X+2α~Y+2α、X+2α+Z~Y+2α+Z、X+2α+2Z~Y+2α+2Z、…、作為散列值計(jì)算的處理對象的存儲區(qū)域。
另外,重寫檢測裝置5針對在第二次以后計(jì)算出的散列值向服務(wù)器裝置7詢問期望值,因此需要知曉第二次以后的散列值是根據(jù)哪個(gè)存儲區(qū)域計(jì)算出的散列值。因此,重寫檢測裝置5存儲ECU2的預(yù)定值α和對于該ECU2來說是第幾次散列值計(jì)算的信息。預(yù)定值α例如可以由重寫檢測裝置5預(yù)先存儲,或者也可以例如在第一次散列值計(jì)算時(shí)等從ECU2獲取,或者也可以例如由重寫檢測裝置5確定預(yù)定值α并與第一次的存儲區(qū)域指定信息一起發(fā)送到ECU2。重寫檢測裝置5根據(jù)所存儲的預(yù)定值α和是第幾次的散列值計(jì)算的信息,特定作為本次散列值計(jì)算的處理對象的存儲區(qū)域,將表示該存儲區(qū)域的信息和隨機(jī)種子等發(fā)送到服務(wù)器裝置7來詢問期望值。
<流程圖>
接著,使用流程圖對本實(shí)施方式的重寫檢測系統(tǒng)所進(jìn)行的重寫檢測處理進(jìn)行說明。另外,在本說明中,采用圖6所示的結(jié)構(gòu)作為重寫檢測數(shù)據(jù)庫。圖10是示出重寫檢測裝置5所進(jìn)行的重寫檢測處理的步驟的流程圖。重寫檢測裝置5的處理部51根據(jù)隨機(jī)數(shù)生成算法來生成隨機(jī)種子(步驟S1)。處理部51判定發(fā)送隨機(jī)種子的ECU2的散列值計(jì)算的處理是否為第一次(步驟S2)。在是第一次處理時(shí)(S2:是),處理部51將指定應(yīng)作為散列值計(jì)算的處理對象的存儲區(qū)域的信息與在步驟S1中生成的隨機(jī)種子一起通過有線通信部55向作為對象的ECU2發(fā)送(步驟S3),使處理推進(jìn)到步驟S6。
在本次散列值計(jì)算處理不是第一次而是第二次以后的處理時(shí)(S2:否),處理部51將在步驟S1中生成的隨機(jī)種子向作為對象的ECU2發(fā)送(步驟S4)。另外,處理部51獲取針對該ECU2存儲的預(yù)定值α和進(jìn)行了散列值計(jì)算處理的次數(shù),根據(jù)預(yù)定值α和次數(shù)來特定作為本次散列值計(jì)算的處理對象的ECU2的存儲部22的存儲區(qū)域(步驟S5),使處理推進(jìn)到步驟S6。
處理部51判定是否由有線通信部55接收了從作為處理對象的ECU2針對隨機(jī)種子發(fā)送的散列值(步驟S6),在未接收時(shí)(S6:否),待機(jī)直到接收到散列值為止。在接收到散列值時(shí)(S6:是),處理部51將車輛信息和ECU2的識別信息、在步驟S1中生成的隨機(jī)種子以及在步驟S3中指定的存儲區(qū)域或在步驟S5中特定的存儲區(qū)域發(fā)送到服務(wù)器裝置7,詢問針對從ECU2接收到的散列值的期望值(步驟S7)。處理部51判定是否接收到從服務(wù)器裝置7針對詢問而發(fā)送的期望值(步驟S8),在未接收期望值時(shí)(S8:否),待機(jī)直到接收到期望值為止。
在從服務(wù)器裝置7接收到期望值時(shí)(S8:是),處理部51判定在步驟S6中接收到的散列值與在步驟S8中接收到的期望值是否一致(步驟S9)。在散列值和期望值一致時(shí)(S9:是),處理部51判定為未進(jìn)行非法重寫(步驟S10),通過顯示部54通知該內(nèi)容并結(jié)束處理。在散列值和期望值不一致時(shí)(S9:否),處理部51判定為進(jìn)行了非法重寫(步驟S11),通過顯示部54通知該內(nèi)容并結(jié)束處理。
圖11是示出ECU2所進(jìn)行的重寫檢測處理的步驟的流程圖。ECU2的處理部21判定是否由通信部23接收到重寫檢測裝置5發(fā)送的隨機(jī)種子(步驟S21),在未接收隨機(jī)種子時(shí)(S21:否),待機(jī)直到接收到隨機(jī)種子為止。在接收到隨機(jī)種子時(shí)(S21:是),處理部21的散列值計(jì)算部24根據(jù)是否存儲有與上一次散列值計(jì)算處理有關(guān)的信息等,判定散列值計(jì)算處理是否為第一次(步驟S22)。在是第一次處理時(shí)(S22:是),散列值計(jì)算部24獲取與隨機(jī)種子一起從重寫檢測裝置5發(fā)送的存儲區(qū)域的指定信息(步驟S23),使處理推進(jìn)到步驟S25。在不是第一次處理時(shí)(S22:否),散列值計(jì)算部24根據(jù)與在上一次散列值計(jì)算處理中使用的存儲區(qū)域有關(guān)的信息和預(yù)定值α,確定作為本次散列值計(jì)算的處理對象的存儲區(qū)域(步驟S24),使處理推進(jìn)到步驟S25。
處理部21的散列值計(jì)算部24根據(jù)從重寫檢測裝置5接收到的隨機(jī)種子以及通過在步驟S23中獲取的信息指定的存儲區(qū)域或在步驟S24中確定的存儲區(qū)域的存儲內(nèi)容,使用預(yù)定的散列函數(shù)來進(jìn)行散列值的計(jì)算(步驟S25)。處理部21將散列值計(jì)算部24計(jì)算出的散列值通過通信部23發(fā)送到重寫檢測裝置5(步驟S26),并結(jié)束處理。
圖12是示出服務(wù)器裝置7所進(jìn)行的重寫檢測處理的步驟的流程圖。服務(wù)器裝置7的處理部71判定是否由通信部73接收到來自重寫檢測裝置5的期望值的詢問(步驟S31),在未接收時(shí)(S31:否),待機(jī)直到接收到詢問為止。在接收到來自重寫檢測裝置5的詢問時(shí)(S31:是),處理部71根據(jù)詢問所包含的車輛信息、ECU類型信息以及存儲區(qū)域的指定信息等,從存儲部72的重寫檢測數(shù)據(jù)庫75獲取所指定的存儲區(qū)域的存儲內(nèi)容(步驟S32)。接著,處理部71根據(jù)來自重寫檢測裝置5的詢問所包含的隨機(jī)種子和在步驟S32中獲取的存儲內(nèi)容,進(jìn)行散列值的計(jì)算(步驟S33)。處理部71將計(jì)算出的散列值作為期望值發(fā)送到重寫檢測裝置5(步驟S34),并結(jié)束處理。
<總結(jié)>
在以上結(jié)構(gòu)的實(shí)施方式1的重寫檢測系統(tǒng)中,重寫檢測裝置5生成隨機(jī)種子并發(fā)送到ECU2,ECU2根據(jù)接收到的隨機(jī)種子和存儲部52的存儲內(nèi)容(程序或數(shù)據(jù)),使用預(yù)定的散列函數(shù)來計(jì)算散列值并發(fā)送到重寫檢測裝置5。此時(shí),ECU2自行確定存儲部22的存儲區(qū)域中的作為散列值計(jì)算的處理對象的存儲區(qū)域,并進(jìn)行散列值的計(jì)算。重寫檢測裝置5判定從ECU2接收到的散列值是否正確,判定是否進(jìn)行了針對程序或數(shù)據(jù)的非法重寫。即,重寫檢測裝置5能夠在散列值正確時(shí)判斷為未進(jìn)行非法重寫,在散列值不正確時(shí)判斷為進(jìn)行了非法重寫。
由此,重寫檢測裝置5檢測針對ECU2的程序或數(shù)據(jù)的非法重寫,能夠適當(dāng)?shù)剡M(jìn)行對進(jìn)行了非法重寫的ECU2的動(dòng)作停止、修理或更換等處理。關(guān)于第二次以后的處理,ECU2自行確定作為散列值計(jì)算的處理對象的存儲區(qū)域,從而重寫檢測裝置5不需要將指定存儲區(qū)域的信息向ECU2發(fā)送,能夠減少重寫檢測裝置5和ECU2之間的通信量。另外,ECU2通過隨機(jī)種子的接收,不用等待指定存儲區(qū)域的信息的接收就能夠開始散列值計(jì)算的處理,因此能夠縮短處理時(shí)間。
另外,ECU2的散列值計(jì)算部24將相對于作為上一次散列值計(jì)算的對象的存儲區(qū)域隔開了預(yù)定地址值α的存儲區(qū)域設(shè)為作為本次處理對象的存儲區(qū)域。重寫檢測裝置5也存儲相同的預(yù)定地址值α,特定ECU2將哪個(gè)存儲區(qū)域作為對象計(jì)算了散列值。由此,ECU2能夠容易且切實(shí)地確定應(yīng)作為散列值計(jì)算的處理對象的存儲區(qū)域。
另外,重寫檢測裝置5的重寫檢測例如是在車輛1的車檢時(shí)等定期地重復(fù)進(jìn)行。在首次進(jìn)行ECU2的重寫檢測時(shí),重寫檢測裝置5將指定應(yīng)作為散列值計(jì)算的處理對象的第一次的存儲區(qū)域的信息向ECU2發(fā)送。ECU2在從重寫檢測裝置5接收到指定存儲區(qū)域的信息時(shí),將被指定的存儲區(qū)域作為處理對象來進(jìn)行散列值的計(jì)算,在除此以外的情況下進(jìn)行基于預(yù)定地址值α的散列值的計(jì)算。由此,在首次計(jì)算散列值時(shí),ECU2能夠切實(shí)地確定作為處理對象的存儲區(qū)域,能夠切實(shí)地進(jìn)行散列值的計(jì)算。
另外,服務(wù)器裝置7根據(jù)來自重寫檢測裝置5的詢問而發(fā)送期望值,根據(jù)重寫檢測裝置5從服務(wù)器裝置7接收到的期望值與從ECU2接收到的散列值是否一致來進(jìn)行重寫的檢測。例如,在構(gòu)成為重寫檢測裝置5存儲有散列值的期望值時(shí),存在重寫檢測裝置5的期望值被非法重寫的可能性,但是通過構(gòu)成為從服務(wù)器裝置7獲取期望值而能夠防止這種期望值的非法重寫。
另外,重寫檢測裝置5是能夠經(jīng)由通信線纜6相對于車輛1的車內(nèi)網(wǎng)絡(luò)3的連接器4裝卸的結(jié)構(gòu)。將這種重寫檢測裝置5例如設(shè)置在車輛1的經(jīng)銷商或維修車間等,能夠在車輛1的車檢、定期檢查或修理等時(shí)進(jìn)行ECU2的程序或數(shù)據(jù)的非法重寫檢測。另外,例如在租車或拼車等的車輛1的情況下,能夠在車輛返還后通過重寫檢測裝置5進(jìn)行非法重寫檢測。
另外,在本實(shí)施方式中,雖然構(gòu)成為由重寫檢測裝置5將與作為第一次散列值計(jì)算的處理對象的存儲區(qū)域有關(guān)的信息發(fā)送到ECU2,但是并不限定于此。例如ECU2也可以構(gòu)成為,第一次散列值計(jì)算處理將存儲部22的預(yù)定區(qū)域(最前頭區(qū)域等)作為處理對象,重寫檢測裝置5不指定存儲區(qū)域。另外,雖然構(gòu)成為重寫檢測裝置5存儲用于確定存儲區(qū)域的預(yù)定地址值α和進(jìn)行了散列值計(jì)算處理的次數(shù)并根據(jù)這些信息來特定作為本次處理對象的存儲區(qū)域,但是并不限定于此。例如也可以構(gòu)成為,將與作為處理對象的存儲區(qū)域有關(guān)的信息與ECU2計(jì)算出的散列值一起發(fā)送到重寫檢測裝置5。
另外,雖然構(gòu)成為通過經(jīng)由通信線纜6的有線通信來進(jìn)行重寫檢測裝置5與車輛1之間的通信,但是并不限定于此,也可以構(gòu)成為進(jìn)行無線LAN等的無線通信。另外,雖然重寫檢測裝置5構(gòu)成為通過無線通信部56進(jìn)行與服務(wù)器裝置7的通信,但是并不限定于此,也可以構(gòu)成為通過有線通信進(jìn)行與服務(wù)器裝置7的通信。另外,雖然構(gòu)成為將重寫檢測裝置5連接到車輛1的車內(nèi)網(wǎng)絡(luò)3的連接器4,但是并不限定于此,也可以構(gòu)成為例如在搭載于車輛1中的網(wǎng)關(guān)等裝置連接重寫檢測裝置5,重寫檢測裝置5通過網(wǎng)關(guān)進(jìn)行與連接到車內(nèi)網(wǎng)絡(luò)3的ECU2的通信。
另外,雖然重寫檢測裝置5構(gòu)成為在從ECU2獲取了散列值之后從服務(wù)器裝置7獲取期望值,但是并不限定于此,也可以在獲取期望值之后獲取散列值,也可以并行地獲取散列值和期望值。另外,雖然重寫檢測裝置5構(gòu)成為針對搭載在車輛1上的多個(gè)ECU2逐個(gè)地按順序進(jìn)行非法重寫的檢測,但是并不限定于此。重寫檢測裝置5也可以例如將隨機(jī)種子通過廣播一起發(fā)送到多個(gè)ECU2,并從多個(gè)ECU2獲取散列值,同時(shí)進(jìn)行針對多個(gè)ECU2的重寫檢測處理。
另外,也可以構(gòu)成為,服務(wù)器裝置7不具備重寫檢測數(shù)據(jù)庫75而重寫檢測裝置5具備重寫檢測數(shù)據(jù)庫75。即,也可以構(gòu)成為,重寫檢測系統(tǒng)不具備服務(wù)器裝置7,由重寫檢測裝置5存儲或計(jì)算針對散列值的期望值。另外,在本實(shí)施方式中,雖然以進(jìn)行針對搭載于車輛1中的ECU2的程序或數(shù)據(jù)的重寫檢測的重寫檢測系統(tǒng)為例進(jìn)行了說明,但是并不限定于此,例如也可以構(gòu)成為,進(jìn)行針對搭載于飛機(jī)或船舶等其他移動(dòng)體中的信息處理裝置的程序或數(shù)據(jù)的重寫檢測。
另外,圖9所示的存儲區(qū)域?yàn)橐焕⒉幌薅ㄓ诖?。在圖示的例子中,雖然像“從X地址到Y(jié)地址以Z地址間隔”那樣將不連續(xù)的多個(gè)區(qū)域指定為第一次的存儲區(qū)域,但是也可以例如像“從X地址到Y(jié)地址”那樣采用指定一個(gè)連續(xù)區(qū)域的方法。另外,也可以例如像“從X1地址到Y(jié)1地址、從X2地址到Y(jié)2地址、…、從Xn地址到Y(jié)n地址”那樣采用指定多個(gè)最前頭位置和末尾位置來指定不連續(xù)的多個(gè)區(qū)域的方法。無論在任何情況下,ECU2都能夠?qū)Φ谝淮蔚拇鎯^(qū)域加上預(yù)定地址值α而得到的存儲區(qū)域確定為第二次的存儲區(qū)域。
另外,重寫檢測裝置5也可以進(jìn)行一次與這種ECU2的存儲部22的一部分對應(yīng)的散列值的獲取,并根據(jù)一個(gè)散列值進(jìn)行重寫檢測。但是,重寫檢測裝置5也可以通過多次進(jìn)行向ECU2的隨機(jī)種子的發(fā)送來獲取將存儲部22的多個(gè)存儲區(qū)域作為對象的多個(gè)散列值,并根據(jù)多個(gè)散列值進(jìn)行重寫檢測。通過以這種方式進(jìn)行多次散列值的獲取,重寫檢測裝置5能夠更高精度地進(jìn)行重寫檢測。即使在這種情況下,重寫檢測裝置5也無需在第一次以外的散列值獲取時(shí)發(fā)送指定存儲區(qū)域的信息。
另外,雖然構(gòu)成為由重寫檢測裝置5生成隨機(jī)種子,但是并不限定于此。例如也可以構(gòu)成為由服務(wù)器裝置7生成隨機(jī)種子。在該結(jié)構(gòu)的情況下,重寫檢測裝置5對服務(wù)器裝置7委托隨機(jī)種子和期望值的發(fā)送。根據(jù)該委托,服務(wù)器裝置7制作隨機(jī)種子,根據(jù)重寫檢測數(shù)據(jù)庫75獲取或計(jì)算對應(yīng)的期望值,將隨機(jī)種子和期望值向重寫檢測裝置5發(fā)送。重寫檢測裝置5將從服務(wù)器裝置7接收到的隨機(jī)種子向ECU2發(fā)送,并從ECU2接收根據(jù)該隨機(jī)種子計(jì)算出的散列值,將來自服務(wù)器裝置7的期望值與來自ECU2的散列值進(jìn)行比較來檢測非法重寫。另外,也可以構(gòu)成為服務(wù)器裝置7還生成指定第一次的存儲區(qū)域的信息。
另外,雖然構(gòu)成為將重寫檢測裝置5能夠相對于車輛1的車內(nèi)網(wǎng)絡(luò)3裝卸,但是并不限定于此。例如也可以在搭載于車輛1中的網(wǎng)關(guān)或汽車導(dǎo)航裝置等設(shè)備中設(shè)置進(jìn)行重寫檢測處理的功能。另外,也可以構(gòu)成為例如搭載于車輛1中的多個(gè)ECU2中的一個(gè)或多個(gè)具有進(jìn)行重寫檢測處理的功能。
(實(shí)施方式2)
在實(shí)施方式2的重寫檢測系統(tǒng)中,作為ECU2的散列值計(jì)算的處理對象的存儲區(qū)域的確定方法不同。圖13是用于說明實(shí)施方式2的ECU2的存儲區(qū)域確定方法的示意圖。實(shí)施方式2的ECU2將存儲部22的存儲區(qū)域分為前半部分和后半部分,交替地作為散列值計(jì)算的處理對象。例如,在首次從重寫檢測裝置5接收到隨機(jī)種子時(shí),ECU2將存儲部22的前半部分作為散列值計(jì)算的處理對象。在下一次從重寫檢測裝置5接收到隨機(jī)種子時(shí),ECU2將存儲部22的后半部分作為散列值計(jì)算的處理對象。這樣一來,ECU2在每次從重寫檢測裝置5接收隨機(jī)種子時(shí)都將散列值計(jì)算的處理對象在存儲部22的前半部分和后半部分之間切換。
另外,在實(shí)施方式2的重寫檢測系統(tǒng)中,也可以構(gòu)成為重寫檢測裝置5選擇前半部分或后半部分中的任一個(gè)來指定應(yīng)作為第一次散列值計(jì)算的處理對象的存儲區(qū)域,還可以是第一次預(yù)先確定為前半部分等,重寫檢測裝置5不進(jìn)行指定。無論是哪一種結(jié)構(gòu),重寫檢測裝置5都需要存儲散列值的計(jì)算為第幾次的信息。另外,服務(wù)器裝置7在存儲部72中存儲的重寫檢測數(shù)據(jù)庫75優(yōu)選為圖7所示的結(jié)構(gòu)。
以上結(jié)構(gòu)的實(shí)施方式2的重寫檢測系統(tǒng)構(gòu)成為ECU2將存儲部22的存儲區(qū)域分成兩部分并交替地作為散列值計(jì)算的處理對象,從而能夠容易且切實(shí)地進(jìn)行存儲區(qū)域的確定。另外,在本實(shí)施方式中,雖然構(gòu)成為將存儲部22的存儲區(qū)域分成兩部分,但是并不限定于此,也可以構(gòu)成為將存儲部22分為三部分以上,按順序?qū)⒎指疃玫降拇鎯^(qū)域作為處理對象。
另外,實(shí)施方式2的重寫檢測系統(tǒng)的其他結(jié)構(gòu)與實(shí)施方式1的重寫檢測系統(tǒng)的結(jié)構(gòu)相同,因此對于相同的部位標(biāo)上相同標(biāo)號并省略詳細(xì)的說明。
(實(shí)施方式3)
上述的實(shí)施方式1、2的重寫檢測系統(tǒng)具有如下結(jié)構(gòu):由重寫檢測裝置5指定第一次的存儲區(qū)域,由ECU2確定第二次以后的存儲區(qū)域。與此相對地,實(shí)施方式3的重寫檢測系統(tǒng)是由重寫檢測裝置5指定作為每次散列值計(jì)算的處理對象的存儲區(qū)域的結(jié)構(gòu)。圖14是用于說明實(shí)施方式3的重寫檢測系統(tǒng)的存儲區(qū)域確定方法的示意圖。另外,實(shí)施方式3的重寫檢測系統(tǒng)的第一次的存儲區(qū)域的確定方法與實(shí)施方式1的重寫檢測系統(tǒng)相同。即,實(shí)施方式3的重寫檢測裝置5在首次進(jìn)行針對ECU2的重寫檢測的處理時(shí)將指定作為處理對象的存儲區(qū)域的信息與隨機(jī)種子一起向ECU2發(fā)送。ECU2將由與隨機(jī)種子一起接收到的信息指定的存儲區(qū)域作為對象來計(jì)算散列值,將計(jì)算出的散列值向重寫檢測裝置5發(fā)送。
從ECU2接收到散列值的重寫檢測裝置5進(jìn)行針對服務(wù)器裝置7的詢問來獲取期望值,并判定ECU2的散列值與服務(wù)器裝置7的期望值是否一致,從而進(jìn)行ECU2的重寫檢測。實(shí)施方式3的重寫檢測裝置5在接收到來自ECU2的散列值之后,例如與期望值的獲取并行或前后地確定應(yīng)作為ECU2下一次散列值計(jì)算的處理對象的存儲區(qū)域,并將指定下一次的存儲區(qū)域的信息向ECU2發(fā)送。從重寫檢測裝置5接收到下一次的存儲區(qū)域指定信息的ECU2對接收到的信息進(jìn)行存儲。另外,ECU2可以將下一次的存儲區(qū)域指定信息存儲到圖2中未圖示的存儲器等中。另外,ECU2也可以構(gòu)成為將下一次的存儲區(qū)域指定信息存儲到存儲部22,但是此時(shí)需要將存儲下一次的存儲區(qū)域指定信息的存儲區(qū)域排除在重寫檢測處理的對象之外。
在第二次以后的重寫檢測處理中,實(shí)施方式3的重寫檢測裝置5生成隨機(jī)種子并向ECU2發(fā)送,此時(shí)不發(fā)送指定存儲區(qū)域的信息。接收到來自重寫檢測裝置5的隨機(jī)種子的ECU2讀取在上一次處理中存儲的存儲區(qū)域指定信息,將由所讀取的信息指定的存儲區(qū)域作為散列值計(jì)算的處理對象。ECU2將計(jì)算出的散列值發(fā)送到重寫檢測裝置5,之后接收并存儲從重寫檢測裝置5發(fā)送的下一次的存儲區(qū)域指定信息。另外,重寫檢測裝置5也存儲向ECU2發(fā)送的下一次的存儲區(qū)域指定信息,在下一次檢測處理中在向服務(wù)器裝置7的詢問中使用。
圖15是示出實(shí)施方式3的重寫檢測裝置5所進(jìn)行的重寫檢測處理的步驟的流程圖。另外,在本流程圖中,省略關(guān)于第一次檢測處理的步驟。實(shí)施方式3的重寫檢測裝置5的處理部51生成隨機(jī)種子(步驟S51),將所生成的隨機(jī)種子向作為對象的ECU2發(fā)送(步驟S52)。另外,處理部51讀取在上一次重寫檢測處理中存儲的存儲區(qū)域指定信息(步驟S53),根據(jù)讀取出的信息來特定作為本次散列值計(jì)算的處理對象的ECU2的存儲部22的存儲區(qū)域(步驟S54)。
處理部51判定有線通信部55是否接收到從作為處理對象的ECU2發(fā)送的散列值(步驟S55),在未接收時(shí)(S55:否),待機(jī)直到接收到散列值為止。在接收到散列值時(shí)(S55:是),處理部51向服務(wù)器裝置7詢問針對接收到的散列值的期望值(步驟S56)。處理部51判定是否接受到針對詢問從服務(wù)器裝置7發(fā)送的期望值(步驟S57),在未接收到期望值時(shí)(S57:否),待機(jī)直到接收到期望值為止。
在從服務(wù)器裝置7接收到期望值時(shí)(S57:是),處理部51判定在步驟S55中接收到的散列值與在步驟S57中接收到的期望值是否一致(步驟S58)。在散列值和期望值一致時(shí)(S58:是),處理部51判定為未進(jìn)行非法重寫(步驟S59),并使處理推進(jìn)到步驟S61。在散列值和期望值不一致時(shí)(S58:否),處理部51判定為進(jìn)行了非法重寫(步驟S60),并使處理推進(jìn)到步驟S61。
接著,處理部51生成指定在下一次重寫檢測處理中應(yīng)作為散列值計(jì)算的處理對象的ECU2的存儲部22的存儲區(qū)域的信息,將所生成的下一次的存儲區(qū)域指定信息向ECU2發(fā)送(步驟S61)。另外,處理部51將所生成的下一次的存儲區(qū)域指定信息存儲到存儲部52(步驟S62),并結(jié)束寫入檢測處理。
圖16是示出實(shí)施方式3的ECU2所進(jìn)行的重寫檢測處理的步驟的流程圖。實(shí)施方式3的ECU2的處理部21判定通信部23是否接收到重寫檢測裝置5發(fā)送的隨機(jī)種子(步驟S71),在未接收到隨機(jī)種子時(shí)(S71:否),待機(jī)直到接收到隨機(jī)種子為止。在接收到隨機(jī)種子時(shí)(S71:是),處理部21的散列值計(jì)算部24根據(jù)是否存儲有在上一次重寫檢測處理中從重寫檢測裝置5接收到的下一次的存儲區(qū)域指定信息,判定散列值計(jì)算處理是否為第一次(步驟S72)。在是第一次的處理時(shí)(S72:是),散列值計(jì)算部24獲取與隨機(jī)種子一起從重寫檢測裝置5發(fā)送的存儲區(qū)域的指定信息(步驟S73),使處理推進(jìn)到步驟S75。在不是第一次的處理時(shí)(S72:否),散列值計(jì)算部24讀取所存儲的存儲區(qū)域指定信息(步驟S74),使處理推進(jìn)到步驟S75。
處理部21的散列值計(jì)算部24根據(jù)從重寫檢測裝置5接收到的隨機(jī)種子以及由在步驟S73中獲取的信息或在步驟S74中讀取的信息指定的存儲區(qū)域的存儲內(nèi)容,利用預(yù)定的散列函數(shù)來進(jìn)行散列值的計(jì)算(步驟S75)。處理部21將散列值計(jì)算部24計(jì)算出的散列值通過通信部23向重寫檢測裝置5發(fā)送(步驟S76)。
接著,處理部21判定是否接收到從接收了散列值的重寫檢測裝置5發(fā)送的下一次的存儲區(qū)域指定信息(步驟S77)。在未接收到下一次的存儲區(qū)域指定信息時(shí)(S77:否),處理部21待機(jī)直到接收該信息為止。在接收到下一次的存儲區(qū)域指定信息時(shí)(S77:是),處理部21存儲所接收到的下一次的存儲區(qū)域指定信息(步驟S78),并結(jié)束處理。
以上結(jié)構(gòu)的實(shí)施方式3的重寫檢測系統(tǒng)在重寫檢測裝置5從ECU2接收到散列值之后,將指定應(yīng)作為下一次散列值計(jì)算的處理對象的存儲區(qū)域的信息向ECU2發(fā)送。ECU2接收并存儲來自重寫檢測裝置5的存儲區(qū)域指定信息,將由在進(jìn)行下一次散列值計(jì)算時(shí)存儲的存儲區(qū)域指定信息指定的存儲區(qū)域作為處理對象來進(jìn)行計(jì)算。在該結(jié)構(gòu)中,雖然需要每次都從重寫檢測裝置5向ECU2發(fā)送指定存儲區(qū)域的信息,但是下一次的存儲區(qū)域指定信息的發(fā)送能夠在從來自ECU2的散列值的接收后到進(jìn)行下一次檢測處理為止的任意的時(shí)刻進(jìn)行。由此,例如能夠選擇網(wǎng)絡(luò)負(fù)載少的情況等來進(jìn)行存儲區(qū)域指定信息的發(fā)送。另外,ECU2在從重寫檢測裝置5接收到隨機(jī)種子時(shí),不用等待指定存儲區(qū)域的信息的接收就能夠根據(jù)所存儲的存儲區(qū)域指定信息來確定作為處理對象的存儲區(qū)域并計(jì)算散列值,因此能夠縮短處理時(shí)間。
另外,在本實(shí)施方式中構(gòu)成為,在圖15的流程圖中,在進(jìn)行了與散列值和期望值的一致/不一致相應(yīng)的重寫檢測之后,從重寫檢測裝置5向ECU2發(fā)送下一次的存儲區(qū)域指定信息,但是信息發(fā)送的時(shí)刻并不限定于此。重寫檢測裝置5的下一次的存儲區(qū)域指定信息的發(fā)送可以在從ECU2接收到本次的散列值之后到下一次重寫檢測處理開始為止的任意時(shí)刻進(jìn)行。
另外,實(shí)施方式3的重寫檢測系統(tǒng)的其他結(jié)構(gòu)與實(shí)施方式1的重寫檢測系統(tǒng)的結(jié)構(gòu)相同,因此對于相同的部位標(biāo)上相同的標(biāo)號并省略詳細(xì)的說明。
標(biāo)號說明
1 車輛
2 ECU(信息處理裝置)
3 車內(nèi)網(wǎng)絡(luò)(網(wǎng)絡(luò))
4 連接器
5 重寫檢測裝置
6 通信線纜
7 服務(wù)器裝置
9 網(wǎng)絡(luò)
21 處理部(存儲區(qū)域確定單元、散列值計(jì)算單元、存儲區(qū)域指定信息存儲單元)
22 存儲部
23 通信部
24 散列值計(jì)算部(散列值計(jì)算單元)
51 處理部(種子信息發(fā)送單元、散列值接收單元、散列值判定單元、信息發(fā)送單元)
52 存儲部
53 操作部
54 顯示部
55 有線通信部
56 無線通信部
71 處理部
72 存儲部
73 通信部
75 重寫檢測數(shù)據(jù)庫。