JP2021010123A - 情報処理装置、情報処理方法及びプログラム - Google Patents

情報処理装置、情報処理方法及びプログラム Download PDF

Info

Publication number
JP2021010123A
JP2021010123A JP2019123432A JP2019123432A JP2021010123A JP 2021010123 A JP2021010123 A JP 2021010123A JP 2019123432 A JP2019123432 A JP 2019123432A JP 2019123432 A JP2019123432 A JP 2019123432A JP 2021010123 A JP2021010123 A JP 2021010123A
Authority
JP
Japan
Prior art keywords
retransmission
condition
data
information processing
command
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
Application number
JP2019123432A
Other languages
English (en)
Inventor
攻 石井
Osamu Ishii
攻 石井
横田 薫
Kaoru Yokota
薫 横田
崇之 藤井
Takayuki Fujii
崇之 藤井
章人 竹内
Akito Takeuchi
章人 竹内
中野 稔久
Toshihisa Nakano
稔久 中野
崇郎 仁平
Takaro Nihei
崇郎 仁平
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.)
Panasonic Intellectual Property Management Co Ltd
Original Assignee
Panasonic Intellectual Property Management 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 Panasonic Intellectual Property Management Co Ltd filed Critical Panasonic Intellectual Property Management Co Ltd
Priority to JP2019123432A priority Critical patent/JP2021010123A/ja
Publication of JP2021010123A publication Critical patent/JP2021010123A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Small-Scale Networks (AREA)

Abstract

【課題】不正CANコマンドの連続注入等の攻撃を受けた場合でもモビリティネットワークの本来機能を維持することができる情報処理装置を提供する。【解決手段】情報処理装置100は、ネットワークへのデータの送信を制御する送信制御部104と、データの送信エラーが発生した場合におけるデータの再送に関する条件を生成する条件生成部103と、を備え、送信制御部104は、条件生成部103によって生成された条件に基づいて、データの再送を制御する。【選択図】図1

Description

本開示は、車載ネットワークに対するCAN経由の攻撃へ対抗する情報処理装置、情報処理方法、及びプログラムに関するものである。
近年、自動車には、電子制御ユニット(ECU:Electronic Contorol Unit)と呼ばれる装置が多数配置されている。これらのECUによって構成されたネットワークは車載ネットワークと呼ばれ、自動車の制御を司っている。最も主流な車載ネットワークとしてISO11898−1で規定されているCAN(Controller Area Network)規格が挙げられる。
CANでは、CANバスと呼ばれる2本のワイヤで構成された通信路に複数のECUが接続された構成となっている。バスに接続されたECUはCANコマンドと呼ばれるメッセージを送受信する。CANコマンドを送信するECUはCANバスの2本のワイヤに電圧をかけ、ワイヤ間の電位差を発生させることで、レセシブと呼ばれる「1」の値とドミナントと呼ばれる「0」の値を送信する。複数のECUが全く同一のタイミングでレセシブとドミナントを送信した場合は、ドミナントが優先されて送信される。
また、CANでは、送信先や送信元を指す識別子は存在せず、送信するECUはコマンドごとにIDを付けてCANバス上に送信し、受信ECUはあらかじめ定められたIDのコマンドのみを受信する。
また、CANではコマンドの送信に失敗した場合に、当該コマンドのエラーを検知する。例えば、送信ECUは自身が送信するコマンドとCANバス上のコマンドに相違が見られる場合に、これをエラーとして検知する。送信エラーが検知された場合、送信ECUは送信エラーのカウンタを増加させたのち、コマンドの再送を行う。しかし、送信エラーのカウンタが一定の数まで上昇すると、コマンドの送信までに一定時間待機をさせられたり、CANバスへのアクセスを遮断する(以下、バスオフと称する)等の制限が課される。
これに対して、例えば、特許文献1には、送信エラーの回数あるいは継続時間に第1閾値を設け、第1閾値を越えた時に当該通信周期における再送処理を禁止する手段と、優先順位の高いコマンドについては第2閾値を第1閾値より高く設定する手段によって、送信エラーに起因するCANバスの帯域圧迫を防止すると共に、可能な限り必要なデータの送信を行うための技術が開示されている。
特開2012−204936号公報
しかしながら、CAN規格や特許文献1に記載の技術では、再送禁止条件の閾値が固定的に設定されており、セキュリティ上の対策が十分でなく、送信エラーが発生した場合における、当該コマンドの再送処理のタイミングが類推しやすい。そのため、標的となるECUがCANコマンドを再送するタイミングに合わせて、当該コマンドと同一のIDの不正CANコマンドを連続注入するような攻撃を繰り返しうけた場合、標的のECUのエラーカウンタが一方的に増加することで例えばバスオフの状態となり、ECUの機能が正常であるにもかかわらず、CANバスに対してコマンドが送信できなくなるおそれがある。
そこで、本開示は、不正CANコマンドの連続注入によって正常なECUの挙動を阻害するような攻撃を抑制しつつ、モビリティネットワークの本来機能を維持することができる情報処理装置、情報処理方法、及びプログラムを提供することを目的とする。
本開示の一態様に係る情報処理装置は、ネットワークへのデータの送信を制御する送信制御部と、前記データの送信エラーが発生した場合における前記データの再送に関する条件を生成する条件生成部と、を備え、前記送信制御部は、前記条件生成部によって生成された条件に基づいて、前記データの再送を制御する。
また、本開示の一態様に係る情報処理方法は、ネットワークにデータを送信し、前記データの送信エラーが発生した場合における前記データの再送に関する条件を生成し、生成された条件に基づいて、前記データの再送を制御する。
また、本開示の一態様に係るプログラムは、ネットワークにデータを送信し、前記データの送信エラーが発生した場合における前記データの再送に関する条件を生成し、生成された条件に基づいて、前記データの再送を制御することをコンピュータに実行させる。
本開示によれば、不正なCANコマンドの注入による、ネットワークシステムにおける情報処理装置の機能不全を抑制し、製品の安全性を向上させることができる。
実施の形態に係る情報処理システムの構成の一例を示す図である。 CANプロトコルで規定されるデータフォーマットを示す図である。 実施の形態に係る情報処理装置の機能的な構成の一例を示す図である。 実施の形態に係るCANコマンドのリストの一例を示す図である。 実施の形態に係るCANコマンドのリストの一例を示す図である。 実施の形態に係るCANコマンドのリストの一例を示す図である。 実施の形態に係る再送回数上限値を記憶するテーブルの一例を示す図である。 実施の形態に係る情報処理装置の動作の一例を示すフローチャートである。 実施の形態に係る情報処理装置の動作の一例を示すフローチャートである。 実施の形態に係る情報処理装置の動作の一例を示すフローチャートである。
[実施の形態1]
実施の形態1に係る情報処理装置100を説明する。以下の実施の形態では、情報処理装置100は、車両に搭載されたネットワーク内のデータを監視するとして説明する。なお、情報処理装置100が監視する対象は、車載ネットワークに限定されず、いかなる機器に搭載されたネットワークであってもよい。
[1−1.情報処理システム1の構成]
実施の形態1に係る情報処理システム1の構成を説明する。図1は、実施の形態1に係る情報処理システム1の構成の一例を示すブロック図である。情報処理システム1は、ネットワーク10と、ネットワーク10に接続される複数の情報処理装置100とを備える。情報処理システム1の例は、モビリティネットワークシステムである。また、ネットワーク10の例は、CANバスである。
情報処理装置100は、図示しない車両内の各デバイスの動作を制御する。情報処理装置100の例は、ECU(電子制御ユニット:Electronic Control Unit)である。情報処理装置100の制御対象の例は、車両の駆動装置、車両の付属装置、及び車両に搭載される外部インターフェースである。駆動装置の例は、イグニッション装置、各種メータ、トランスミッション、ABS(Antilock Brake System)、エンジン及び駐車支援装置等であるが、これらに限定されない。付属装置の例は、電動ミラー、エアコンディショナ、車載カメラ、ドアのロック装置及びパワーウィンドウ等であるが、これらに限定されない。外部インターフェースの例は、タッチパネルなどのディスプレイを備え且つユーザからの入力を受け付けるヘッドユニット、車両の自己診断結果を出力するOBD(On-Board Diagnostic)ユニット、通信モジュール、ナビゲーションシステム等であるが、これらに限定されない。
ネットワーク10には、複数の情報処理装置100が接続されている。ネットワーク10は、複数の情報処理装置100間を接続する。本実施の形態では、ネットワーク10は、一例として、複数の情報処理装置100の2つの装置間を1対1で接続するものではなく、ネットワーク10に出力された信号が、ネットワーク10に接続された全ての装置に受信されるバス型ネットワークであるとする。例えば、図1において、1つの情報処理装置100が、ネットワーク10に信号を送信したとき、ネットワーク10に接続されている全ての他の情報処理装置は当該信号を受信可能である。ネットワーク10の一例は、CAN(Control Area Network)であってもよい。本実施の形態では、バス型のネットワーク10(以下、CANバスとも称す)において、各情報処理装置100は、所定の周期で信号をネットワーク10に出力することができる。周期の例は、20ms(ミリ秒)であってもよい。
情報処理装置100からネットワーク10に出力される信号、つまりデータは、メッセージあるいはCANコマンドとも呼ばれる。データは、識別情報であるID(以下、「データID」あるいは「CAN ID」とも称す)と、指令内容を含むペイロードとを含む。データIDには、データの送信先が予め設定されている。情報処理装置100は、取得したデータのデータIDを確認することによって、当該データが当該情報処理装置100宛てであることを認識し、ペイロードに含まれる指令を実行する。
データは、CANコマンドとも呼ばれる。車載ネットワークシステムである情報処理システム1においては、情報処理装置100は、CANコマンドを送受信することで、様々な機能を実現できる。例えば、先進運転者支援システム(ADAS)の一機能である駐車支援機能、車線維持支援機能、衝突回避支援機能などは、ステアリング、アクセル、ブレーキなどのアクチュエータが電子制御化され、車載ネットワークを流れるCANコマンドによりその制御が行われる。
また、各情報処理装置100はCAN規格に基づいてエラー検知を実施する。ある情報処理装置100がCANコマンドを送信中にエラーを検知した場合、CANバスにエラーフレームを送信し、当該CANコマンドの再送信を試みることができる。これらの一連の動作は当該CANコマンドが正常に送信されるか、送信によるエラーが一定回数検知されるまで繰り返されてもよい。
[1−2.データフレームフォーマット]
以下、CANプロトコルに従ったネットワークで用いられるフレームの1つであるデータフレームについて説明する。
図2は、CANプロトコルで規定されるデータフォーマットを示す図である。図2は、標準IDフォーマットのデータフレームを示している。データフレームは、SOF(Start Of Frame)、IDフィールド、RTR(Remote Transmission Request)、IDE(Identifier Extension)、予約ビット「r」、DLC(Data Length Code)、データフィールド、CRC(Cyclic Redundancy Check)シーケンス、CRCデリミタ「DEL」、ACK(Acknowledgement)スロット、ACKデリミタ「DEL」、及び、EOF(End Of Frame)の各フィールドで構成される。
IDフィールドは、11bitで構成される、データの種類を示す値であるID(CAN IDとも称する)を格納するフィールドである。複数のノードが同時に送信を開始した場合、このIDフィールドで通信調停を行うために、IDが小さい値を持つフレームが高い優先度となるよう設計されている。
データフィールドは、最大64bitで構成され、データを格納するフィールドである。CANコマンドを送信する各ECUは、ネットワーク10の仕様として予め定められた種類のデータをデータフィールドに格納し、その種類のデータに対応して予め定められたCAN IDをIDフィールドに格納することでデータフレームを構築して送信することになる。車両メーカ等により、ネットワーク10の仕様として、CANコマンドに用いられるCAN IDと、対応するデータの構成等とが、予め定められている。
[1−3.情報処理装置100の構成]
図3は、実施の形態1に係る情報処理装置100の機能的な構成の一例を示す図である。図3に示すように、情報処理装置100は、通信部101と、記憶部102と、条件生成部103と、送信制御部104と、を備えている。
情報処理装置100は、具体的には図示されていないマイクロプロセッサ及びメモリ等のデジタル回路、アナログ回路及び通信回路等を含む装置である。メモリは、RAM(Random Access Memory)、ROM(Read Only Memory)、ハードディスク、又はSSD(Solid State Drive)などから構成される。記憶部102は当該メモリにより実現できる。また、当該メモリには、コンピュータプログラムが記憶されており、前記マイクロプロセッサが前記プログラムに従って動作することにより、情報処理装置100はその機能を果たす。
なお、情報処理装置100の通信部101、記憶部102、条件生成部103、送信制御部104等の各機能ブロックは、典型的には集積回路であるLSIによって実現されてもよい。これらは個別に1チップ化されてもよいし、1以上の手段、又は各手段の一部を含むように1チップ化されてもよい。
ここでは、LSIとしたが、集積度の違いにより、IC、システムLSI、スーパーLSI、ウルトラLSIと呼称されることもある。
また、集積回路化の手法はLSIに限るものではなく、専用回路又は汎用プロセサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。
さらには、半導体技術の進歩又は派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適用等が可能性としてありえる。
なお、各機能ブロックは、ソフトウェアで実現されてもよいし、LSIとソフトウェアの組み合わせで実現されてもよい。また、ソフトウェアは耐タンパ化されていてもよい。また、プログラムは、予めROMに格納されていてもよく、アプリケーションとして、インターネット等の通信網を介した通信、モバイル通信規格による通信、その他の無線ネットワーク、有線ネットワーク、又は放送等で提供されROMに格納されてもよい。
通信部101は、CANバスに流れるCANコマンドを受信する。また通信部101は、CANバスに対してCANコマンドを送信する。
記憶部102は、種々の情報の格納及び取り出しを可能にする。上述のとおり、記憶部102は、例えば、ROM、RAM、フラッシュメモリなどの半導体メモリ、ハードディスクドライブ、又はSSD等の記憶装置によって実現される。記憶部102は、後述する条件生成部103等の情報処理装置100の各構成要素から出力されるデータやネットワーク10に接続された他の情報処理装置から取得した情報等を格納する。また、記憶部102は、情報処理装置100の各構成要素を動作させるためのプログラムを格納してもよい。
例えば、記憶部102は、再送の中止に関して、CANコマンドごとに設定された再送可能な回数の範囲のリストを記憶している。図4は、実施の形態1に係るCANコマンドのリストの一例を示す図である。図4に示すリストには、CANコマンドごとの再送中止までに再送可能な回数の範囲が定められている。図4に示す例では、記憶部102は、各CANコマンドを識別するCANIDに対応付けて送信周期および再送可能な回数の範囲を記憶する。例えば、CAN IDが「0x001」のCANコマンドについては、当該コマンドの送信周期は10msで、再送可能な回数の範囲は1〜15回までである。また、例えば、CAN IDが「0x002」のCANコマンドについては、当該コマンドの送信周期は100msで、再送可能な回数の範囲は1〜8回までである。
また、例えば、記憶部102は、再送の中止に関して、CANコマンドごとに設定された再送開始してから再送可能な経過時間の範囲のリストを記憶している。図5は、実施の形態1に係るCANコマンドのリストの一例を示す図である。図5に示すリストには、CANコマンドごとの再送中止までに再送可能な経過時間の範囲が定められている。図5に示す例では、記憶部102は、各CANコマンドを識別するCAN IDに対応付けて送信周期および再送可能な経過時間の範囲を記憶する。例えば、CAN IDが「0x001」のCANコマンドについては、当該コマンドの送信周期は10msで、再送開始からの再送可能な経過時間の範囲は1〜100msまでである。また、例えば、CAN IDが「0x002」のCANコマンドについては、当該コマンドの送信周期は100msで、再送開始からの再送可能な経過時間の範囲は1〜500msまでである。
また、例えば、記憶部102は、再送の中断に関して、CANコマンドごとに設定された再送可能な回数の範囲および再送再開までの待機時間の範囲のリストを記憶している。図6は、実施の形態1に係るCANコマンドのリストの一例を示す図である。図6に示すリストには、CANコマンドごとの再送開始から再送中断までに再送可能な回数および再送中断から再開までの待機時間の範囲が定められている。図6に示す例では、記憶部102は、各CANコマンドを識別するCANIDに対応付けて送信周期、再送開始から再送中断までに再送可能な回数の範囲および再送中断から再開までの待機時間の範囲を記憶する。例えば、CAN IDが「0x001」のCANコマンドについては、当該コマンドの送信周期は10msで、再送中断までに再送可能な回数の範囲は1〜8回までであり、再送中断から再開までの待機時間の範囲は100〜900msである。
なお、後述のとおり、CANコマンドが再送される場合には条件生成部103において再送に関する条件が生成される。再送に関する条件の一例として、再送開始から再送中止や再送中断までの再送の上限回数や経過時間、あるいは再送中断から再開までの待機時間等が含まれるが、これらの上限回数や経過時間あるいは待機時間は、例えば、図4〜6に示す再送可能な回数や経過時間の範囲内で決定されてもよい。
そして、記憶部102は、条件生成部103により生成された再送の上限回数等の再送に関する条件をCANIDに対応付けて図7に示すようなテーブルに記憶してもよい。さらに、記憶部102は、CANコマンドが再送された場合、再送された回数をCANIDに対応付けて図7に示すようなテーブルに記憶してもよい。図7は、実施の形態1に係る再送回数上限値を記憶するテーブルの一例を示す図である。図7に示す例では、再送中止までの再送回数上限値と再送済み回数とがメモリ上のテーブルに記憶される。なお、これはあくまで一例であって、再送回数上限値および再送済み回数を必ずしもテーブルの形式で記憶する必要はなく、読み出し可能な状態でメモリ上に記憶されていればよい。
条件生成部103は、通信部101から送信されたCANコマンドについて送信エラーが発生した場合、CANコマンドの再送に関する条件を生成する。条件生成部103は、CANコマンドの再送に関する条件として、例えば、CANコマンドの再送の中止に関する条件を生成する。CANコマンドの再送の中止に関する条件としては、例えば、CANコマンドの再送開始から再送の中止までの再送回数の上限値や、CANコマンドの再送を開始してから再送を繰り返す経過時間の上限値などが含まれる。なお、CANコマンドの再送の中止は、換言すれば、CANコマンドを破棄することに相当する。
条件生成部103は、CANコマンドの再送の中止に関する条件として、CANコマンドの再送中止までの再送回数の上限値(以下、再送中止までの再送回数上限値と呼ぶ場合がある)を決定する場合、例えば、図4に示す再送可能な回数の範囲の中から、任意の乱数生成アルゴリズム等を用いてランダムに決定してもよい。また、生成した乱数そのものを再送回数上限値として用いる構成に限定されず、生成された乱数に対応する再送回数上限値が予めテーブル等に記憶されており、それを用いるような構成であってもよい。
なお、条件生成部103が再送中止までの再送回数上限値を決定する構成としては、上述した乱数生成関数を用いてランダムに決定する構成に限定されず、独自に設定したアルゴリズムに基づいて決定してもよい。例えば、時刻を入力すると整数値を算出するような関数をあらかじめ用意しておき、算出された整数値を再送回数の上限値としてもよい。また、あるいは、算出した整数値に対応付けてテーブル等に記憶されている再送回数上限値を用いる構成であってもよい。すなわち、再送回数が固定されないように、送信エラーが発生して再送処理が必要になる都度、再送回数上限値を設定し直すことができさえすればよい。
この点、より詳細に説明すれば以下のとおりである。まず、攻撃者は、不正なCANコマンドをネットワークに注入する。すると、不正なCANコマンドと同一のIDのCANコマンドについてエラーが発生する。そして、そのIDのCANコマンドを送信する情報処理装置は、CANコマンドの再送を開始する。ここで、通常は再送回数が固定的に設定されているので、攻撃者にとっては再送回数を推測するのが容易である。そして、一度、攻撃者が再送回数を特定できてしまうと、情報処理装置の再送のタイミングに合わせて、固定的に設定されている再送回数分、再送を繰り返すことができる。これにより、情報処理装置による全ての再送処理がエラーとなり、情報処理装置は最終的に通信バスから切り離されてバスオフ状態に陥ってしまう。本実施の形態では、このような状態に陥らせることを狙った攻撃をバスオフ攻撃と称する場合がある。
これに対して、本実施の形態に係る情報処理装置100では、エラーが発生して再送処理が必要になった場合、条件生成部103が再送に関する条件を生成するので、攻撃者はデータ再送の回数を推測することが困難になる。つまり、情報処理装置100が再送を停止(中断や中止等)しても攻撃者は不正なCANコマンドの再送を続ける。これにより、情報処理装置100は、攻撃者によるCANコマンドの送信を検知できるため、情報処理装置100の故障等による送信エラーと区別することができる。したがって、情報処理装置100を通信バスから切り離す必要がなくなるため、情報処理装置100がバスオフ状態に陥ることがなくなり、バスオフ攻撃を受けた場合であってもモビリティネットワークの本来機能を維持することができるようになる。
また、条件生成部103は、CANコマンドの再送の中止に関する条件として、CANコマンドの再送を開始してから再送を繰り返す経過時間の上限値(以下、再送中止までの経過時間上限値と呼ぶ場合がある)を決定する場合、例えば、図3に示す再送可能な回数の範囲と同様、記憶部102において再送開始から再送中止までに再送可能な経過時間の範囲がCANIDに対応付けて記憶されており、その範囲の中から、乱数生成関数を用いてランダムに決定してもよい。なお、条件生成部103が再送中止までの経過時間上限値を決定する構成としては、上述した再送回数上限値の例と同様、上述した乱数生成関数を用いてランダムに決定する構成に限定されず、独自に設定したアルゴリズムに基づいて決定してもよい。
また、条件生成部103は、CANコマンドの再送に関する条件として、例えば、CANコマンドの再送の中断に関する条件を生成する。CANコマンドの再送の中断に関する条件としては、例えば、CANコマンドの再送開始から再送の中断までの再送回数の上限値や、CANコマンドの再送を開始してから再送を繰り返す経過時間の上限値などが含まれる。
条件生成部103は、CANコマンドの再送の中断に関する条件として、CANコマンドの再送の中断までの再送回数の上限値(以下、再送中断までの再送回数上限値と呼ぶ場合がある)を決定する場合、例えば、図3に示す再送可能な回数の範囲の中から、乱数生成関数を用いてランダムに決定してもよい。
なお、条件生成部103が再送中断までの再送回数上限値を決定する構成としては、上述した乱数生成関数を用いてランダムに決定する構成に限定されず、独自に設定したアルゴリズムに基づいて決定してもよく、上述のとおり、特に限定されない。
条件生成部103は、CANコマンドの再送の中断に関する条件として、CANコマンドの再送を開始してから再送を繰り返す経過時間の上限値(以下、再送中断までの経過時間上限値と呼ぶ場合がある)を決定する場合、例えば、図3に示す再送可能な回数の範囲と同様、記憶部102において再送中断までに再送可能な経過時間の範囲がCANIDに対応付けて記憶されており、その範囲の中から、乱数生成関数を用いてランダムに決定してもよい。
なお、条件生成部103が再送中断までの経過時間上限値を決定する構成としては、上述した乱数生成関数を用いてランダムに決定する構成に限定されず、独自に設定したアルゴリズムに基づいて決定してもよく、上述のとおり、特に限定されない。
また、条件生成部103は、CANコマンドの中断に関する条件を生成する場合、CANコマンドの再送の再開に関する条件を生成する。CANコマンドの再送の再開に関する条件としては、例えば、CANコマンドの再送を中断してから再開するまでの待機時間などが含まれる。
条件生成部103は、CANコマンドの再送の再開に関する条件として、CANコマンドの再送を中断してから再開するまでの待機時間を決定する場合、例えば、図3に示す再送可能な回数の範囲と同様、記憶部102において待機時間の範囲がCANIDに対応付けて記憶されており、その範囲の中から、乱数生成関数を用いてランダムに決定してもよい。
なお、条件生成部103がCANコマンドの再送を中断してから再開するまでの待機時間を決定する構成としては、上述した乱数生成関数を用いてランダムに決定する構成に限定されず、独自に設定したアルゴリズムに基づいて決定してもよく、上述のとおり、特に限定されない。
そして、上述のとおり、条件生成部103が再送に関する条件を生成すると、生成された再送に関する条件は、記憶部102においてCANIDに対応づけて記憶される。
送信制御部104は、通信部101からCANバスへのCANコマンドの送信を制御する。
また、送信制御部104は、通信部101から送信されたCANコマンドについて送信エラーが発生した場合、通信部101からCANバスへのCANコマンドの再送を制御する。
上述のとおり、通信部101から送信されたCANコマンドについて送信エラーが発生した場合、条件生成部103は、CANコマンドの再送に関する条件を生成する。送信制御部104は、条件生成部103において生成された再送に関する条件に基づいて、CANコマンドの再送を制御する。
例えば、条件生成部103において生成された条件が再送の中止に関する条件の場合、送信制御部104は、生成された再送の中止に関する条件が充足されるまで、再送処理を繰り返し実行する。
より具体的には、再送の中止に関する条件として、再送中止までの再送回数の上限値が生成された場合、送信制御部104は、再送回数をカウントし、再送中止までの再送回数の上限値に達したか否かを判定する。そして、判定の結果、実行した再送処理の回数が、再送中止までの再送回数の上限値に達した場合、送信制御部104は、再送処理の実行を中止する。
あるいは、再送の中止に関する条件として、再送中止までに再送可能な経過時間の上限値が生成された場合、送信制御部104は、再送開始からの経過時間をカウントし、再送中止までの経過時間の上限値に達したか否かを判定する。そして、判定の結果、再送開始からの経過時間が、再送中止までの経過時間の上限値に達した場合、送信制御部104は、再送処理の実行を中止する。
なお、送信制御部104は、任意のタイミングからの経過時間を実測値として計測するクロック機能を有していてもよい。これにより、送信制御部104は、再送開始からの経過時間をカウントすることができる。
また、例えば、条件生成部103において生成された条件が再送の中断に関する条件の場合、送信制御部104は、生成された再送の中断に関する条件が充足されるまで、再送処理を繰り返し実行する。
より具体的には、再送の中断に関する条件として、再送中断までの再送回数の上限値が生成された場合、送信制御部104は、再送回数をカウントし、再送中断までの再送回数の上限値に達したか否かを判定する。そして、判定の結果、実行した再送処理の回数が、再送中断までの再送回数の上限値に達した場合、送信制御部104は、再送処理の実行を中断する。
あるいは、再送の中断に関する条件として、再送中断までに再送可能な経過時間の上限値が生成された場合、送信制御部104は、再送開始からの経過時間をカウントし、再送中断までの経過時間の上限値に達したか否かを判定する。そして、判定の結果、再送開始からの経過時間が、再送中断までの経過時間の上限値に達した場合、送信制御部104は、再送処理の実行を中断する。
さらに、再送の中断の場合、条件生成部103において再送の再開に関する条件が生成され、送信制御部104は、再送の再開に関する条件が充足されるまで待機する。そして、再送の再開に関する条件が充足された場合、送信制御部104は、再送処理の実行を再開する。
より具体的には、再送の再開の条件として、条件生成部103により再送を中断する待機時間が生成されて記憶部102に設定された場合、送信制御部104は、再送が中断されてからの経過時間をカウントし、記憶部102に設定された待機時間に達したか否かを判定する。そして、判定の結果、再送が中断されてからの経過時間が、設定された待機時間に達した場合、送信制御部104は、再送処理の実行を再開する。
[1−4.情報処理装置100の動作]
次に、情報処理装置100の動作の詳細について図8〜図10を用いて説明する。図8は、実施の形態に係る情報処理装置100の動作の一例を示すフローチャートである。図8のフローチャートは、送信エラーの状況に応じて再送を中止(CANメッセージを破棄)する構成の処理の流れを示している。
まず、情報処理装置100は、通信部101を介してネットワーク10にCANコマンドを送信する(ステップS101)。
次に、情報処理装置100は、ステップS101で送信したCANコマンドの送信に関し、エラーが検知されたか否かを判定する(ステップS102)。情報処理装置100は、エラーが検知されたか否かについて、例えば所定の時間内(例えばCANコマンドの送信周期の時間内)にエラーメッセージを受信したことによって判定することができる。
情報処理装置100は、エラーが検知されなかったと判定した場合(ステップS102でNo)、データの再送に関する処理は行わない。この場合、CANコマンドの送信は成功し、1周期分のCANコマンドの送信が正常に完了したことになる。
情報処理装置100は、エラーが検知されたと判定した場合(ステップS102でYes)、CANコマンドの再送の中止に関する条件を決定する(ステップS103)。ステップS103では、例えば、条件生成部103が、再送の中止に関する条件として、再送中止までの再送回数上限値を決定し、記憶部102に再送回数の上限値を記憶させる。
条件生成部103は、例えば、上述したとおり、再送中止までの再送回数の上限値を、図4に示すCANコマンドごとの再送中止までに再送可能な回数の範囲の中から、乱数生成関数等を用いてランダムに決定する。なお、この処理フローはあくまで一例であって、例えば、再送中止条件として、再送を開始してから再送を中止するまでに繰り返す経過時間の上限値を決定する構成であってもよい。
次に、情報処理装置100は、通信部101を介してネットワーク10にCANコマンドを再送信する(ステップS104)。ステップS104では、例えば、送信制御部104が、CANコマンドの再送処理を制御する。
次に、情報処理装置100は、ステップS104で再送信したCANコマンドの送信に関し、ステップS102と同様にして、エラーが検知されたか否かを判定する(ステップS105)。情報処理装置100は、エラーが検知されない場合(ステップS105においてNo)、カウンタをリセットし(ステップS109)、再送処理を終了する。
情報処理装置100は、エラーが検知された場合(ステップS105においてYes)、カウンタを1増加させる(ステップS106)。ステップS106では、より具体的には、例えば、送信制御部104が、再送回数をカウントするためのカウンタを1つ増加させ、現時点での再送回数を記憶部102に記憶させる。なお、再送中止条件として、再送を開始してから再送を中止するまでの経過時間の上限値を設定した場合には、クロック機能により再送を開始してからの経過時間を計時する。
次に、情報処理装置100は、再送の中止に関する条件が充足されたか否かを判定する(ステップS107)。ステップS107では、例えば、送信制御部104が、条件生成部103により生成された再送中止までの再送回数上限値を記憶部102から読み出し、カウンタによってカウントされている現時点での再送回数と比較することによって、再送の中止に関する条件が充足されたか否かを判定することができる。なお、再送中止条件として、再送を開始してから再送を中止するまでの経過時間の上限値を設定した場合には、設定された経過時間の上限値と、クロック機能により計時している再送を開始してからの経過時間とを比較して、再送の中止に関する条件が充足されたか否かを判定することができる。
情報処理装置100は、再送中止に関する条件が充足されない場合(ステップS107でNo)、ステップS104に戻って、CANコマンドを再送信する。すなわち、再送信に関するエラーが検知され続け、かつ再送中止に関する条件が充足されない間は、情報処理装置100は、ステップS104〜S107の処理を繰り返すことになる。
一方、情報処理装置100は、再送中止に関する条件が充足された場合(ステップS107でYes)、CANコマンドを破棄する(ステップS108)。より詳細には、送信制御部104は、カウンタによるカウント数が条件生成部103により生成された再送回数上限値を超えた場合、再送中止に関する条件が充足されたと判断し、CANコマンドの再送処理の実行を中止する。
そして、情報処理装置100は、送信制御部104がカウンタをリセットし(ステップS109)、CANコマンドの送信処理を終了する。
図9は、実施の形態に係る情報処理装置100の動作の一例を示すフローチャートである。図9のフローチャートは、送信エラーの状況に応じて再送を中断した後、再送を再開する構成の処理の流れを示している。
まず、情報処理装置100は、通信部101を介してネットワーク10にCANコマンドを送信する(ステップS201)。
次に、情報処理装置100は、ステップS201で送信したCANコマンドの送信に関し、エラーが検知されたか否かを判定する(ステップS202)。情報処理装置100は、エラーが検知されたか否かについて、例えば所定の時間内(例えばCANコマンドの送信周期の時間内)にエラーメッセージを受信したことによって判定することができる。
情報処理装置100は、エラーが検知されなかったと判定した場合(ステップS202でNo)、データの再送に関する処理は行わない。この場合、CANコマンドの送信は成功し、1周期分のCANコマンドの送信が正常に完了したことになる。
情報処理装置100は、エラーが検知されたと判定した場合(ステップS202でYes)、CANコマンドの再送の中断に関する条件を決定する(ステップS203)。ステップS203では、例えば、条件生成部103が、再送の中断に関する条件として、上述した再送中断までの再送回数上限値を決定し、記憶部102に再送回数の上限値を記憶させる。なお、この処理フローはあくまで一例であって、例えば再送を開始してから中断するまでに再送を繰り返す経過時間の上限値を決定する構成であってもよい。
次に、情報処理装置100は、CANコマンドの再送の再開に関する条件を決定する(ステップS204)。ステップS204では、例えば、条件生成部103が、再送の再開に関する条件として、再送中断から再送再開までの待機時間を決定し、記憶部102に待機時間を記憶させる。
次に、情報処理装置100は、通信部101を介してネットワーク10にCANコマンドを再送信する(ステップS205)。ステップS205では、例えば、送信制御部104が、CANコマンドの再送処理を制御する。
次に、情報処理装置100は、ステップS205で再送信したCANコマンドの送信に関し、ステップS202と同様にして、エラーが検知されたか否かを判定する(ステップS206)。情報処理装置100は、エラーが検知されない場合(ステップS206においてNo)、カウンタをリセットし(ステップS212)、再送処理を終了する。
情報処理装置100は、エラーが検知された場合(ステップS206においてYes)、カウンタを1増加させる(ステップS207)。ステップS207では、より具体的には、例えば、送信制御部104が、再送回数をカウントするためのカウンタを1つ増加させ、現時点での再送回数を記憶部102に記憶させる。なお、再送中断条件として、再送を開始してから再送を中断するまでの経過時間の上限値を設定した場合には、クロック機能により再送を開始してからの経過時間を計時する。
次に、情報処理装置100は、再送の中断に関する条件が充足されたか否かを判定する(ステップS208)。ステップS208では、例えば、送信制御部104が、条件生成部103により生成された再送中断までの再送回数上限値を記憶部102から読み出し、カウンタによってカウントされている現時点での再送回数と比較することによって、再送の中断に関する条件が充足されたか否かを判定することができる。なお、再送中断条件として、再送を開始してから中断するまでの経過時間の上限値を設定した場合には、設定された経過時間の上限値と、クロック機能により計時している再送を開始してからの経過時間とを比較して、再送の中断に関する条件が充足されたか否かを判定することができる。
情報処理装置100は、再送中断に関する条件が充足されない場合(ステップS208でNo)、ステップS205に戻って、CANコマンドを再送信する。すなわち、再送信に関するエラーが検知され続け、かつ再送中断に関する条件が充足されない間は、情報処理装置100は、ステップS205〜S208の処理を繰り返すことになる。
一方、情報処理装置100は、再送中断に関する条件が充足された場合(ステップS208でYes)、CANコマンドの再送を中断する(ステップS209)。より詳細には、送信制御部104は、カウンタによるカウント数が条件生成部103により生成された再送回数上限値を超えた場合、再送中断に関する条件が充足されたと判断し、CANコマンドの再送処理の実行を中断する。
次に、情報処理装置100は、CANコマンドの再送を待機する(ステップS210)。ステップS210では、より詳細には、送信制御部104は、CANコマンドを破棄することなく、一時的にCANコマンドの送信を停止する。
次に、情報処理装置100は、CANコマンドの再送の再開に関する条件を充足したか否かを判定する(ステップS211)。ステップS211では、例えば、送信制御部104が、条件生成部103により生成された再送再開までの待機時間を記憶部102から読み出し、クロックによって計時されている再送の中断から現時点までの経過時間と比較することによって、再送の再開に関する条件が充足されたか否かを判定することができる。
再送の再開に関する条件が充足されない場合(ステップS211でNo)、情報処理装置100は、再度、CANコマンドの再送を待機する(ステップS210)。再送の再開に関する条件が充足された場合(ステップS211でYes)、情報処理装置100は、ステップS203に戻ってCANコマンドの再送の中断に関する条件を生成し、ステップS204に進んでCANコマンドの再送の再開に関する条件を生成する。そして、情報処理装置100は、ステップS205に進んでCANコマンドの再送処理を実行する。CANコマンドの再送処理の実行後は、情報処理装置100は、送信エラーの状況に応じて処理フローを進め、各ステップにおいて上述の各処理を行う。
図10は、実施の形態に係る情報処理装置100の動作の一例を示すフローチャートである。図10のフローチャートは、再送の中止(コマンドの破棄)に関する条件と再送の中断および再開に関する条件とを用いて再送制御を行う構成における処理の流れを示している。図10のフローチャートの各ステップにおける個別の処理に関しては、図8および図9を用いて説明した各ステップの処理と同様であるため、詳細な説明は省略する。
まず、情報処理装置100は、通信部101を介してネットワーク10にCANコマンドを送信する(ステップS301)。
次に、情報処理装置100は、ステップS301で送信したCANコマンドの送信に関し、エラーが検知されたか否かを判定する(ステップS302)。情報処理装置100は、エラーが検知されなかったと判定した場合(ステップS302でNo)、データの再送に関する処理は行わない。この場合、CANコマンドの送信は成功し、1周期分のCANコマンドの送信が正常に完了したことになる。
情報処理装置100は、エラーが検知されたと判定した場合(ステップS302でYes)、CANコマンドの再送の中止に関する条件を生成する(ステップS303)。次に、情報処理装置100は、CANコマンドの再送の中断に関する条件を生成する(ステップS303)。次に、情報処理装置100は、CANコマンドの再送の中断に関する条件を生成する(ステップS304)。次に、情報処理装置100は、CANコマンドの再送の再開に関する条件を生成する(ステップS305)。そして、情報処理装置100は、CANコマンドを再送信する(ステップS306)。
次に、情報処理装置100は、CANコマンドの再送信に関してエラーが検知されたか否かを判定する(ステップS307)。エラーが検知されない場合(ステップS307においてNo)、情報処理装置100は、カウンタをリセットし(ステップS315)、再送処理を終了する。エラーが検知された場合(ステップS307においてYes)、情報処理装置100は、再送回数をカウントするカウンタを1増加する(ステップS308)。
次に、情報処理装置100は、再送の中断に関する条件を充足しているか否かを判定する(ステップS309)。再送の中断に関する条件を充足していない場合(ステップS309でNo)、情報処理装置100は、ステップS306に戻ってCANコマンドを再送信する。再送の中断に関する条件を充足している場合(ステップS309でYes)、情報処理装置100は、再送の中止(コマンドの破棄)に関する条件を充足しているか否かを判定する(ステップS310)。
再送の中止(コマンドの破棄)に関する条件を充足している場合(ステップS310でYes)、情報処理装置100は、CANコマンドを破棄する(ステップS314)。そして、情報処理装置100は、再送回数をカウントするカウンタをリセットし(ステップS315)、再送処理を終了する。
一方、再送の中止(コマンドの破棄)に関する条件を充足していない場合(ステップS310でNo)、情報処理装置100は、再送処理を中断する(ステップS311)。次に、情報処理装置100は、CANコマンドの再送を待機する(ステップS312)。次に、情報処理装置100は、再送の再開に関する条件を充足しているか否かを判定する(ステップS313)。
再送の再開に関する条件を充足していない場合(ステップS313でNo)、情報処理装置100は、ステップS312に戻って、CANコマンドの再送を待機する。一方、再送の再開に関する条件を充足している場合(ステップS313でYes)、情報処理装置100は、ステップS304に戻って、再送の中断に関する条件を生成する。その後、情報処理装置100は、上述した処理フローと同様にして、ステップS304以降の処理を実行する。
[まとめ]
以上、説明したように、本実施の形態に係る情報処理装置100は、ネットワークへのデータの送信を制御する送信制御部104と、データの送信エラーが発生した場合におけるデータの再送に関する条件を生成する条件生成部103と、を備え、送信制御部104は、条件生成部103によって生成された条件に基づいて、データの再送を制御する。
上記の態様によれば、例えばCANコマンドなどのデータの送信エラーが発生した場合、送信制御部104がデータの再送を行う際、条件生成部103がデータの再送に関する条件を生成し、送信制御部104は、生成された条件に基づいてデータの再送を制御する。
このため、再送の回数や期間は一定ではなく、再送の都度、異なることになるため、例えば、悪意のある第三者が不正なCANコマンドの連続注入によりバスオフ攻撃等を仕掛けようとしても、CANコマンドの再送のタイミングを類推することが困難となる。
したがって、本実施形態に係る情報処理装置100によれば、例えば、悪意のある第三者が不正なCANコマンドをCANバス上へ連続注入して正常な情報処理装置100をバスオフさせることを狙った攻撃を行おうとしても、情報処理装置100によるCANコマンドの再送のタイミングを類推することができない。
これにより、情報処理装置100は、バスオフ攻撃等を受けた場合に機能不全に陥ることが抑制されるため、モビリティネットワークシステムの本来機能を維持し続けることができ、モビリティの安全性を向上させることが可能となる。
また、本実施の形態に係る情報処理装置100では、条件生成部103は、データの再送の中止に関する条件を生成してもよい。
上記の態様によれば、情報処理装置100は、データの再送の中止に関する条件、すなわち、例えばCANコマンド等、ネットワークへ送出されるデータを破棄する条件を生成する。
これにより、情報処理装置100が攻撃を受けた場合、生成された条件に従ってデータの再送が中止されることでバスオフを回避することができるため、必ずしもデータの再送が必要ではないような状況においてはネットワークシステムの本来機能を維持し続けることができる。
また、本実施の形態に係る情報処理装置100では、条件生成部103は、データの再送の中止に関する条件として、データの再送回数の上限値もしくは再送を繰り返す時間の上限値の少なくとも1つを生成してもよい。
また、本実施の形態に係る情報処理装置100では、送信制御部104は、データの再送の中止に関する条件が充足された場合、データを破棄してもよい。
また、本実施の形態に係る情報処理装置100では、条件生成部103は、データの再送の中断に関する条件を生成してもよい。
上記の態様によれば、情報処理装置100は、データの再送の中断に関する条件、すなわち、例えばCANコマンド等、ネットワークへのデータ送信を一時的に停止するための条件を生成する。
これにより、情報処理装置100が攻撃を受けた場合、生成された条件に従ってデータの再送が中断されることでバスオフを回避することができ、ネットワークシステムの本来機能を維持し続けることができる。
また、本実施の形態に係る情報処理装置100では、条件生成部103は、データの再送の中断に関する条件を生成する場合、データの再送の再開に関する条件を生成してもよい。
上記の態様によれば、情報処理装置100は、データ再送を中断した場合に、データ再送を再開する条件に基づいてデータの再送を再開できる。
これにより、情報処理装置100が攻撃を受けた場合、一旦再送が中断されることでバスオフ攻撃を回避しつつ、生成された条件に従ってデータの再送が再開されるため、安定してネットワークシステムの本来機能を維持し続けることができる。
また、本実施の形態に係る情報処理装置100では、条件生成部103は、データの再送の中断に関する条件として、データの再送の中断までの再送回数もしくは再送を繰り返す時間の少なくとも1つを生成する。
また、本実施の形態に係る情報処理装置100では、条件生成部103は、データの再送の再開に関する条件として、中断してから再開するまでの待機時間を生成してもよい。
また、本実施の形態に係る情報処理装置100では、送信制御部104は、前記データの再送の中断に関する条件が充足された場合、前記データの再送を待機してもよい。
また、本実施の形態に係る情報処理装置100では、送信制御部104は、データの再送の再開に関する条件が充足された場合、前記データの再送を再開してもよい。
また、本実施の形態に係る情報処理装置100では、条件生成部103は、データの再送が再開された場合、前記データの再送の中断に関する条件を再度生成してもよい。
また、本実施の形態に係る情報処理装置100では、条件生成部103は、データの再送の中止に関する条件、データの再送の中断に関する条件、およびデータの再送の再開に関する条件を生成し、送信制御部104は、データの再送の中止に関する条件が充足されておらず、かつ、データの再送の中断に関する条件が充足された後、データの再送の再開に関する条件が充足されたとき、データの再送を再開し、条件生成部103は、データの再送が再開される場合、データの再送の中断に関する条件を再度生成してもよい。
上記の態様によれば、データ再送の中止に関する条件、データ再送の中断に関する条件、およびデータの再送の再開に関する条件を生成し、データの再送の中止に関する条件が充足されない間、データの再送の中断と再開とを繰り返す。
これにより、情報処理装置100は、再送の中止(コマンドデータ等の破棄)の準備をしつつ、再送の中断と再開を繰り返すことで、バスオフを狙った攻撃を仕掛けられた場合、バスオフのリスクを回避しつつ、攻撃者による不正データ注入のタイミングの推測を著しく困難にするため、モビリティネットワークシステムの本来機能を維持し続けつつ、CANコマンド等のデータの欠落を極力抑えることができる。
(その他の実施の形態)
以上のように、本開示に係る技術の例示として実施の形態を説明した。しかしながら、本開示に係る技術は、これに限定されず、適宜、変更、置き換え、付加、省略等を行った実施の形態にも適用可能である。例えば、以下のような変形例も本開示の一実施の形態に含まれる。
上記実施の形態における各機能および/または各処理は、情報処理システム1を構成する一部の情報処理装置100のみが実行する形式でもよい。また、CANコマンドの再送に関する各種条件の生成や条件の充足を判定するのに用いる情報は、情報処理システム1を構成する各情報処理装置100のそれぞれで異なっていてもよい。
上記実施の形態において、当該CANコマンドの送信周期1周期分内で完了する例について説明したが、これに限ったものではなく、任意の単位時間で動作させるものとしてもよい。また、単位時間内で、CANコマンドの再送は、何れの回数分中断・再開させてもよい。
送信エラーカウンタの値の幅や増加の方法については、上記実施の形態に限らず、例えば、送信エラーのカウンタの仕様はCAN規格に準ずるものでもよい。また、上記実施の形態において、中断したCANコマンドの再送の再開処理を省略してもよい。例えば、再送中断条件と再送中止条件(破棄条件)に同一の条件を設定することで、再送回数が再送中断条件としての再送回数の上限に達した時点で再送の中止(CANコマンドの破棄)をしてもよい。
また、情報処理装置100が送信待機状態のときに、CANバス上に流れる当該コマンドと同一IDのコマンドの有無を監視することで、不正なCANコマンドの注入を検知してもよい。上記実施の形態において、再送を中断/再開させる手法は電気的手段、物理的手段、ソフト的手段の何れの構成でもよい。
上記実施の形態において、例えば、CAN通信の代わりに、CANの拡張フォーマット、CANFD(CAN with Flexible Data rate)、TTCAN(Time Triggered CAN)、Ethernet(登録商標)、LIN(Local Interconnect Network)、MOST(Media Oriented Systems Transport)、FlexRay(登録商標)などの通信方式が用いられてもよい。
上記の各装置を構成する構成要素の一部または全部は、各装置に脱着可能なICカードまたは単体のモジュールから構成されているとしてもよい。前記ICカードまたは前記モジュールは、マイクロプロセッサ、ROM、RAMなどから構成されるコンピュータシステムである。前記ICカードまたは前記モジュールは、上記の超多機能LSIを含むとしてもよい。マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、前記ICカードまたは前記モジュールは、その機能を達成する。このICカードまたはこのモジュールは、耐タンパ性を有するとしてもよい。
また、本開示は、前記コンピュータプログラムまたは前記デジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、CD−ROM、MO、DVD、DVD−ROM、DVD−RAM、BD(Blu−ray(登録商標) Disc)、半導体メモリなどに記録したものとしてもよい。また、これらの記録媒体に記録されている前記デジタル信号であるとしてもよい。
また、本開示は、前記コンピュータプログラムまたは前記デジタル信号を、電気通信回線、無線または有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしてもよい。
また、本開示は、マイクロプロセッサとメモリを備えたコンピュータシステムであって、前記メモリは、上記コンピュータプログラムを記憶しており、前記マイクロプロセッサは、前記コンピュータプログラムにしたがって動作するとしてもよい。
また、前記プログラムまたは前記デジタル信号を前記記録媒体に記録して移送することにより、または前記プログラムまたは前記デジタル信号を前記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
上記実施の形態では、本開示に係る情報処理システム1の適用例として、自動車等の車両に搭載される車載ネットワークにおけるセキュリティ対策への適用について説明したが、本開示に係る情報処理システム1の適用範囲はこれに限定されない。本開示に係る情報処理システム1は、自動車等の車両に限定されず、例えば、建機、農機、船舶、鉄道又は飛行機等の任意のモビリティに適用してもよい。
上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよい。
なお、本開示は、情報処理装置100として実現できるだけでなく、情報処理装置100を構成する各構成要素が行うステップ(処理)を含む情報処理方法として実現できる。
例えば、情報処理方法におけるステップは、コンピュータ(コンピュータシステム)によって実行されてもよい。そして、本開示は、情報処理方法に含まれるステップを、コンピュータに実行させるためのプログラムとして実現できる。さらに、本開示は、そのプログラムを記録したCD−ROM等である非一時的なコンピュータ読み取り可能な記録媒体として実現できる。
例えば、本開示が、プログラム(ソフトウェア)で実現される場合には、コンピュータのCPU、メモリ及び入出力回路等のハードウェア資源を利用してプログラムが実行されることによって、各ステップが実行される。つまり、CPUがデータをメモリ又は入出力回路等から取得して演算したり、演算結果をメモリ又は入出力回路等に出力したりすることによって、各ステップが実行される。
また、上記実施の形態の情報処理装置100に含まれる各構成要素は、専用又は汎用の回路として実現されてもよい。
また、上記実施の形態の情報処理装置100に含まれる各構成要素は、集積回路(IC:Integrated Circuit)であるLSI(Large Scale Integration)として実現されてもよい。
さらに、半導体技術の進歩又は派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて、情報処理装置100に含まれる各構成要素の集積回路化が行われてもよい。
その他、実施の形態に対して当業者が思いつく各種変形を施して得られる形態や、本開示の趣旨を逸脱しない範囲で各実施の形態における構成要素及び機能を任意に組み合わせることで実現される形態も本開示に含まれる。
本開示は、例えば、自動車、建機、農機、船舶、鉄道又は飛行機などにおけるモビリティネットワークに適用できる。
1 情報処理システム
10 ネットワーク
100 情報処理装置
101 通信部
102 記憶部
103 条件生成部
104 送信制御部

Claims (14)

  1. ネットワークへのデータの送信を制御する送信制御部と、
    前記データの送信エラーが発生した場合における前記データの再送に関する条件を生成する条件生成部と、を備え、
    前記送信制御部は、前記条件生成部によって生成された条件に基づいて、前記データの再送を制御する、
    情報処理装置。
  2. 前記条件生成部は、前記データの再送の中止に関する条件を生成する、
    請求項1に記載の情報処理装置。
  3. 前記条件生成部は、前記データの再送の中止に関する条件として、前記データの再送回数の上限値もしくは再送を繰り返す時間の上限値の少なくとも1つを生成する、
    請求項2に記載の情報処理装置。
  4. 前記送信制御部は、前記データの再送の中止に関する条件が充足された場合、前記データを破棄する、
    請求項2または3に記載の情報処理装置。
  5. 前記条件生成部は、前記データの再送の中断に関する条件を生成する、
    請求項1〜4のいずれか1項に記載の情報処理装置。
  6. 前記条件生成部は、前記データの再送の中断に関する条件を生成する場合、前記データの再送の再開に関する条件を生成する、
    請求項5に記載の情報処理装置。
  7. 前記条件生成部は、前記データの再送の中断に関する条件として、前記データの再送の中断までの再送回数もしくは再送を繰り返す時間の少なくとも1つを生成する、
    請求項5または6に記載の情報処理装置。
  8. 前記条件生成部は、前記データの再送の再開に関する条件として、中断してから再開するまでの待機時間を生成する、
    請求項6または7に記載の情報処理装置。
  9. 前記送信制御部は、前記データの再送の中断に関する条件が充足された場合、前記データの再送を待機する、
    請求項5〜8のいずれか1項に記載の情報処理装置。
  10. 前記送信制御部は、前記データの再送の再開に関する条件が充足された場合、前記データの再送を再開する、
    請求項9に記載の情報処理装置。
  11. 前記条件生成部は、前記データの再送が再開された場合、前記データの再送の中断に関する条件を再度生成する、
    請求項10に記載の情報処理装置。
  12. 前記条件生成部は、前記データの再送の中止に関する条件、前記データの再送の中断に関する条件、および前記データの再送の再開に関する条件を生成し、
    前記送信制御部は、前記データの再送の中止に関する条件が充足されておらず、かつ、前記データの再送の中断に関する条件が充足された後、前記データの再送の再開に関する条件が充足されたとき、前記データの再送を再開し、
    前記条件生成部は、前記送信制御部が前記データの再送を再開する場合、前記データの再送の中断に関する条件を再度生成する、
    請求項1に記載の情報処理装置。
  13. ネットワークにデータを送信し、
    前記データの送信エラーが発生した場合における前記データの再送に関する条件を生成し、
    生成された条件に基づいて、前記データの再送を制御する、
    情報処理方法。
  14. 請求項13に記載の情報処理方法をコンピュータに実行させるためのプログラム。
JP2019123432A 2019-07-02 2019-07-02 情報処理装置、情報処理方法及びプログラム Pending JP2021010123A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019123432A JP2021010123A (ja) 2019-07-02 2019-07-02 情報処理装置、情報処理方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019123432A JP2021010123A (ja) 2019-07-02 2019-07-02 情報処理装置、情報処理方法及びプログラム

Publications (1)

Publication Number Publication Date
JP2021010123A true JP2021010123A (ja) 2021-01-28

Family

ID=74200104

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019123432A Pending JP2021010123A (ja) 2019-07-02 2019-07-02 情報処理装置、情報処理方法及びプログラム

Country Status (1)

Country Link
JP (1) JP2021010123A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7433620B1 (ja) 2023-11-20 2024-02-20 義博 矢野 通信方法、通信装置及びコンピュータプログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7433620B1 (ja) 2023-11-20 2024-02-20 義博 矢野 通信方法、通信装置及びコンピュータプログラム

Similar Documents

Publication Publication Date Title
US10227053B2 (en) In-vehicle network system, electronic control unit, and update processing method
US10462226B2 (en) Method for detecting fraudulent frame sent over an in-vehicle network system
US10931634B2 (en) Security apparatus, attack detection method, and storage medium
US10609049B2 (en) Method for sensing fraudulent frames transmitted to in-vehicle network
US10277598B2 (en) Method for detecting and dealing with unauthorized frames in vehicle network system
JPWO2019117184A1 (ja) 車載ネットワーク異常検知システム及び車載ネットワーク異常検知方法
RU2712138C2 (ru) Способ, система и электронный блок управления для предотвращения спуфинга в автомобильной сети
US12063235B2 (en) Communication control device, anomaly detection electronic control unit, mobility network system, communication control method, anomaly detection method, and recording medium
WO2017127639A1 (en) Exploiting safe mode of in-vehicle networks to make them unsafe
US10554623B2 (en) On-board communication system
KR102286050B1 (ko) 차량 네트워크에서 진단 오류 방지를 위한 방법 및 장치
CN110546921A (zh) 不正当检测方法、不正当检测装置以及程序
US20210144124A1 (en) Security apparatus, attack detection method, and storage medium
US20210258187A1 (en) Electronic control device, electronic control method, and recording medium
KR101714526B1 (ko) 차량 네트워크 해킹 방지 방법 및 장치
JP2014086812A (ja) Canシステム及びノード
JP2021010123A (ja) 情報処理装置、情報処理方法及びプログラム
JP2015065546A (ja) 車両制御装置
CN116114222A (zh) 通信系统、中继装置、接收装置以及通信控制方法
CN108632242B (zh) 通信装置及接收装置
CN115580471A (zh) 不正当检测方法、不正当检测装置以及存储介质
EP4231594A1 (en) Relay device, communication network system and communication control method
WO2020105657A1 (ja) 車載中継装置及び中継方法
EP4387176A1 (en) Can device and method for the can device
JP2020025194A (ja) 情報処理装置、情報処理システム、情報処理方法、及びプログラム