JP6541004B2 - 通信システム - Google Patents

通信システム Download PDF

Info

Publication number
JP6541004B2
JP6541004B2 JP2016114829A JP2016114829A JP6541004B2 JP 6541004 B2 JP6541004 B2 JP 6541004B2 JP 2016114829 A JP2016114829 A JP 2016114829A JP 2016114829 A JP2016114829 A JP 2016114829A JP 6541004 B2 JP6541004 B2 JP 6541004B2
Authority
JP
Japan
Prior art keywords
ecu
frame
ecc1
information
generation operation
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.)
Expired - Fee Related
Application number
JP2016114829A
Other languages
English (en)
Other versions
JP2017220836A (ja
Inventor
裕樹 境
裕樹 境
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Honda Motor Co Ltd
Original Assignee
Honda Motor Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Honda Motor Co Ltd filed Critical Honda Motor Co Ltd
Priority to JP2016114829A priority Critical patent/JP6541004B2/ja
Publication of JP2017220836A publication Critical patent/JP2017220836A/ja
Application granted granted Critical
Publication of JP6541004B2 publication Critical patent/JP6541004B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Detection And Prevention Of Errors In Transmission (AREA)

Description

本発明は、通信システムに関する。
ネットワークを利用して各種制御対象を制御する通信システムでは、その信頼性を保つことが必要とされる。ネットワークを利用して車両を制御する技術が知られている(例えば、特許文献1参照。)。特許文献1には、自装置が、自装置から送信したことを示す識別情報を付与して通信メッセージを送信し、上記と同じ識別情報が附された通信メッセージを、自装置が受信した場合、その通信メッセージを不正なものと判断することが記載されている。
特開2014−11621号公報
しかしながら、特許文献1によれば、装置は、通信メッセージを選択して受信するように記憶しているが、自装置が受信すべき通信メッセージを特定する識別情報を、自装置が送信する際に用いる識別情報も含めることで上記の判断を実施する。これにより、自装置が本来受信すべき識別情報が附された通信メッセージの他に、少なくとも自装置が送信した通信メッセージ等も受信することになる。この技術では、通信メッセージを受信して処理する数が増大し、ネットワークにおける不正な状態を検出するための処理が煩雑になるという問題がある。
本発明は、このような事情を考慮してなされたものであり、より簡便な構成により、ネットワークにおける不正な状態を検出する通信システムを提供することを目的の一つとする。
請求項1記載の発明は、誤り検出符号を付加したメッセージを送信する送信デバイス(ECU10−1)と、受信した前記メッセージに含まれる情報であって前記誤り検出符号の生成演算の対象範囲の情報をもとに前記生成演算して得られる値と、前記付加された誤り検出符号が示す値との比較によって、異常を検出する受信デバイス(ECU10−2)とを備える通信システム(通信システム1)であって、前記送信デバイスは、前記生成演算して得られる値と前記付加された誤り検出符号が示す値とが不一致になるように、前記生成演算の対象範囲に含まれる情報であって制御量を含む指令値の情報を変更して、前記メッセージを生成し、前記受信デバイスは、受信したメッセージについて、前記生成演算して得られる値と前記付加された誤り検出符号が示す値とが一致する場合に、異常を検出する、通信システムである。
請求項2記載の発明における前記送信デバイスは、前記生成演算の対象範囲に含まれる情報であって、前記生成演算に用いられる情報を示すビット列のうち少なくとも一部のビットについて、当該ビットを反転させることにより前記変更する。
請求項3記載の発明における前記送信デバイスは、前記変更したメッセージを暗号化して、前記メッセージとする。
請求項4記載の発明における前記送信デバイスと前記受信デバイスとは、前記生成演算の対象範囲に含まれる情報のうち前記変更される部分である変更予定部分を示す情報を共有する
請求項に記載の発明によれば、送信デバイスは、生成演算して得られる値とメッセージに付加された誤り検出符号が示す値とが不一致になるように、生成演算の対象範囲に含まれる情報の少なくとも一部を変更するかまたは前記生成演算して得られる値とは異なる値を前記誤り検出符号として付加して、そのメッセージを生成し、受信デバイスは、受信したメッセージについて、生成演算して得られる値と付加された誤り検出符号が示す値とが一致する場合に、異常を検出することにより、より簡便な構成により、ネットワークにおける不正な状態を検出する通信システムを提供することができる。
第1の実施形態の通信システム1の構成を示す図である。 本実施形態のECU10の構成例を示す図である。 本実施形態のECU10がバス2に送信するフレームFの形式例である。 本実施形態の通信システムにおける送受信処理のデータフローを示す図である。 本実施形態の通信システムにおける送信処理の手順を示すフローチャートである。 本実施形態の通信システムにおける受信処理の手順を示すフローチャートである。 本実施形態の第3変形例の受信処理の手順を示すフローチャートである。 第2の実施形態の通信システムにおける送受信処理のデータフローを示す図(その1)である。 本実施形態の通信システムにおける送受信処理のデータフローを示す図(その2)である。 本実施形態の通信システムにおける送信処理の手順を示すフローチャートである。 本実施形態の通信システムにおける受信処理の手順を示すフローチャートである。
以下、図面を参照し、本発明の通信システムの実施形態について説明する。
(第1の実施形態)
図1は、本実施形態の通信システム1の構成を示す図である。通信システム1は、例えば車両に搭載される。通信システム1は、少なくとも車両内にネットワークNWを構成する。ネットワークNWでは、例えば、バス2を介してCAN(Controller Area Network)に基づく通信が行われる。
通信システム1は、バス2に接続されたECU10−1からECU10−3を備える。以下、ECU10−1からECU10−3を区別しない場合は、単にECU10と表記する。ECU10−1からECU10−3等の装置は、共通のバス2に接続されたものとして説明するが、不図示の中継装置等により互いに通信可能に接続された異なるバスに接続されていてもよい。
ECU10は、例えばエンジンを制御するエンジンECUや、シートベルトを制御するシートベルトECU等である。ECU10は、自装置が所属するネットワークNWに送信されたフレームを受信する。以下、ネットワークNWに送信される各フレームのことをフレームFという。フレームFは、それぞれに附された識別子(以下、IDという。)により識別される。ECU10は、自ECU10に係るフレームFを識別するID(以下、登録IDという)を記憶部20(図2)に格納しておく。ECU10は、フレームFを受信する際には、受信したフレームFに附されたID(以下、受信IDという)を参照して、登録IDと同じ値の受信IDが附されたフレームFを抽出して取得する。
ネットワークNWには、検証装置等の外部装置50が接続されるDLC3が設けられている。DLC3は、外部装置50と通信するための接続端子を有している。車両の点検時等にDLC3に接続される検証装置等は、バス2に接続されたECU10と通信して、通信システム1の状態を検査・検証する。車両の点検時等を除けば、DLC3に検証装置等を接続することなく、通信システム1を機能させることができる。
図2は、ECU10の構成例を示す図である。ECU10は、例えば、記憶部20と、制御部30と、CANコントローラ36と、CANトランシーバ38とを備える。制御部30は、例えば、CPU(Central Processing Unit)等のプロセッサを有する。
記憶部20は、例えば、ROM(Read Only Memory)、EEPROM(Electrically Erasable and Programmable Read Only Memory)、HDD(Hard Disk Drive)等の不揮発性の記憶装置と、RAM(Random Access Memory)、レジスタ等の揮発性の記憶装置によって実現される。記憶部20は、アプリケーションプログラム22や、通信制御プログラム24等のプログラムと、上記のプログラムが参照する各種情報を格納する。また、記憶部20は、送信バッファとして機能するTXD1記憶領域261とTXD2記憶領域262と、受信バッファとして機能するRXD記憶領域263とを含む一時記憶領域26を有する。また、記憶部20は、各種情報として、例えばネットワークNWを介して送受信するフレームFのIDが格納されたIDテーブルを記憶する。例えば、フレームFのIDは、送信元、宛先、フレームFの種類等を示す情報を含む。より具体的には、IDテーブルには、ECU10−1が受信すべきフレームFのIDとECU10−1が送信すべきフレームFのIDとが含まれる。
アプリケーションプログラム22は、ECU10にそれぞれ割り当てられた情報処理を行うためのプログラムである。通信制御プログラム24は、アプリケーションプログラム22からの指示に応じてCANコントローラ36を制御して通信処理を実施させるとともに、CANコントローラ36を介した通信に係る通信処理の結果を管理情報として取得するためのプログラムである。通信制御プログラム24は、CANコントローラ36自身が実行する制御プログラムを含めて構成してもよく、或いは、CANコントローラ36自身が実行する制御プログラムをCANコントローラ36が有する場合には、CANコントローラ36自身が実行する制御プログラムを含まずに構成してもよい。以下の説明では、通信制御プログラム24は、CANコントローラ36の制御プログラムを含めて構成した場合を例示する。
制御部30は、中央制御部32と、通信制御部34と、監視制御部35とを備える。中央制御部32は、アプリケーションプログラム22を実行することにより機能し、ECU10に与えられた制御を実行する。
通信制御部34は、通信制御プログラム24を実行することにより機能し、中央制御部32からの制御を受けECU10の通信処理を実行する。
例えば、通信制御部34は、送信時には、記憶部20の送信バッファに格納されたユーザデータを、CANトランシーバ38を介して送信する。その際、通信制御部34は、自ECU10が送信するものであることを示すIDを、CANトランシーバ38によって生成されるフレームFに付与して送信するようにCANトランシーバ38を制御する。ユーザデータを送信する際に実施する処理の詳細については、後述する。
また、通信制御部34は、受信時には、CANトランシーバ38を介して受信されたフレームFの受信IDとIDテーブルに格納された登録IDとを参照し、受信されたフレームFに関して自装置の中央制御部32が使用する情報が含まれたフレームFであるか否かを判定する。例えば、ECU10−1のIDテーブルに格納された登録IDには、ECU10−1が受信すべきフレームFのID(登録受信ID)とECU10−1が送信すべきフレームFのID(登録送信ID)とが含まれる。通信制御部34は、上記の判定を実施する際に、例えば、IDテーブルにおける登録受信IDを利用する。
通信制御部34は、自ECU10が使用する情報がフレームFに含まれる場合、フレームFに含まれた情報を取得し、記憶部20の一時記憶領域26に格納する。一方、通信制御部34は、自ECU10が使用する情報がフレームFに含まれていない場合、例えば、フレームFに含まれた情報を破棄するように制御する。
CANトランシーバ38を介して受信されたフレームFには、送信側のECU10からの通信メッセージが含まれる場合がある。通信制御部34は、フレームFに対する誤り検出の結果を通して、通信システム1における不正な状態が生じていることを検出する。通信システム1における不正な状態の検出方法の詳細については後述する。
監視制御部35は、通信制御部34によって上記の不正な状態が生じていることが検出された場合、ECU10におけるフェイルセーフ処理を実施するように制御する。ECU10におけるフェイルセーフ処理とは、不正な状態を検知したECU10が車両の走行等に対する影響を低減させて、車両の制御状態を安全な状態を維持するために実施する処理のことである。
ECU10におけるフェイルセーフ処理として、例えば、監視制御部35は、通信制御部34が不正な状態を検出したとき以降の少なくとも一定時間の間においては、少なくとも新たにフレームFを受信しないように制御する。通信制御部34が受信しないようにするフレームFは、上記の不正な状態が生じたことを検出したフレームFに附されていた送信元を示すIDが附されたフレームFに限定してもよい。上記のように、ECU10は、フェイルセーフ処理により、受信するフレームFを制限することで、不正な状態を発生させた可能性が有る不正な装置や故障したECU10からの情報の受信を制限できる。なお、通信制御部34が上記の不正な状態を検出する処理の詳細については、後述する。
通信制御部34は、CANコントローラ36にCANトランシーバ38からフレームFを送信させる。
CANコントローラ36は、CANトランシーバ38を介して、バス2との間で種々のフレームFを送受信する。また、CANコントローラ36は、CANトランシーバ38からフレームFを受信する際には、CANトランシーバ38から供給される受信信号からフレームFを抽出して、抽出したフレームFを一時記憶領域26の受信バッファに格納する。CANコントローラ36は、フレームFにおける誤り検出処理を実行する誤り検出処理部361を含む。誤り検出処理部は、フレームFを送信する際には、フレームFの一部に含めて送信する所定の誤り検出符号を生成する。誤り検出処理部は、フレームFを受信する際には、フレームFの一部に含まれた誤り検出情報の検出の結果を出力する。
CANトランシーバ38は、フレームFを送信する送信部、またはフレームFを受信する受信部として機能する。CANトランシーバ38は、バス2にフレームFを送信する際には、CANコントローラ36から取得した送信信号の論理状態に応じた差動電圧を生成してバス2に出力する。また、CANトランシーバ38は、バス2からフレームFを取得する際には、バス2の差動電圧から所定の電圧範囲に含まれるように整形した受信信号を生成して、CANコントローラ36に送信する。CANコントローラ36は、CANトランシーバ38から出力される信号からフレームFを抽出して記憶部20に格納する。
以上に示すように、各ECU10は、上記の通信処理に関する共通の構成を有する。
図3は、ECU10がバス2に送信するフレームFの形式例である。図3(a)に、1回の送信において送信されるフレームFを示す。フレームFは、フレームFの開始を表すスタートオブフレーム(SOF)、フレームFのID及びフレームFとリモートフレームを識別するためのリモートトランスミッションリクエスト(RTR)を含むアービトレーションフィールド、フレームFのバイト数等を表すコントロールフィールド、転送するフレームFの実体であるデータフィールド、フレームFの誤りを検出するための誤り検出符号(CRC)を付加するCRCフィールド、正しいフレームFを受信したユニットからの通知(ACK)を受けるACKスロット及びACKデリミタ、フレームFの終了を表すエンドオブフレーム(EOF)等を含む。
ECU10は、フレームFのデータフィールド内の所定の位置にユーザデータを割り付けて通信する。ECU10は、ユーザデータの他に、ユーザデータの誤りを検査するための誤り検査用情報等を含めて、データフィールドに割り付けてもよい。ユーザデータの誤りを検査するための誤り検査用情報等には、例えば、単一のフレームF内のユーザデータまたは複数のフレームFを纏めたユーザデータの誤りを検査するための誤り検査用情報等を含めてもよい。ユーザデータに基づいて生成される誤り検査符号は、誤り検査用情報の一例である。
図3(b)に、誤り検査用情報をデータフィールドに割り付けた一例を示す。誤り検査用情報は、例えば、SUM値(check sum)、パリティ、CRC(Cyclic Redundancy Check)等の誤り検出符号により構成される。
なお、ユーザデータと誤り検査用情報とを、データフィールド内に割り付ける位置は任意であり、例えば、予め決定されているものとする。以下の説明において、ユーザデータと、上記の誤り検査用情報とを割り付けたフレームFを通信メッセージという。なお、フレームFに割り付けられたユーザデータには、その一部又は全部のビットの論理が反転されたものも含まれる。
図4から図6を参照して、通信システムにおける不正な状態の検出処理について説明する。図4から図6に示す処理は、本実施形態におけるネットワークNWにおいて特段の不正な行為(不正行為ともいう。)が実施されない場合を示し、送信側の装置と受信側の装置が連携して機能することを示すものである。なお、ネットワークNWにおいて不正行為が実施されている場合には、受信側の装置が、その行為に対する検出処理を実施することになる。
図4は、通信システムにおける送受信処理のデータフローを示す図であり、図5は、通信システムにおける送信処理の手順を示すフローチャートである。図6Aと図6Bは、通信システムにおける受信処理の手順を示すフローチャートである。以下の説明においてECU10−1を送信側の装置(送信デバイス)とし、ECU10−2を受信側の装置(受信デバイス)とする場合を例示して説明する。なお、図6Bについては後述する。
(データの送信)
通信システム1は、ECU10間で誤り検出符号を用いて通信を実施して、受信した通信メッセージについて誤り検出符号を用いて検証する。その対象とする通信は、通信システム1における一部又は全部のECU10間で実施されるものとする。通信システム1は、ユーザデータ(以下、送信データTXD1という。)に基づいて誤り検出符号(以下、ECC1という。)を算出するための生成演算式(以下、生成演算式1という。)は、予め定められており、ECC1を用いて通信するECU10間で予め共有される。例えば、ECU10−1とECU10−2とにおけるCANコントローラ36は、生成演算式1による演算を可能とする。生成演算式1の対象とするデータは、送信データTXD1を含む。例えば、生成演算式1は、SUM値、パリティ、CRCなどを算出するものであってもよい。
例えば、生成演算式1として、SUM値、パリティ、CRCなどを生成する式を適用するならば、生成されるECC1のデータ量は、演算の対象のデータ量(例えば、送信データTXD)に依存しない固定長にすることができ、更に演算の対象のデータ量よりも少ないデータ量にできる。例えば、送信データTXDとして、逐次大きさが変化する制御量等を含む指令値、又は、送信時の時刻を示す時刻情報を含まれるように構成することにより、生成されるECC1は遂次変化するものになる。上記の時刻情報は、送信データTXD1に含まれるデータの検出時刻、それを送信する送信時刻、送信に関連する処理の完了時刻など、送信データの送信に関する処理に伴う時刻とする。このようなECC1は、送信データTXD1に基づいた擬似乱数とみなすことができる。
以下、図5を参照し、ECU10−1が通信メッセージをECU10−2宛に送信する際の手順を順に説明する。
まず、ECU10−1の制御部30は、通信メッセージの基となる送信データTXD1を生成し(Sa12)、一時記憶領域26内のTXD1記憶領域261に格納する。
次に、ECU10−1のCANコントローラ36は、TXD1記憶領域261に格納された送信データTXD1に基づいて、生成演算式1に基づいた生成演算の実施によりECC1を算出する(Sa14)。この生成演算式1は、受信した通信メッセージの信ぴょう性を検証するための情報に利用する。
次に、ECU10−1の制御部30(通信制御部34)は、送信データTXD1に対し、所定のビットパターンで指定されるビットの論理を反転して、その結果の送信データTXD2を得て(Sa16)、一時記憶領域26内のTXD2記憶領域262に格納する。例えば、所定のビットパターンによって、対象とするビットの位置が決定される。対象とするビットは、生成演算式1の対象範囲内の任意の位置の少なくとも1ビットが含まれていればよい。なお、送信データTXD2は、送信データTXD1と同様にECC1に対応付けられるものになる。
次に、ECU10−1のCANコントローラ36は、TXD2記憶領域262に格納された送信データTXD2とECC1を、フレームF内の所定の位置に格納して送信する(Sa18)。なお、フレームF内の所定の位置は、ECU10−1とECU10−2で予め共有されるものである。通信システム1におけるフレームF内の所定の位置として、送信データTXD2とECC1を、例えば、フレームFのデータフィールド内に設けてもよい。ECU10−1は、送信データTXD2とECC1の対応関係を保持して、共通するフレームFに割り付けて送信する。
(データの受信)
以下、図6Aを参照し、ECU10−2が通信メッセージを受信する際の手順を順に説明する。
ECU10−2は、フレームFを受信して、受信したフレームF(受信フレーム)から、受信データRXDとECC1を抽出する(Sa32)。例えば、ECU10−2のCANトランシーバ38は、受信データRXDとECC1を抽出し、記憶部20のRXD記憶領域263に書き込む。
次に、ECU10−2は、受信データRXDに対して、上記の生成演算式1を用いてRXD_ECC1を算出する(Sa34)。RXD_ECC1は、送信側で算出されたECC1と同じ長さの固定長のデータである。例えば、ECU10−2のCANトランシーバ38は、受信データRXDに基づいてRXD_ECC1を算出する。
次に、ECU10−2の制御部30は、算出したRXD_ECC1と、受信フレームから抽出したECC1とを比較する(Sa36)。
比較の結果、一致していなかった場合、ECU10−2の制御部30は、受信フレームに異常がないと判定し(Sa42)、受信データRXDに基づいた受信処理を実施する(Sa44)。
一方、比較の結果、一致した場合、ECU10−2の制御部30は、受信フレームに異常があると判定し(Sa46)、判定の結果に基づいて異常状態を通知する(Sa48)。
上記の手順に従う処理を実施することにより、ECU10−2は、受信フレームから、ネットワークにおける不正な状態の有無を検出する。
上記の第1の実施形態によれば、ECU10−1は、ECC1(誤り検出符号)を付加した通信メッセージを送信する。ECU10−2は、受信した通信メッセージに含まれる情報であって誤り検出符号(RXD_ECC1)の生成演算の対象範囲の情報をもとに、生成演算して得られるRXD_ECC1の値と、付加されたECC1が示す値との比較によって、異常を検出する。このようなECU10−1は、RXD_ECC1とECC1が示す値が不一致になるように、生成演算の対象範囲に含まれる情報の少なくとも一部を変更して、通信メッセージを生成する。ECU10−2は、受信した通信メッセージについて、RXD_ECC1とECC1が示す値が一致する場合に、異常を検出する。
通信システム1は、通信メッセージを選択して受信するが、上記の検出方法を採ることにより、自ECU10が送信する際に用いるIDを含む通信メッセージ、つまり自ECU10が送信した通信メッセージ等を受信する必要はなく、受信する通信メッセージの個数の増大を招くことはない。これにより、通信システム1は、ネットワークにおける不正な状態を検出するための処理を煩雑にすることなく、より簡便な構成により、ネットワークNWにおける不正な状態を検出することができる。
また、ECU10−1は、生成演算の対象範囲に含まれる情報であって、生成演算に用いられる情報を示すビット列のうち少なくとも一部のビットについて、当該ビットを反転させることにより、RXD_ECC1とECC1が示す値が不一致になるように変更してもよい。
(第1の実施形態の第1変形例)
第1の実施形態の第1変形例について説明する。第1の実施形態では、送信データTXD1において、所定のビットパターンで指定されたビットの論理を反転して送信データTXD2を得るものとして説明したが、これに代えて、本変形例では送信データTXD1において論理の反転を実施するビットは、検証用のビットとして利用可能な送信データTXD1内の未使用ビット又は未定義ビットを利用してもよい。ECC1の生成演算において、バイト単位で処理をする場合、送信データTXD1がバイトの整数倍ではなかったり、送信データTXD1のビット列の途中に未使用ビット又は未定義ビットが発生したりすることがある。上記の本変形例によれば、このような未使用ビット又は未定義ビットを利用することにより、送信データTXD1のデータ量を増やすことなく、実施形態と同様の効果を奏することができ、更に、送信データTXD1として有意なデータの論理に影響することなく、上記のビットの反転を利用することができる。
(第1の実施形態の第2変形例)
第1の実施形態の第2変形例について説明する。第1の実施形態では、送信データTXD2とECC1を、フレームFのデータフィールド内の所定の位置に格納する場合について説明したが、これに代えて、本変形例ではフレームFのデータフィールド以外にECC1を割り付ける場合を例示する。
例えば、ECU10−1は、送信データTXD2をフレームFのデータフィールド内に、ECC1をフレームFのCRCフィールド内にそれぞれ割り付ける。この場合、ECC1は、CAN仕様のCRCを算出する生成演算式1により算出される。上記の本変形例によれば、第1の実施形態と同様の効果を奏する他に、フレームFのデータフィールド内で伝送可能なデータ量が、本変形例の方が多くなる。
(第1の実施形態の第3変形例)
第1の実施形態の第3の変形例について説明する。第1の実施形態では、ECU10−2は、受信した通信メッセージについて、生成演算して得られるRXD_ECC1の値と、ECU10−2によって付加された誤り検出符号(ECC1)が示す値とが一致する場合に、異常を検出することとした。本変形例のECU10−2はこれに加えて、前記生成演算して得られるRXD ECC1の値と前記付加された誤り検出符号(ECC1)が示す値とが、送信デバイス(ECU10−1)による変更操作の影響を超えて異なる場合にも、異常を検出する。ここで、「送信デバイスによる変更操作」とは、送信デバイス(ECU10−1)が、受信デバイスによりRXDから生成演算して得られるRXD ECC1の値と付加された誤り検出符号(ECC1)が示す値とが不一致になるように行う操作であって、生成演算の対象範囲に含まれる情報の少なくとも一部を変更する操作または生成演算して得られるRXD ECC1の値とは異なる値を誤り検出符号(ECC1)として付加する操作のことをいう。
例えば、ECU10−1が、生成演算の対象範囲(TXD1)に含まれる情報の少なくとも一部を変更しTXD2を生成する操作を、図4と図5に示すSa16における処理において、上記の変更操作として行う場合について説明する。ECU10−1とECU10−2とは、予め、生成演算の対象範囲(TXD1)に含まれる情報のうち、Sa16の処理により変更される部分(変更予定部分)を示す情報を共有している。例えば、変更予定部分を示す情報は、当該部分の位置を示す情報や当該部分を特定可能な識別情報であってもよい。図6Bに示すように、前述の図6Aと同様に処理を進め、ECU10−2は、受信したメッセージ(フレームF)から生成演算して得られるRXD ECC1の値と、受信フレームから抽出したECC1とを比較する(Sa36)。
図6Bに示す本変形例においては、上記Sa36における比較の結果、一致していなかった場合に、ECU10−2の制御部30は、その不一致が、生成演算の対象範囲に含まれる情報のどの部分が変更されたことに基づくものかを推定し(Sa411)、変更された部分(変更部分)を特定する(Sa412)。ECU10−2の制御部30は、特定した変更部分と、予め共有されたルールで定められた変更予定部分とが異なるか否かを判定する(Sa413)。
次に、Sa413において一致すると判定した場合、ECU10−2の制御部30は、受信フレームに異常がないと判定し(Sa42)、受信データRXDに基づいた受信処理を実施する(Sa44)。
一方、Sa36における比較の結果、一致した場合、又は、Sa413において異なると判定した場合に、ECU10−2の制御部30は、受信フレームに異常があることを検出し(Sa46)、異常状態を通知する(Sa48)。
上記のように、ECU10−1が、受信データRXDに基づいて生成演算して得られるRXD ECC1の値と、それに付加されていたECC1Aが示す値とが、送信デバイス(ECU10−1)による変更操作の影響を超えて異なる場合に、ECU10−2は、通信による異常を検出することができる。
(第1の実施形態の第4変形例)
第1の実施形態の第4変形例について説明する。第1の実施形態では、ECU10−1は、RXD_ECC1とECC1が示す値が不一致になるように、生成演算の対象範囲に含まれる情報の少なくとも一部を変更して、通信メッセージを生成するものとして説明した。本変形例のECU10−1は、これに代えて、RXD_ECC1とECC1が示す値が不一致になるように、RXD_ECC1として得られる値とは異なる値をECC1として付加して、通信メッセージを生成するものを例示する。
例えば、ECU10−1が、RXD_ECC1として得られる値とは異なる値の誤り検出符号を付加した通信メッセージを送信した場合について説明する。その場合の一例として、ECU10−1が、送信データTXD1から生成されたECC1を付加して通信メッセージを送信する前に、送信データTXD1から生成されたECC1と異なる値のECC1A(誤り検出符号)に変更して、ECC1としてECC1Aを付加した通信メッセージを送信する場合などが挙げられる。この場合、ECU10−2は、RXD_ECC1とECC1が示す値が不一致になることに変わりはない。
上記の変形例によれば、ECU10−1が、RXD_ECC1として得られる値とは異なる値の誤り検出符号を付加した通信メッセージを送信する場合においても、第1の実施形態と同様の効果を奏するものになる。
さらに、本変形例のECU10−2は、これに加えて、受信データRXDに基づいて生成演算して得られるRXD ECC1の値と、それに付加されていた誤り検出符号(ECC1)が示す値とが、送信デバイス(ECU10−1)による変更操作の影響を超えて異なる場合にも、異常を検出するようにしてもよい。例えば、ECU10−1が、生成演算して得られるRXD ECC1の値とは異なる値のECC1Aを誤り検出符号として付加する操作を、変更操作として行う場合について説明する。ECU10−1とECU10−2とは、予め、どの値をどの値に置き換えて誤り検出符号に付加するのかを共有している。受信デバイス(ECU10−2)は、受信したメッセージから生成演算して得られるRXD ECC1の値と付加された誤り検出符号(ECC1A)が示す値とが不一致の場合に、その不一致が、その誤り検出符号(ECC1A)がどの値から置き換えられたことに基づくものかを推定する。受信デバイス(ECU10−2)は、当該推定によって特定した変換前値と、予め共有されたルールから定められる変換前値とが異なっている場合に、通信の異常を検出する。
(第2の実施形態)
第2の実施形態について説明する。第1の実施形態では、送信データTXD2とECC1を、フレームF内に格納して送信する場合について説明したが、これに代えて、本変形例では、ECU10−1が送信データTXD2とECC1を秘匿して送信する場合を例示する。以下、相違点を中心に説明する。
第1の実施形態の構成では、ECU10−1は、送信データTXD2とECC1とを暗号化することなく、そのままフレームFに割り付けて送信しており、上記の位置の情報を有する受信モジュールは、送信された通信メッセージを傍受することが可能である。
第1の実施形態の構成において、送信データTXD2とECC1をフレームFに割り付ける位置の情報を秘匿することで、その位置の情報を有していない受信デバイス(受信装置)は、受信フレームから受信データRXD2とECC2とを抽出することができないようにすることができる。このように、第1の実施形態の構成では、位置の情報が公開されないという条件付きで、送信データTXD2とECC1を秘匿することが可能である。
そこで、本実施形態では、図7から図10に示すように、送信データTXD2とECC1とがフレームFに割り付けられる位置の情報を有しているだけでは傍受することができないように構成する。つまり、送信モジュールが送信データTXD2とECC1とを秘匿して送信するように構成し、とその処理について説明する。図7から図9に示す処理は、本実施形態におけるネットワークNWにおいて特段の不正な行為(不正行為ともいう。)が実施されない場合を示すものである。
図7と図8は、通信システムにおける送受信処理のデータフローを示す図であり、図9は、通信システムにおける送信処理の手順を示すフローチャートである。図10は、通信システムにおける受信処理の手順を示すフローチャートである。以下の説明においてECU10−1が送信データTXD2とECC1を秘匿して送信する暗号化手法を例示する。
(第1の手法)送信データTXD2とECC1とを纏めて暗号化する。
送信データTXD2とECC1とを纏めて暗号化することで、暗号化せずに送信される情報が無くなるため、秘匿性を確保できる。
(第2の手法)送信データTXD2を暗号化し、ECC1は暗号化しない。
送信データTXD2のみを暗号化することで秘匿性を確保する。ECC1は暗号化せずに送信されるが、ECC1の情報から送信データTXD1も送信データTXD2も生成することができない。送信データTXD2の秘匿性が確保されれば、送信データTXD1とECC1のデータの組としての秘匿性も確保できる。
上記のとおり、本実施形態の通信システム1では、少なくとも送信データTXD2を暗号化することで、送信データTXD2とECC1のデータの組としての秘匿性を確保する。暗号化の具体的な方法としては、既知の暗号化手法の何れかを利用することができる。以下、第1の手法を例示して、その詳細を説明する。
(公開鍵の通知)
本実施形態におけるECU10−1の監視制御部35は、暗号化時に用いる秘密鍵と対になる公開鍵を生成する。ECU10−1の監視制御部35は、ECU10−2宛に、受信データRXDに対する認証処理に用いる公開鍵を通知する。ECU10−2は、受信データRXDに対する認証処理に用いる公開鍵を受信して保持する。
(データの送信)
まず、ECU10−1の制御部30は、通信メッセージの基となる送信データTXD1を生成する(Sa12)。
次に、ECU10−1の制御部30は、送信データTXD1に基づいて、生成演算式1に基づいた生成演算の実施によりECC1を算出する(Sa14)。
次に、ECU10−1の制御部30は、送信データTXD1に対し、所定のビットパターンで指定されたビットの論理を反転して送信データTXD2を得る(Sa16)。
次に、ECU10−1の監視制御部35は、秘密鍵を用いて、送信データTXD2とECC1の組に対する暗号化処理を実施する(Sa20)。
次に、ECU10−1の監視制御部35は、暗号化処理された送信データTXD2とECC1の組を、フレームFのデータフィールド内の所定の位置に格納して、送信する(Sa22)。
(データの受信)
次に、ECU10−2のCANコントローラ36は、フレームFを受信して、受信したフレーム(受信フレーム)から、暗号化処理された送信データTXD2とECC1の組を抽出する(Sa30)。
次に、ECU10−2の監視制御部35は、公開鍵を用いて、抽出した送信データTXD2とECC1の組に対する復号化処理を実施して、受信データRXDとECC1を取得する(Sa32A)。
ECU10−2の監視制御部35は、受信データRXDに対して、上記の生成演算式1を用いてRXD_ECC1を算出する(Sa34)。Sa36以降の処理は、第1の実施形態と同様である。
上記の実施形態によれば、第1の実施形態と同様の効果を奏するものであるのに加えて、ECU10−1は、特定のビットの論理を変更した通信メッセージを暗号化して、ECU10−2宛に送信する通信メッセージとすることにより、ECU10間の通信を秘匿することができる。
上記の各変形例によれば、様々な構成や方式のネットワークNWを用いた場合においても、上記の実施形態と同様の効果を奏することができる。上記の実施形態では、通信プロトコルの一例としてCANを例示して説明したが、例えば、LAN(Local Area Network)等で利用されるEthernet(登録商標)を通信プロトコルと利用する場合にも適用することができる。この場合、例えば、EthernetのMAC(media access control)フレームを上記のフレームFとし、MACフレームのペイロードに、上記の送信データTXD2を割り当てて、MACフレームのCRCに上記のECC1を割り当ててもよい。
以上説明した少なくともひとつの実施形態によれば、通信システム1は、誤り検出符号(ECC1)を付加した通信メッセージを送信する送信デバイス(ECU10−1)と、受信した通信メッセージに含まれる情報であって誤り検出符号の生成演算の対象範囲の情報(送信データTXD1)をもとに生成演算して得られる値(RXD_ECC1)と、前記付加された誤り検出符号が示す値(ECC1)との比較によって、異常を検出する受信デバイス(ECU10−2)とを備える。送信デバイスは、前記生成演算して得られる値と前記付加された誤り検出符号が示す値とが不一致になるように、前記生成演算の対象範囲に含まれる情報の少なくとも一部を変更して、通信メッセージを生成する。前記受信デバイスは、受信した通信メッセージについて、前記生成演算して得られる値と前記付加された誤り検出符号が示す値とが一致する場合に、異常を検出することにより、より簡便な構成により、ネットワークにおける不正な状態を検出することができる。
以上、本発明を実施するための形態について実施形態を用いて説明したが、本発明はこうした実施形態に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
1‥通信システム、2…バス、3…DLC、10…ECU、10−1…ECU(送信デバイス)、10−2…ECU(受信デバイス)、10−3…ECU、20…記憶部、30…制御部、50…外部装置。

Claims (4)

  1. 誤り検出符号を付加したメッセージを送信する送信デバイスと、
    受信した前記メッセージに含まれる情報であって前記誤り検出符号の生成演算の対象範囲の情報をもとに前記生成演算して得られる値と、前記付加された誤り検出符号が示す値との比較によって、異常を検出する受信デバイスと
    を備える通信システムであって、
    前記送信デバイスは、
    前記生成演算して得られる値と前記付加された誤り検出符号が示す値とが不一致になるように、前記生成演算の対象範囲に含まれる情報であって制御量を含む指令値の情報を変更して、前記メッセージを生成し、
    前記受信デバイスは、受信したメッセージについて、前記生成演算して得られる値と前記付加された誤り検出符号が示す値とが一致する場合に、異常を検出する、
    通信システム。
  2. 前記送信デバイスは、
    前記生成演算の対象範囲に含まれる情報であって、前記生成演算に用いられる情報を示すビット列のうち少なくとも一部のビットについて、当該ビットを反転させることにより前記変更する、
    請求項1記載の通信システム。
  3. 前記送信デバイスは、
    前記変更したメッセージを暗号化して、前記メッセージとする
    請求項1又は請求項2記載の通信システム。
  4. 前記送信デバイスと前記受信デバイスとは、
    前記生成演算の対象範囲に含まれる情報のうち前記変更される部分である変更予定部分を示す情報を共有する
    請求項1から請求項3のいずれか1項記載の通信システム。
JP2016114829A 2016-06-08 2016-06-08 通信システム Expired - Fee Related JP6541004B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016114829A JP6541004B2 (ja) 2016-06-08 2016-06-08 通信システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016114829A JP6541004B2 (ja) 2016-06-08 2016-06-08 通信システム

Publications (2)

Publication Number Publication Date
JP2017220836A JP2017220836A (ja) 2017-12-14
JP6541004B2 true JP6541004B2 (ja) 2019-07-10

Family

ID=60656268

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016114829A Expired - Fee Related JP6541004B2 (ja) 2016-06-08 2016-06-08 通信システム

Country Status (1)

Country Link
JP (1) JP6541004B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102019213783A1 (de) * 2019-09-11 2021-03-11 Robert Bosch Gmbh Teilnehmerstation für ein serielles Bussystem und Verfahren zur Kommunikation in einem seriellen Bussystem

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FI90385C (fi) * 1992-03-11 1994-01-25 Salon Televisiotehdas Oy Salattujen dataviestien tunnistus yksisuuntaisessa monipisteverkossa
JP2007318247A (ja) * 2006-05-23 2007-12-06 Allied Telesis Holdings Kk バス型ネットワークにおける利用者制限方法および利用者制限装置、ならびにバス型ネットワークシステム

Also Published As

Publication number Publication date
JP2017220836A (ja) 2017-12-14

Similar Documents

Publication Publication Date Title
US11134100B2 (en) Network device and network system
KR101704569B1 (ko) 시동 기반 동적 차량 보안 통신 제어 방법 및 그를 위한 장치 및 시스템
JP6267596B2 (ja) 通信システム、通信制御装置及び不正情報送信防止方法
US9252945B2 (en) Method for recognizing a manipulation of a sensor and/or sensor data of the sensor
US10382196B2 (en) System and method for secure communications based on locally stored values
US8577036B2 (en) Method and device for transmitting messages in real time
US10425231B2 (en) Information processing apparatus and method for authenticating message
WO2016204081A1 (ja) 車載中継装置、車載通信システム及び中継プログラム
US20190123908A1 (en) Arithmetic Device, Authentication System, and Authentication Method
US20200117814A1 (en) Semiconductor device and control method
EP3565176A1 (en) Data transfer system and transfer method
JP2017121091A (ja) Ecu、及び車用ネットワーク装置
CN108352991B (zh) 信息处理装置以及不正当消息检测方法
JP6541004B2 (ja) 通信システム
JP6348150B2 (ja) 通信システム、通信制御装置及び不正情報送信防止方法
KR101224383B1 (ko) 디바이스들 사이에서의 보안 통신 방법
JP2020137009A (ja) ネットワークシステム
JP6919430B2 (ja) ネットワークシステム
JP6913482B2 (ja) ネットワークシステム
JP2021141567A (ja) 情報処理装置、プログラム更新方法、及びデータ送信方法
Piao et al. Research of FlexRay Network Security based on Star Topology
Lakshmi et al. Secure Communication between Arduinos using Controller Area Network (CAN) Bus
XUE A Novel Approach for Flexray Protocol with Confidentiality and Authenticity
JP2023519910A (ja) 特に自動車におけるデータの異常を処理するための方法
KR102073552B1 (ko) 근거리 통신에 있어 암호화가 필요한 데이터 패킷의 생성방법 및 장치

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180313

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180427

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180911

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20181005

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20181112

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190107

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190514

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190529

R150 Certificate of patent or registration of utility model

Ref document number: 6541004

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees