JP2022067012A - 中継装置、通信ネットワークシステム及び通信制御方法 - Google Patents
中継装置、通信ネットワークシステム及び通信制御方法 Download PDFInfo
- Publication number
- JP2022067012A JP2022067012A JP2020175690A JP2020175690A JP2022067012A JP 2022067012 A JP2022067012 A JP 2022067012A JP 2020175690 A JP2020175690 A JP 2020175690A JP 2020175690 A JP2020175690 A JP 2020175690A JP 2022067012 A JP2022067012 A JP 2022067012A
- Authority
- JP
- Japan
- Prior art keywords
- frame
- data
- mac
- communication
- data frame
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000004891 communication Methods 0.000 title claims abstract description 196
- 238000000034 method Methods 0.000 title claims description 15
- 230000005540 biological transmission Effects 0.000 claims description 14
- 238000012795 verification Methods 0.000 description 26
- 238000001514 detection method Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 11
- 238000012545 processing Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 2
- VIEYMVWPECAOCY-UHFFFAOYSA-N 7-amino-4-(chloromethyl)chromen-2-one Chemical compound ClCC1=CC(=O)OC2=CC(N)=CC=C21 VIEYMVWPECAOCY-UHFFFAOYSA-N 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Images
Landscapes
- Small-Scale Networks (AREA)
Abstract
【課題】バスへの通信負荷を抑制し、通信効率を高めた通信ネットワークシステムを提供する。
【解決手段】 通信ネットワークに接続された、第1の電子制御装置及び第2の電子制御装置と、外部機器と通信が可能であり、第1の電子制御装置と第2の電子制御装置との間の通信を中継する中継装置とを備えた通信システムであって、第1の電子制御装置は、制御情報及びメッセージ認証コード(MAC)を含む第1のデータフレームを中継装置に送信し、中継装置は、MACを含んだデータフレームを送信可能なバスにより、第2の電子制御装置に接続されており、MACに基づき前記第1のデータフレームの検証を行い、制御情報を含む第2のデータフレームを、バスを介して第2の電子制御装置に送信する場合には、MACを削除して、第2のデータフレームを送信する。
【選択図】 図1
【解決手段】 通信ネットワークに接続された、第1の電子制御装置及び第2の電子制御装置と、外部機器と通信が可能であり、第1の電子制御装置と第2の電子制御装置との間の通信を中継する中継装置とを備えた通信システムであって、第1の電子制御装置は、制御情報及びメッセージ認証コード(MAC)を含む第1のデータフレームを中継装置に送信し、中継装置は、MACを含んだデータフレームを送信可能なバスにより、第2の電子制御装置に接続されており、MACに基づき前記第1のデータフレームの検証を行い、制御情報を含む第2のデータフレームを、バスを介して第2の電子制御装置に送信する場合には、MACを削除して、第2のデータフレームを送信する。
【選択図】 図1
Description
本発明は、通信ネットワークを介してデータの通信を行なう中継装置、通信ネットワークシステム及び通信制御方法に関するものである。
特許文献1には、車載機器を制御する複数のECU(Electronic Control Unit)と、各ECUが相互に通信できるように接続するCAN(Controller Area Network)等の車載ネットワークと、ECU間の通信を中継するゲートウェイ装置とを備える車載ネットワークシステムが開示されている。このゲートウェイ装置は、ゲートウェイと、E-HUB(スイッチングハブ)を備えており、CANに接続されたC-ECUから、CANとは異なる通信プロトコルを利用するEthernet(登録商標)に接続されたE-ECUへデータフレームを送信するために、Ethernetのデータフレームのペイロード内に複数のCANのデータフレームを格納し、ゲートウェイからE-HUB(スイッチングハブ)を介して、E-ECUに送信している。
特許文献1記載の車載ネットワークシステムにおいて、ゲートウェイとE-ECUは固有のMACアドレスを有しており、ゲートウェイとE-ECUとの間の通信の際には、フレームのヘッダにMACアドレスを付与して、フレームの通信を行っている。しかしながら、フレーム内のデータに対して、常にMACを付与して通信を行うと、バスに対しての通信負荷が加わり、通信効率が低下するという問題がある。
本発明が解決しようとする課題は、バスへの通信負荷を抑制し、通信効率を高めた通信ネットワークシステム及び通信制御方法を提供することである。
本発明は、制御情報及びMACを含むデータフレームを中継装置に送信し、中継装置は、MACに基づき、受信したデータフレームの検証を行い、制御情報を含むデータフレームを送信する場合には、MACを削除して、データフレームを送信することによって上記課題を解決する。
本発明によれば、バスへの通信負荷を抑制し、通信効率を高めることができる。
以下、本発明の実施形態を図面に基づいて説明する。
本実施形態では、本発明に係る中継装置、通信ネットワークシステム及び通信制御方法を、自動車(車両ともいう)に搭載された車載ネットワークシステムに適用した例を用いて説明する。本実施形態に係る車載通信ネットワークシステムCNWは、CAN、CAN FD及びEthernet等の異なる通信プロトコルを利用する複数の通信ネットワークが混在されたネットワークシステムである。CAN FDは、CANに対し上位互換性を有する通信プロトコルであり、CANよりも単位時間当たりのデータ通信量(通信速度)が大きくなっている。Ethernetは、LAN(Local Area Network)等に利用される通信ネットワークであり、CAN FDよりも単位時間当たりのデータ通信量は大きい。
本実施形態では、本発明に係る中継装置、通信ネットワークシステム及び通信制御方法を、自動車(車両ともいう)に搭載された車載ネットワークシステムに適用した例を用いて説明する。本実施形態に係る車載通信ネットワークシステムCNWは、CAN、CAN FD及びEthernet等の異なる通信プロトコルを利用する複数の通信ネットワークが混在されたネットワークシステムである。CAN FDは、CANに対し上位互換性を有する通信プロトコルであり、CANよりも単位時間当たりのデータ通信量(通信速度)が大きくなっている。Ethernetは、LAN(Local Area Network)等に利用される通信ネットワークであり、CAN FDよりも単位時間当たりのデータ通信量は大きい。
図1は、本実施形態に係る車載通信ネットワークシステムCNWの構成を示すブロック図である。車載通信ネットワークシステムCNWは、第1の通信ネットワーク1と、第2の通信ネットワーク2と、第3の通信ネットワーク3と、第4の通信ネットワーク4と、第5の通信ネットワーク5と、第6の通信ネットワーク6と、第1の通信ネットワーク1~第6の通信ネットワーク6に接続されたCGW(Central Gateway)7とを備える。第1の通信ネットワーク1~第6の通信ネットワーク6は、車両の基本構成毎に区分けされた複数の制御グループを構成している。この制御グループは、ドメインとも呼ばれる。ドメインには、車両内での情報提示について制御するマルチメディアドメインの他、エンジン等を制御するパワートレインドメイン、ステアリング機構等を制御するシャーシドメイン、パワーウィンドウ等を制御するボディドメイン、自律走行制御を行うADAS(Advanced Driver-Assistance System)ドメイン等がある。第1の通信ネットワーク1~第6の通信ネットワーク6は、本発明の第1の通信ネットワーク及び第2の通信ネットワークの一例に相当する。なお、車載通信ネットワークシステムCNWを構成する通信ネットワークの数は、4個に限定されない。
第1の通信ネットワーク1は、ECU11、ECU12及びECU13を備える。ECU11~13は、CANの通信プロトコルに従ってデータ通信が行われるCANバス14を介してCGW7に接続されている。ECU11~13は、車両に搭載された車載機器を制御する電子制御装置である。ECU11~13は、詳しくは図示しないが、コントローラと、通信回路とを備えている。コントローラは、CPUと、CPUにより実行される制御プログラムが格納されたROMと、制御プログラムのワークエリアとして利用されるRAM等を備えている。コントローラは、CPUにより制御プログラムを実行することにより、ECUとして機能する。通信回路は、コントローラにより制御され、コントローラとCANバス14との間の通信を行う。
ECU11~13には、図示しないセンサ又はアクチュエータ等の車載機器が接続されている。ECU11~13は、接続されているセンサから、センサによる検知結果を示すセンサ情報を取得し、取得されたセンサ情報を含む制御情報が格納されたCANのデータフレーム(以下、CANフレームともいう)を生成する。ECU11~13により生成されたCANフレームは、CANバス14を介してCGW7へ送信される。また、各ECU11~13は、CANバス14を介してCGW7からCANフレームを受信し、受信したCANフレームに格納されている制御情報に基づいてアクチュエータ等の車載機器を制御する。
第2の通信ネットワーク2は、ECU21、ECU22及びECU23を備える。ECU21~23は、CANの通信プロトコルに従ってデータ通信が行われるCANバス24を介してCGW7に接続されている。なお、第2の通信ネットワーク2のECU21~23及びCANバス24は、第1の通信ネットワーク1のECU11~13及びCANバス14と同様の構成を有するため、詳しい説明は省略する。
第3の通信ネットワーク3は、DM(Domain Master)31と、ECU32、ECU33及びECU34とを備える。DM31は、CAN FDの通信プロトコルに従ってデータ通信が行われるFDバス35を介してCGW7に接続されている。また、ECU32~34は、CAN FDの通信プロトコルに従ってデータ通信が行われるFDバス36を介してDM31に接続されている。
ECU32~34は、第1の通信ネットワーク1のECU11~13と同様に、車両に搭載された車載機器を制御する電子制御装置であり、コントローラ及び通信回路を備えている。ECU32~34は、接続されているセンサから、センサによる検知結果を示すセンサ情報を取得し、取得されたセンサ情報を含む制御情報が格納されたCAN FDのデータフレーム(以下、FDフレームともいう)を生成する。ECU32~34により生成されたFDフレームは、FDバス36を介してDM31へ送信される。また、各ECU32~34は、FDバス36を介してDM31からFDフレームを受信し、受信したFDフレームに格納されている制御情報に基づいてアクチュエータ等の車載機器を制御する。
DM31は、CGW7とECU32~34との間での通信を中継する中継装置であり、ECUと同様にコントローラ及び通信回路を備えている。DM31は、FDバス36を介して、ECU32~34とFDフレームの通信を行なう。また、DM31は、FDバス35を介して、CGW7とFDフレームの通信を行なう。
第4の通信ネットワーク4は、DM41と、ECU42、ECU43及びECU44とを備える。DM41は、CAN FDの通信プロトコルに従ってデータ通信が行われるFDバス45を介してCGW7に接続されている。また、ECU42~44は、CAN FDの通信プロトコルに従ってデータ通信が行われるFDバス46を介してDM41に接続されている。なお、第4の通信ネットワーク4のDM41、ECU42~44及びFDバス45、46は、第3の通信ネットワーク3のDM31、ECU32~34及びFDバス35、36と同様の構成を有するため、詳しい説明は省略する。
第5の通信ネットワーク5は、DM51と、ECU52、ECU53及びECU54とを備える。DM51は、CAN FDの通信プロトコルに従ってデータ通信が行われるFDバス55を介してCGW7に接続されている。また、ECU52~54は、CANの通信プロトコルに従ってデータ通信が行われるCANバス56を介してDM51に接続されている。
ECU52~54は、第1の通信ネットワーク1のECU11~13と同様に、車両に搭載された車載機器を制御する電子制御装置であり、コントローラ及び通信回路を備えている。ECU52~54は、接続されているセンサから、センサによる検知結果を示すセンサ情報を取得し、取得されたセンサ情報を含む制御情報が格納されたCANフレームを生成する。ECU52~54により生成されたCANフレームは、CANバス56を介してDM51へ送信される。また、各ECU52~54は、CANバス56を介してDM51からCANフレームを受信し、受信したCANフレームに格納されている制御情報に基づいてアクチュエータ等の車載機器を制御する。
DM51は、CGW7とECU52~54との間での通信を中継する中継装置であり、第3の通信ネットワーク3のDM31と同様にコントローラ及び通信回路を備えている。DM51は、CANバス56を介して、ECU52~54とCANフレームの通信を行なう。また、DM51は、FDバス55を介して、CGW7とFDフレームの通信を行なう。DM51は、ECU52~54により生成されたCANフレームを第1の通信ネットワーク1又は第2の通信ネットワーク2へ送信する際には、FDフレームに少なくとも1つのCANフレームを格納してCGW7へ送信する。
第6の通信ネットワーク6は、DM61と、ECU62、ECU63及びECU64とを備える。DM61は、CAN FDの通信プロトコルに従ってデータ通信が行われるFDバス65を介してCGW7に接続されている。また、ECU62~64は、CANの通信プロトコルに従ってデータ通信が行われるCANバス66を介してDM61に接続されている。なお、第6の通信ネットワーク6のDM61、ECU62~64、FDバス65及びCANバス66は、第5の通信ネットワーク5のDM51、ECU52~54、FDバス55及びCANバス56と同様の構成を有するため、詳しい説明は省略する。
CGW7は、第1~第6の通信ネットワーク1~6の間でデータフレームの中継を行う中継装置であり、DM31等と同様に、コントローラ及び通信回路を備えている。CGW7は、第1の通信ネットワーク1のCANバス14を介して、ECU11~13とCANフレームの通信を行なう。また、CGW7は、第2の通信ネットワーク2のCANバス24を介して、ECU21~23とCANフレームの通信を行なう。CGW7は、第3の通信ネットワーク3のFDバス35を介して、DM31とFDフレームの通信を行う。また、CGW7は、第4の通信ネットワーク4のFDバス45を介して、DM41とFDフレームの通信を行う。さらに、CGW7は、第5の通信ネットワーク5のFDバス55を介して、DM51とFDフレームの通信を行う。CGW7は、第6の通信ネットワーク6のFDバス65を介して、DM61とFDフレームの通信を行う。CGW7は、DM51又は61からCANフレームが格納されたFDフレームを受信した場合には、FDフレームからCANフレームを取得し、取得したCANフレームを第1の通信ネットワーク1のECU11~13、又は第2の通信ネットワーク2のECU21~23へ送信する。
なお、ECU32~34、42~44は、本発明の第1の電子制御装置又は第2電子制御装置に相当する。DM31、41、51、61は、本発明の第1の電子制御装置又は第2電子制御装置に相当する。DM31、41及びCGW7は、本発明の中継装置に相当する。
次に、CANフレームの構成について説明する。CANフレームは、図2に示すように、SOF(Start Of Frame)フィールドと、ID(Identifier)フィールドと、RTR(Remote Transmission Request)フィールドと、DLC(Data Length Code)フィールドと、データフィールドと、CRCフィールドと、ACKフィールドと、EOF(End of Frame)フィールド等によって構成される。図2の各フィールドに記載されている数値は、フィールドの各々を構成するビット数を示す。
SOFフィールドは、CANフレームの先頭を示す。IDフィールドは、データフィールド内の格納データの種類を示す識別子であるCAN IDが格納されている。CAN IDは、メッセージIDとも称される。なお、CANでは、複数のECUが同時にCANフレームの送信を開始した場合、このCAN IDが小さい値を持つCANフレームの通信を優先する通信調停が行われる。DLCフィールドには、後続するデータフィールド内のデータのサイズ(データ長)を示す情報が格納される。CRCフィールドは、CANフレームの通信エラーの検出に利用される巡回冗長検査コードが格納される。
データフィールドに格納されるデータの仕様については、CANの通信プロトコルでは規定されていない。本実施形態に係る車載通信ネットワークシステムCNWでは、データフィールド内に、ECUに接続されているセンサから取得したセンサ情報を含む制御情報CDと、誤り検出符号ECとが格納される。なお、制御情報CDに含まれる情報は、センサ情報に限らず、例えば、ドライバーから要求された操作情報等でもよい。誤り検出符号ECは、制御情報CDの誤りを検出して訂正するための符号であり、本実施形態では、CANフレーム全体の誤り検出に用いられるCRCフィールドとは別に設けられている。誤り検出符号ECは、CANフレームを生成する各ECUによって、CAN IDと、制御情報CDとに基づいて算出される。なお、本実施形態のCANフレームは、本発明の第1のフレームに相当し、CAN IDは、本発明の第1のデータIDに相当し、データフィールドは本発明の第1のペイロードに相当する。
次に、FDフレームの構成について説明する。FDフレームは、図3に示すように、SOFフィールドと、IDフィールドと、EDL(Extended Data Length)フィールドと、BRS(Bit Rate Switch)フィールドと、ESI(Error State Indicator)フィールドと、DLCフィールドと、データフィールドと、CRCフィールドと、ACKフィールドと、EOFフィールド等によって構成される。図2の各フィールドに記載されている数値は、フィールドの各々を構成するビット数を示す。FDフレームは、CANフレームにEDLビット、BRSビット及びESIビットが追加され、さらにデータフィールドが64バイトに拡張されている。また、IDフィールドには、データフィールド内の格納データの種類を示す識別子であるCAN FD IDが格納されている。CAN FD IDは、本発明の「第2のデータID」に相当する。
FDフレームは、例えば、FDバスに接続されたECU間で通信される場合、データフィールド内に、CANフレームと同様に制御情報及び誤り検出符号が格納される。具体的には、例えば、第3の通信ネットワーク3のFDバス36に接続されたECU32~34によりFDフレームが生成され、第4の通信ネットワーク4のFDバス46に接続されたECU42~44に送信される場合には、FDフレームのデータフィールド内に、CANフレームと同様に制御情報及び誤り検出符号が格納される。この場合、CAN FD IDには、制御情報の種類を示すID、例えば、「001」が付与される。
また、FDフレームは、例えば、CANバスに接続されたECUからFDバスを介してECUに送信される場合、データフィールド内に、少なくとも1つのCANフレームが格納される。具体的には、例えば、第1の通信ネットワーク1のCANバス14に接続されたECU11~13によりCANフレームが生成され、第5の通信ネットワーク5のECU52~54に送信される場合には、CGW7により、FDフレームのデータフィールド内に少なくとも1つのCANフレームが格納され、DM51に送信される。この場合、CAN FD IDには、データフレーム内にCANフレームが格納されていることを示すID、例えば、「002」が付与される。
なお、CANフレームをFDバスに接続されたECUへ送信する際に、FDフレームのデータフィールドにCANフレームを格納して送信するのは、CANフレームに対し、CAN IDが付与し直されるのを防ぐためである。すなわち、従来の車載通信ネットワークシステムでは、CANフレームをFDフレームに変換してから送信し、送信先の通信ネットワークのDM等でFDフレームを再びCANフレームに変換していた。そして、FDフレームをCANフレームに変換する際に、最初とは異なるCAN IDが付与されることがあった。このように、CAN IDが付与し直されると、自動車用機能安全規格(ISO 26262)において、ハザードを評価する指標として利用されているASIL(Automotive Safety Integrity Level)の評価レベルが高くなり、中継処理への信頼性要求値が高くなってしまうという問題があった。本実施形態では、FDフレームにCANフレームを格納して送信するので、CAN IDが付与し直されることがないので、ASILのレベル低下を防ぐことが可能である。
次に、DM31において、FDフレームを生成するための各種機能部を、図4を参照しつつ説明する。図4は、DM31のCPUが制御プログラムに基づいて動作することにより構成される各種の機能部を示している。DM31は、記憶部310、通信部320、カウンタ330、データ取得部340、フレーム生成部350、MAC検証部360、カウンタ値検証部370、及びフレーム認識部380を備えている。なお、詳しくは説明しないが、他のDM41、51、61も同様の構成を備えており、CGW7も基本的な構成は、DM51と同様である。
記憶部310は、ROM等のメモリによって構成されており、車載ネットワークシステムに対するリプレイ攻撃への対処に利用されるカウンタ値311、及び共通鍵312が記憶されている。ここで、リプレイ攻撃について説明する。CGW7は、外部機器と通信可能な状態で接続されているため、本実施形態に係る車載通信ネットワークシステムCNWでは、外部からのリプレイ攻撃に対処するために、メッセージ認証コード(Message Authentication Code、以下「MAC」ともいう)を用いてデータフレームの正当性を検証している。リプレイ攻撃とは、ネットワーク上を流れるデータフレームを盗聴してその内容を記憶しておき、記憶したデータフレーム、又は改変したデータフレームをネットワーク内に送信することにより、ネットワーク内の機器に不正な動作を引き起こすサイバー攻撃である。リプレイ攻撃は、CGW7とネットワークを介して接続される外部機器によって行われる。
通信部320は、バス及びCGW7を介して他のECU及び/又は他のDM等と通信を行う。通信部320は、CGW7から送信されたデータフレームを受信する際に、データフレームのIDを確認し、予め定められたIDを有するデータフレーム、すなわち、通信部520が設けられているDM51に関連するデータフレームのみを受信する。また、通信部320はECU32~34により送信されたデータフレームを受信する。さらに、通信部320は、フレーム生成部350により生成されたデータフレームを、ECU32~34又はCGW7に送信する。
カウンタ330は、データフレームがCANに送信された回数をカウントし、カウンタ値をインクリメントする。カウンタ値は、送受信データ(メッセージ)の連続性を担保するための値であって、第三者からの成りすましデータや改ざんデータを破棄するために、データの正当性の検証に利用される。カウンタ330は、車載ネットワークシステム内のECU11等、DM31等、及びCGW7による、データフレームの送信回数をカウントする。したがって、ECU11等、DM31等、及びCGW7のカウンタは、同じカウンタ値となる。カウンタ330によりカウントされたカウンタ値は、記憶部310に記憶される。
データ取得部340は、DM31に接続されたセンサ等の車載機器から、情報を取得する。フレーム生成部350は、データ取得部340により取得された情報を含む制御情報を生成し、生成された制御情報に基づいて、通信部320により送信されるデータフレームを生成する。具体的には、フレーム生成部350は、データ取得部340により取得した情報の種類に応じてIDを設定する。フレーム生成部350は、例えば、センサ情報とCAN FD IDとが対応付けられたテーブルを記憶しており、このテーブルに基づいてCAN FD IDを設定する。なお、他のDM51等又はECU11等が、CANフレームを生成するには、CANフレーム用のIDを付与する。
また、DM31が、ECU32~34からFDバス35を介してCGW7に、FDフレームを送信する場合には、フレーム生成部350は、通信部320によりECU32~34から受信したフレームを、FDフレームのデータフィールドに格納して、データフィールドに複数のフレームを含むことを示すCAN FD IDを付与する。
なお、DM51のように、DM51がCANバス56を介してECU52~54に接続されており、ECU52~54からFDバス55を介してCGW7に、少なくとも1つのCANフレームを格納したFDフレームを送信する場合には、DM51は、ECU52~54から受信したCANフレームを、FDフレームのデータフィールドに格納して、データフィールドにCANフレームを含むことを示すCAN FD IDを付与する。これにより、DM51は、少なくとも1つのCANフレームを格納したFDフレームを生成できる。なお、複数のCANフレームを格納したFDフレームのデータ構造は、後述にて説明する。
また、フレーム生成部350は、上述したリプレイ攻撃に対処するために、CAN FD IDと、CAN FD データフィールドに含まれるデータ、記憶部310に記憶されているカウンタ値311に基づいて、記憶部310に記憶されている共通鍵312によりMACを生成する。共通鍵312は、各ECU11等、各DM41等及びCGW7において、共通のものが用いられる。また、MACの算出には、ハッシュ関数を使う方式(HMAC)や、ブロック暗号アルゴリズムを使う方式(CMAC等)等が用いられる。フレーム生成部350は、設定したCAN FD IDと、データ取得部340により取得した情報を含む制御情報及び/又は通信部320により受信されたデータフレームと、記憶部310に記憶されているカウンタ値311と、生成したMACとに基づいてデータフレームを生成する。
MAC検証部360は、通信部320により受信したデータフレームのMACに基づいて、データフレームの正当性、すなわち、受信したデータフレームが車載ネットワークシステム2内の他のECU11等、各DM41等及びCGW7から送信されたものであるか否かを検証する。具体的には、MAC検証部360は、受信したデータフレームから、IDと、制御情報と、カウンタ値と、MACとを取得する。MAC検証部360は、取得されたIDと、制御情報と、カウンタ値とに基づいて、記憶部310に記憶されている共通鍵412により検証用のMACを生成する。
次いで、MAC検証部360は、受信したデータフレームから取得したMACと、検証用のMACとを比較し、取得したMACと検証用のMACとが一致する場合に、受信したデータフレームが正当なデータであると判定する。MAC検証部360は、受信したデータフレームが正当なデータであると判定すると、受信したデータフレームをカウンタ値検証部370に出力する。また、MAC検証部360は、受信したデータフレームが不正なデータであると判定すると、受信したデータフレームを破棄する。このように、MACを利用して不正なデータフレームを検出して破棄することができるので、車載ネットワークシステム2に対するリプレイ攻撃等を防ぐことが可能である。なお、MACの生成にCAN IDと、制御情報と、カウンタ値とを用いているが、これらの3つのデータのうち、いずれか1つ又は2つの組み合わせを用いてMACを生成してもよい。
カウンタ値検証部370は、受信したデータフレームからカウンタ値を取得し、カウンタ値の連続性が保たれているか否か判定する。カウンタ値検証部370は、連続性が保たれていないと判定すると、受信したデータフレームを破棄する。そして、DM31は、MAC検証部360及びカウンタ値検証部370により、受信したデータフレームが正当なデータあると判定した後は、データフレーム含まれるデータを処理する。
フレーム認識部380は、複数フレームを格納したFDフレームを通信部320で受信した場合に、FDフレームのデータフィールドにおいて、フレーム毎のフレーム認識処理を実行し、認識されたフレームを、各ECU32~34に送信する。
図5は、EU51により生成されるデータフレームの構成の一例を示している。データフレームは、CAN FD IDが格納されるIDフィールド91と、CANフレームが格納されるデータフィールド92とを備えている。データフィールド92には、CANフレームと、カウンタ値と、MACとが格納される。図5は、3つのCANフレームをデータフィールドに含んだFDフレームの一例を示している。なお、図5に示すフレーム構成は、図3のFDフレームのうち、「002」のIDが付与されたフレームであって、データフィールドの一部にMACを付与した場合のフレーム構造を表している。ただし、図3で示したEOF等のフィールドの図示を、図5では省略している。
IDフィールド91は、CAN FD ID及びDLC等を含んでいる。IDフィールド91に含まれるDLCは、データフィールド92のデータ長を示しており、何バイトのデータがフレームで送信されるかを表している。DLCは、CAN用、CAN FD用共に1バイトである。DLCの設定範囲は、CANの場合は0~8バイトであり、CAN FDの場合は8ビット以上のときには、12、16、20、24、32、48、又は64バイトとなる。
データフィールド92は、複数のCANフレーム、カウンタ値及びMACを含んでいる。図5の例では、3つのCANフレームがデータフィールド92内に格納されている。CANフレームは、IDフィールド101とデータフィールド102を含んでおり、IDフィールド101はCAN IDとDLCを含んでいる。3つのCANフレームの各IDには、「100」、「200」、及び「300」が付与されており、データフィールド92内で、「100」、「200」、及び「300」の順序で、3つのCANフレームが格納されている。また、データフィールド92において、複数のCANフレームよりも後方の位置には、カウンタ値とMACが格納されている。カウンタ値及びMACは、データフレームの正当性を検証するために使用されるデータであって、フレーム固有のデータ(固有データ)である。なお、CANフレームのデータ容量は、最大8バイトに限られているため、CANフレームのデータフレームは、制御情報と、カウンタ値と、MACをすべて格納することはできない。一方、FDフレームでは、データ容量の最大は64バイトになるため、FDフレームのデータフレームは、制御情報や複数のCANフレームに加えて、カウンタ値とMACを格納できる。
次に、DM31が、CGW7からFDフレームを受信し、FDフレームに含まれる制御情報を新たなFDフレーム内に格納して各ECU32~34に送信する際のデータ処理について説明する。上述のとおり、本実施形態では、CGW7は、車載ネットワークシステム外の外部装置と通信可能な状態で接続されており、外部からのリプレイ攻撃に対処するために、MACをデータフレームに付与している。データの正当性の検証に利用されるカウンタ値及びMACは、少なくとも10バイト程度のデータ量を必要とするため、カウンタ値及びMACをデータフレームに付与する分、データ効率は下がる。なお、以下の説明では、カウンタ値及びMACを総称して「MAC」と称す。
DM31は、CGW7と異なり、外部装置と通信可能な状態で直接接続されていないため、第3の通信ネットワーク3は、車内で閉じたネットワークとなり、リプレイ攻撃を受ける可能性は低い。そのため、DM31が中継装置となり、CGW7からDM31を中継してECU32~34に通信する際に、DM31においてデータフレームの正当性が確保されれば、DM31からECU32~34に送信されるFDフレームに、MACを付与する必要性は低い。
本実施形態では、CGW7から受信したFDフレームに含まれる制御情報を、FDフレームに格納して、DM31からFDバス36を介してECU32~34にFDフレームを送信する場合には、少なくともMACを削除して、MACを含まないFDフレームをECU32~34に送信する。DM31からECU32~34に送信されるFDフレームは、MACを含まない分、データ量が小さくなる。その結果として、FDバス36に対する通信負荷が抑制され、通信効率を高めることができる。
以下、図6を参照し、ECU53から、DM51、CGW7、DM51、及びECU34の順番で、データを送る際のデータ処理とフレーム構成について説明する。図6は、フレーム構成の一部を説明するための説明図である。
ECU53は、フレーム名、フレームタイプ、通信経路等を示す識別情報(ID)及びDLCを、IDフィールドに格納する。図6の例では、ECU53からDM51に送信されるフレームについて、フレーム名は「A101」であり、フレームタイプは「CAN」であり、フレームの送信側は「ECU53」であり、フレームの受信側は「DM51」である。なお、図6の説明図では、送信側を「T」、受信側を「R」で表している。フレームサイズはDLCで示され、図6の例では4バイトである。CANフレームの上限のデータ長は8バイトのため、CANフレームにはMACを付与できない。そのため、フレームタイプ「CAN」ではMAC「無」となる。
DM51は、CGW7を経由してDM31に送信されるFDフレームを生成する。FDフレームは、フレーム「A101」のペイロードに格納された制御情報を含んでいる。図6の例では、DM51からCGW7を経由してDM31に送信されるフレームについて、フレーム名は「A101SC_FD」であり、フレームタイプは「CAN FD」であり、フレームの送信側は「DM51/CGW7」であり、フレームの受信側は「CGW7/DM31」である。フレームサイズは20バイトであり、その内訳は、CAN FD ID及びDLCを含むIDフィールドのデータ長が4バイト、カウント値及びMACのデータ長が10バイト、制御情報等の残りのデータが4バイトである。FDフレーム「A101SC_FD」は、MACを含む分、データ量がCANフレーム「A101」よりも大きい。また、フレームのファイル名は、フレーム内にMACを含むか否かを表しており、フレーム名に「S」を含む場合はMAC有りのフレームを表し、フレーム名に「S」を含まない場合はMAC無しのフレームを表している。なお、MACの有りと無しの区別は必ずしもファイル名で示す必要はなく、例えば、IDフィールド内の識別情報に、MACの有り/無しを示す情報を含めてもよい。
DM31は、FDフレーム「A101SC_FD」を受信すると、MAC検証を行い、データの正当性を検証する。データが正当なものであると判定された場合には、DM31は、FDフレーム「A101_FD」を生成する。DM31は、FDフレーム「A101_FD」を生成する際に、FDフレーム「A101SC_FD」に含まれるデータから、MACを削除した上で、FDフレームを生成する。FDフレーム「A101_FD」は、フレーム「A101SC_FD」のペイロードに格納された制御情報を含んでいる。図6の例では、DM31からECU34に送信されるフレームについて、フレーム名は「A101_FD」であり、フレームタイプは「CAN FD」であり、フレームの送信側は「DM31」であり、フレームの受信側は「ECU34」である。フレームサイズは4バイトである。FDフレーム「A101_FD」は、MACを含まない分、データ量がFDフレーム「A101SC_FD」よりも小さい。
次に、図7のシーケンスチャート及び図8の説明図を参照して、第1の通信ネットワーク1のECU11~13により生成されたCANフレームが、第5の通信ネットワーク5のECU52~54へ送信される手順について説明する。図7のステップS1にて示すように、第1の通信ネットワーク1のECU11~13は、センサからセンサ情報を取得し、例えば、CANフレームC1~CNを生成する。具体的には、ECU11~13は、取得したセンサ情報に基づいて、センサ情報を含む制御情報CDを生成し、センサ情報の種類等に基づいてCAN IDを設定する。図中、「100」、「200」は、CAN IDを示す。また、ECU11~13は、生成した制御情報CDと、設定したCAN IDとに基づいて、誤り検出符号ECを算出する。ECU11~13は、生成したCANフレームC1~CNのデータフィールドに、制御情報CDと、誤り検出符号ECとを格納し、CANバス14を介してCGW7へ生成したCANフレームC1~CNを送信する。
CGW7は、CANバス14を介して第1の通信ネットワーク1からCANフレームC1~CNを受信し、ステップS2において、CGW7は、受信したCANフレームC1~CNがデータフィールドに格納されたFDフレームF1を生成する。具体的には、CGW7は、FDフレームF1に、データフィールドに少なくとも1つのCANフレームが格納されていることを示すCAN FD IDとして、「002」を付与するまた、CGW7は、CANフレームC1~CNの送信先のECUや、格納されている制御情報CDの種類、CANフレームC1~CNの送信周期等に基づいて、複数のCANフレームC1~CNをグループ分けし、グループ分けされた複数のCANフレーム毎にFDフレームF1を生成する。さらに、CGW7は、グループ分けされた複数のCANフレーム毎にFDフレームF1を生成する際に、MACを付与する。CGW7は、生成されたFDフレームF1を、第5の通信ネットワーク5のFDバス55を介してDM51へ送信する。
制御情報CDの種類とは、制御情報CDが利用される制御内容が、共通又は関連することを言う。例えば、車両の加減速の制御に応じてCANフレームC1~CNをグループ分けする場合、エンジン等のパワートレインやブレーキ等の制御が共通又は関連する制御内容となり、これらの制御に利用される制御情報CD毎にCANフレームC1~CNがグループ分けされる。また、CANフレームC1~CNの送信周期とは、例えば、センサから取得されたセンサ情報が所定の時間間隔で送信される場合の送信周期を言い、送信周期が同じ又は近い制御情報CD毎にCANフレームC1~CNがグループ分けされる。このように、送信先のECUや、制御情報CDの種類、送信周期等に応じてCANフレームC1~CNをグループ分けして送信することにより、車載通信ネットワークシステムCNWの送信負荷を抑制することができる。また、関連する制御情報CDを一緒に送信することができるので、送信先のECUでの制御が適切、かつ効率よく行えるようになる。
また、CGW7は、CANフレームC1~CNのそれぞれから、「CAN ID」と、「DLC」と、「制御情報」と、「誤り検出符号」のみを取得して、FDフレームF1のデータフィールドに格納する。「DLC」は、データフィールドに格納された複数のCANフレームC1~CNの区切りを判定するために利用される。このように、CANフレームC1~CNを構成する多数のデータのうち、送信先のECUで必要となるデータのみをFDフレームF1に格納して送信するので、車載通信ネットワークシステムCNWの送信負荷を抑制することができる。
第5の通信ネットワーク5のDM51は、FDバス55を介してFDフレームF1を受信すると、ステップS3において、DM51は、CAN FD IDに基づいて、データフィールドに少なくとも1つのCANフレームが格納されていることを特定する。また、DM51は、FDフレームF1に付与されているMACを用いて、MAC検証を行い、データが正当であることを確認する。DM51は、FDフレームF1から、CANフレームC1~CNを取得する。上述したように、フレーム認証により、FDフレームF1のデータフィールドから複数のCANフレームC1~CNを取得する際には、「DLC」を利用してCANフレーム間の区切りを判定することができるので、複数のCANフレームC1~CNを適切に取得することができる。そして、DM51は、取得した複数のCANフレームC1~CNを第5の通信ネットワーク5のCANバス56に送信する。このとき、CANフレームは、データ量の上限から、MACを含むことはできないため、CANフレームはMACが付与されてないデータフレームとなる。
第5の通信ネットワーク5のECU52~54は、CANフレームC1~CNのCAN
IDに基づいて、車載機器の制御に必要なCANフレームC1~CNを受信する。ステップS4において、ECU52~54は、受信したCANフレームC1~CNの誤りを誤り検出符号ECに基づいて検出し、訂正する。さらに、S5において、ECU52~54は、受信したCANフレームC1~CNの制御信号CDに基づいて、車載機器を制御する。
IDに基づいて、車載機器の制御に必要なCANフレームC1~CNを受信する。ステップS4において、ECU52~54は、受信したCANフレームC1~CNの誤りを誤り検出符号ECに基づいて検出し、訂正する。さらに、S5において、ECU52~54は、受信したCANフレームC1~CNの制御信号CDに基づいて、車載機器を制御する。
次に、図9のシーケンスチャートを参照して、第1のネットワーク1のECU11~13により生成されたCANフレームが、第3の通信ネットワーク3のECU32~34へ送信される手順について説明する。図9のステップS11、S12は、図7のステップS1、S2と同様であり説明を省略する。DM31は、FDバス35を介して、制御情報CD及びMACを含むFDフレームF1を受信すると、ステップS13において、CAN FD IDに基づいて、データフィールドに少なくとも1つのCANフレームが格納されていることを特定する。また、DM51は、FDフレームF1のファイル名から、MACが付与されていることを特定する。DM51は、FDフレームF1に付与されているMACに基づき、FDフレームF1のMAC検証を行い、データが正当であることを確認する。DM51は、MAC検証の後、FDフレームF1からMACを削除する。そして、DM31は、MACを削除した分、フレームのデータ長が変わるため、DLCを新たに付与して、FDフレームF2を生成する。そして、DM31は、MACを含まず制御情報CDを含んだFDフレームF2を、ECU32~34に送信する。なお、DM31は、新たにデータフレームを生成せず、FDフレームF1からカウンタ値及びMACを削除したデータフレームを、ECU32~34に送信してもよい。
DM31とECU32~34の間は、CAN FDの通信プロトコルに従ってデータ通信が行われるため、CANの通信プロトコルとは異なり、MACを付与したデータフレームを送信できる。本実施形態では、MAC検証でデータの正当性が確認されたフレームを、リプレイ攻撃を受ける可能性の低いネットワークに送信する際には、MACを削除した上で、データフレームを送信する。これにより、バスへの通信負荷を抑制し、通信効率を高めることができる。
そして、第3の通信ネットワーク3のECU32~34は、CAN FD IDに基づいて、車載機器の制御に必要なフレームを受信する。ECU32~34による、ステップS14、S15の制御処理は、図7のステップS4、S5と同様であり説明を省略する。
以上で説明したように、本実施形態に係る車載通信ネットワークシステムCNWによれば、制御情報及びMACを含むFDフレームをDM31に送信し、DM31は、MACに基づき受信したFDフレームの検証を行い、制御情報を含むFDフレームをECU32~34に送信する場合には、MACを削除して、FDフレームを送信する。これにより、バスへの通信負荷を抑制し、通信効率を高めることができる。
また、本実施形態に係る車載通信ネットワークシステムCNWによれば、制御情報及びMACを含むFDフレームをCGW7から受信し、MACに基づきFDフレームの検証を行い、MACを含めずに制御情報を含むFDフレームを生成し、MACを含んだデータフレームを送信可能なバス36を介して、FDフレームを、ECU32~34に送信する。これにより、バスへの通信負荷を抑制し、通信効率を高めることができる。
また、本実施形態に係る車載通信ネットワークシステムCNWによれば、CGW7又はDM41、51、61は、制御情報とMACに基づき、識別情報を示すデータID(本発明の「第1のデータID」の一例に相当)を生成し、データIDを有するFDフレームをDM31に送信し、DM31は、制御情報を識別するためのデータID(本発明の「第2のデータID」の一例に相当)を生成し、データIDを有するFDフレームをECU32~34に送信する。これにより、バスへの通信負荷を抑制し、通信効率を高めることができる。
また、本実施形態に係る車載通信ネットワークシステムCNWによれば、DM31は、FDバス36により複数のECU32~34に接続されており、MACを含まないFDフレームを複数のECU32~34に送信する。これにより、バスへの通信負荷を抑制し、通信効率を高めることができる。
本実施形態の変形例において、CGW7は、DM31、41、51、61から、MACを含むFDフレームを受信し、MACに基づきデータフレームの検証を行った後、FDフレームの送信先に応じて、MACを削除の要否を判定する。そして、CGW7は、FDフレームの送信先のネットワークがリプレイ攻撃を受ける可能性が低い場合、又は、FDフレームの送信先のネットワーク通信プロトコルがMACを付与したフレームを送信できない場合には、MACを削除した上で、FDフレームを送信する。一方、CGW7は、FDフレームの送信先のネットワークがリプレイ攻撃を受ける可能性が高い場合、MACを削除せず、MACを含むFDフレームを送信する。これにより、バスへの通信負荷を抑制し、通信効率を高めることができる。
なお、本実施形態において、ECU11~13、21~23、32~34、42~44、52~54、62~64が、DM31、41、51、61又はCGW7と、MACを付与したデータフレームを送信可能な通信プロトコル(Ethernet等の通信プロトコル)をもつバスに接続されている場合には、DM31、41、51、61又はCGW7は、MACを削除したデータフレームを、当該バスを介してECU11等に送信してもよい。
なお、DM31、41、51、61又はCGW7が中継装置となる場合に、中継装置の受信側のデータフレームが本発明の「第1のデータフレーム」の一例に相当し、中継装置受信側のデータフレームが本発明の「第2のデータフレーム」の一例に相当する。
CNW…車載通信ネットワークシステム
1…第1の通信ネットワーク
11~13…ECU(Electronic Control Unit)
2…第2の通信ネットワーク
21~23…ECU
3…第3の通信ネットワーク
31…DM(Domain Master)
310…記憶部
311…カウンタ値
312…共通鍵
320…通信部
330…カウンタ
340…データ取得部
350…フレーム生成部
360…MAC検証部
370…カウンタ値検証部
380…フレーム認識部
32~34…ECU
35、36…FDバス
4…第4の通信ネットワーク
41…DM
42~44…ECU
45、46…FDバス
5…第5の通信ネットワーク
51…DM
52~54…ECU
55…FDバス
56…CANバス
6…第6の通信ネットワーク
61…DM
62~64…ECU
65…FDバス
66…CANバス
7…CGW(Central Gateway)
C1~CN…CANフレーム
F1…FDフレーム
E1…Ethernetフレーム
1…第1の通信ネットワーク
11~13…ECU(Electronic Control Unit)
2…第2の通信ネットワーク
21~23…ECU
3…第3の通信ネットワーク
31…DM(Domain Master)
310…記憶部
311…カウンタ値
312…共通鍵
320…通信部
330…カウンタ
340…データ取得部
350…フレーム生成部
360…MAC検証部
370…カウンタ値検証部
380…フレーム認識部
32~34…ECU
35、36…FDバス
4…第4の通信ネットワーク
41…DM
42~44…ECU
45、46…FDバス
5…第5の通信ネットワーク
51…DM
52~54…ECU
55…FDバス
56…CANバス
6…第6の通信ネットワーク
61…DM
62~64…ECU
65…FDバス
66…CANバス
7…CGW(Central Gateway)
C1~CN…CANフレーム
F1…FDフレーム
E1…Ethernetフレーム
Claims (5)
- 通信ネットワークに接続された、第1の電子制御装置及び第2の電子制御装置と、
外部機器と通信が可能であり、前記第1の電子制御装置と前記第2の電子制御装置との間の通信を中継する中継装置とを備え、
前記第1の電子制御装置は、制御情報及びメッセージ認証コード(MAC)を含む第1のデータフレームを前記中継装置に送信し、
前記中継装置は、
前記MACを含んだデータフレームを送信可能なバスにより、前記第2の電子制御装置に接続されており、
前記MACに基づき前記第1のデータフレームの検証を行い、
前記制御情報を含む第2のデータフレームを、前記バスを介して前記第2の電子制御装置に送信する場合には、前記MACを削除して、前記第2のデータフレームを送信する通信システム。 - 請求項1記載の通信システムにおいて、
前記第1の電子制御装置は、前記制御情報と前記MACに基づき、識別情報を示す第1のデータIDを生成し、前記第1のデータIDを含む前記第1のデータフレームを前記中継装置に送信し、
前記中継装置は、前記制御情報を識別するための第2のデータIDを生成し、前記第2のデータIDを有する前記第2のデータフレームを前記第2の電子制御装置に送信する通信システム。 - 請求項1又は2記載の通信システムにおいて、
前記中継装置は、前記バスにより複数の前記第2の電子制御装置に接続されており、前記第2のデータフレームを前記複数の第2の電子制御装置に送信する通信システム。 - 請求項1~3のいずれか一項に記載の通信システムにおいて、
前記中継装置は、複数の前記第2の電子制御装置に接続されており、前記第2のデータフレームの送信先に応じて、前記MACの削除の要否を判定する通信システム。 - 外部機器と通信が可能であり、第1の電子制御装置と第2の電子制御装置との間の通信を中継する中継装置により実行される通信制御方法であって、
制御情報及びメッセージ認証コード(MAC)を含む第1のデータフレームを前記第1の電子制御装置から受信し、
前記MACに基づき前記第1のデータフレームの検証を行い、
前記MACを含めずに、前記制御情報を含む第2のデータフレームを生成し、
前記MACを含んだデータフレームを送信可能なバスを介して、前記第2のデータフレームを、前記第2の電子制御装置に送信する通信制御方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020175690A JP2022067012A (ja) | 2020-10-19 | 2020-10-19 | 中継装置、通信ネットワークシステム及び通信制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020175690A JP2022067012A (ja) | 2020-10-19 | 2020-10-19 | 中継装置、通信ネットワークシステム及び通信制御方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2022067012A true JP2022067012A (ja) | 2022-05-02 |
Family
ID=81389793
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020175690A Pending JP2022067012A (ja) | 2020-10-19 | 2020-10-19 | 中継装置、通信ネットワークシステム及び通信制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2022067012A (ja) |
-
2020
- 2020-10-19 JP JP2020175690A patent/JP2022067012A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11063971B2 (en) | Method for preventing electronic control unit from executing process based on malicious frame transmitted to bus | |
US10974669B2 (en) | Gateway device, vehicle network system, and transfer method | |
US10227053B2 (en) | In-vehicle network system, electronic control unit, and update processing method | |
US10382221B2 (en) | Communication method based on automotive safety integrity level in vehicle network and apparatus for the same | |
US20180091525A1 (en) | On-vehicle communication system | |
JP7182559B2 (ja) | ログ出力方法、ログ出力装置及びプログラム | |
US10749738B2 (en) | Method and apparatus for diagnosing network | |
JP2015089092A (ja) | パケットをパッケージングする方法、アンパッケージングする方法、及びこれを利用する装置 | |
US20200382597A1 (en) | Vehicle diagnostic communication apparatus, system including the same and method thereof | |
WO2022085057A1 (ja) | 中継装置、通信ネットワークシステム及び通信制御方法 | |
JP2022067012A (ja) | 中継装置、通信ネットワークシステム及び通信制御方法 | |
KR20180072340A (ko) | 운송 수단 내부 네트워크에서의 제어 데이터를 보안 전송하는 방법 | |
JPWO2022085057A5 (ja) | ||
WO2022085055A1 (ja) | 中継装置、通信ネットワークシステム及び通信制御方法 | |
JP7453404B2 (ja) | 通信システム、中継装置、受信装置及び通信制御方法 | |
KR102228331B1 (ko) | 네트워크에서 통신 노드의 동작 방법 | |
US20240152473A1 (en) | Can controller, can device and method for the can controller | |
Kim et al. | Routing Methods Considering Security and Real-Time of Vehicle Gateway System | |
BR102013028483A2 (pt) | transceptor de interface para redes can/ethernet |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20230807 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20240517 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20240528 |