(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023112712
(43)【公開日】2023-08-15
(54)【発明の名称】車載中継装置、車載中継方法および車載中継プログラム
(51)【国際特許分類】
H04L 12/28 20060101AFI20230807BHJP
【FI】
H04L12/28 200Z
【審査請求】未請求
【請求項の数】11
【出願形態】OL
(21)【出願番号】P 2022014574
(22)【出願日】2022-02-02
(71)【出願人】
【識別番号】395011665
【氏名又は名称】株式会社オートネットワーク技術研究所
(71)【出願人】
【識別番号】000183406
【氏名又は名称】住友電装株式会社
(71)【出願人】
【識別番号】000002130
【氏名又は名称】住友電気工業株式会社
(74)【代理人】
【識別番号】110000682
【氏名又は名称】弁理士法人ワンディ-IPパ-トナ-ズ
(72)【発明者】
【氏名】戸次 道宏
(72)【発明者】
【氏名】宮下 之宏
(72)【発明者】
【氏名】小林 拓也
(72)【発明者】
【氏名】小林 直人
(72)【発明者】
【氏名】中島 伸広
【テーマコード(参考)】
5K033
【Fターム(参考)】
5K033AA08
5K033BA06
5K033DB20
5K033EA02
(57)【要約】
【課題】車載ネットワークにおける通信遅延を抑制しながらセキュリティ性を向上させる。
【解決手段】車載中継装置は、車載装置からフレームを受信する受信部と、前記受信部により受信された前記フレームの中継処理を行う第1のIC(Integrated Circuit)と、前記受信部と前記第1のICとの間に接続され、前記受信部から受けた前記フレームを前記第1のICへ出力し、前記第1のICから受けた前記フレームを前記車載中継装置の外部へ出力する第2のICとを備え、前記第2のICは、前記フレームを監視し、前記フレームが不正フレームであると判断した場合、前記フレームの出力を停止する。
【選択図】
図3
【特許請求の範囲】
【請求項1】
車載中継装置であって、
車載装置からフレームを受信する受信部と、
前記受信部により受信された前記フレームの中継処理を行う第1のIC(Integrated Circuit)と、
前記受信部と前記第1のICとの間に接続され、前記受信部から受けた前記フレームを前記第1のICへ出力し、前記第1のICから受けた前記フレームを前記車載中継装置の外部へ出力する第2のICとを備え、
前記第2のICは、前記フレームを監視し、前記フレームが不正フレームであると判断した場合、前記フレームの出力を停止する、車載中継装置。
【請求項2】
前記第2のICは、前記受信部から受けた前記フレームを監視し、前記フレームが不正フレームであると判断した場合、前記第1のICへの前記フレームの出力を停止する、請求項1に記載の車載中継装置。
【請求項3】
前記第2のICは、前記第1のICから受けた前記フレームを監視し、前記フレームが不正フレームであると判断した場合、前記車載中継装置の外部への前記フレームの出力を停止する、請求項1または請求項2に記載の車載中継装置。
【請求項4】
前記第1のICは、プロセッサであり、
前記第2のICは、PLD(Programmable Logic Device)から構成される回路を有する、請求項1から請求項3のいずれか1項に記載の車載中継装置。
【請求項5】
前記第2のICは、FPGA(Field Programmable Gate Array)から構成される回路を有する、請求項4に記載の車載中継装置。
【請求項6】
前記車載中継装置は、さらに、
複数の通信ポートを備え、
前記第1のICは、前記受信部により前記複数の通信ポート経由でそれぞれ受信された複数の前記フレームの前記中継処理を行い、
前記第2のICは、前記受信部により前記複数の通信ポート経由でそれぞれ受信された前記複数のフレームを監視する、請求項1から請求項5のいずれか1項に記載の車載中継装置。
【請求項7】
前記受信部は、CAN(Controller Area Network)またはCAN FD(CAN with Flexible Data rate)の規格に従う前記フレームを受信し、受信した前記フレームを前記第2のICへ出力し、
前記第2のICは、前記フレームに格納されたID(Identifier)に基づいて、前記不正フレームの判断を行う、請求項1から請求項6のいずれか1項に記載の車載中継装置。
【請求項8】
前記受信部は、CANまたはCAN FDの規格に従う前記フレームを受信し、受信した前記フレームを前記第2のICへ出力し、
前記第2のICは、前記フレームに格納されたDLC(Data Length Code)に基づいて、前記不正フレームの判断を行う、請求項1から請求項6のいずれか1項に記載の車載中継装置。
【請求項9】
前記車載中継装置は、さらに、
前記受信部により受信された前記フレームを監視し、前記フレームが不正フレームであると判断した場合、前記不正フレームを検知したことを示す検知結果を前記第1のICへ通知する第3のICを備え、
前記第1のICは、前記第3のICから通知された前記検知結果に基づいて、前記不正フレームの前記中継処理を停止する、請求項1から請求項8のいずれか1項に記載の車載中継装置。
【請求項10】
車載中継装置における車載中継方法であって、
前記車載中継装置は、受信部と、前記受信部により受信された前記フレームの中継処理を行う第1のICと、前記受信部と前記第1のICとの間に接続され、前記受信部から受けた前記フレームを前記第1のICへ出力し、前記第1のICから受けた前記フレームを前記車載中継装置の外部へ出力する第2のICとを備え、
前記車載中継方法は、
車載装置からフレームを受信するステップと、
前記第2のICが、前記フレームを監視し、前記フレームが不正フレームであると判断した場合、前記フレームの出力を停止するステップとを含む、車載中継方法。
【請求項11】
車載装置からフレームを受信する車載中継装置において用いられる車載中継プログラムであって、
コンピュータを、
車載装置からフレームを受信する受信部と、
前記受信部により受信された前記フレームの中継処理を行う第1のICと、
前記受信部と前記第1のICとの間に接続され、前記受信部から受けた前記フレームを前記第1のICへ出力し、前記第1のICから受けた前記フレームを前記車載中継装置の外部へ出力する第2のIC、
として機能させるためのプログラムであり、
前記第2のICは、前記フレームを監視し、前記フレームが不正フレームであると判断した場合、前記フレームの出力を停止する、車載中継プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、車載中継装置、車載中継方法および車載中継プログラムに関する。
【背景技術】
【0002】
従来、車載ネットワークにおいて中継処理を行う中継装置が開発されている。
【0003】
たとえば、特許文献1(国際公開第2019/225258号)には、以下のような異常検出装置が開示されている。すなわち、異常検出装置は、移動体に搭載されたネットワークシステムにおけるネットワークを介して、前記移動体を制御するための1以上の電子制御装置にそれぞれ接続された1以上の通信装置との間で通信可能な異常検出装置であって、前記電子制御装置から前記通信装置を介して前記ネットワークに送信された異常なデータフレームである異常フレームを検出する異常フレーム検出部と、検出された前記異常フレームを送信した前記通信装置に対して応答を要求するための異常要求フレームを前記通信装置に送信し、且つ、前記通信装置により前記異常要求フレームに基づいて生成された前記異常フレームの送信元を示す異常応答フレームを前記通信装置から受信する通信部と、受信された前記異常応答フレームに基づいて前記異常応答フレームを送信した前記通信装置の数を示す異常通信装置数を算出し、前記異常通信装置数が0である場合には前記ネットワークシステムが第1の異常状態であると判定し、前記異常通信装置数が0でない場合には前記ネットワークシステムが第2の異常状態であると判定するネットワーク異常判定部と、前記ネットワーク異常判定部により前記ネットワークシステムが前記第1の異常状態又は前記第2の異常状態であると判定された場合に、前記第1の異常状態又は前記第2の異常状態に対して対処するネットワーク異常対処部と、を備える。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、車載中継装置において不正フレームを検知する処理および中継処理を行う場合、車載中継装置における処理負荷が増大し、通信遅延が生じる場合がある。
【0006】
本開示は、上述の課題を解決するためになされたもので、その目的は、車載ネットワークにおける通信遅延を抑制しながらセキュリティ性を向上させることが可能な車載中継装置、車載中継方法および車載中継プログラムを提供することである。
【課題を解決するための手段】
【0007】
本開示の車載中継装置は、車載装置からフレームを受信する受信部と、前記受信部により受信された前記フレームの中継処理を行う第1のIC(Integrated Circuit)と、前記受信部と前記第1のICとの間に接続され、前記受信部から受けた前記フレームを前記第1のICへ出力し、前記第1のICから受けた前記フレームを前記車載中継装置の外部へ出力する第2のICとを備え、前記第2のICは、前記フレームを監視し、前記フレームが不正フレームであると判断した場合、前記フレームの出力を停止する。
【0008】
本開示の車載中継方法は、車載中継装置における車載中継方法であって、前記車載中継装置は、受信部と、前記受信部により受信された前記フレームの中継処理を行う第1のICと、前記受信部と前記第1のICとの間に接続され、前記受信部から受けた前記フレームを前記第1のICへ出力し、前記第1のICから受けた前記フレームを前記車載中継装置の外部へ出力する第2のICとを備え、前記車載中継方法は、車載装置からフレームを受信するステップと、前記第2のICが、前記フレームを監視し、前記フレームが不正フレームであると判断した場合、前記フレームの出力を停止するステップとを含む。
【0009】
本開示の車載中継プログラムは、車載装置からフレームを受信する車載中継装置において用いられる車載中継プログラムであって、コンピュータを、車載装置からフレームを受信する受信部と、前記受信部により受信された前記フレームの中継処理を行う第1のICと、前記受信部と前記第1のICとの間に接続され、前記受信部から受けた前記フレームを前記第1のICへ出力し、前記第1のICから受けた前記フレームを前記車載中継装置の外部へ出力する第2のIC、として機能させるためのプログラムであり、前記第2のICは、前記フレームを監視し、前記フレームが不正フレームであると判断した場合、前記フレームの出力を停止するプログラムである。
【0010】
本開示の一態様は、このような特徴的な処理部を備える車載中継装置として実現され得るだけでなく、車載中継装置の一部または全部を実現する半導体集積回路として実現され得たり、車載中継装置を含む車載通信システムとして実現され得る。
【発明の効果】
【0011】
本開示によれば、車載ネットワークにおける通信遅延を抑制しながらセキュリティ性を向上させることができる。
【図面の簡単な説明】
【0012】
【
図1】
図1は、本開示の実施の形態に係る車載通信システムの構成を示す図である。
【
図2】
図2は、本開示の実施の形態に係る車載通信システムにおける車載ECUにより送信されるCANフレームの一例を示す図である。
【
図3】
図3は、本開示の実施の形態に係る車載中継装置の構成を示す図である。
【
図4】
図4は、本開示の実施の形態に係る車載通信システムにおける中継処理のタイミングチャートの一例を示す図である。
【
図5】
図5は、本開示の実施の形態に係る車載通信システムにおける中継処理のタイミングチャートの他の例を示す図である。
【
図6】
図6は、本開示の実施の形態に係る車載中継装置が中継処理および検知処理を行う際の動作手順の一例を定めたフローチャートである。
【
図7】
図7は、本開示の実施の形態に係る車載中継装置が中継処理および検知処理を行う際の動作手順の他の例を定めたフローチャートである。
【
図8】
図8は、本開示の実施の形態の変形例1に係る車載通信システムの構成を示す図である。
【
図9】
図9は、本開示の実施の形態の変形例1に係る車載中継装置の構成を示す図である。
【
図10】
図10は、本開示の実施の形態の変形例2に係る車載通信システムの構成を示す図である。
【
図11】
図11は、本開示の実施の形態の変形例2に係る車載通信システムにおける中継処理のタイミングチャートの一例を示す図である。
【
図12】
図12は、本開示の実施の形態の変形例2に係る車載中継装置が中継処理および検知処理を行う際の動作手順の一例を定めたフローチャートである。
【発明を実施するための形態】
【0013】
最初に、本開示の実施形態の内容を列記して説明する。
【0014】
(1)本開示の実施の形態に係る車載中継装置は、車載装置からフレームを受信する受信部と、前記受信部により受信された前記フレームの中継処理を行う第1のICと、前記受信部と前記第1のICとの間に接続され、前記受信部から受けた前記フレームを前記第1のICへ出力し、前記第1のICから受けた前記フレームを前記車載中継装置の外部へ出力する第2のICとを備え、前記第2のICは、前記フレームを監視し、前記フレームが不正フレームであると判断した場合、前記フレームの出力を停止する。
【0015】
このように、本開示の車載中継装置は、中継処理を行う第1のICとは別に、検知処理を行う第2のICを備える構成により、第1のICにおいて中継処理および検知処理を行う構成と比べて、車載中継装置における処理負荷を分散し、第1のICの処理負荷を低減することができる。また、本開示の車載中継装置は、中継先の車載装置による不正フレームの受信を防止することができるので、セキュリティ性をより向上させることができる。したがって、車載ネットワークにおける通信遅延を抑制しながらセキュリティ性を向上させることができる。
【0016】
(2)前記第2のICは、前記受信部から受けた前記フレームを監視し、前記フレームが不正フレームであると判断した場合、前記第1のICへの前記フレームの出力を停止してもよい。
【0017】
このような構成により、第1のICによる不正フレームの受信を防止することができる。また、第1のICが受信するフレームの数を削減することにより、第1のICにおける処理負荷を低減することができる。
【0018】
(3)前記第2のICは、前記第1のICから受けた前記フレームを監視し、前記フレームが不正フレームであると判断した場合、前記車載中継装置の外部への前記フレームの出力を停止してもよい。
【0019】
このような構成により、第1のICへのフレームの出力を停止する構成と比べて、第1のICにおいて、受信部により当該フレームが受信されたことを認識することができるので、外部の装置との安定した通信を継続することができる。
【0020】
(4)前記第1のICは、プロセッサであり、前記第2のICは、PLD(Programmable Logic Device)から構成される回路を有してもよい。
【0021】
このような構成により、本開示の車載中継装置の製造者またはユーザは、中継処理を行う既存のプロセッサにより構成される車載中継装置に当該PLDを加えることより、高性能なプロセッサにアップグレードすることなく、セキュリティ性を向上させた車載中継装置を実現することができる。
【0022】
(5)前記第2のICは、FPGA(Field Programmable Gate Array)から構成される回路を有してもよい。
【0023】
このような構成により、本開示の車載中継装置の製造者またはユーザは、第2のICにより行われる検知処理の内容をより柔軟に変更することができる。
【0024】
(6)前記車載中継装置は、さらに、複数の通信ポートを備え、前記第1のICは、前記受信部により前記複数の通信ポート経由でそれぞれ受信された複数の前記フレームの前記中継処理を行い、前記第2のICは、前記受信部により前記複数の通信ポート経由でそれぞれ受信された前記複数のフレームを監視してもよい。
【0025】
このような構成により、本開示の車載中継装置は、中継処理の対象が広範で中継処理の処理負荷が大きい場合においても、通信遅延を許容可能なレベルに抑制しながらセキュリティ性を向上させることができる。
【0026】
(7)前記受信部は、CAN(Controller Area Network)またはCAN FD(CAN with Flexible Data rate)の規格に従う前記フレームを受信し、受信した前記フレームを前記第2のICへ出力し、前記第2のICは、前記フレームに格納されたID(Identifier)に基づいて、前記不正フレームの判断を行ってもよい。
【0027】
このような構成により、本開示の車載中継装置は、不正フレームの判断をより早く行うことができるので、不正フレームの判断を行うことに起因して発生する中継遅延時間をより短くすることができる。また、たとえば第1のICが第2のICから検知結果を受信する場合において第1のICが当該検知結果の受信処理に要する時間は、検知処理に要する時間よりも短い。したがって、本開示の車載中継装置は、第1のICにおいて検知処理を行う構成と比べて、中継遅延時間の発生を抑制しながら、第1のICにおいて、検知結果に基づいて不正フレームの破棄等を行うことができる。
【0028】
(8)前記受信部は、CANまたはCAN FDの規格に従う前記フレームを受信し、受信した前記フレームを前記第2のICへ出力し、前記第2のICは、前記フレームに格納されたDLC(Data Length Code)に基づいて、前記不正フレームの判断を行ってもよい。
【0029】
このような構成により、本開示の車載中継装置は、不正フレームの判断をより早く行うことができるので、不正フレームの判断を行うことに起因して発生する中継遅延時間をより短くすることができる。また、たとえば第1のICが第2のICから検知結果を受信する場合において第1のICが当該検知結果の受信処理に要する時間は、検知処理に要する時間よりも短い。したがって、本開示の車載中継装置は、第1のICにおいて検知処理を行う構成と比べて、中継遅延時間の発生を抑制しながら、第1のICにおいて、検知結果に基づいて不正フレームの破棄等を行うことができる。
【0030】
(9)前記車載中継装置は、さらに、前記受信部により受信された前記フレームを監視し、前記フレームが不正フレームであると判断した場合、前記不正フレームを検知したことを示す検知結果を前記第1のICへ通知する第3のICを備え、前記第1のICは、前記第3のICから通知された前記検知結果に基づいて、前記不正フレームの前記中継処理を停止してもよい。
【0031】
このような構成により、不正なフレームをより確実に検知することができる。また、フレームの監視に係る処理負荷を第2のICと第3のICとで分散することができる。
【0032】
(10)本開示の実施の形態に係る車載中継方法は、車載中継装置における車載中継方法であって、前記車載中継装置は、受信部と、前記受信部により受信された前記フレームの中継処理を行う第1のICと、前記受信部と前記第1のICとの間に接続され、前記受信部から受けた前記フレームを前記第1のICへ出力し、前記第1のICから受けた前記フレームを前記車載中継装置の外部へ出力する第2のICとを備え、前記車載中継方法は、車載装置からフレームを受信するステップと、前記第2のICが、前記フレームを監視し、前記フレームが不正フレームであると判断した場合、前記フレームの出力を停止するステップとを含む。
【0033】
このように、本開示の車載中継方法は、中継処理を行う第1のICとは別に、検知処理を行う第2のICを備える構成により、第1のICにおいて中継処理および検知処理を行う構成と比べて、車載中継装置における処理負荷を分散し、第1のICの処理負荷を低減することができる。また、本開示の車載中継方法は、中継先の車載装置による不正フレームの受信を防止することができるので、セキュリティ性をより向上させることができる。したがって、車載ネットワークにおける通信遅延を抑制しながらセキュリティ性を向上させることができる。
【0034】
(11)本開示の実施の形態に係る車載中継装置は、中継プログラムは、車載装置からフレームを受信する車載中継装置において用いられる車載中継プログラムであって、コンピュータを、車載装置からフレームを受信する受信部と、前記受信部により受信された前記フレームの中継処理を行う第1のICと、前記受信部と前記第1のICとの間に接続され、前記受信部から受けた前記フレームを前記第1のICへ出力し、前記第1のICから受けた前記フレームを前記車載中継装置の外部へ出力する第2のIC、として機能させるためのプログラムであり、前記第2のICは、前記フレームを監視し、前記フレームが不正フレームであると判断した場合、前記フレームの出力を停止する。
【0035】
このように、本開示の車載中継プログラムは、中継処理を行う第1のICとは別に、検知処理を行う第2のICを備える構成により、第1のICにおいて中継処理および検知処理を行う構成と比べて、車載中継装置における処理負荷を分散し、第1のICの処理負荷を低減することができる。また、本開示の車載中継プログラムは、中継先の車載装置による不正フレームの受信を防止することができるので、セキュリティ性をより向上させることができる。したがって、車載ネットワークにおける通信遅延を抑制しながらセキュリティ性を向上させることができる。
【0036】
以下、本開示の実施の形態について図面を用いて説明する。なお、図中同一または相当部分には同一符号を付してその説明は繰り返さない。また、以下に記載する実施の形態の少なくとも一部を任意に組み合わせてもよい。
【0037】
[構成および基本動作]
図1は、本開示の実施の形態に係る車載通信システムの構成を示す図である。
図1を参照して、車載通信システム301は、車載中継装置101と、複数の車載ECU(Electronic Control Unit)111Aと、複数の車載ECU111Bとを備える。車載ECU111A,111Bは、車載装置の一例である。
【0038】
複数の車載ECU111Aは、CAN(登録商標)の規格に従うバス1Aを介して車載中継装置101に接続される。複数の車載ECU111Bは、CANの規格に従うバス1Bを介して車載中継装置101に接続される。
【0039】
車載ECU111A,111Bは、CANの規格に従うフレームであるCANフレームの送受信を行う。
【0040】
図2は、本開示の実施の形態に係る車載通信システムにおける車載ECUにより送信されるCANフレームの一例を示す図である。
図2を参照して、CANフレームは、SOF(Start Of Frame)フィールドと、IDフィールドと、DLCフィールドと、データフィールド(以下、DATフィールドとも称する)と、CRC(Cyclic Redundancy Check)フィールドと、ACKフィールドと、EOFフィールドとをこの順に有する。
【0041】
車載ECU111Aは、定期的または不定期に、他の車載ECU111Aおよび車載ECU111Bへ送信すべきデータがDATフィールドに格納されたCANフレームを生成し、生成したCANフレームをバス1A経由で他の車載ECU111Aおよび車載中継装置101へ送信する。
【0042】
また、車載ECU111Bは、定期的または不定期に、車載ECU111Aおよび他の車載ECU111Bへ送信すべきデータがDATフィールドに格納されたCANフレームを生成し、生成したCANフレームをバス1B経由で他の車載ECU111Bおよび車載中継装置101へ送信する。
【0043】
車載中継装置101は、バス1A経由で車載ECU111Aから受信したCANフレームを車載ECU111Bへ中継することが可能である。また、車載中継装置101は、バス1B経由で車載ECU111Bから受信したCANフレームを車載ECU111Aへ中継することが可能である。
【0044】
[車載中継装置]
図3は、本開示の実施の形態に係る車載中継装置の構成を示す図である。
図3を参照して、車載中継装置101は、複数の通信ポート10と、通信部20と、中継用IC30と、検知用IC40とを備える。検知用IC40は、通信部20と中継用IC30との間に接続される。通信部20は、受信部の一例である。中継用IC30は、第1のICの一例である。検知用IC40は、第2のICの一例である。たとえば、通信部20、中継用IC30および検知用IC40は、基板の導電パターンを介して互いに接続されている。
【0045】
一例として、車載中継装置101は、通信ポート10である通信ポート10A,10Bを備える。通信ポート10Aには、バス1Aが接続されている。通信ポート10Bには、バス1Bが接続されている。
【0046】
通信部20は、CANトランシーバ21A,21Bを含む。以下、CANトランシーバ21A,21Bの各々をCANトランシーバ21とも称する。
【0047】
中継用IC30は、CANコントローラ31A,31Bと、中継部32と、記憶部33とを含む。記憶部33は、たとえば不揮発性メモリである。以下、CANコントローラ31A,31Bの各々をCANコントローラ31とも称する。たとえば、中継用IC30は、プロセッサである。一例として、中継用IC30は、マイクロコントローラである。
【0048】
検知用IC40は、CANコントローラ41A,41Bと、検知部42と、記憶部44とを含む。記憶部44は、たとえば不揮発性メモリである。以下、CANコントローラ41A,41Bの各々をCANコントローラ41とも称する。たとえば、検知用IC40は、PLDから構成される回路を有する。より詳細には、検知用IC40は、FPGA、ASIC(Application Specific Integrated Circuit)またはCPLD(Complex Programmable Logic Device)から構成される回路を有する。
【0049】
通信部20は、車載ECU111A,111BからCANフレームを受信する。より詳細には、CANトランシーバ21Aは、通信ポート10A経由で車載ECU111AからCANフレームを受信する。CANトランシーバ21Aは、受信したCANフレームを検知用IC40へ出力する。また、CANトランシーバ21Bは、通信ポート10B経由で車載ECU111BからCANフレームを受信する。CANトランシーバ21Bは、受信したCANフレームを検知用IC40へ出力する。
【0050】
検知用IC40は、通信部20から受けたCANフレームを中継用IC30へ出力する。より詳細には、検知用IC40におけるCANコントローラ41Aは、通信部20におけるCANトランシーバ21AからCANフレームを受けて、受けたCANフレームを中継用IC30におけるCANコントローラ31Aへ出力する。また、検知用IC40におけるCANコントローラ41Bは、通信部20におけるCANトランシーバ21BからCANフレームを受けて、受けたCANフレームを中継用IC30におけるCANコントローラ31Bへ出力する。
【0051】
(中継処理)
中継用IC30は、通信部20により受信されたCANフレームの中継処理を行う。たとえば、中継用IC30は、通信部20により複数の通信ポート10経由でそれぞれ受信された複数のCANフレームの中継処理を行う。より詳細には、中継用IC30は、通信部20により通信ポート10A経由で受信されたCANフレームの中継処理と、通信部20により通信ポート10B経由で受信されたCANフレームの中継処理とを行う。
【0052】
中継用IC30は、通信部20により受信されたCANフレームを取得して中継処理を行う。
【0053】
より詳細には、CANコントローラ31Aは、通信部20におけるCANトランシーバ21Aにより受信されたCANフレームを取得する。具体的には、CANコントローラ31Aは、CANコントローラ41Aから受けるCANフレームにおけるSOFを受信することにより当該CANフレームの先頭を検知し、CANフレームの取得処理を開始する。そして、CANコントローラ31Aは、CANコントローラ41Aから受けるCANフレームにおけるEOFを受信して、当該CANフレームの取得処理が完了したと判断し、取得したCANフレームを中継部32へ出力する。
【0054】
中継部32は、CANコントローラ31AからCANフレームを受けて、受けたCANフレームの内容を確認する受信確認処理を行う。具体的には、中継部32は、受信確認処理において、たとえばCRCフィールドに格納された情報を用いて、中継対象のCANフレームが正常に受信されたか否かを確認する。
【0055】
そして、中継部32は、受信確認処理が完了すると、中継対象のCANフレームの中継処理を行う。具体的には、中継部32は、CANコントローラ31Aから受けた中継対象のCANフレームをCANコントローラ31Bへ出力する。
【0056】
CANコントローラ31Bは、中継部32からCANフレームを受けて、受けたCANフレームを検知用IC40へ出力する。
【0057】
検知用IC40は、中継用IC30から受けたCANフレームを車載中継装置101の外部へ出力する。より詳細には、検知用IC40におけるCANコントローラ41Bは、中継用IC30におけるCANコントローラ31BからCANフレームを受けて、受けたCANフレームを通信部20、通信ポート10Bおよびバス1B経由で車載ECU111Bへ出力する。
【0058】
また、CANコントローラ31Bは、通信部20におけるCANトランシーバ21Bにより受信されたCANフレームを取得する。具体的には、CANコントローラ31Bは、CANコントローラ41Bから受けるCANフレームにおけるSOFを受信することにより当該CANフレームの先頭を検知し、CANフレームの取得処理を開始する。そして、CANコントローラ31Bは、CANコントローラ41Bから受けるCANフレームにおけるEOFを受信して、当該CANフレームの取得処理が完了したと判断し、取得したCANフレームを中継部32へ出力する。
【0059】
中継部32は、CANコントローラ31BからCANフレームを受けて、受けたCANフレームの内容を確認する受信確認処理を行う。
【0060】
そして、中継部32は、受信確認処理が完了すると、中継対象のCANフレームの中継処理を行う。具体的には、中継部32は、CANコントローラ31Bから受けた中継対象のCANフレームをCANコントローラ31Aへ出力する。
【0061】
CANコントローラ31Aは、中継部32からCANフレームを受けて、受けたCANフレームを検知用IC40へ出力する。
【0062】
検知用IC40は、中継用IC30から受けたCANフレームを車載中継装置101の外部へ出力する。より詳細には、検知用IC40におけるCANコントローラ41Aは、中継用IC30におけるCANコントローラ31AからCANフレームを受けて、受けたCANフレームを通信部20、通信ポート10Aおよびバス1A経由で車載ECU111Aへ出力する。
【0063】
(検知処理)
検知用IC40は、CANフレームを監視し、CANフレームが不正フレームであるか否かを判断する検知処理を行う。検知用IC40は、CANフレームが不正フレームであると判断した場合、CANフレームの出力を停止する。たとえば、検知用IC40は、通信部20により複数の通信ポート10経由でそれぞれ受信された複数のCANフレームを監視する。より詳細には、検知用IC40は、通信部20により通信ポート10A経由で受信されたCANフレームの監視と、通信部20により通信ポート10B経由で受信されたCANフレームの監視とを行う。
【0064】
(1)検知処理の例1
検知用IC40は、通信部20から受けたCANフレームを監視し、CANフレームが不正フレームであると判断した場合、中継用IC30への当該CANフレームの出力を停止する。検知処理の例1は、たとえばIDS(Intrusion Detection System)の機能に相当する。
【0065】
(具体例1-1)
検知用IC40は、CANフレームのIDフィールドに格納されたIDに基づいて、不正フレームの判断を行う。
【0066】
より詳細には、CANコントローラ41Aは、通信部20におけるCANトランシーバ21からCANフレームを受けて、受けたCANフレームにおけるIDフィールドに格納されたIDを取得し、取得したIDを示す受信フレーム情報を検知部42へ出力する。CANコントローラ41Aは、検知部42から判断結果の通知を受けるまで、当該CANフレームの中継用IC30への出力を保留する。
【0067】
検知部42は、CANコントローラ41Aから受けた受信フレーム情報に基づいて、検知処理を行う。より詳細には、検知部42は、受けた受信フレーム情報に基づいて、通信部20により受信されたCANフレームが不正フレームであるか否かを判断する。
【0068】
たとえば、記憶部44は、車載中継装置101における中継処理の対象となる正当なCANフレームに格納されるIDの一覧を示すIDリストを記憶している。
【0069】
検知部42は、CANコントローラ41Aから受けた受信フレーム情報が示すIDと、記憶部44におけるIDリストとを照合する。
【0070】
検知部42は、CANコントローラ41Aから受けた受信フレーム情報が示すIDと一致するIDが当該IDリストに含まれる場合、CANコントローラ41AがCANトランシーバ21から受けたCANフレームは不正フレームではないと判断し、判断結果をCANコントローラ41Aへ通知する。
【0071】
CANコントローラ41Aは、検知部42からCANフレームは不正フレームではない旨の判断結果の通知を受けた場合、出力を保留していた当該CANフレームを中継用IC30へ出力する。
【0072】
一方、検知部42は、CANコントローラ41Aから受けた受信フレーム情報が示すIDと一致するIDが当該IDリストに含まれない場合、CANコントローラ41AがCANトランシーバ21から受けたCANフレームは不正フレームであると判断し、判断結果をCANコントローラ41Aへ通知する。
【0073】
CANコントローラ41Aは、検知部42からCANフレームは不正フレームである旨の判断結果の通知を受けた場合、出力を保留していた当該CANフレームを中継用IC30へ出力することなく破棄する。
【0074】
(具体例1-2)
検知用IC40は、CANフレームのDLCフィールドに格納されたDLCに基づいて、不正フレームの判断を行う。
【0075】
より詳細には、CANコントローラ41Aは、通信部20におけるCANトランシーバ21からCANフレームを受けて、受けたCANフレームにおけるDLCフィールドに格納されたDLCを取得し、取得したDLCを示す受信フレーム情報を検知部42へ出力する。CANコントローラ41Aは、検知部42から判断結果の通知を受けるまで、当該CANフレームの中継用IC30への出力を保留する。
【0076】
たとえば、記憶部44は、車載中継装置101における中継処理の対象となる正当なCANフレームに格納されるDLCの一覧を示すDLCリストを記憶している。
【0077】
検知部42は、CANコントローラ41Aから受けた受信フレーム情報が示すDLCと、記憶部44におけるDLCリストとを照合する。
【0078】
検知部42は、CANコントローラ41Aから受けた受信フレーム情報が示すDLCと一致するDLCが当該DLCリストに含まれる場合、CANコントローラ41AがCANトランシーバ21から受けたCANフレームは不正フレームではないと判断し、判断結果をCANコントローラ41Aへ通知する。
【0079】
CANコントローラ41Aは、検知部42からCANフレームは不正フレームではない旨の判断結果の通知を受けた場合、出力を保留していた当該CANフレームを中継用IC30へ出力する。
【0080】
一方、検知部42は、CANコントローラ41Aから受けた受信フレーム情報が示すDLCと一致するDLCが当該DLCリストに含まれない場合、CANコントローラ41AがCANトランシーバ21から受けたCANフレームは不正フレームであると判断し、判断結果をCANコントローラ41Aへ通知する。
【0081】
CANコントローラ41Aは、検知部42からCANフレームは不正フレームである旨の判断結果の通知を受けた場合、出力を保留していた当該CANフレームを中継用IC30へ出力することなく破棄する。
【0082】
(具体例1-3)
検知用IC40は、CANフレームのDATフィールドに格納されたデータに基づいて、不正フレームの判断を行う。
【0083】
より詳細には、CANコントローラ41Aは、通信部20におけるCANトランシーバ21からCANフレームを受けて、受けたCANフレームにおけるDATフィールドに格納されたデータを取得し、取得したデータを示す受信フレーム情報を検知部42へ出力する。CANコントローラ41Aは、検知部42から判断結果の通知を受けるまで、当該CANフレームの中継用IC30への出力を保留する。
【0084】
たとえば、記憶部44は、車載中継装置101における中継処理の対象となる正当なCANフレームに格納されるデータの適正な数値範囲を示す数値リストを記憶している。
【0085】
検知部42は、CANコントローラ41Aから受けた受信フレーム情報が示すデータの値と、記憶部44における数値リストが示す数値範囲とを照合する。
【0086】
たとえば、検知部42は、CANコントローラ41Aから受けた受信フレーム情報が示すデータの値が、当該数値リストが示す数値範囲に含まれる場合、CANコントローラ41AがCANトランシーバ21から受けたCANフレームは不正フレームではないと判断し、判断結果をCANコントローラ41Aへ通知する。
【0087】
CANコントローラ41Aは、検知部42からCANフレームは不正フレームではない旨の判断結果の通知を受けた場合、出力を保留していた当該CANフレームを中継用IC30へ出力する。
【0088】
一方、検知部42は、CANコントローラ41Aから受けた受信フレーム情報が示すデータの値が、当該数値リストが示す数値範囲に含まれない場合、CANコントローラ41AがCANトランシーバ21から受けたCANフレームは不正フレームであると判断し、判断結果をCANコントローラ41Aへ通知する。
【0089】
CANコントローラ41Aは、検知部42からCANフレームは不正フレームである旨の判断結果の通知を受けた場合、出力を保留していた当該CANフレームを中継用IC30へ出力することなく破棄する。
【0090】
(2)検知処理の例2
検知用IC40は、中継用IC30から受けたCANフレームを監視し、CANフレームが不正フレームであると判断した場合、車載中継装置101の外部への当該CANフレームの出力を停止する。検知処理の例2は、IPS(Intrusion Prevention System)の機能に相当する。
【0091】
(具体例2-1)
検知用IC40は、CANフレームのIDフィールドに格納されたIDに基づいて、不正フレームの判断を行う。
【0092】
より詳細には、CANコントローラ41Bは、中継用IC30におけるCANコントローラ31からCANフレームを受けて、受けたCANフレームにおけるIDフィールドに格納されたIDを取得し、取得したIDを示す受信フレーム情報を検知部42へ出力する。CANコントローラ41Bは、検知部42から判断結果の通知を受けるまで、当該CANフレームの車載ECU111への出力を保留する。
【0093】
たとえば、検知部42は、CANコントローラ41Bから受けた受信フレーム情報が示すIDと、記憶部44におけるIDリストとを照合する。
【0094】
検知部42は、CANコントローラ41Bから受けた受信フレーム情報が示すIDと一致するIDが当該IDリストに含まれる場合、CANコントローラ41BがCANコントローラ31から受けたCANフレームは不正フレームではないと判断し、判断結果をCANコントローラ41Bへ通知する。
【0095】
CANコントローラ41Bは、検知部42からCANフレームは不正フレームではない旨の判断結果の通知を受けた場合、出力を保留していた当該CANフレームを通信部20、通信ポート10およびバス1経由で車載ECU111へ出力する。
【0096】
一方、検知部42は、CANコントローラ41Bから受けた受信フレーム情報が示すIDと一致するIDが当該IDリストに含まれない場合、CANコントローラ41BがCANコントローラ31から受けたCANフレームは不正フレームであると判断し、判断結果をCANコントローラ41Bへ通知する。
【0097】
CANコントローラ41Bは、検知部42からCANフレームは不正フレームである旨の判断結果の通知を受けた場合、出力を保留していた当該CANフレームを車載ECU111へ出力することなく破棄する。
【0098】
(具体例1-2)
検知用IC40は、CANフレームのDLCフィールドに格納されたDLCに基づいて、不正フレームの判断を行う。
【0099】
より詳細には、CANコントローラ41Bは、中継用IC30におけるCANコントローラ31からCANフレームを受けて、受けたCANフレームにおけるDLCフィールドに格納されたDLCを取得し、取得したDLCを示す受信フレーム情報を検知部42へ出力する。CANコントローラ41Bは、検知部42から判断結果の通知を受けるまで、当該CANフレームの車載ECU111への出力を保留する。
【0100】
たとえば、検知部42は、CANコントローラ41Bから受けた受信フレーム情報が示すIDと、記憶部44におけるIDリストとを照合する。
【0101】
検知部42は、CANコントローラ41Bから受けた受信フレーム情報が示すDLCと一致するDLCが当該DLCリストに含まれる場合、CANコントローラ41BがCANコントローラ31から受けたCANフレームは不正フレームではないと判断し、判断結果をCANコントローラ41Bへ通知する。
【0102】
CANコントローラ41Bは、検知部42からCANフレームは不正フレームではない旨の判断結果の通知を受けた場合、出力を保留していた当該CANフレームを通信部20、通信ポート10およびバス1経由で車載ECU111へ出力する。
【0103】
一方、検知部42は、CANコントローラ41Bから受けた受信フレーム情報が示すDLCと一致するDLCが当該DLCリストに含まれない場合、CANコントローラ41BがCANコントローラ31から受けたCANフレームは不正フレームであると判断し、判断結果をCANコントローラ41Bへ通知する。
【0104】
CANコントローラ41Bは、検知部42からCANフレームは不正フレームである旨の判断結果の通知を受けた場合、出力を保留していた当該CANフレームを車載ECU111へ出力することなく破棄する。
【0105】
(具体例2-3)
検知用IC40は、CANフレームのDATフィールドに格納されたデータに基づいて、不正フレームの判断を行う。
【0106】
より詳細には、CANコントローラ41Bは、中継用IC30におけるCANコントローラ31からCANフレームを受けて、受けたCANフレームにおけるDATフィールドに格納されたデータを取得し、取得したデータを示す受信フレーム情報を検知部42へ出力する。CANコントローラ41Bは、検知部42から判断結果の通知を受けるまで、当該CANフレームの車載ECU111への出力を保留する。
【0107】
たとえば、検知部42は、CANコントローラ41Bから受けた受信フレーム情報が示すデータの値と、記憶部44における数値リストが示す数値範囲とを照合する。
【0108】
検知部42は、CANコントローラ41Bから受けた受信フレーム情報が示すデータの値が、当該数値リストが示す数値範囲に含まれる場合、CANコントローラ41BがCANコントローラ31から受けたCANフレームは不正フレームではないと判断し、判断結果をCANコントローラ41Bへ通知する。
【0109】
CANコントローラ41Bは、検知部42からCANフレームは不正フレームではない旨の判断結果の通知を受けた場合、出力を保留していた当該CANフレームを通信部20、通信ポート10およびバス1経由で車載ECU111へ出力する。
【0110】
一方、検知部42は、CANコントローラ41Bから受けた受信フレーム情報が示すデータの値が、当該数値リストが示す数値範囲に含まれない場合、CANコントローラ41BがCANコントローラ31から受けたCANフレームは不正フレームであると判断し、判断結果をCANコントローラ41Bへ通知する。
【0111】
CANコントローラ41Bは、検知部42からCANフレームは不正フレームである旨の判断結果の通知を受けた場合、出力を保留していた当該CANフレームを車載ECU111へ出力することなく破棄する。
【0112】
(タイミングチャート)
図4は、本開示の実施の形態に係る車載通信システムにおける中継処理のタイミングチャートの一例を示す図である。
図4は、検知用IC40が、上述した検知処理の例1を行う場合のタイミングチャートを示している。
【0113】
図4を参照して、たとえば、車載ECU111Aは、時刻t11において、CANフレームをバス1A経由で他の車載ECU111Aおよび車載中継装置101へ送信する。
【0114】
検知用IC40は、時刻t11において、通信部20におけるCANトランシーバ21Aから受けるCANフレームにおけるSOFを受信することにより当該CANフレームの先頭を検知し、CANフレームの取得処理を開始する。そして、時刻t11の後の時刻t12において、CANトランシーバ21Aから受けるCANフレームにおけるEOFを受信して、当該CANフレームの取得処理が完了したと判断し、取得したCANフレームが不正フレームであるか否かを判断する検知処理を行う。たとえば、検知用IC40は、当該CANフレームは不正フレームではないと判断し、時刻t12の後の時刻t13において、当該CANフレームを中継用IC30へ出力する。
【0115】
中継用IC30は、時刻t13において、受信処理を開始し、受信処理の後に中継処理を行う。中継用IC30は、時刻t13の後の時刻t14において、送信処理を開始する。
【0116】
車載ECU111Bは、時刻t14において、バス1B経由で車載中継装置101からCANフレームを受信する。
【0117】
図5は、本開示の実施の形態に係る車載通信システムにおける中継処理のタイミングチャートの他の例を示す図である。
図5は、検知用IC40が、上述した検知処理の例2を行う場合のタイミングチャートを示している。
【0118】
図5を参照して、たとえば、車載ECU111Aは、時刻t21において、CANフレームをバス1A経由で他の車載ECU111Aおよび車載中継装置101へ送信する。
【0119】
中継用IC30は、時刻t21において、受信処理を開始し、受信処理の後に中継処理を行う。中継用IC30は、時刻t21の後の時刻t22において、送信処理を開始する。
【0120】
検知用IC40は、時刻t22において、中継用IC30におけるCANコントローラ31Bから受けるCANフレームにおけるSOFを受信することにより当該CANフレームの先頭を検知し、CANフレームの取得処理を開始する。そして、時刻t22の後の時刻t23において、CANコントローラ31Bから受けるCANフレームにおけるEOFを受信して、当該CANフレームの取得処理が完了したと判断し、取得したCANフレームが不正フレームであるか否かを判断する検知処理を行う。たとえば、検知用IC40は、当該CANフレームは不正フレームではないと判断し、時刻t23の後の時刻t24において、当該CANフレームを通信部20へ出力する。
【0121】
車載ECU111Bは、時刻t24において、バス1B経由で車載中継装置101からCANフレームを受信する。
【0122】
[動作の流れ]
本開示の実施の形態に係る車載通信システムにおける各装置は、メモリを含むコンピュータを備え、当該コンピュータにおけるCPU等の演算処理部は、以下のフローチャートおよびシーケンスの各ステップの一部または全部を含むプログラムを当該メモリから読み出して実行する。これら複数の装置のプログラムは、それぞれ、外部からインストールすることができる。これら複数の装置のプログラムは、それぞれ、記録媒体に格納された状態でまたは通信回線を介して流通する。
【0123】
図6は、本開示の実施の形態に係る車載中継装置が中継処理および検知処理を行う際の動作手順の一例を定めたフローチャートである。
図6は、検知用IC40が、上述した検知処理の例1を行う場合のフローチャートを示している。
【0124】
図6を参照して、まず、車載中継装置101における通信部20は、車載ECU111Aまたは車載ECU111BからのCANフレームを待ち受け(ステップS102でNO)、たとえば通信ポート10A経由で車載ECU111AからCANフレームを受信すると(ステップS102でYES)、受信したCANフレームを検知用IC40へ出力する(ステップS104)。
【0125】
次に、検知用IC40は、通信部20からCANフレームを受けて、受けたCANフレームが不正フレームであるか否かを判断する検知処理を行う(ステップS106)。
【0126】
次に、検知用IC40は、通信部20から受けたCANフレームが不正フレームであると判断した場合(ステップS108でYES)、当該CANフレームを破棄する(ステップS110)。
【0127】
次に、通信部20は、車載ECU111Aまたは車載ECU111Bからの新たなCANフレームを待ち受ける(ステップS102でNO)。
【0128】
一方、検知用IC40は、通信部20から受けたCANフレームが不正フレームではないと判断した場合(ステップS108でNO)、当該CANフレームを中継用IC30へ出力する(ステップS112)。
【0129】
次に、中継用IC30は、検知用IC40から受けたCANフレームの中継処理を行う。具体的には、中継用IC30における中継部32は、CANコントローラ31Bを介して当該フレームを検知用IC40へ出力する(ステップS114)。
【0130】
次に、検知用IC40は、中継用IC30から受けたCANフレームを車載ECU111Bへ出力する。より詳細には、検知用IC40におけるCANコントローラ41Bは、中継用IC30におけるCANコントローラ31BからCANフレームを受けて、受けたCANフレームを通信部20、通信ポート10Bおよびバス1B経由で車載ECU111Bへ出力する(ステップS116)。
【0131】
次に、通信部20は、車載ECU111Aまたは車載ECU111Bからの新たなCANフレームを待ち受ける(ステップS102でNO)。
【0132】
図7は、本開示の実施の形態に係る車載中継装置が中継処理および検知処理を行う際の動作手順の他の例を定めたフローチャートである。
図7は、検知用IC40が、上述した検知処理の例2を行う場合のフローチャートを示している。
【0133】
図7を参照して、まず、車載中継装置101における通信部20は、車載ECU111Aまたは車載ECU111BからのCANフレームを待ち受け(ステップS202でNO)、たとえば通信ポート10A経由で車載ECU111AからCANフレームを受信すると(ステップS202でYES)、受信したCANフレームを検知用IC40へ出力する(ステップS204)。
【0134】
次に、検知用IC40は、通信部20から受けたCANフレームを中継用IC30へ出力する(ステップS206)。
【0135】
次に、中継用IC30は、検知用IC40から受けたCANフレームの中継処理を行う。具体的には、中継用IC30における中継部32は、CANコントローラ31Bを介して当該フレームを検知用IC40へ出力する(ステップS208)。
【0136】
次に、検知用IC40は、中継用IC30からCANフレームを受けて、受けたCANフレームが不正フレームであるか否かを判断する検知処理を行う(ステップS210)。
【0137】
次に、検知用IC40は、中継用IC30から受けたCANフレームが不正フレームであると判断した場合(ステップS212でYES)、当該CANフレームを破棄する(ステップS214)。
【0138】
一方、検知用IC40は、中継用IC30から受けたCANフレームが不正フレームではないと判断した場合(ステップS212でNO)、当該CANフレームを車載ECU111Bへ出力する。より詳細には、検知用IC40におけるCANコントローラ41Bは、当該CANフレームを通信部20、通信ポート10Bおよびバス1B経由で車載ECU111Bへ出力する(ステップS216)。
【0139】
次に、通信部20は、車載ECU111Aまたは車載ECU111Bからの新たなCANフレームを待ち受ける(ステップS202でNO)。
【0140】
なお、本開示の実施の形態に係る車載中継装置101では、中継用IC30はプロセッサであり、検知用IC40はPLDであるとしたが、これ限定するものではない。たとえば、中継用IC30は、PLDであってもよい。また、たとえば、検知用IC40は、プロセッサであってもよい。
【0141】
また、本開示の実施の形態に係る車載中継装置101では、検知用IC40は、通信部20により通信ポート10A経由で受信されたCANフレームの監視と、通信部20により通信ポート10B経由で受信されたCANフレームの監視とを行う構成であるとしたが、これに限定するものではない。検知用IC40は、通信部20により通信ポート10A経由で受信されたCANフレームの監視、および通信部20により通信ポート10B経由で受信されたCANフレームの監視のいずれか一方を行わない構成であってもよい。
【0142】
また、本開示の実施の形態に係る車載通信システム301では、車載ECU111A,111Bが、CANの規格に従うバス1A,1Bを介して車載中継装置101にそれぞれ接続される構成であるとしたが、これに限定するものではない。車載ECU111Aおよび車載ECU111Bは、CAN以外の他の規格に従うバスを介して車載中継装置101にそれぞれ接続される構成であってもよい。
【0143】
たとえば、車載ECU111Aおよび車載ECU111Bは、CAN FDの規格に従うバスを介して車載中継装置101にそれぞれ接続される構成であってもよい。この場合、車載中継装置101における通信部20は、CANトランシーバ21の代わりにCAN FDトランシーバを含み、中継用IC30は、CANコントローラ31の代わりにCAN FDコントローラを含み、検知用IC40は、CANコントローラ41の代わりにCAN FDコントローラを含む。
【0144】
また、たとえば、車載ECU111Aおよび車載ECU111Bは、LIN(Local Interconnect Network)の規格に従うバスを介して車載中継装置101にそれぞれ接続される構成であってもよい。この場合、車載中継装置101における通信部20は、CANトランシーバ21の代わりにLINトランシーバを含み、中継用IC30は、CANコントローラ31の代わりにLINコントローラを含み、検知用IC40は、CANコントローラ41の代わりにLINコントローラを含む。
【0145】
また、たとえば、車載ECU111Aおよび車載ECU111Bは、CXPI(Clock Extension Peripheral Interface)の規格に従うバスを介して車載中継装置101にそれぞれ接続される構成であってもよい。この場合、車載中継装置101における通信部20は、CANトランシーバ21の代わりにCXPIトランシーバを含み、中継用IC30は、CANコントローラ31の代わりにCXPIコントローラを含み、検知用IC40は、CANコントローラ41の代わりにCXPIコントローラを含む。
【0146】
また、本開示の実施の形態に係る車載通信システム301は、互いに異なる規格に従うバスを介して車載中継装置101にそれぞれ接続される車載ECUを備える構成であってもよい。
【0147】
<変形例1>
図8は、本開示の実施の形態の変形例1に係る車載通信システムの構成を示す図である。
図8を参照して、車載通信システム302は、車載通信システム301と比べて、車載中継装置101の代わりに車載中継装置102を備え、複数の車載ECU111Aおよび複数の車載ECU111Bの代わりに車載ECU111D,111Eを備える。車載ECU111D,111Eは、車載装置の一例である。
【0148】
車載ECU111D,111Eは、イーサネット(登録商標)ケーブル(以下、Ethケーブルとも称する)1D,1Eを介して車載中継装置102にそれぞれ接続される。車載ECU111Dは、定期的または不定期に、車載ECU111Eへ送信すべきデータが格納されたイーサネットフレーム(以下、Ethフレームとも称する)を生成し、生成したEthフレームをEthケーブル1D経由で車載中継装置102へ送信する。車載ECU111Eは、定期的または不定期に、車載ECU111Dへ送信すべきデータが格納されたEthフレームを生成し、生成したEthフレームをEthケーブル1E経由で車載中継装置102へ送信する。
【0149】
なお、車載通信システム302は、Ethケーブルを介して車載中継装置102に接続される3つ以上の車載ECUを備える構成であってもよいし、イーサネット以外の他の規格に従うバスまたはケーブルを介して車載中継装置102に接続される車載ECUをさらに備える構成であってもよい。
【0150】
図9は、本開示の実施の形態の変形例1に係る車載中継装置の構成を示す図である。
図9を参照して、車載中継装置102は、車載中継装置101と比べて、通信ポート10A,10Bの代わりに通信ポート10D,10Eを備え、中継用IC30の代わりに中継用IC230を備え、検知用IC40の代わりに検知用IC240を備える。通信ポート10Dには、Ethケーブル1Dが接続されている。通信ポート10Eには、Ethケーブル1Eが接続されている。
【0151】
中継用IC230は、中継用IC30と比べて、CANコントローラ31A,31Bの代わりにイーサネットコントローラ(以下、Ethコントローラとも称する)31D,31Eを含み、中継部32の代わりに中継部232を含む。検知用IC240は、検知用IC40と比べて、CANコントローラ41A,41Bの代わりにEthコントローラ241を含み、検知部42の代わりに検知部242を含む。
【0152】
(検知処理の例3)
たとえば、スイッチ部220は、車載ECU111Dから対応の通信ポート10D経由でEthフレームを受信し、受信したEthフレームをEthコントローラ241へ出力する。
【0153】
Ethコントローラ241は、スイッチ部220により受信されたEthフレームに格納された情報を取得する。たとえば、Ethコントローラ241は、スイッチ部220から受けるEthフレームにおけるヘッダたとえばプリアンブルを受信することにより当該Ethフレームの先頭を検知し、当該Ethフレームにおける少なくともいずれか1つのフィールドに格納された情報を取得し、取得した情報を検知部242へ出力する。一例として、Ethコントローラ241は、Ethフレームにおける長さフィールドに格納された情報を取得し、取得した情報を検知部242へ出力する。Ethコントローラ241は、検知部242から判断結果の通知を受けるまで、当該Ethフレームの中継用IC230への出力を保留する。
【0154】
検知部242は、Ethコントローラ241から受けた当該情報に基づいて、検知処理を行う。より詳細には、検知部242は、受けた情報に基づいて、スイッチ部220により受信されたEthフレームが不正フレームであるか否かを判断し、判断結果をEthコントローラ241へ通知する。
【0155】
Ethコントローラ241は、検知部242からEthフレームは不正フレームである旨の判断結果の通知を受けた場合、出力を保留していた当該Ethフレームを中継用IC230へ出力することなく破棄する。
【0156】
一方、Ethコントローラ241は、検知部242からEthフレームは不正フレームではない旨の判断結果の通知を受けた場合、当該出力を保留していた当該Ethフレームをスイッチ部220経由で中継用IC30へ出力する。
【0157】
中継用IC230におけるEthコントローラ31Dは、スイッチ部220経由で検知用IC240から受けたEthフレームを中継部232へ出力する。
【0158】
中継部232は、Ethコントローラ31DからEthフレームを受けて、受けたEthフレームの内容を確認する受信確認処理を行い、受信確認処理が完了すると、中継対象のEthフレームの中継処理を行う。具体的には、中継部232は、Ethコントローラ31Dから受けた中継対象のEthフレームをEthコントローラ31Eへ出力する。
【0159】
Ethコントローラ31Eは、中継部232からEthフレームを受けて、受けたEthフレームをスイッチ部220へ出力する。
【0160】
スイッチ部220は、Ethコントローラ31EからEthフレームを受けて、受けたEthフレームを宛先の車載ECU111Eへ対応の通信ポート10EおよびEthケーブル1E経由で送信する。
【0161】
(検知処理の例4)
たとえば、スイッチ部220は、車載ECU111Dから対応の通信ポート10D経由でEthフレームを受信し、受信したEthフレームを中継用IC230へ出力する。
【0162】
中継用IC230におけるEthコントローラ31Dは、スイッチ部220経由で検知用IC240から受けたEthフレームを中継部232へ出力する。
【0163】
中継部232は、Ethコントローラ31Dから受けた中継対象のEthフレームをEthコントローラ31Eへ出力する。
【0164】
Ethコントローラ31Eは、中継部232からEthフレームを受けて、受けたEthフレームをスイッチ部220へ出力する。
【0165】
スイッチ部220は、Ethコントローラ31EからEthフレームを受けて、受けたEthフレームをEthコントローラ241へ出力する。
【0166】
Ethコントローラ241は、スイッチ部220により受信されたEthフレームに格納された情報を取得する。たとえば、Ethコントローラ241は、スイッチ部220から受けるEthフレームにおけるヘッダたとえばプリアンブルを受信することにより当該Ethフレームの先頭を検知し、当該Ethフレームにおける少なくともいずれか1つのフィールドに格納された情報を取得し、取得した情報を検知部242へ出力する。一例として、Ethコントローラ241は、Ethフレームにおける長さフィールドに格納された情報を取得し、取得した情報を検知部242へ出力する。Ethコントローラ241は、検知部242から判断結果の通知を受けるまで、当該Ethフレームの車載ECU111Eへの出力を保留する。
【0167】
検知部242は、Ethコントローラ241から受けた当該情報に基づいて、検知処理を行う。より詳細には、検知部242は、受けた情報に基づいて、スイッチ部220により受信されたEthフレームが不正フレームであるか否かを判断し、判断結果をEthコントローラ241へ通知する。
【0168】
Ethコントローラ241は、検知部242からEthフレームは不正フレームである旨の判断結果の通知を受けた場合、出力を保留していた当該Ethフレームを車載ECU111Eへ出力することなく破棄する。
【0169】
一方、Ethコントローラ241は、検知部242からEthフレームは不正フレームではない旨の判断結果の通知を受けた場合、当該出力を保留していた当該Ethフレームをスイッチ部220、通信ポート10EおよびEthケーブル1E経由で車載ECU111Eへ送信する。
【0170】
<変形例2>
図10は、本開示の実施の形態の変形例2に係る車載通信システムの構成を示す図である。
図10を参照して、車載中継装置103は、車載中継装置101と比べて、検知用IC50をさらに備える。検知用IC50は、第3のICの一例である。
【0171】
検知用IC50は、CANコントローラ51と、検知部52と、記憶部54とを含む。記憶部54は、たとえば不揮発性メモリである。たとえば、記憶部54は、記憶部44と同様に、IDリスト、DLCリストおよび数値リストを記憶している。検知用IC50は、検知用IC40と同様に、PLDから構成される回路を有する。
【0172】
通信部20において、CANトランシーバ21Aは、通信ポート10A経由で車載ECU111AからCANフレームを受信する。CANトランシーバ21Aは、受信したCANフレームを検知用IC40,50へ出力する。また、CANトランシーバ21Bは、通信ポート10B経由で車載ECU111BからCANフレームを受信する。CANトランシーバ21Bは、受信したCANフレームを検知用IC40,50へ出力する。
【0173】
たとえば、CANトランシーバ21は、受信したCANフレームを検知用IC40,50へ出力する。すなわち、CANフレームは、CANトランシーバ21から中継用IC30および検知用IC40へ並行して出力される。
【0174】
検知用IC50は、CANフレームを監視し、CANフレームが不正フレームであるか否かを判断する検知処理を行う。より詳細には、CANコントローラ51は、通信部20におけるCANトランシーバ21からCANフレームを受けて、受けたCANフレームにおけるIDフィールドに格納されたID等を取得して受信フレーム情報を検知部52へ出力する。検知部52は、検知部42と同様に、CANコントローラ51から受けた受信フレーム情報に基づいて、検知処理を行う。検知用IC50による検知処理は、たとえばIDSの機能に相当する。
【0175】
たとえば、検知用IC50は、CANフレームのIDフィールドに格納されたIDに基づいて検知処理を行う。また、たとえば、検知用IC40は、CANフレームのDLCフィールドに格納されたDLCに基づいて検知処理を行う。
【0176】
検知用IC50は、CANフレームが不正フレームであると判断した場合、不正フレームを検知したことを示す検知結果を中継用IC30へ通知する。より詳細には、検知部52は、CANコントローラ51がCANトランシーバ21から受けたCANフレームが不正フレームであると判断した場合、検知結果として、当該不正フレームのIDを示す不正検知情報を、たとえばUART(Universal Asynchronous Receiver Transmitter)を用いた通信により中継用IC30へ出力する。一方、検知部52は、CANコントローラ51がCANトランシーバ21から受けたCANフレームは不正フレームではないと判断した場合、検知結果として、正常検知情報を、UARTを用いた通信により中継用IC30へ出力する。検知用IC50による検知結果の通知は、たとえばIPSの機能に相当する。
【0177】
たとえば、中継用IC30は、検知用IC50から通知された検知結果に基づいて、不正フレームの中継処理を停止する。より詳細には、中継用IC30における中継部32は、検知部52から不正検知情報を受けた場合、受けた不正検知情報が示すIDを不正フレームのIDとして記憶部33に保存する。一方、中継部32は、検知部52から正常検知情報を受けた場合、記憶部33へのIDの保存を行わない。
【0178】
中継部32は、CANコントローラ31AからCANフレームを受けて、受けたCANフレームのIDフィールドに含まれるIDが記憶部33における不正フレームのIDと一致するか否かを確認する。
【0179】
中継部32は、CANコントローラ31Aから受けたCANフレームのIDフィールドに含まれるIDが記憶部33における不正フレームのIDと一致しないか、または記憶部33に不正フレームのIDが保存されていない場合、CANコントローラ31Aから受けたCANフレームは正当なCANフレームであると判断し、当該CANフレームの中継処理を行う。
【0180】
一方、中継部32は、CANコントローラ31Aから受けたCANフレームのIDフィールドに含まれるIDが記憶部33における不正フレームのIDと一致する場合、CANコントローラ31Aから受けたCANフレームは不正フレームであると判断し、当該CANフレームの中継処理を行うことなく、当該CANフレームを破棄する。
【0181】
このように、車載中継装置103が検知用IC40,50を備える構成により、検知用IC40により中継用IC30へのフレームの出力を保留することができるので、車載中継装置103が検知用IC50のみを備える構成と比べて、中継用IC30においてCANフレームの中継処理を行うか否かの判断に検知用IC50からの検知結果を用いるために、当該CANフレームの出力を保留する等の特別な処理を必要としない。したがって、中継用IC30として、既存のICを用いることができる。
【0182】
図11は、本開示の実施の形態の変形例2に係る車載通信システムにおける中継処理のタイミングチャートの一例を示す図である。
図11は、検知用IC40が、上述した検知処理の例1および検知処理の例2の両方を行う場合のタイミングチャートを示している。
【0183】
図11を参照して、たとえば、車載ECU111Aは、時刻t31において、CANフレームをバス1A経由で他の車載ECU111Aおよび車載中継装置101へ送信する。
【0184】
検知用IC50は、時刻t31において、通信部20におけるCANトランシーバ21Aから受けるCANフレームにおけるSOFを受信することにより当該CANフレームの先頭を検知し、CANフレームの取得処理を開始する。そして、検知用IC50は、時刻t31の後の時刻t32において、CANトランシーバ21Aから受けるCANフレームにおけるEOFを受信して、当該CANフレームの取得処理が完了したと判断し、取得したCANフレームのIDに基づいて、当該CANフレームが不正フレームであるか否かを判断する検知処理を行う。たとえば、検知用IC50は、当該CANフレームは不正フレームではないと判断し、検知結果として正常検知情報を中継用IC30へ出力する。
【0185】
検知用IC40は、時刻t31において、通信部20におけるCANトランシーバ21Aから受けるCANフレームにおけるSOFを受信することにより当該CANフレームの先頭を検知し、CANフレームの取得処理を開始する。そして、検知用IC40は、時刻t31の後の時刻t33において、CANトランシーバ21Aから受けるCANフレームにおけるEOFを受信して、当該CANフレームの取得処理が完了したと判断し、取得したCANフレームのDLCに基づいて、当該CANフレームが不正フレームであるか否かを判断する検知処理を行う。たとえば、検知用IC40は、当該CANフレームは不正フレームではないと判断し、時刻t33の後の時刻t34において、当該CANフレームを中継用IC30へ出力する。
【0186】
中継用IC30は、時刻t34において、受信処理を開始する。中継用IC30は、CANコントローラ31Aから受けたCANフレームのIDフィールドに含まれるIDが記憶部33における不正フレームのIDと一致しないので、受信処理の後に当該CANフレームの中継処理を行う。そして、中継用IC30は、時刻t34の後の時刻t35において、送信処理を開始する。
【0187】
検知用IC40は、時刻t35において、中継用IC30におけるCANコントローラ31Bから受けるCANフレームにおけるSOFを受信することにより当該CANフレームの先頭を検知し、CANフレームの取得処理を開始する。そして、検知用IC40は、時刻t35の後の時刻t36において、CANコントローラ31Bから受けるCANフレームにおけるEOFを受信して、当該CANフレームの取得処理が完了したと判断し、取得したCANフレームが不正フレームであるか否かを判断する検知処理を行う。たとえば、検知用IC40は、当該CANフレームは不正フレームではないと判断し、時刻t36の後の時刻t37において、当該CANフレームを通信部20へ出力する。
【0188】
車載ECU111Bは、時刻t37において、バス1B経由で車載中継装置101からCANフレームを受信する。
【0189】
たとえば、検知用IC40は、時刻t33において検知処理を行い、CANフレームが不正フレームであると判断した場合、時刻t34において、当該CANフレームの中継用IC30への出力を行わない。
【0190】
また、たとえば、検知用IC50は、時刻t32において検知処理を行い、CANフレームは不正フレームであると判断した場合、検知結果として不正検知情報を中継用IC30へ出力する。この場合、中継用IC30は、CANコントローラ31Aから受けたCANフレームのIDフィールドに含まれるIDが記憶部33における不正フレームのIDと一致するので、受信処理の後に当該CANフレームの中継処理を行わない。
【0191】
また、たとえば、検知用IC40は、時刻t36において検知処理を行い、CANフレームが不正フレームであると判断した場合、時刻t37において、当該CANフレームの通信部20への出力を行わない。
【0192】
検知用IC50がIDに基づいて検知処理を行い、検知用IC40がDLCに基づいて検知処理を行う構成により、たとえば、検知用IC50は検知用IC40よりも早く検知処理を完了することができるので、中継用IC30が検知用IC40からCANフレームを受けて中継処理を行う前に、当該CANフレームに関する検知結果を中継用IC30に通知することができる。これにより、中継用IC30において、検知用IC50における検知結果を考慮して、CANフレームの中継を行うか否かを決定することができる。
【0193】
図12は、本開示の実施の形態の変形例2に係る車載中継装置が中継処理および検知処理を行う際の動作手順の一例を定めたフローチャートである。
【0194】
図12を参照して、まず、車載中継装置101における通信部20は、車載ECU111Aまたは車載ECU111BからのCANフレームを待ち受け(ステップS302でNO)、たとえば通信ポート10A経由で車載ECU111AからCANフレームを受信すると(ステップS302でYES)、受信したCANフレームを検知用IC40,50へ出力する(ステップS304)。
【0195】
次に、検知用IC40,50は、通信部20からCANフレームを受けて、受けたCANフレームが不正フレームであるか否かを判断する検知処理を行う(ステップS306)。
【0196】
次に、検知用IC50は、検知結果を中継用IC30に通知する(ステップS308)。
【0197】
次に、検知用IC40は、通信部20から受けたCANフレームが不正フレームであると判断した場合(ステップS310でYES)、当該CANフレームを破棄する(ステップS312)。
【0198】
次に、通信部20は、車載ECU111Aまたは車載ECU111Bからの新たなCANフレームを待ち受ける(ステップS302でNO)。
【0199】
一方、検知用IC40は、通信部20から受けたCANフレームが不正フレームではないと判断した場合(ステップS310でNO)、当該CANフレームを中継用IC30へ出力する(ステップS314)。
【0200】
次に、中継用IC30は、検知用IC50から受けた検知結果が、検知用IC40から受けたCANフレームが不正フレームであることを示す場合(ステップS316でYES)、当該CANフレームの中継を行うことなく、当該フレームを破棄する(ステップS318)。
【0201】
次に、通信部20は、車載ECU111Aまたは車載ECU111Bからの新たなCANフレームを待ち受ける(ステップS302でNO)。
【0202】
一方、中継用IC30は、検知用IC50から受けた検知結果が、検知用IC40から受けたCANフレームが不正フレームではないことを示す場合(ステップS316でNO)、検知用IC40から受けたCANフレームの中継処理を行う。具体的には、中継用IC30における中継部32は、CANコントローラ31Bを介して当該フレームを検知用IC40へ出力する(ステップS320)。
【0203】
次に、検知用IC40は、中継用IC30から受けたCANフレームを車載ECU111Bへ出力する。より詳細には、検知用IC40におけるCANコントローラ41Bは、中継用IC30におけるCANコントローラ31BからCANフレームを受けて、受けたCANフレームを通信部20、通信ポート10Bおよびバス1B経由で車載ECU111Bへ出力する(ステップS322)。
【0204】
次に、通信部20は、車載ECU111Aまたは車載ECU111Bからの新たなCANフレームを待ち受ける(ステップS302でNO)。
【0205】
上記実施の形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記説明ではなく特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【0206】
以上の説明は、以下に付記する特徴を含む。
[付記1]
車載中継装置であって、
車載装置からフレームを受信する受信部と、
前記受信部により受信された前記フレームの中継処理を行う第1のICと、
前記受信部と前記第1のICとの間に接続され、前記受信部から受けた前記フレームを前記第1のICへ出力し、前記第1のICから受けた前記フレームを前記車載中継装置の外部へ出力する第2のICとを備え、
前記第2のICは、前記フレームを監視し、前記フレームが不正フレームであると判断した場合、前記フレームの出力を停止し、
前記車載中継装置は、さらに、
前記受信部により受信された前記フレームを監視し、前記フレームが不正フレームであると判断した場合、前記不正フレームを検知したことを示す検知結果を前記第1のICへ通知する第3のICを備え、
前記第1のICは、前記第3のICから通知された前記検知結果に基づいて、前記不正フレームの前記中継処理を停止し、
前記第3のICは、前記フレームのIDフィールドに格納されたIDに基づいて検知処理を行い、
前記第2のICは、前記フレームのDLCフィールドに格納されたDLCに基づいて検知処理を行う、車載中継装置。
【符号の説明】
【0207】
1A,1B バス
1D,1E イーサネットケーブル
10A,10B,10 通信ポート
20 通信部
21A,21B,21 CANトランシーバ
30 中継用IC
31A,31B,31 CANコントローラ
31D,31E CANコントローラ
32,232 中継部
33 記憶部
40,240 検知用IC
41A,41B,41 CANコントローラ
42,242 検知部
44 記憶部
50 検知用IC
51 CANコントローラ
52 検知部
54 記憶部
101,102,103 車載中継装置
111A,111B,111D,111E 車載ECU
220 スイッチ部
241 Ethコントローラ
301,302 車載通信システム