本發(fā)明涉及例如ECU(Electronic Control Unit:電子控制單元)等多個(gè)通信裝置通過共用通信線連接的通信系統(tǒng)、防止在該系統(tǒng)中發(fā)生不正當(dāng)?shù)男畔l(fā)送的通信控制裝置及防止不正當(dāng)信息發(fā)送方法。
背景技術(shù):
以往,在搭載于車輛的多個(gè)通信裝置間的通信中廣泛采用CAN(Controller Area Network:控制器局域網(wǎng))的通信協(xié)議。在CAN的通信協(xié)議中,在共用的CAN總線連接有多個(gè)通信裝置,因此在多個(gè)通信裝置同時(shí)進(jìn)行信息發(fā)送而產(chǎn)生了沖突時(shí),在各通信裝置中進(jìn)行仲裁處理(仲裁),執(zhí)行優(yōu)先級高的信息發(fā)送。為了進(jìn)行仲裁,各通信裝置在向CAN總線進(jìn)行發(fā)送信號的輸出的同時(shí),進(jìn)行CAN總線的信號電平的檢測,在所檢測到的信號的信號電平相對于自身輸出的發(fā)送信號而從隱性(隱性值)變化到顯性(顯性值)的情況下,判斷為發(fā)生通信的沖突,停止發(fā)送處理。對于CAN總線上的信號,顯性比隱性優(yōu)先,因此即使發(fā)生通信的沖突,輸出顯性的電子設(shè)備也能夠繼續(xù)進(jìn)行發(fā)送處理。
在專利文獻(xiàn)1中,提出了對分支連接的雙線制CAN通信電路的每個(gè)分支電路進(jìn)行異常診斷的異常診斷裝置。該異常診斷裝置具備:檢查用的分支電路,與CAN通信線的各分支電路進(jìn)行連接器連接;分支連接電路,具有連接該分支電路的接口電路;分離單元,將各分支電路從接口電路斷開;電位測定單元,對由所述分離單元斷開的分支電路的電位進(jìn)行測定;連接單元,將所述電位測定單元與所述分支電路連接;以及異常判定單元,與所述電位測定單元連接,通過所測定的電位進(jìn)行異常判定。
現(xiàn)有技術(shù)文獻(xiàn)
專利文獻(xiàn)
專利文獻(xiàn)1:日本特開2010-111295號公報(bào)
技術(shù)實(shí)現(xiàn)要素:
發(fā)明要解決的課題
在車輛的CAN總線上有可能會連接有存在惡意的設(shè)備。存在惡意的設(shè)備例如對CAN總線重復(fù)進(jìn)行不正當(dāng)?shù)男畔l(fā)送,由此,存在使與該CAN總線連接的其他ECU誤操作的可能性。
本發(fā)明是鑒于上述情況而完成的,其目的在于,提供一種通信系統(tǒng)、通信控制裝置及防止不正當(dāng)信息發(fā)送方法,即使在對共用的通信線進(jìn)行了不正當(dāng)?shù)男畔l(fā)送的情況下,也能夠防止與該通信線連接的通信裝置的誤操作等。
用于解決課題的技術(shù)方案
本發(fā)明的通信系統(tǒng),多個(gè)通信裝置通過共用的通信線連接,所述通信系統(tǒng)的特征在于,所述通信裝置具有:認(rèn)證信息附加單元,對向其他通信裝置發(fā)送的信息附加認(rèn)證信息;以及信息發(fā)送單元,將由該認(rèn)證信息附加單元附加了所述認(rèn)證信息的發(fā)送信息向所述通信線輸出,并將該發(fā)送信息向其他通信裝置發(fā)送,所述通信系統(tǒng)具備與所述通信線連接的通信控制裝置,該通信控制裝置具備:取得單元,取得被輸出到所述通信線的發(fā)送信息;認(rèn)證信息判定單元,判定在該取得單元所取得的發(fā)送信息中包含的認(rèn)證信息是否正當(dāng);以及信息廢棄單元,在所述認(rèn)證信息判定單元判定為所述認(rèn)證信息不正當(dāng)?shù)那闆r下,使所述通信裝置廢棄所述發(fā)送信息,所述通信控制裝置的所述信息廢棄單元在所述認(rèn)證信息判定單元判定為所述認(rèn)證信息不正當(dāng)?shù)那闆r下向所述通信線輸出預(yù)定信息,所述其他通信裝置在由所述通信線接收到所述預(yù)定信息的情況下廢棄從所述通信裝置發(fā)送來的所述發(fā)送信息。
另外,在本發(fā)明的通信系統(tǒng)中,其特征在于,在所述通信裝置的信息發(fā)送單元將發(fā)送信息的全部向所述通信線輸出完成之前,所述通信控制裝置的信息廢棄單元通過向所述通信線輸出所述預(yù)定信息,來廢棄所述發(fā)送信息。
另外,在本發(fā)明的通信系統(tǒng)中,其特征在于,所述通信裝置和所述通信控制裝置共享密鑰信息,所述通信裝置的認(rèn)證信息附加單元根據(jù)所述密鑰信息而生成認(rèn)證信息并附加到發(fā)送信息,所述通信控制裝置的所述認(rèn)證信息判定單元根據(jù)所述密鑰信息而進(jìn)行在所述發(fā)送信息中包含的所述認(rèn)證信息的判定。
另外,在本發(fā)明的通信系統(tǒng)中,其特征在于,所述多個(gè)通信裝置具有彼此不同的所述密鑰信息,所述通信控制裝置具有各通信裝置的所述密鑰信息。
另外,本發(fā)明的通信控制裝置,其特征在于,所述通信控制裝置與連接有多個(gè)通信裝置的共用的通信線連接,所述通信控制裝置具備:取得單元,取得被輸出到所述通信線的發(fā)送信息;認(rèn)證信息判定單元,判定在該取得單元所取得的發(fā)送信息中包含的認(rèn)證信息是否正當(dāng);以及信息廢棄單元,在所述認(rèn)證信息判定單元判定為所述認(rèn)證信息不正當(dāng)?shù)那闆r下,使所述通信裝置廢棄所述發(fā)送信息,所述信息廢棄單元在所述認(rèn)證信息判定單元判定為所述認(rèn)證信息不正當(dāng)?shù)那闆r下向所述通信線輸出預(yù)定信息。
另外,本發(fā)明的防止不正當(dāng)信息發(fā)送方法,在多個(gè)通信裝置通過共用的通信線連接的通信系統(tǒng)中防止對所述通信線進(jìn)行不正當(dāng)?shù)男畔l(fā)送,所述防止不正當(dāng)信息發(fā)送方法的特征在于,所述通信裝置對向其他通信裝置發(fā)送的信息附加認(rèn)證信息向所述通信線輸出,通信控制裝置取得被輸出到所述通信線的發(fā)送信息,所述通信控制裝置判定在所取得的發(fā)送信息中包含的認(rèn)證信息是否正當(dāng),在判定為所述認(rèn)證信息不正當(dāng)?shù)那闆r下,所述通信控制裝置向所述通信線輸出預(yù)定信息,所述其他通信裝置在由所述通信線接收到所述預(yù)定信息的情況下廢棄從所述通信裝置發(fā)送來的所述發(fā)送信息。
在本發(fā)明中,對共用的通信線連接多個(gè)通信裝置和通信控制裝置。各通信裝置對發(fā)送信息附加認(rèn)證信息并向通信線輸出,從而進(jìn)行向其他通信裝置的信息發(fā)送。另外,在本發(fā)明中,接收到來自其他通信裝置的信息的通信裝置不需要判定在接收信息中包含的認(rèn)證信息是否正當(dāng)。
通信控制裝置監(jiān)視針對通信線的信息的發(fā)送,在進(jìn)行了信息的發(fā)送時(shí)取得發(fā)送信息,判定在所取得的信息中包含的認(rèn)證信息是否正當(dāng)。如果認(rèn)證信息正當(dāng),則通信控制裝置無需對該信息發(fā)送進(jìn)行任何處理。在認(rèn)證信息不正當(dāng)時(shí),發(fā)送信息有可能是由存在惡意的設(shè)備發(fā)送的不正當(dāng)?shù)男畔ⅲ虼送ㄐ趴刂蒲b置進(jìn)行使通信裝置廢棄的處理。
由此,能夠在各通信裝置中不判定認(rèn)證信息的是否正當(dāng)?shù)那闆r下防止不正當(dāng)?shù)男畔⒈桓魍ㄐ叛b置接收。
另外,在本發(fā)明中,廢棄發(fā)送信息,因此在通信裝置將全部的發(fā)送信息向通信線輸出完成之前,通信控制裝置向通信線輸出預(yù)定信息。由此,發(fā)送信息不正確,各通信裝置中止該信息的接收,因此發(fā)送信息被廢棄。
另外,在本發(fā)明中,通信裝置和通信控制裝置共享密鑰信息,進(jìn)行認(rèn)證信息的生成和判定等的處理。由此,不具有密鑰信息的存在惡意的設(shè)備無法生成認(rèn)證信息,因此通信控制裝置能夠更切實(shí)地防止不正當(dāng)?shù)男畔l(fā)送。
另外,在本發(fā)明中,通信系統(tǒng)所包含的多個(gè)通信裝置具有彼此不同的密鑰信息。由此,能夠減少由密鑰信息的泄漏等引起的不良影響。各通信裝置不需要判定在其他通信裝置的發(fā)送信息中包含的認(rèn)證信息,因此不需要具有其他通信裝置的密鑰信息。相對于此,通信控制裝置具有應(yīng)成為進(jìn)行發(fā)送信息的廢棄的對象的所有的通信裝置的密鑰信息。通信控制裝置使用與信息的發(fā)送源的通信裝置對應(yīng)的密鑰信息來判定在發(fā)送信息中包含的認(rèn)證信息是否正當(dāng)。
發(fā)明效果
在本發(fā)明的情況下,構(gòu)成為通信控制裝置根據(jù)由通信裝置附加到發(fā)送信息的認(rèn)證信息來判定發(fā)送信息是否正當(dāng),在發(fā)送信息不正當(dāng)時(shí),通信控制裝置使通信裝置廢棄該信息,從而即使在由存在惡意的設(shè)備對共用的通信線發(fā)送了不正當(dāng)?shù)男畔⒌那闆r下,也能夠通過廢棄所發(fā)送的信息來防止通信裝置誤操作。
附圖說明
圖1是示出本實(shí)施方式的通信系統(tǒng)的結(jié)構(gòu)的示意圖。
圖2是示出ECU的結(jié)構(gòu)的框圖。
圖3是示出監(jiān)視裝置的結(jié)構(gòu)的框圖。
圖4是說明密鑰信息表的結(jié)構(gòu)的示意圖。
圖5是用于說明本實(shí)施方式的通信系統(tǒng)的監(jiān)視處理的概要的示意圖。
圖6是用于說明各ECU的發(fā)送幀的生成方法的示意圖。
圖7是示出ECU所進(jìn)行的信息發(fā)送處理的步驟的流程圖。
圖8是示出監(jiān)視裝置所進(jìn)行的監(jiān)視處理的步驟的流程圖。
圖9是示出監(jiān)視裝置所進(jìn)行的監(jiān)視處理的步驟的流程圖。
圖10是示出ECU所進(jìn)行的信息接收處理的步驟的流程圖。
具體實(shí)施方式
<系統(tǒng)結(jié)構(gòu)>
圖1是示出本實(shí)施方式的通信系統(tǒng)的結(jié)構(gòu)的示意圖。本實(shí)施方式的通信系統(tǒng)具備搭載在車輛1中的多個(gè)ECU3和一個(gè)監(jiān)視裝置5而構(gòu)成。ECU3和監(jiān)視裝置5通過鋪設(shè)在車輛1中的共用的通信線而連接,能夠彼此收發(fā)數(shù)據(jù)。在本實(shí)施方式中,該通信線為CAN總線,ECU3和監(jiān)視裝置5進(jìn)行依照CAN協(xié)議的通信。ECU3例如可以是如進(jìn)行車輛1的發(fā)動機(jī)的控制的發(fā)動機(jī)ECU、進(jìn)行車身的電氣安裝件的控制的車身ECU、進(jìn)行與ABS(Antilock Brake System:防抱死制動系統(tǒng))有關(guān)的控制的ABS-ECU或進(jìn)行車輛1的安全氣囊的控制的安全氣囊ECU等這樣的各種電子控制裝置。監(jiān)視裝置5是監(jiān)視針對車內(nèi)網(wǎng)絡(luò)的不正當(dāng)?shù)臄?shù)據(jù)發(fā)送的裝置。監(jiān)視裝置5可以設(shè)置為監(jiān)視專用的裝置,也可以是例如在網(wǎng)關(guān)等裝置附加了監(jiān)視功能的結(jié)構(gòu),或者也可以是例如在任一個(gè)ECU3附加了監(jiān)視功能的結(jié)構(gòu)。
圖2是示出ECU3的結(jié)構(gòu)的框圖。另外,在圖2中,關(guān)于設(shè)置在車輛1的ECU3,提取與通信和不正當(dāng)監(jiān)視等有關(guān)的塊而進(jìn)行了圖示。這些塊在各ECU3中都是相同的。本實(shí)施方式的ECU3具備處理部31、存儲部32以及CAN通信部33等而構(gòu)成。處理部31使用CPU(Central Processing Unit:中央處理單元)或MPU(Micro-Processing Unit:微處理單元)等計(jì)算處理裝置而構(gòu)成。處理部31讀取在存儲部32等中存儲的程序并執(zhí)行,從而進(jìn)行車輛1的各種信息處理或控制處理等。
存儲部32使用閃存或EEPROM(Electrically Erasable Programmable ROM:電可擦除可編程只讀存儲器)等非易失性的存儲元件而構(gòu)成。存儲部32存儲有處理部31所執(zhí)行的程序以及在由此進(jìn)行的處理中所需的各種數(shù)據(jù)。另外,存儲在存儲部32中的程序和數(shù)據(jù)對于每個(gè)ECU3都不同。另外,在本實(shí)施方式中,存儲部32存儲有在處理部31所進(jìn)行的認(rèn)證信息的生成處理中使用的密鑰信息32a。在本實(shí)施方式中,在CAN總線連接有多個(gè)ECU3,而各ECU3存儲在存儲部32中的密鑰信息32a也可以各自不同。
CAN通信部33依照CAN的通信協(xié)議,通過CAN總線與其他ECU3或監(jiān)視裝置5進(jìn)行通信。CAN通信部33將從處理部31提供的發(fā)送用的信息轉(zhuǎn)換為依照CAN的通信協(xié)議的發(fā)送信號,并將所轉(zhuǎn)換的信號輸出到CAN總線,從而進(jìn)行向其他ECU3或監(jiān)視裝置5的信息發(fā)送。CAN通信部33對CAN總線的電位進(jìn)行采樣,從而取得其他ECU3或監(jiān)視裝置5所輸出的信號,通過將該信號依照CAN的通信協(xié)議轉(zhuǎn)換為二進(jìn)制信息來進(jìn)行信息的接收,并將接收到的信息提供給處理部31。
在本實(shí)施方式中,在ECU3的處理部31設(shè)置有認(rèn)證信息生成部41和發(fā)送幀生成部42等。認(rèn)證信息生成部41和發(fā)送幀生成部42可以構(gòu)成為硬件的功能塊,也可以構(gòu)成為軟件的功能塊。認(rèn)證信息生成部41使用應(yīng)該向其他ECU3發(fā)送的信息和存儲部32的密鑰信息32a而進(jìn)行生成認(rèn)證信息的處理。發(fā)送幀生成部42根據(jù)應(yīng)該向其他ECU3發(fā)送的信息和認(rèn)證信息生成部41所生成的認(rèn)證信息,進(jìn)行生成適用于本實(shí)施方式中的通信的發(fā)送用的幀(消息)的處理。通過將發(fā)送幀生成部42所生成的發(fā)送幀提供給CAN通信部33,從而能夠進(jìn)行向其他ECU3的信息發(fā)送。
圖3是示出監(jiān)視裝置5的結(jié)構(gòu)的框圖。監(jiān)視裝置5具備處理部51、存儲部52以及CAN通信部53等而構(gòu)成。處理部51使用CPU或MPU等運(yùn)算處理裝置構(gòu)成,通過讀取在存儲部52中存儲的程序并執(zhí)行,從而進(jìn)行監(jiān)視車輛1的ECU3的動作和通信等的處理。
存儲部52使用閃存或EEPROM等能夠重寫數(shù)據(jù)的非易失性存儲元件而構(gòu)成。在本實(shí)施方式中,存儲部52存儲有包含與CAN總線連接的所有的ECU3的密鑰信息的密鑰信息表52a。圖4是說明密鑰信息表52a的結(jié)構(gòu)的示意圖。在監(jiān)視裝置5存儲在存儲部52中的密鑰信息表52a中,將能夠識別各ECU3的ID與ECU3所具有的密鑰信息建立對應(yīng)。在本實(shí)施方式中,各ECU3所發(fā)送的發(fā)送幀包含ID。對各ECU3預(yù)先分別分配一個(gè)或多個(gè)ID,而不會對兩個(gè)以上的ECU3分配相同的ID。監(jiān)視裝置5能夠根據(jù)在ECU3的發(fā)送幀中包含的ID而從密鑰信息表52a取得一個(gè)密鑰信息。
CAN通信部53依照CAN的通信協(xié)議,通過CAN總線與ECU3進(jìn)行通信。CAN通信部53將從處理部51提供的發(fā)送用的信息轉(zhuǎn)換為依照CAN的通信協(xié)議的發(fā)送信號,并通過將所轉(zhuǎn)換的信號輸出到CAN總線來進(jìn)行向ECU3的信息發(fā)送。CAN通信部53通過對CAN總線的電位進(jìn)行采樣,取得ECU3所輸出的信號,并通過將該信號依照CAN的通信協(xié)議轉(zhuǎn)換為二進(jìn)制的信息來進(jìn)行信息的接收,并將接收到的信息提供給處理部51。
在本實(shí)施方式中,在監(jiān)視裝置5的處理部51設(shè)置有認(rèn)證信息判定部61和發(fā)送信息廢棄處理部62等。認(rèn)證信息判定部61和發(fā)送信息廢棄處理部62可以構(gòu)成為硬件的功能塊,也可以構(gòu)成為軟件的功能塊。認(rèn)證信息判定部61進(jìn)行判定在ECU3所發(fā)送的發(fā)送幀中包含的認(rèn)證信息是否正當(dāng)?shù)奶幚?。在檢測到不正當(dāng)?shù)陌l(fā)送幀時(shí),發(fā)送信息廢棄處理部62進(jìn)行用于使各ECU3廢棄該發(fā)送幀的處理。
<監(jiān)視處理>
本實(shí)施方式的通信系統(tǒng)具有監(jiān)視針對CAN總線的不正當(dāng)?shù)男畔l(fā)送的功能。圖5是用于說明本實(shí)施方式的通信系統(tǒng)的監(jiān)視處理的概要的示意圖。存在如下的可能性:存在惡意的設(shè)備100(在圖5中以虛線表示)不正當(dāng)?shù)剡B接到車輛1的CAN總線。存在惡意的設(shè)備100例如對CAN總線發(fā)送不正當(dāng)?shù)南?。在不正?dāng)?shù)南⒅欣缬锌赡馨拐_的ECU3發(fā)生誤操作的控制指示或傳感器檢測結(jié)果等。本實(shí)施方式的監(jiān)視裝置5監(jiān)視針對CAN總線的消息發(fā)送。在消息被發(fā)送到CAN總線時(shí),監(jiān)視裝置5判定該消息是否為正確的ECU3所發(fā)送的消息。在判定為消息不正當(dāng)時(shí),監(jiān)視裝置5在由存在惡意的設(shè)備100進(jìn)行的消息發(fā)送完成之前(ECU3的消息接收完成之前),對CAN總線輸出預(yù)定的信號,從而使ECU3廢棄該消息。
圖6是用于說明各ECU3的發(fā)送幀的生成方法的示意圖。在由本實(shí)施方式的通信系統(tǒng)收發(fā)的幀(消息)中包含CAN頭、數(shù)據(jù)字段、認(rèn)證信息、CRC(Cyclic Redundancy Check:循環(huán)冗余校驗(yàn))字段、ACK字段以及EOF(End Of Frame:幀尾)而構(gòu)成。CAN頭包含以往的CAN協(xié)議中的SOF(Start Of Frame:起始幀)、仲裁字段以及控制字段等,包含能夠識別上述的ECU3的ID。數(shù)據(jù)字段例如含有如針對ECU3的控制指示或傳感器檢測結(jié)果等這樣的應(yīng)在ECU3間收發(fā)的信息的主體。
CRC字段、ACK字段以及EOF與在以往的CAN協(xié)議中使用的相同,因此省略詳細(xì)的說明。CRC字段含有用于進(jìn)行錯(cuò)誤檢測的信息。ACK字段是供接收該幀的ECU3進(jìn)行接收響應(yīng)的字段。EOF是表示字段的結(jié)束的特定的位串。
在本實(shí)施方式的幀中,雖然與以往的CAN協(xié)議進(jìn)行互換,但是在一部分中包含有認(rèn)證信息。認(rèn)證信息是監(jiān)視裝置5為了判定該幀是否正當(dāng)而使用的信息。ECU3的認(rèn)證信息生成部41通過使用在存儲部32中存儲的密鑰信息32a對在發(fā)送幀中包含的CAN頭和數(shù)據(jù)進(jìn)行加密來生成認(rèn)證信息。在本實(shí)施方式中,例如使用HMAC(SHA-256)算法,根據(jù)512位左右的密鑰信息32a來生成256位的消息認(rèn)證符號(MAC)。ECU3的發(fā)送幀生成部42將認(rèn)證信息生成部41生成的256位的MAC作為認(rèn)證信息附加到發(fā)送幀,通過向CAN通信部33提供發(fā)送幀,向其他ECU3進(jìn)行幀的發(fā)送。
另外,在本實(shí)施方式中,接收到圖6所示的幀的ECU3不需要確認(rèn)在接收幀中包含的認(rèn)證信息是否正當(dāng)。因此,各ECU3不與其他ECU3共享密鑰信息。
ECU3的CAN通信部33將構(gòu)成發(fā)送幀的多個(gè)位的信息從CAN頭側(cè)到EOF依次向CAN總線輸出。監(jiān)視裝置5在依次取得向CAN總線輸出的信息直到取得了發(fā)送幀的CRC字段時(shí),進(jìn)行基于CRC字段的信息的錯(cuò)誤檢測。在發(fā)送幀中沒有錯(cuò)誤的情況下,監(jiān)視裝置5的認(rèn)證信息判定部61判定在發(fā)送幀中包含的認(rèn)證信息是否正當(dāng)。認(rèn)證信息判定部61從接收完成的CAN頭取得ID,并參照存儲部52的密鑰信息表52a而取得與ID對應(yīng)的密鑰信息。認(rèn)證信息判定部61根據(jù)所取得的密鑰信息和接收完成的CAN頭及數(shù)據(jù)字段,通過與ECU3的認(rèn)證信息生成部41相同的算法來生成認(rèn)證信息。認(rèn)證信息判定部61對自身生成的認(rèn)證信息與在發(fā)送到CAN總線的發(fā)送幀中包含的認(rèn)證信息進(jìn)行比較,在兩認(rèn)證信息一致時(shí)判定為該發(fā)送幀正當(dāng)。在兩認(rèn)證信息不一致時(shí),認(rèn)證信息判定部61判定為發(fā)送幀不正當(dāng)。另外,認(rèn)證信息判定部61在從發(fā)送幀的CRC字段的最終位輸出到CAN總線開始到EOF的最終位輸出到CAN總線為止的期間完成判定處理。
在認(rèn)證信息判定部61判定為輸出到CAN總線的發(fā)送幀不正當(dāng)時(shí),監(jiān)視裝置5的發(fā)送信息廢棄處理部62進(jìn)行用于使與CAN總線連接的ECU3廢棄該發(fā)送幀的處理。發(fā)送信息廢棄處理部62在該發(fā)送幀的EOF的輸出期間內(nèi)對CAN總線發(fā)送錯(cuò)誤幀。根據(jù)該錯(cuò)誤幀,與CAN總線連接的所有的ECU3廢棄接收中的不正當(dāng)?shù)膸?/p>
<流程圖>
以下,使用流程圖對本實(shí)施方式的通信系統(tǒng)的ECU3和監(jiān)視裝置5所進(jìn)行的處理進(jìn)行說明。圖7是示出ECU3所進(jìn)行的信息發(fā)送處理的步驟的流程圖。ECU3的處理部31根據(jù)提供給自身的ID和傳感器的檢測結(jié)果等應(yīng)向其他ECU3發(fā)送的信息等,生成CAN頭和數(shù)據(jù)字段(步驟S1)。處理部31的認(rèn)證信息生成部41讀取在存儲部32中存儲的密鑰信息32a(步驟S2)。認(rèn)證信息生成部41根據(jù)在步驟S1中生成的CAN頭和數(shù)據(jù)字段以及在步驟S2中讀取的密鑰信息32a,通過預(yù)定的算法來生成認(rèn)證信息(步驟S3)。處理部31生成用于進(jìn)行針對CAN頭、數(shù)據(jù)字段以及認(rèn)證信息的錯(cuò)誤檢測的CRC字段(步驟S4)。處理部31結(jié)合到此為止生成的CAN頭、數(shù)據(jù)字段、認(rèn)證信息以及CRC字段而生成發(fā)送幀(步驟S5),并提供給CAN通信部33。
ECU3的CAN通信部33從發(fā)送幀的CAN頭開始發(fā)送。CAN通信部33從發(fā)送幀的未發(fā)送部分取得1位,將與該1位對應(yīng)的信號輸出到CAN總線(步驟S6)。CAN通信部33判定是否產(chǎn)生了例如由仲裁引起的發(fā)送停止等中斷發(fā)送處理的因素(步驟S7)。在產(chǎn)生了中斷因素時(shí)(S7:是),CAN通信部33進(jìn)行錯(cuò)誤處理等(步驟S8),結(jié)束信息發(fā)送處理。在未產(chǎn)生中斷因素時(shí)(S7:否),CAN通信部33判定是否對所提供的發(fā)送幀的所有位完成了輸出(步驟S9)。在未完成所有位的輸出時(shí)(S9:否),CAN通信部33使處理回到步驟S6,進(jìn)行發(fā)送幀的下一位的輸出。在完成所有位的輸出時(shí)(S9:是),CAN通信部33結(jié)束信息發(fā)送處理。
圖8和圖9是示出監(jiān)視裝置5所進(jìn)行的監(jiān)視處理的步驟的流程圖。監(jiān)視裝置5的CAN通信部53周期性地對CAN總線的電位進(jìn)行采樣。CAN通信部53根據(jù)CAN總線的電位變化,判定針對CAN總線的信息發(fā)送是否開始(步驟S21)。在信息發(fā)送未開始時(shí)(S21:否),CAN通信部53待機(jī)直到信息發(fā)送開始為止。在開始了信息發(fā)送時(shí)(S21:是),CAN通信部53根據(jù)CAN總線的電位而取得發(fā)送幀的1位(步驟S22)。CAN通信部53判定所取得的1位是否相當(dāng)于CRC字段的最終位(步驟S23)。在不是CRC字段的最終位時(shí)(S23:否),CAN通信部53使處理回到步驟S22,重復(fù)取得發(fā)送幀的各位。在是CRC字段的最終位時(shí)(S23:是),CAN通信部53將到此為止取得的信息提供給處理部51。
處理部51根據(jù)從CAN通信部53提供來的信息(發(fā)送幀),進(jìn)行CRC字段的判定(步驟S24)。處理部51通過對根據(jù)發(fā)送幀的CAN頭~認(rèn)證信息計(jì)算出的CRC與存儲在發(fā)送幀的CRC字段中的CRC的值進(jìn)行比較,從而判定發(fā)送幀是否有錯(cuò)誤(步驟S25)。當(dāng)在發(fā)送幀中存在錯(cuò)誤時(shí)(S25:是),處理部51結(jié)束處理。另外,在根據(jù)CRC字段判斷為在發(fā)送幀中存在錯(cuò)誤時(shí),在其他ECU3中也進(jìn)行同樣的判斷,該發(fā)送幀在各ECU3中被廢棄。
當(dāng)在發(fā)送幀中沒有錯(cuò)誤時(shí)(S25:否),處理部51的認(rèn)證信息判定部61取得在發(fā)送幀的CAN頭中包含的ID(步驟S26)。認(rèn)證信息判定部61根據(jù)所取得的ID來參照存儲部52的密鑰信息表52a,取得與ID對應(yīng)的密鑰信息(步驟S27)。認(rèn)證信息判定部61根據(jù)所取得的發(fā)送幀的CAN頭和數(shù)據(jù)字段以及在步驟S27中取得的密鑰信息,通過預(yù)定的算法來生成認(rèn)證信息(步驟S28)。認(rèn)證信息判定部61從發(fā)送幀取得認(rèn)證信息(步驟S29),判定所取得的認(rèn)證信息與在步驟S28中生成的認(rèn)證信息是否一致(步驟S30)。在兩認(rèn)證信息一致時(shí)(S30:是),處理部51結(jié)束處理。在兩認(rèn)證信息不一致時(shí)(S30:否),處理部51的發(fā)送信息廢棄處理部62通過CAN通信部53將錯(cuò)誤幀輸出到CAN總線(步驟S31),結(jié)束處理。
圖10是示出ECU3所進(jìn)行的信息接收處理的步驟的流程圖。ECU3的CAN通信部33首先逐位地取得對CAN總線輸出的發(fā)送幀,進(jìn)行從發(fā)送幀的CAN頭到ACK字段為止的接收處理(步驟S41)。另外,雖然省略圖示,但是ECU3在接收到CRC字段為止時(shí)進(jìn)行檢測有無錯(cuò)誤的處理。
之后,CAN通信部33取得對CAN總線輸出的發(fā)送幀的EOF的1位(步驟S42)。CAN通信部33判定所取得的1位是否為監(jiān)視裝置5輸出的錯(cuò)誤幀而不是EOF(步驟S43)。在是錯(cuò)誤幀時(shí)(S43:是),CAN通信部33廢棄到此為止接收到的幀(步驟S44),結(jié)束接收處理。
在不是錯(cuò)誤幀時(shí)(S43:否),CAN通信部33判定是否完成了EOF的接收(步驟S45)。在未完成EOF的接收時(shí)(S45:否),CAN通信部33使處理回到步驟S42,繼續(xù)進(jìn)行EOF的接收。在完成了EOF的接收時(shí)(S45:是),處理部31從CAN通信部33接收到的幀的數(shù)據(jù)字段取得所需的數(shù)據(jù)(步驟S46),進(jìn)行與所取得的數(shù)據(jù)對應(yīng)的處理(步驟S47),結(jié)束處理。
<總結(jié)>
具有以上結(jié)構(gòu)的本實(shí)施方式的通信系統(tǒng),對于共用的CAN總線連接多個(gè)ECU3和監(jiān)視裝置5。各ECU3將對于應(yīng)發(fā)送到其他ECU3的數(shù)據(jù)附加了認(rèn)證信息的發(fā)送幀,通過CAN通信部33輸出到CAN總線,從而進(jìn)行向其他ECU3的信息發(fā)送。另外,在本實(shí)施方式中,接收到來自其他ECU3的幀的ECU3不需要判定在接收幀中包含的認(rèn)證信息是否正當(dāng)。監(jiān)視裝置5監(jiān)視針對CAN總線的幀的發(fā)送,在進(jìn)行了幀的發(fā)送時(shí)取得該幀,判定在所取得的幀中包含的認(rèn)證信息是否正當(dāng)。如果認(rèn)證信息正當(dāng),則監(jiān)視裝置5不需要對該幀進(jìn)行任何處理。在認(rèn)證信息不正當(dāng)?shù)那闆r下,發(fā)送幀有可能是由存在惡意的設(shè)備100發(fā)送的不正當(dāng)?shù)膸?,因此監(jiān)視裝置5進(jìn)行使ECU3廢棄該發(fā)送幀的處理。由此,能夠在不在各ECU3中判定認(rèn)證信息是否正當(dāng)?shù)那闆r下防止由各ECU3接收不正當(dāng)?shù)膸?/p>
另外,在本實(shí)施方式中,使各ECU3廢棄發(fā)送幀,因此在發(fā)送幀的EOF的最終位向CAN總線輸出之前,監(jiān)視裝置5將錯(cuò)誤幀向CAN總線輸出。由此,各ECU3中止該發(fā)送幀的接收,發(fā)送幀被廢棄。
另外,在本實(shí)施方式中,監(jiān)視裝置5與ECU3共享密鑰信息,進(jìn)行認(rèn)證信息的生成和判定。由此,不具有密鑰信息的存在惡意的設(shè)備100無法生成認(rèn)證信息,因此能夠更切實(shí)地防止監(jiān)視裝置5發(fā)送不正當(dāng)?shù)膸?/p>
另外,在本實(shí)施方式中,與CAN總線連接的多個(gè)ECU3具有彼此不同的密鑰信息。由此,能夠減少由密鑰信息泄露等引起的不良影響。各ECU3不需要判定在其他ECU3的發(fā)送幀中包含的認(rèn)證信息是否正當(dāng),因此不需要具有其他ECU3的密鑰信息。相對于此,監(jiān)視裝置5具有所有的ECU3的密鑰信息,在存儲部52中作為密鑰信息表52a進(jìn)行管理。監(jiān)視裝置5根據(jù)在發(fā)送幀中包含的ID來判別發(fā)送源的ECU3,從密鑰信息表52a讀取對應(yīng)的密鑰信息,能夠判定在發(fā)送幀中包含的認(rèn)證信息是否正當(dāng)。
另外,在本實(shí)施方式中,設(shè)為ECU3和監(jiān)視裝置5依照CAN協(xié)議進(jìn)行通信的結(jié)構(gòu),但是并不限定于此,也可以是進(jìn)行基于CAN以外的協(xié)議的通信的結(jié)構(gòu)。另外,在本實(shí)施方式中,雖然以搭載在車輛1中的通信系統(tǒng)為例進(jìn)行了說明,但是通信系統(tǒng)不限定于搭載在車輛1中的系統(tǒng),也可以是例如搭載在飛機(jī)或船舶等移動物體中的系統(tǒng),另外也可以是例如不搭載于移動物體而設(shè)置在工廠、辦公室或?qū)W校等的系統(tǒng)。另外,在本實(shí)施方式中示出的幀的結(jié)構(gòu)是一例,而不限定于此。另外,也可以是在通信系統(tǒng)中不設(shè)置監(jiān)視裝置5而使任一個(gè)ECU3具備本實(shí)施方式的監(jiān)視裝置5的監(jiān)視功能的結(jié)構(gòu)。另外,關(guān)于ECU3和監(jiān)視裝置5之間的密鑰信息的共享方法,也可以采用任何方法。另外,ECU3和監(jiān)視裝置5使用密鑰信息進(jìn)行的加密處理也可以基于任何算法。另外,雖然是由處理部51進(jìn)行認(rèn)證信息的生成處理和發(fā)送幀廢棄的處理等的結(jié)構(gòu),但是并不限定于此,也可以是由CAN通信部53進(jìn)行其一部分或全部的處理的結(jié)構(gòu)。
標(biāo)號說明
1 車輛
3 ECU
5 監(jiān)視裝置
31 處理部
32 存儲部
32a 密鑰信息
33 CAN通信部
41 認(rèn)證信息生成部
42 發(fā)送幀生成部
51 處理部
52 存儲部
52a 密鑰信息表
53 CAN通信部
61 認(rèn)證信息判定部
62 發(fā)送信息廢棄處理部
100 存在惡意的設(shè)備。