JP6296064B2 - 情報処理装置およびデータフィルタリングプログラム - Google Patents

情報処理装置およびデータフィルタリングプログラム Download PDF

Info

Publication number
JP6296064B2
JP6296064B2 JP2015554341A JP2015554341A JP6296064B2 JP 6296064 B2 JP6296064 B2 JP 6296064B2 JP 2015554341 A JP2015554341 A JP 2015554341A JP 2015554341 A JP2015554341 A JP 2015554341A JP 6296064 B2 JP6296064 B2 JP 6296064B2
Authority
JP
Japan
Prior art keywords
condition
control command
command
determination unit
unit
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.)
Active
Application number
JP2015554341A
Other languages
English (en)
Other versions
JPWO2015097760A1 (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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of JPWO2015097760A1 publication Critical patent/JPWO2015097760A1/ja
Application granted granted Critical
Publication of JP6296064B2 publication Critical patent/JP6296064B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60KARRANGEMENT OR MOUNTING OF PROPULSION UNITS OR OF TRANSMISSIONS IN VEHICLES; ARRANGEMENT OR MOUNTING OF PLURAL DIVERSE PRIME-MOVERS IN VEHICLES; AUXILIARY DRIVES FOR VEHICLES; INSTRUMENTATION OR DASHBOARDS FOR VEHICLES; ARRANGEMENTS IN CONNECTION WITH COOLING, AIR INTAKE, GAS EXHAUST OR FUEL SUPPLY OF PROPULSION UNITS IN VEHICLES
    • B60K35/00Instruments specially adapted for vehicles; Arrangement of instruments in or on vehicles
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60RVEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
    • B60R25/00Fittings or systems for preventing or indicating unauthorised use or theft of vehicles
    • B60R25/20Means to switch the anti-theft system on or off
    • B60R25/24Means to switch the anti-theft system on or off using electronic identifiers containing a code not memorised by the user
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60RVEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
    • B60R2325/00Indexing scheme relating to vehicle anti-theft devices
    • B60R2325/10Communication protocols, communication systems of vehicle anti-theft devices
    • B60R2325/101Bluetooth
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60RVEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
    • B60R2325/00Indexing scheme relating to vehicle anti-theft devices
    • B60R2325/20Communication devices for vehicle anti-theft devices
    • B60R2325/205Mobile phones

Landscapes

  • Engineering & Computer Science (AREA)
  • Mechanical Engineering (AREA)
  • Chemical & Material Sciences (AREA)
  • Combustion & Propulsion (AREA)
  • Transportation (AREA)
  • Debugging And Monitoring (AREA)
  • Traffic Control Systems (AREA)

Description

本発明は、情報処理装置およびデータフィルタリングプログラムに関する。
従来から、異なるネットワーク間の接続装置としての機能を有する車載装置が存在することが知られている(例えば、特許文献1参照)。かかる技術では、車載装置は、例えば携帯端末より、車載装置を制御するための操作内容を示す操作情報と携帯端末を特定する情報とを含む制御情報を受信する。そして、車載装置は、制御情報を送信してきた携帯端末が、キーレスエントリが認められている携帯端末であることを条件として、操作情報で特定される操作を受け付けるか否かを判別し、受け付ける場合、操作情報に従った処理を実行する。
特開2013−148435号公報
しかしながら、従来の車載装置では、外部から送信されたデータが悪意のあるデータであっても、送信元が認められたデータであればデータに従った処理を実行してしまうという問題がある。例えば、従来技術では、車載装置は、操作情報と携帯端末を特定する情報とを含む制御情報を送信してきた携帯端末が、キーレスエントリが認められている携帯端末であれば、操作情報で特定される操作が許可されている機能を、操作情報に従って実行する。したがって、車載装置は、操作情報が悪意を有する情報であっても、送信元の携帯端末が認められた操作情報であれば、操作情報で特定される操作が許可されている機能を実行してしまう。
1つの側面では、外部から送信されたデータに関わる実行の信頼性を向上させることを目的とする。
1つの案では、情報処理装置は、端末装置から操作された制御命令を実行する情報処理装置において、端末装置から操作された制御命令が第1の条件を満たす場合、前記制御命令が前記第1の条件に関連した追加条件を含む内容であるかを解析する解析部と、前記解析部によって前記制御命令が前記第1の条件に関連した追加条件を含む内容であると解析された場合、前記制御命令が追加条件を満たすか否かを判定する追加条件判定部と、前記追加条件判定部によって追加条件を満たすと判定された場合、前記制御命令が第2の条件を満たすか否かを判定する第2の判定部と、前記第2の判定部の判定に応じた処理を実行する処理部と、を有する。
1つの態様によれば、外部から送信されたデータに関わる実行の信頼性を向上させることができる。
図1は、実施例に係るデータフィルタリングシステムの構成を示すブロック図である。 図2は、実施例に係る情報処理装置の構成を示すブロック図である。 図3は、実施例に係るフィルタリング条件記憶部のデータ構造の一例を示す図である。 図4は、実施例に係るログ記憶部のデータ構造の一例を示す図である。 図5は、実施例に係るデータフィルタリング処理のフローチャートを示す図である。 図6は、データフィルタリングプログラムを実行するコンピュータの一例を示す図である。
以下に、本願の開示する情報処理装置およびデータフィルタリングプログラムの実施例を図面に基づいて詳細に説明する。なお、実施例によりこの発明が限定されるものではない。
[データフィルタリングシステムの構成]
図1は、実施例に係るデータフィルタリングシステムの構成を示すブロック図である。図1に示すように、データフィルタリングシステム9は、情報処理装置1と、端末装置2と、車両機器3とを有する。データフィルタリングシステム9は、端末装置2と情報処理装置1との間で通信接続を確立し、情報処理装置1から車両機器3へ種々の通信を実行する。端末装置2と情報処理装置1との間の通信接続には、例えば、Bluetooth(登録商標)のような近距離無線通信による接続が挙げられる。
車両機器3は、車両に搭載された機器であり、例えば、ドライバーズシート、ハンドル、アクセル、ブレーキおよびメータ等が含まれる。
端末装置2は、操作機能と通信機能を備え、例えば、携帯型コンピュータを示すタブレット、スマートフォン、携帯電話、PHS(Personal Handyphone System)、PDA(Personal Digital Assistance)等の携帯用の端末装置に対応する。すなわち、端末装置2は、通信機能を備え、車両に持ち込み可能な端末装置であれば良い。
端末装置2には、制御アプリ21がインストールされる。制御アプリ21は、車両機器3を制御するためのアプリケーションである。一例として、制御アプリ21は、ドライバーズシートを制御するアプリケーションであったり、ハンドルを制御するアプリケーションであったり、アクセルを制御するアプリケーションであったりする。つまり、データフィルタリングシステム9では、例えば車両を運転する運転者が、車両に端末装置2を持ち込んで、端末装置2を、制御アプリ21を介して車両のコントロールパネルとして利用する。運転者は、例えば、端末装置2に搭載された操作ボタンにより、制御アプリ21を起動する。制御アプリ21が起動されると、操作に応じた制御指示を情報処理装置1へ出力する。ここで、制御アプリ21は、例えば、車両を生産した正当なメーカーのサイトからダウンロードされる。ところが、この制御アプリ21が、ウィルス感染して、改竄される場合がある。制御アプリ21が改竄されると、例えば、改竄された制御アプリ21は、改竄の内容に応じて、悪意のあるデータを車両機器3に対して実行するおそれがある。そこで、制御アプリ21が改竄された場合に、後述する情報処理装置1は、悪意のあるデータをフィルタリング(選別)する。なお、制御アプリ21は、運転者が端末装置2に搭載された操作ボタンにより起動されるものと説明したが、これに限定されない。制御アプリ21は、端末装置2の電源がONされたタイミングでメモリに常駐するようにしても良い。
情報処理装置1は、車両の外部から操作されたデータを車両に実行する際、データのシーケンスと車両の状態とを検証して、悪意のあるデータをフィルタリングする。ここでいうデータのシーケンスとは、例えば、操作されたデータの過去から現在までの振る舞いのことをいう。なお、車両の外部から操作されたデータを、以降では、「制御コマンド」というものとする。
[情報処理装置の構成]
図2は、実施例に係る情報処理装置の構成を示すブロック図である。図2に示すように、情報処理装置1は、通信制御I/F部11,12と、記憶部13と、制御部14とを有する。通信制御I/F部11は、端末装置2との通信を制御するインタフェースである。通信制御I/F部12は、車両機器3との通信を制御するインタフェースである。
記憶部13は、例えばフラッシュメモリ(Flash Memory)やFRAM(登録商標)(Ferroelectric Random Access Memory)等の不揮発性の半導体メモリ素子等の記憶装置に対応する。また、記憶部13は、フィルタリング条件記憶部131と、ログ記憶部132とを有する。
フィルタリング条件記憶部131は、外部から操作された制御コマンドを選別(フィルタリング)する条件を複数パターン記憶する。すなわち、フィルタリング条件記憶部131は、悪意のある制御コマンドを検知するために用いられる条件を記憶する。フィルタリング条件記憶部131は、例えば、制御アプリ21が端末装置2にダウンロードされるタイミングで、制御アプリ21のダウンロード元からダウンロードされる。なお、フィルタリング条件記憶部131のデータ構造は、後述する。
ログ記憶部132は、外部から操作された制御コマンドをログとして記憶する。ログ記憶部132は、後述するフィルタリング部142によって記憶される。なお、ログ記憶部132のデータ構造は、後述する。
制御部14は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、これらによって種々の処理を実行する。そして、制御部14は、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などの集積回路の電子回路に対応する。または、制御部14は、CPU(Central Processing Unit)やMPU(Micro Processing Unit)などの電子回路に対応する。また、制御部14は、車両状態検知部141と、フィルタリング部142と、実行処理部143と、異常処理部144とを有する。
車両状態検知部141は、車両機器3の車両状態を検知する。例えば、車両状態検知部141は、車両状態として、車両が停車中であるか、駐車中であるか、加速中であるか、減速中であるか、左折中であるか、右折中であるか等を検知する。
フィルタリング部142は、フィルタリング条件記憶部131に記憶されたフィルタリング条件に基づいて、ログ記憶部132に記憶されたログおよび車両状態を参照して、外部から操作された制御コマンドをフィルタリングする。また、フィルタリング部142は、第1の判定部142aと、解析部142bと、追加条件判定部142cと、第2の判定部142dとを有する。
ここで、フィルタリング条件記憶部131のデータ構造を、図3を参照して説明する。図3は、実施例に係るフィルタリング条件記憶部のデータ構造の一例を示す図である。図3に示すように、フィルタリング条件記憶部131は、シーケンスの条件として第1の条件131bおよび追加条件131cを、コマンドID(identification)131aと対応付けて記憶する。また、フィルタリング条件記憶部131は、車両状態の条件として第2の条件131dを、コマンドID131aと対応付けて記憶する。さらに、フィルタリング条件記憶部131は、実行許否131eをコマンドID131aと対応付けて記憶する。なお、図3のコマンドの意味131fは、このコマンドがどんな意図を持ったものかを示す補足説明である。
コマンドID131aは、端末装置2から操作された制御コマンドの識別子である。コマンドID131aは、操作毎に異なる。シーケンスの条件としての第1の条件131bには、コマンドID131aが示すコマンドについて、悪意の可能性がある条件が設定される。シーケンスの条件としての追加条件131cは、第1の条件131bに関連した条件である。追加条件131cには、コマンドID131aが示すコマンドのシーケンス(振る舞い)に関し、悪意の可能性がある条件が設定される。
車両状態の条件としての第2の条件131dには、車両機器3の状態に関し、コマンドID131aが示すコマンドが受け付けられた時の悪意の可能性がある条件が設定される。実行許否131eは、コマンドID131aが示すコマンドの実行の許否である。例えば、実行許否131eには、実行が許されることを示す「OK」、実行が許されないことを示す「NG」のどちらか一方が設定される。なお、後述するフィルタリング部142は、追加条件131cが設定されている場合、コマンドID131aが示すコマンドが、第1の条件131b、追加条件131cおよび第2の条件131dを全て満たせば、実行許否131eに応じた処理を実行する。例えば、実行許否131eが「NG」であれば、実行が中止される。また、フィルタリング部142は、追加条件131cが設定されていない場合、コマンドID131aが示すコマンドが、第1の条件131bおよび第2の条件131dを全て満たせば、実行許否131eに応じた処理を実行する。例えば、実行許否131eが「NG」であれば、実行が中止される。
一例として、コマンドID131aが「639」である場合、コマンドの意味131fとして「シート移動」と記憶している。シーケンスの条件について、第1の条件131bとして「シート位置を前又は後に動かすこと」、追加条件131cとして「3回/秒以上」と記憶している。車両状態の条件について、第2の条件131dとして「駐車中以外」と記憶している。実行許否131eとして「NG」と記憶している。すなわち、コマンドID131aが示す「639」のコマンドが、「シート位置を前又は後に動かす」コマンドであって、「3回/秒以上」受け付けられ、車両機器3が「駐車中以外」であれば、当該コマンドの実行が中止される。つまり、「シート位置を前又は後に動かす」コマンドが「3回/秒以上」受け付けられていれば、車両が走行していることを条件に、当該コマンドが悪意のあるコマンドであると判断される。車両が動作中にシート位置が何度も移動すると、危険であるからである。一方、「639」のコマンドが、「シート位置を前又は後に動かす」コマンドであっても、「3回/秒以上」受け付けられていなければ、実行が進行される。つまり、「シート位置を前又は後に動かす」コマンドが「3回/秒以上」受け付けられていなければ、シート位置が移動しても危険ではないので、当該コマンドが悪意のあるコマンドでないと判断される。また、「639」のコマンドが、「シート位置を前又は後に動かす」コマンドであって、「3回/秒以上」受け付けられていても、車両機器3が「駐車中以外」でなければ(駐車中であれば)、実行が進行される。つまり、「シート位置を前又は後に動かす」コマンドが「3回/秒以上」受け付けられていても、車両が駐車していれば、シート位置が移動しても安全であるので、当該コマンドが悪意のあるコマンドでないと判断される。
他の例として、コマンドID131aが「640」である場合、コマンドの意味131fとして「ハンドル移動」と解釈している。シーケンスの条件について、第1の条件131bとして「ハンドル舵角を左右に45度動かすこと」、追加条件131cとして「3回/秒以上」と記憶している。車両状態の条件について、第2の条件131dとして「時速4km以上での走行時」と記憶している。実行許否131eとして「NG」と記憶している。すなわち、コマンドID131aが示す「640」のコマンドが、「ハンドル舵角を左右に45度動かす」コマンドであって、「3回/秒以上」受け付けられ、車両機器3が「時速4km以上での走行時」であれば、実行が中止される。つまり、「ハンドル舵角を左右に45度動かす」コマンドが「3回/秒以上」受け付けられていれば、車両が時速4km以上で走行中であることを条件に、当該コマンドが悪意のあるコマンドであると判断される。車両が時速4km以上で走行中にハンドル舵角を左右に45度に何度も移動すると、危険であるからである。一方、「640」のコマンドが、「ハンドル舵角を左右に45度動かす」コマンドであっても、「3回/秒以上」受け付けられていなければ、実行が進行される。つまり、「ハンドル舵角を左右に45度動かす」コマンドが「3回/秒以上」受け付けられていなければ、当該コマンドが悪意のあるコマンドでないと判断される。また、「640」のコマンドが、「ハンドル舵角を左右に45度動かす」コマンドであって、「3回/秒以上」受け付けられていても、車両機器3が「時速4km以上での走行時」でなければ、実行が進行される。つまり、「ハンドル舵角を左右に45度動かす」コマンドが「3回/秒以上」受け付けられていても、車両が時速4km以上で走行中でなければ、当該コマンドが悪意のあるコマンドでないと判断される。これは車庫入れやクランクでの切り返しを想定したものである。
なお、図3で示したフィルタリング条件記憶部131に記憶された第1の条件131b、追加条件131cおよび第2の条件131dは、例示であり、これに限定されるものでない。
次に、ログ記憶部132のデータ構造を、図4を参照して説明する。図4は、実施例に係るログ記憶部のデータ構造の一例を示す図である。図4に示すように、ログ記憶部132は、コマンド受信時刻132a、コマンドID132b、データ長132cおよびデータ本文132dを対応付けて記憶する。なお、図4のコマンドIDの意味132eおよびコマンドの意味132fは、このコマンド全体の意図を示す補足説明であり、データ構造の実体ではない。コマンド受信時刻132aは、端末装置2から操作された制御コマンドが受信された時刻である。コマンドID132bは、端末装置2から操作された制御コマンドの識別子であり、フィルタリング条件記憶部131のコマンドID131aに対応する。コマンドID132bには、制御コマンドに含まれるコマンドIDが設定される。データ長132cは、制御コマンド内のデータの長さ(バイト)である。データ本文132dは、制御コマンド内のデータの本文である。データ本文132dには、制御コマンドに含まれるデータの本文が設定される。なお、データ本文とは、詳細な処理動作のことをいい、例えばオペランドで表される。
一例として、コマンド受信時刻132aが「20131130,15:32:32.177」(2013年11月30日,15時32分32秒177ミリ秒)である場合、コマンドID132bとして「639」と記憶している。データ長132cとして「2」(バイト)、データ本文132dとして「0000」と記憶している。これは「シート移動」で「最前部移動」という動作を意味している。
図2に戻って、第1の判定部142aは、端末装置2から操作された制御コマンドが第1の条件を満たすか否かを判定する。例えば、第1の判定部142aは、フィルタリング条件記憶部131に、受信された制御コマンドのコマンドID131aが設定されているか否かを判定する。第1の判定部142aは、受信された制御コマンドのコマンドID131aが設定されていれば、当該制御コマンドが、設定されたコマンドID131aに対応する第1の条件131bを満たすか否かを判定する。
一例として、図3で示すフィルタリング条件記憶部131を用いて説明する。受信された制御コマンドのコマンドIDが「639」(シート移動)であって、当該制御コマンドのデータの本文が「最前部移動」であることを示す「0000」であったとする。すると、第1の判定部142aは、「639」のコマンドID131aに対応する第1の条件131bが「シート位置を前又は後に動かすこと」であるので、「最前部移動」をデータの本文とする当該制御コマンドが、第1の条件131bを満たすと判定する。なお、第1の判定部142aは、端末装置2から操作された制御コマンドが図3で示す全ての第1の条件131bを満たさなければ、後述する実行処理部143に、当該制御コマンドに対応する処理を実行させる。これはフィルタリング条件記憶部131の条件の設定内容により、どれかの条件を満たさなければ実行処理部143に実行させない、という構成としてもよい。
解析部142bは、制御コマンドが第1の条件を満たす場合、当該制御コマンドが第1の条件に関連した追加条件を含む内容であるかを解析する。例えば、解析部142bは、フィルタリング条件記憶部131に、第1の条件131bを満たした制御コマンドのコマンドID131aに対応する追加条件131cが設定されているかを解析する。解析部142bは、追加条件131cが設定されていれば、制御コマンドが第1の条件131bに関連した追加条件131cを含む内容であると解析する。一方、解析部142bは、追加条件131cが設定されていなければ、制御コマンドが第1の条件131bに関連した追加条件131cを含まない内容であると解析する。
一例として、図3で示すフィルタリング条件記憶部131を用いて説明する。第1の条件131bを満たした制御コマンドのコマンドID131aが「639」や「640」であれば、追加条件131cが設定されているので、当該制御コマンドが第1の条件131bに関連した追加条件131cを含む内容であると解析される。一方、第1の条件131bを満たした制御コマンドのコマンドID131aが「641」〜「646」であれば、追加条件131cが設定されていないので、当該制御コマンドが第1の条件131bに関連した追加条件131cを含まない内容であると解析される。
追加条件判定部142cは、制御コマンドが第1の条件に関連した追加条件を含む内容であると解析された場合、当該制御コマンドが追加条件を満たすか否かを判定する。例えば、追加条件判定部142cは、ログ記憶部132に記憶されたログを用いて、解析部142cによって追加条件131cを含む内容であると解析された制御コマンドが過去に操作された制御コマンドとの関係において当該追加条件131cを満たすか否かを判定する。
一例として、図3で示すフィルタリング条件記憶部131および図4で示すログ記憶部132を用いて説明する。「20131201、14:20:00.000」の時点であった場合、受信された制御コマンドのコマンドIDが「639」(シート移動)であって、当該制御コマンドのデータの本文が「最前部移動」であることを示す「0000」である。このとき追加条件判定部142cは、過去に遡ってログ記憶部132を参照すると、第1の条件131bを満たす制御コマンド「639」が1秒間に3回以上ないので、追加条件131cを満たさないと判定する。「20131201、14:20:00.499」の時点であった場合も、追加条件判定部142cは、追加条件131cを満たさないと判定する。しかし、「20131201、14:20:00.999」の時点である場合、追加条件判定部142cは、過去に遡ってログ記憶部132を参照すると、コマンドIDが「639」の制御コマンドであって第1の条件131bを満たす制御コマンドが「・・・14:20:00.499」、「・・・14:20:00.000」と1秒間に3回以上あるので、追加条件判定部142cは、追加条件131cである「3回/秒以上」を満たすと判定する。なお、追加条件判定部142cは、図3で示す全ての制御コマンドが追加条件131cを満たさなければ、後述する実行処理部143に、当該制御コマンドに対応する処理を実行させる。これはフィルタリング条件記憶部131の条件の設定内容により、どれかの条件を満たさなければ実行処理部143に実行させない、という構成としてもよい。
第2の判定部142dは、制御コマンドが追加条件を満たすと判定された場合、当該制御コマンドが第2の条件を満たすか否かを判定する。例えば、第2の判定部142dは、車両状態検知部141によって検知された車両状態を用いて、追加条件131cを満たすと判定された制御コマンドがフィルタリング条件記憶部131の該当する第2の条件131dを満たすか否かを判定する。
一例として、図3で示すフィルタリング条件記憶部131を用いて説明する。受信された制御コマンドのコマンドIDが「639」(シート移動)であって、当該制御コマンドのデータの本文が「最前部移動」であることを示す「0000」であったとする。また、車両状態検知部141によって検知された車両状態が「駐車中以外」であったとする。すると、第2の判定部142dは、は、「639」のコマンドID131aに対応する第2の条件131dが「駐車中以外」であり、車両状態検知部141によって検知された車両状態が「駐車中以外」であるので、「639」の制御コマンドが第2の条件131dを満たすと判定する。なお、第2の判定部142dは、図3で示す全ての制御コマンドが第2の条件131dを満たさなければ、後述する実行処理部143に、当該制御コマンドに対応する処理を実行させる。これはフィルタリング条件記憶部131の条件の設定内容により、どれかの条件を満たさなければ実行処理部143に実行させない、という構成としてもよい。
なお、第2の判定部142dは、解析部142bによって制御コマンドが第1の条件131bに関連した追加条件131cを含む内容であると解析された場合に、制御コマンドが第2の条件131dを満たすか否かを判定する。そして、第2の判定部142dは、制御コマンドが第2の条件131dを満たさなければ、後述する実行処理部143に、当該制御コマンドに対応する処理を実行させる。これはフィルタリング条件記憶部131の条件の設定内容により、どれかの条件を満たさなければ実行処理部143に実行させない、という構成としてもよい。
実行処理部143は、制御コマンドが第1の条件、追加条件または第2の条件を満たさないと判定された場合、当該制御コマンドを車両機器3に対して実行する。例えば、実行処理部143は、制御コマンドを、該当する車両機器3に対して出力する。これはフィルタリング条件記憶部131の条件の設定内容により、どれかの条件を満たさなければ実行処理部143に実行させない、という構成としてもよい。
異常処理部144は、制御コマンドが第2の条件を満たすと判定された場合、当該制御コマンドの実行を中止する。加えて、異常処理部144は、当該制御コマンドが異常であることを出力する。一例として、異常処理部144は、端末装置2から操作された制御コマンドが異常であることを示す警告信号を、車両機器3に接続された警告ランプに出力する。別の例として、異常処理部144は、端末装置2から操作された制御コマンドが異常であることを示す警告文を、情報処理装置1に接続されたモニタに表示する。
[データフィルタリング処理のフローチャート]
次に、実施例に係るデータフィルタリング処理のフローチャートを、図5を参照して説明する。図5は、実施例に係るデータフィルタリング処理のフローチャートを示す図である。
図5に示すように、フィルタリング部142は、端末装置2から操作された制御コマンドを受信したか否かを判定する(ステップS11)。制御コマンドを受信していないと判定した場合(ステップS11;No)、フィルタリング部142は、制御コマンドを受信するまで、判定処理を繰り返す。
制御コマンドを受信したと判定した場合(ステップS11;Yes)、フィルタリング部142は、受信した制御コマンドが妥当であるか否かを判定する(ステップS12)。例えば、フィルタリング部142は、受信した制御コマンドのコマンドIDが予め定められた実行可能なコマンドIDであるか否かを判定する。また、フィルタリング部142は、受信した制御コマンドに含まれるデータ本文がコマンドIDに対応した実行可能なデータ本文であるか否かを判定する。
受信した制御コマンドが妥当でないと判定した場合(ステップS12;No)、フィルタリング部142は、異常処理部144に、警告を出力させる(ステップS13)。例えば、異常処理部144は、制御コマンドの実行を中止する。そして、異常処理部144は、制御コマンドが異常であることを示す警告信号を、警告ランプに出力する。そして、異常処理部144は、データフィルタリング処理を終了する。
一方、受信した制御コマンドが妥当であると判定した場合(ステップS12;Yes)、フィルタリング部142は、受信した制御コマンドの内容を、ログ記憶部132に記録する(ステップS14)。
続いて、第1の判定部142aは、フィルタリング条件記憶部131に、受信した制御コマンドに対するコマンドID131aが設定されているか否かを判定する(ステップS15)。制御コマンドに対するコマンドID131aが設定されていない場合(ステップS15;No)、第1の判定部142aは、悪意のある制御コマンドでないと判断し、当該制御コマンドを実行処理部143に実行させる(ステップS16)。そして、第1の判定部142aは、データフィルタリング処理を終了する。
一方、制御コマンドに対するコマンドID131aが設定されている場合(ステップS15;Yes)、第1の判定部142aは、以下の処理を行う。すなわち、第1の判定部142aは、フィルタリング条件記憶部131に、当該制御コマンドに対する第1の条件131bが設定されているか否かを判定する(ステップS17)。制御コマンドに対する第1の条件131bが設定されていない場合(ステップS17;No)、第1の判定部142aは、実行許否を判定すべく、ステップS23に移行する。
一方、制御コマンドに対する第1の条件131bが設定されている場合(ステップS17;Yes)、第1の判定部142aは、当該制御コマンドが第1の条件131bを満たすか否かを判定する(ステップS18)。例えば、第1の判定部142aは、制御コマンドに含まれるデータ本文を参照し、当該制御コマンドが第1の条件131bに合致するか否かを判定する。
制御コマンドが第1の条件131bを満たさない場合(ステップS18;No)、第1の判定部142aは、悪意のある制御コマンドでないと判断し、当該制御コマンドを実行させるべく、ステップS16に移行する。そして、第1の判定部142aは、データフィルタリング処理を終了する。
一方、制御コマンドが第1の条件131bを満たす場合(ステップS18;Yes)、解析部142bは、フィルタリング条件記憶部131に、当該制御コマンドに対する追加条件131cが設定されているか否かを判定する(ステップS19)。制御コマンドに対する追加条件131cが設定されてない場合(ステップS19;No)、解析部142bは、第2の条件を判定させるべく、ステップS21に移行する。
一方、制御コマンドに対する追加条件131cが設定されている場合(ステップS19;Yes)、追加条件判定部142cは、当該制御コマンドが追加条件131cを満たすか否かを判定する(ステップS20)。例えば、追加条件判定部142cは、ログ記憶部132に記憶されたログを参照し、今回操作された制御コマンドが過去に操作された制御コマンドとの関係において追加条件131cを満たしているか否かを判定する。一例として、制御コマンドに対する追加条件131cが「3回/秒以上」であるとする。制御コマンドの内容がログ記憶部132に、1秒間に3回以上記憶されていれば、追加条件131cが満たされていると判定される。一方、制御コマンドの内容がログ記憶部132に、1秒間に3回以上記憶されていなければ、追加条件131cが満たされていないと判定される。
そして、制御コマンドが追加条件131cを満たさない場合(ステップS20;No)、追加条件判定部142cは、悪意のある制御コマンドでないと判断し、当該制御コマンドを実行させるべく、ステップS16に移行する。そして、追加条件判定部142cは、データフィルタリング処理を終了する。
一方、制御コマンドが追加条件131cを満たす場合(ステップS20;Yes)、第2の判定部142dは、フィルタリング条件記憶部131に、当該制御コマンドに対する第2の条件131dが設定されているか否かを判定する(ステップS21)。制御コマンドに対する第2の条件131dが設定されてない場合(ステップS21;No)、第2の判定部142dは、実行許否を判定すべく、ステップS23に移行する。
一方、制御コマンドに対する第2の条件131dが設定されている場合(ステップS21;Yes)、第2の判定部142dは、当該制御コマンドが第2の条件131dを満たすか否かを判定する(ステップS22)。例えば、第2の判定部142dは、車両状態検知部141によって検知された車両状態を用いて、当該制御コマンドが第2の条件131dを満たすか否かを判定する。
制御コマンドが第2の条件131dを満たさない場合(ステップS22;No)、第2の判定部142dは、悪意のある制御コマンドでないと判断し、当該制御コマンドを実行させるべく、ステップS16に移行する。そして、第2の判定部142dは、データフィルタリング処理を終了する。
一方、制御コマンドが第2の条件131dを満たす場合(ステップS22;Yes)、第2の判定部142dは、制御コマンドに対する実行許否131eが「NG」であるか否かを判定する(ステップS23)。制御コマンドに対する実行許否131eが「NG」である場合(ステップS23;Yes)、第2の判定部142dは、悪意のある制御コマンドであると判断し、異常処理部144に、警告を出力させる(ステップS24)。例えば、異常処理部144は、制御コマンドの実行を中止する。そして、異常処理部144は、制御コマンドが異常であることを示す警告信号を、警告ランプに出力する。そして、異常処理部144は、データフィルタリング処理を終了する。
一方、制御コマンドに対する実行許否131eが「NG」でない場合(ステップS23;No)、第2の判定部142dは、悪意のある制御コマンドでないと判断し、当該制御コマンドを実行させるべく、ステップS16に移行する。そして、第2の判定部142dは、データフィルタリング処理を終了する。
[実施例の効果]
上記実施例によれば、端末装置2から操作された制御命令を実行する情報処理装置1は、当該制御コマンドが第1の条件を満たす場合、当該制御コマンドが第1の条件に関連した追加条件を含む内容であるかを解析する。そして、情報処理装置1は、制御コマンドが第1の条件に関連した追加条件を含む内容であると解析された場合、制御コマンドが追加条件を満たすか否かを判定する。そして、情報処理装置1は、追加条件を満たすと判定された場合、制御コマンドが第2の条件を満たすか否かを判定する。そして、情報処理装置1は、制御コマンドが第2の条件を満たすか否かの判定に応じた処理を実行する。かかる構成によれば、情報処理装置1は、外部から送信された制御コマンドについて、第1の条件に関連した追加条件および第2の条件を用いてコマンドの履歴とその実行する状況を含めた条件判定の処理を実行するので、制御コマンドの実行の信頼性を向上させることが可能となる。例えば、追加条件が第1の条件を満たす制御コマンドの所定時間における回数を示す条件である場合、情報処理装置1は、制御コマンドのシーケンスを考慮して制御コマンドの正当性を検証できるので、制御コマンドの信頼性を向上させることができる。また、情報処理装置1は、端末装置2自体が正当であろうがなかろうが、当該端末装置2にインストールされた制御アプリ21が改竄されてしまった場合に、改竄の結果起こり得る脅威から車両を守ることができる。
また、上記実施例によれば、情報処理装置1は、制御コマンドが第2の条件を満たすと判定された場合、制御コマンドの実行を中止する。かかる構成によれば、情報処理装置1は、例えば、悪意のある制御コマンドの実行を抑止できる。
また、上記実施例によれば、情報処理装置1は、端末装置2から操作された制御コマンドを受け取る都度記憶する制御コマンドの履歴を用いて、今回操作された制御コマンドが過去に操作された制御コマンドとの関係において追加条件を満たすか否かを判定する。かかる構成によれば、情報処理装置1は、制御コマンドの履歴を用いることで、今回操作された制御コマンドの正当性を過去に遡って検証できるので、制御コマンドの信頼性を向上させることができる。
また、上記実施例によれば、第1の条件、追加条件および第2の条件は、制御コマンドが悪意とみなされる条件である。かかる構成によれば、情報処理装置1は、第1の条件、追加条件および第2の条件を用いて、悪意とみなされる制御コマンドの実行を抑止できる。さらに第1の条件、追加条件および第2の条件に、制御コマンドが善意とされる条件のみを設定し、これらの条件に合わない制御コマンドの実行を抑止することもできる。
[その他]
なお、実施例に係るデータフィルタリングシステム9では、例えば車両を運転する運転者が、車両に端末装置2を持ち込んで、端末装置2を、制御アプリ21を介して車両のコントロールパネルとして利用すると説明した。ここでいう車両とは、小型の電気自動車を意味するが、これに限定されず、自動車、軽車両、原動機付き自転車等の道路上を走行する車であれば良い。また、鉄道車両であっても良い。
また、実施例に係る情報処理装置1は、フィルタリング条件記憶部131に記憶された悪意のある制御コマンドを検知するために用いられる条件に基づいて、端末装置2から操作された制御コマンドを選別すると説明した。しかしながら、情報処理装置1は、これに限定されず、制御コマンドを送信する端末装置2の正当性を確認してから、フィルタリング条件記憶部に記憶された条件を使って当該制御コマンドを選別するようにしても良い。かかる構成によれば、情報処理装置1は、悪意のある端末装置2自体の脅威から車両を守ることができる。
また、実施例に係る情報処理装置1は、既知のパーソナルコンピュータ、ワークステーション等の装置に、上記した車両状態検知部141、フィルタリング部142、実行処理部143および異常処理部144等の各機能を搭載することによって実現することができる。
また、図示した装置の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、装置の分散・統合の具体的態様は図示のものに限られず、その全部または一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、解析部142bと追加条件判定部142cとを1個の部として統合しても良い。また、記憶部13を情報処理装置1の外部装置としてネットワーク経由で接続するようにしても良い。
また、上記実施例で説明した各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーション等のコンピュータで実行することによって実現することができる。そこで、以下では、図2に示した情報処理装置1と同様の機能を実現するデータフィルタリングプログラムを実行するコンピュータの一例を説明する。図6は、データフィルタリングプログラムを実行するコンピュータの一例を示す図である。
図6に示すように、コンピュータ200は、各種演算処理を実行するCPU203と、ユーザからのデータの入力を受け付ける入力装置215と、表示装置209を制御する表示制御部207とを有する。また、コンピュータ200は、記憶媒体からプログラム等を読取るドライブ装置213と、ネットワークを介して他のコンピュータとの間でデータの授受を行う通信制御部217とを有する。また、コンピュータ200は、各種情報を一時記憶するメモリ201と、HDD205を有する。そして、メモリ201、CPU203、HDD205、表示制御部207、ドライブ装置213、入力装置215、通信制御部217は、バス219で接続されている。
ドライブ装置213は、例えばリムーバブルディスク211用の装置である。HDD205は、データフィルタリングプログラム205aおよびデータフィルタリング処理関連情報205bを記憶する。
CPU203は、データフィルタリングプログラム205aを読み出して、メモリ201に展開し、プロセスとして実行する。かかるプロセスは、情報処理装置1の各機能部に対応する。データフィルタリング処理関連情報205bは、フィルタリング条件記憶部131、ログ記憶部132に対応する。そして、例えばリムーバブルディスク211が、データフィルタリングプログラム205a等の各情報を記憶する。
なお、データフィルタリングプログラム205aについては、必ずしも最初からHDD205に記憶させておかなくても良い。例えば、コンピュータ200に挿入されるフレキシブルディスク(FD)、CD−ROM、DVDディスク、光磁気ディスク、ICカード等の「可搬用の物理媒体」に当該プログラムを記憶させておく。そして、コンピュータ200がこれらからデータフィルタリングプログラム205aを読み出して実行するようにしても良い。
1 情報処理装置
11,12 通信制御I/F部
13 記憶部
131 フィルタリング条件記憶部
132 ログ記憶部
14 制御部
141 車両状態検知部
142 フィルタリング部
142a 第1の判定部
142b 解析部
142c 追加条件判定部
142d 第2の判定部
143 実行処理部
144 異常処理部
2 端末装置
21 制御アプリ
3 車両機器
9 データフィルタリングシステム

Claims (6)

  1. 端末装置から車両機器へ操作された制御命令を実行する情報処理装置において、
    前記端末装置から操作された制御命令が前記車両機器への操作に関する第1の条件を満たすか否かを判定する第1の判定部と、
    前記制御命令が前記第1の条件の追加条件であって前記第1の条件が示す操作の一連のシーケンスに関する追加条件を含む内容であれば、前記制御命令が前記追加条件を満たすか否かを判定する追加条件判定部と、
    記制御命令が前記車両機器の車両状態に関する第2の条件を満たすか否かを判定する第2の判定部と、
    前記第1の判定部、前記追加条件判定部および前記第2の判定部のそれぞれの判定結果に応じた処理を実行する処理部と、
    を有することを特徴とする情報処理装置。
  2. 前記処理部は、前記第1の判定部、前記追加条件判定部および前記第2の判定部のそれぞれの判定結果が全て満たすと判定された場合、前記制御命令の実行を中止する
    ことを特徴とする請求項1に記載の情報処理装置。
  3. 前記追加条件判定部は、前記端末装置から操作された制御命令を受け取る都度記憶する制御命令の履歴を用いて、前記端末装置から操作された制御命令が過去に操作された制御命令との関係において追加条件を満たすか否かを判定する
    ことを特徴とする請求項1に記載の情報処理装置。
  4. 前記第1の条件、前記追加条件および前記第2の条件は、前記制御命令が悪意とみなされる条件である
    ことを特徴とする請求項1に記載の情報処理装置。
  5. 端末装置から車両機器へ操作された制御命令を実行するコンピュータに、
    前記端末装置から操作された制御命令が前記車両機器への操作に関する第1の条件を満たすか否かを判定し、
    前記制御命令が前記第1の条件の追加条件であって前記第1の条件が示す操作の一連のシーケンスに関する追加条件を含む内容であれば、前記制御命令が前記追加条件を満たすか否かを判定し、
    記制御命令が前記車両機器の車両状態に関する第2の条件を満たすか否かを判定し、
    前記第1の条件を満たすか否かを判定する処理、前記追加条件を満たすか否かを判定する処理および前記第2の条件を満たすか否かを判定する処理のそれぞれの判定結果に応じた処理を実行する
    処理を実行させることを特徴とするデータフィルタリングプログラム。
  6. 前記処理部は、前記第1の判定部、前記追加条件判定部および前記第2の判定部のそれぞれの判定結果のうちいずれかの判定結果が満たさないと判定された場合、前記制御命令の実行を中止する
    ことを特徴とする請求項1に記載の情報処理装置。
JP2015554341A 2013-12-24 2013-12-24 情報処理装置およびデータフィルタリングプログラム Active JP6296064B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2013/084528 WO2015097760A1 (ja) 2013-12-24 2013-12-24 情報処理装置およびデータフィルタリングプログラム

Publications (2)

Publication Number Publication Date
JPWO2015097760A1 JPWO2015097760A1 (ja) 2017-03-23
JP6296064B2 true JP6296064B2 (ja) 2018-03-20

Family

ID=53477703

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015554341A Active JP6296064B2 (ja) 2013-12-24 2013-12-24 情報処理装置およびデータフィルタリングプログラム

Country Status (4)

Country Link
US (1) US9809116B2 (ja)
EP (1) EP3088255B1 (ja)
JP (1) JP6296064B2 (ja)
WO (1) WO2015097760A1 (ja)

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3017413B2 (ja) * 1995-02-08 2000-03-06 本田技研工業株式会社 車両用データ通信方法および装置
JP3800025B2 (ja) * 2001-04-27 2006-07-19 日産自動車株式会社 車両用走行制御装置
JP3767481B2 (ja) * 2001-12-27 2006-04-19 株式会社デンソー インターフェイス装置
JP4181965B2 (ja) 2002-11-11 2008-11-19 キヤノン株式会社 コンピュータ周辺装置およびその制御方法
US20070043489A1 (en) * 2005-08-19 2007-02-22 Alrabady Ansaf I System and method for controlling access to mobile devices
US20100233957A1 (en) * 2009-03-11 2010-09-16 Delphi Technologies, Inc. Vehicle Personalization Using A Near Field Communications Transponder
JP2011239143A (ja) * 2010-05-10 2011-11-24 Denso Corp 記録システム、車載機及び携帯機
JP5910102B2 (ja) 2012-01-18 2016-04-27 株式会社Jvcケンウッド 車載装置、車載装置の制御方法、及び、プログラム

Also Published As

Publication number Publication date
US20160280070A1 (en) 2016-09-29
EP3088255B1 (en) 2017-09-20
WO2015097760A1 (ja) 2015-07-02
US9809116B2 (en) 2017-11-07
EP3088255A4 (en) 2016-12-28
EP3088255A1 (en) 2016-11-02
JPWO2015097760A1 (ja) 2017-03-23

Similar Documents

Publication Publication Date Title
CA2953144C (en) Method and apparatus for providing vehicle security
US10326793B2 (en) System and method for guarding a controller area network
KR101600460B1 (ko) 보안기능을 갖는 ecu 업그레이드시스템 및 그 방법
Checkoway et al. Comprehensive experimental analyses of automotive attack surfaces
JP6712938B2 (ja) 評価装置、評価システム及び評価方法
CN105793121B (zh) 用于关停被非法使用的车辆的系统和方法
US10118592B2 (en) Diagnostic port protection to body control module
CN107000762B (zh) 用于自动实施机动车的至少一个行驶功能的方法
CN106537463B (zh) 用于提高车辆安全性的方法和装置
US11537122B2 (en) Method for controlling a motor vehicle remotely
JP6650041B2 (ja) 車両における1つ以上の機能をトリガする方法
CN111051159A (zh) 车辆用控制系统
JP6296064B2 (ja) 情報処理装置およびデータフィルタリングプログラム
JP6838147B2 (ja) Ecu
Hayes Hackers under the hood: It's been five years since the first reports of car hacking emerged, but despite progress in vehicle protection standards, automotive cyber-security remains on high alert
Weimerskirch Automotive and industrial data security
JP2011118691A (ja) Etc車載装置
Halahan et al. Wireless security within new model vehicles
Apvrille et al. Design and Verification of Secure Autonomous Vehicles
Ward Aligning safety and security systems for connected vehicles
Nisch Security Issues in Modern Automotive Systems
Groza et al. Car-to-smartphone interactions: Experimental setup, risk analysis and security technologies
CN107776534A (zh) 一种方向盘控制方法、装置及汽车
CN113614803B (zh) 车辆数据处理装置、车辆数据处理系统以及车辆数据处理方法
JP5315310B2 (ja) 車両運行管理システム

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170606

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170802

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: 20180123

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180205

R150 Certificate of patent or registration of utility model

Ref document number: 6296064

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150