JP2020005113A - 通信監視装置 - Google Patents

通信監視装置 Download PDF

Info

Publication number
JP2020005113A
JP2020005113A JP2018122465A JP2018122465A JP2020005113A JP 2020005113 A JP2020005113 A JP 2020005113A JP 2018122465 A JP2018122465 A JP 2018122465A JP 2018122465 A JP2018122465 A JP 2018122465A JP 2020005113 A JP2020005113 A JP 2020005113A
Authority
JP
Japan
Prior art keywords
value
message
communication
control unit
monitoring device
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
JP2018122465A
Other languages
English (en)
Inventor
思▲みゃお▼ 王
Si Miao Wang
思▲みゃお▼ 王
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.)
Marelli Corp
Original Assignee
Marelli Corp
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 Marelli Corp filed Critical Marelli Corp
Priority to JP2018122465A priority Critical patent/JP2020005113A/ja
Publication of JP2020005113A publication Critical patent/JP2020005113A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Small-Scale Networks (AREA)

Abstract

【課題】ホワイトリストを用いた侵入検知システムにおいて、データの改竄の検知能力を向上させうる通信監視装置を提供する。【解決手段】通信監視装置10は、車載通信において送受信されるメッセージが改竄されたかを監視する。通信監視装置10は、メッセージを受信する通信部11と、複数のメッセージの値の正常な組み合わせのリストをホワイトリストとして格納している記憶部12と、制御部13と、を備える。制御部13は、通信部11がメッセージを受信すると、該メッセージの値と、該メッセージと同じタイミングで受信した1つ以上の他のメッセージの値とを組み合わせて組み合わせ値を生成し、生成した組み合わせ値がが、ホワイトリストに含まれているか判定し、ホワイトリストに含まれていない場合、受信したメッセージ又は他のメッセージのいずれかが改竄されたと判定する。【選択図】図2

Description

本発明は、通信監視装置に関する。
近年、自動車などの車両において、車載通信を用いる技術が進展している。例えば、自動車の多くの機能が、車載通信の通信バスに接続された電子制御ユニット(ECU:Electronic Control Unit)によって制御されている。
これに伴い、車載通信に対するサイバー攻撃への対策の重要性が高まっている。例えば特許文献1には、電子制御ユニットに内蔵されているデータが改竄されたか否かを判定する発明が開示されている。
車載通信において、サイバー攻撃によってメッセージが不正に改竄されたことを検知するために、IT業界で既存の侵入検知システム(IDS:Intrusion Detection System)を使用しうる。侵入検知システムとしては、一般的に、メッセージ認証及びホワイトリストの2種類の技術が多く用いられている。
メッセージ認証においては、不正を検知するために、メッセージが認証コードを有する必要がある。しかしながら、車載通信で主に用いられているCAN(Controller Area Network)通信においては、メッセージが保持可能なデータ量が少ないため、認証コードに割り当て可能なデータ量が少ない。そのため、総当たり攻撃などによって、短時間で認証コードが解読されうる。
また、メッセージ認証をするためには、それぞれの電子制御ユニットにおいて鍵を管理する必要があるが、このような鍵の管理には大きなコストがかかる。
これに対し、ホワイトリストを用いた方式では、メッセージが認証コードを有する必要がないため、認証コードを解読されるおそれがない。また、ホワイトリストを用いた方式では、それぞれの電子制御ユニットにおいて鍵を管理する必要がないため、鍵を管理するためのコストが不要である。
特開2005−242871号公報
しかしながら、ホワイトリストを用いた方式には、ホワイトリストに含まれているデータの範囲内でデータを改竄されると、改竄されたことを検出できないという問題がある。例えば、車速メータに対し本来60km/hのデータを送るべきところを、20km/hのデータに改竄されても、車速のデータとして20km/hはホワイトリストに含まれている通常のデータの範囲内であるため、データが改竄されたことを検出できない。
かかる観点に鑑みてなされた本発明の目的は、ホワイトリストを用いた侵入検知システムにおいて、データの改竄の検知能力を向上させうる通信監視装置を提供することにある。
上記課題を解決するために、第1の観点に係る通信監視装置は、
車載通信において複数の電子制御ユニット間で送受信されるメッセージが改竄されたか否かを監視する通信監視装置であって、
前記複数の電子制御ユニット間で送受信されるメッセージを受信する通信部と、
複数のメッセージの値の正常な組み合わせのリストをホワイトリストとして格納している記憶部と、
制御部と、を備え、
前記制御部は、
前記通信部がメッセージを受信すると、該メッセージの値と、該メッセージと同じタイミングで受信した1つ以上の他のメッセージの値とを組み合わせて組み合わせ値を生成し、
生成した前記組み合わせ値が、前記ホワイトリストに含まれているか判定し、
前記組み合わせ値が前記ホワイトリストに含まれていない場合、受信した前記メッセージ又は前記他のメッセージのいずれかが改竄されたと判定する。
第1の観点に係る通信監視装置によれば、ホワイトリストを用いた侵入検知システムにおいて、データの改竄の検知能力を向上させうる。
一実施形態に係る通信監視装置が通信バスに接続されている様子を示す図である。 一実施形態に係る通信監視装置の構成例を示すブロック図である。 記憶部が格納しているホワイトリストの一例を示す図である。 ハッシュ値で格納することによりデータ量を低減しうる効果を示す図である。 通信監視装置が複数の電子制御ユニットと接続されている構成の一例を示す図である。 図5において通信監視装置が受信するメッセージの値の一例を示す図である。 図5の構成例において、1つのメッセージが改竄されている様子を示す図である。 図7において通信監視装置が受信するメッセージの値の一例を示す図である。 一実施形態に係る通信監視装置の動作の一例を示すフローチャートである。
以下、本開示の実施形態について、図面を参照して説明する。
図1に示すように、一実施形態に係る通信監視装置10は、通信バス1に接続されている。通信バス1は、車載通信において用いられる通信バスである。図1に示す例では、通信バス1の通信プロトコルは、CANである。なお、通信バス1の通信プロトコルをCANとしたのは一例であり、通信バス1の通信プロトコルは、これに限定されない。例えば、通信バス1の通信プロトコルは、CAN FD(CAN with Flexible Data rate)であってもよい。
通信バス1には、電子制御ユニット(ECU)20−1〜20−4が接続されている。以後、電子制御ユニット20−1〜20−4について、特に区別する必要がない場合は、電子制御ユニット20と総称する場合がある。
電子制御ユニット20は、自動車などの車両に搭載されている電装品を制御する制御ユニット、又は車両状況を監視する検知・監視ユニットである。図1においては、通信バス1に4つの電子制御ユニット20が接続されているが、通信バス1に接続される電子制御ユニット20の個数はこれに限定されない。通信バス1には、任意の個数の電子制御ユニット20が接続されてよい。
電子制御ユニット20は、通信バス1を介して他の電子制御ユニット20とメッセージを送受信する。ここで、「メッセージ」とは、CAN通信などの車載通信において送受信されるデータのまとまりである。「メッセージ」は、「フレーム」とも呼ばれる。
通信監視装置10は、自動車などの車両に搭載されていてよい。通信監視装置10は、通信バス1上のメッセージを監視する。通信監視装置10は、複数の電子制御ユニット20の間で送受信されるメッセージが改竄されたか否かを監視する。通信監視装置10は、電子制御ユニットの1つとして機能してよい。
図2に示すように、一実施形態に係る通信監視装置10は、通信部11と、記憶部12と、制御部13とを備える。
通信部11は、通信バス1に接続している。通信部11は、複数の電子制御ユニット20の間で送受信されるメッセージを受信する。通信部11は、通信バス1に接続されている全ての電子制御ユニット20が送信するメッセージを受信してもよいし、予め指定した電子制御ユニット20が送信するメッセージのみを受信してもよい。
記憶部12は、制御部13に接続され、制御部13から取得した情報を格納する。記憶部12は、制御部13のワーキングメモリとして機能してよい。記憶部12は、制御部13で実行されるプログラムを格納してよい。記憶部12は、例えば、半導体メモリで構成されるが、これには限られず、磁気記憶媒体で構成されてよいし、他の記憶媒体で構成されてよい。記憶部12は、制御部13の一部として制御部13に含まれてよい。
記憶部12は、電子制御ユニット20の間で送受信されるメッセージの値の正常な組み合わせのリストをホワイトリストとして格納している。ここで、「メッセージの値」とは、メッセージが含む実体的なデータの値であり、ペイロードとも称される。例えば、メッセージがエンジン回転数のデータを含むメッセージである場合、「メッセージの値」はエンジン回転数を示す値であり、例えば「1600RPM」などのような値である。また、例えば、メッセージがギヤシフトのデータを含むメッセージである場合、「メッセージの値」はギヤシフトを示す値であり、例えば「3」などのような値である。
図3(a)に、記憶部12がホワイトリストとして格納している、メッセージの値の正常な組み合わせの一例を示す。
図3(a)において、「インデックス」は、メッセージの値の正常な組み合わせのそれぞれに対して付されている番号である。
「データID」は、各メッセージに含まれているIDであり、メッセージがどのような種類のデータを含むメッセージであるかを示す。データIDは、例えば、メッセージに含まれるデータがエンジン回転数であることを示す。
「ペイロード」は、メッセージの値を示す。例えば、図3(a)において、データID「0x000」がエンジン回転数である場合、ペイロード「00 11 00 11 00 01」は、1600RPMなどの値を示す。
図3(a)に示す例では、4つのメッセージの値の正常な組み合わせを示している。記憶部12は、データIDが、「0x000」、「0x001」、「0x002」及び「0003」である4つのメッセージの正常な値の組み合わせとして、全てのあり得る組み合わせをホワイトリストとして格納している。また、記憶部12は、他のデータIDの組み合わせに対しても、正常な値の組み合わせとして全てのあり得る組み合わせをホワイトリストとして格納している。
記憶部12は、図3(a)に示すような正常な値の組み合わせをハッシュして、図3(b)に示すようなハッシュ値として、正常な値の組み合わせを格納してよい。図3(b)に示すハッシュ値に変換されたペイロードの値「129DSf12」は、図3(a)に示す4つのペイロードの値「00 11 00 11 00 01」、「00 11 00 11 00 02」、「00 11 00 11 00 03」及び「00 11 00 11 00 04」をまとめてハッシュして、ハッシュ値としたものである。
記憶部12は、図3(b)に示す様に、正常な値の組み合わせをハッシュ値として記憶することにより、ホワイトリストを格納するために必要なメモリ容量を低減しうる。
例えば、正常な値の組み合わせを128ビットのハッシュ値に変換して記憶部12に格納する場合、メッセージの組み合わせの数をN、1つのメッセージのペイロードのデータサイズをP(バイト)とすると、ハッシュ値にすることにより、下記の式(1)に表されるメモリサイズを削減しうる。
削減できるメモリサイズ(ビット)=N×P×8−128 (1)
図4に、上述の式(1)に基づくグラフを示す。図4は、横軸がメッセージの組み合わせの数であり、縦軸が削減できるメモリサイズ(ビット)である。図4には、ペイロードのデータサイズPが、4、8、16、32及び64の場合のグラフを示している。例えば、ペイロードのデータサイズPが32バイトで、メッセージの組み合わせの数が10である場合、削減できるメモリサイズは、2432ビットである。
以後、記憶部12は、正常な値の組み合わせをハッシュ値として格納しているものとして説明する。
なお、記憶部12が、正常な値の組み合わせをハッシュ値として格納することは必須ではなく、記憶部12は、正常な値の組み合わせをハッシュ値に変換せずに格納してもよい。
制御部13は、通信監視装置10の各構成部を制御する。制御部13は、例えば、制御手順を規定したプログラムを実行するCPU(Central Processing Unit)等のプロセッサで構成されてよい。制御部13は、例えば、記憶部12に格納されているプログラムを読み込み、各種プログラムを実行する。
制御部13は、通信部11がメッセージを受信すると、該メッセージの値と、通信部11が同じタイミングで受信した1つ以上の他のメッセージの値とを組み合わせて「組み合わせ値」を生成する。以後、制御部13が複数のメッセージの値を組み合わせて生成した値について、「組み合わせ値」との用語を用いることがある。
ここで、「通信部11が同じタイミングで受信した」とは、完全に同じタイミングで受信したことのみを意味するのではなく、通信部11が連続的にメッセージを受信した場合など、ほぼ同じタイミングで受信したことも含む。
制御部13は、受信したメッセージの値と、同じタイミングで受信した他のメッセージの値とを組み合わせて、組み合わせ値を生成すると、該組み合わせ値をハッシュして、組み合わせ値のハッシュ値を生成する。
制御部13は、組み合わせ値のハッシュ値を生成すると、記憶部12が格納しているホワイトリストに該ハッシュ値が含まれているか否かを判定する。
制御部13は、組み合わせ値から生成したハッシュ値がホワイトリストに含まれていない場合、組み合わせ値を生成するために用いたいずれかのメッセ−が改竄されたと判定する。
制御部13は、組み合わせ値を生成するために用いたいずれかのメッセ−が改竄されたと判定した場合、例えば、通信バス1を介して制御可能な表示機器に通知して表示させるなどして、メッセージが改竄されたことをユーザに通知してよい。
制御部13は、通信部11がメッセージを受信すると、受信したメッセージの値が、該メッセージを送信した電子制御ユニット20に入力された1つ以上の他のメッセージの値から算出された値であるか否かを判定する。制御部13は、例えば受信したメッセージのデータIDに基づいて、受信したメッセージの値が、該メッセージを送信した電子制御ユニット20に入力された1つ以上の他のメッセージの値から算出された値であるか否かを判定してよい。
例えば、受信したメッセージのデータIDが、メッセージの種類が「車速」であることを示すものである場合、このメッセージは、車速算出ECUとして機能する電子制御ユニット20から送信されたものである。この場合、メッセージの値である「車速」は、車速算出ECUとして機能する電子制御ユニット20に入力された、3つのメッセージの値(エンジン回転数、アクセル開度、ギヤシフト)から算出された値である。したがって、制御部13は、データIDが「車速」に対応するメッセージを通信部11が受信すると、該メッセージの値は、該メッセージを送信した電子制御ユニット20に入力された3つの他のメッセージの値から算出された値であると判定する。
また、例えば、受信したメッセージのデータIDが、メッセージの種類が「エンジン回転数」であることを示すものである場合、このメッセージは、エンジン制御ECUとして機能する電子制御ユニット20から送信されたものである。この場合、メッセージの値である「エンジン回転数」は、エンジン制御ECUとして機能する電子制御ユニット20に、システムから入力された値である。したがって、制御部13は、データIDが「エンジン回転数」に対応するメッセージを通信部11が受信すると、該メッセージの値は、該メッセージを送信した電子制御ユニット20に入力された1つ以上の他のメッセージの値から算出された値ではないと判定する。
制御部13は、受信したメッセージの値が、該メッセージを送信した電子制御ユニット20に入力された1つ以上の他のメッセージの値から算出された値である場合、受信したメッセージの値と、該メッセージを送信した電子制御ユニット20に入力された1つ以上の他のメッセージの値とを組み合わせて、組み合わせ値を生成する。
例えば、制御部13は、受信したメッセージの値が「車速」である場合、車速算出ECUとして機能する電子制御ユニット20に入力された他のメッセージの値である「エンジン回転数」、「アクセル開度」及び「ギヤシフト」と、「車速」とを組み合わせて、組み合わせ値を生成する。
制御部13は、受信したメッセージの値が、該メッセージを送信した電子制御ユニット20に入力された1つ以上の他のメッセージの値から算出された値でない場合、受信したメッセージの値と、受信したメッセージが入力されている電子制御ユニット20に入力されている1つ以上の他のメッセージの値とを組み合わせて、組み合わせ値を生成する。
例えば、制御部13は、受信したメッセージの値が「エンジン回転数」である場合、該メッセージが入力されている車速算出ECUとして機能する電子制御ユニット20に入力された他のメッセージの値である「アクセル開度」及び「ギヤシフト」と、「エンジン回転数」とを組み合わせて、組み合わせ値を生成する。
図5に、通信監視装置10と複数の電子制御ユニット20とが接続されている構成の一例を示す。図5に示す構成例を参照して、通信監視装置10の動作の具体例について説明する。
図5に示す構成例においては、電子制御ユニット20−1〜20−4は、それぞれ、エンジン制御ECU20−1、アクセル検知ECU20−2、ギヤ検知ECU20−3、及び車速算出ECU20−4であるものとする。
エンジン制御ECU20−1は、システム30から、エンジン回転数の情報をハードウェア信号として受信する。エンジン制御ECU20−1は、運転者の操作によって生成されたハードウェア信号として、エンジン回転数の情報を受信してよい。
エンジン制御ECU20−1は、エンジン回転数の値をペイロードとして含むメッセージM1を、車速算出ECU20−4に送信する。また、エンジン制御ECU20−1は、車速算出ECU20−4に送信したメッセージM1を、通信監視装置10にも送信する。
アクセル検知ECU20−2は、システム30から、アクセル開度の情報をハードウェア信号として受信する。アクセル検知ECU20−2は、運転者の操作によって生成されたハードウェア信号として、アクセル開度の情報を受信してよい。
アクセル検知ECU20−2は、アクセル開度の値をペイロードとして含むメッセージM2を、車速算出ECU20−4に送信する。また、アクセル検知ECU20−2は、車速算出ECU20−4に送信したメッセージM2を、通信監視装置10にも送信する。
ギヤ検知ECU20−3は、システム30から、ギヤシフトの情報をハードウェア信号として受信する。ギヤ検知ECU20−3は、運転者の操作によって生成されたハードウェア信号として、ギヤシフトの情報を受信してよい。
ギヤ検知ECU20−3は、ギヤシフトの値をペイロードとして含むメッセージM3を、車速算出ECU20−4に送信する。また、ギヤ検知ECU20−3は、車速算出ECU20−4に送信したメッセージM3を、通信監視装置10にも送信する。
車速算出ECU20−4は、エンジン制御ECU20−1からメッセージM1を受信し、アクセル検知ECU20−2からメッセージM2を受信し、ギヤ検知ECU20−3からメッセージM3を受信する。車速算出ECU20−4は、メッセージM1の値であるエンジン回転数、メッセージM2の値であるアクセル開度、及びメッセージM3の値であるギヤシフトから、車速を算出する。
車速算出ECU20−4は、算出した車速の値をペイロードとして含むメッセージM4を、メータ40に送信する。メータ40は、メッセージM4を受信すると、メッセージM4が含む車速の値を表示する。車速算出ECU20−4は、メータ40に送信したメッセージM4を、通信監視装置10にも送信する。
図6に、メッセージM1〜M4の値の一例を示す。図6において、データIDが「エンジン回転数」であるとは、メッセージM1の含むデータIDが、メッセージM1の種類が「エンジン回転数」であることを示している。図6に示す値は、エンジン回転数、アクセル開度、ギヤシフト及び車速の4つの値の組み合わせとして、整合がとれている値である。したがって、この4つの値を組み合わせた組み合わせ値のハッシュ値は、通信監視装置10の記憶部12が格納するホワイトリストに含まれている。
また、図6に示す値は、エンジン回転数、アクセル開度及びギヤシフトの3つの値の組み合わせとしても整合がとれている。したがって、この3つの値を組み合わせた組み合わせ値のハッシュ値も、通信監視装置10の記憶部12が格納するホワイトリストに含まれている。
図5に示す構成例において、通信監視装置10の通信部11がエンジン制御ECU20−1からメッセージM1を受信すると、制御部13は、メッセージM1のエンジン回転数の値は、エンジン制御ECU20−1に入力された1つ以上の他のメッセージの値から算出された値ではないと判定する。この場合、制御部13は、メッセージM1が入力されている車速算出ECU20−4に入力されている他のメッセージであるメッセージM2及びメッセージM3の値と、メッセージM1の値とを組み合わせて組み合わせ値を生成する。図6に示す例の場合、制御部13は、エンジン回転数の「1600RPM」、アクセル開度の「+20%」、及びギヤシフトの「3」という3つの値を組み合わせて、組み合わせ値を生成する。
制御部13は、メッセージM1〜M3の3つの値から生成した組み合わせ値をハッシュしてハッシュ値を生成する。制御部13が生成したハッシュ値が、例えば「cka1620c」であるとすると、このハッシュ値は記憶部12が格納しているホワイトリストに含まれている。したがって、制御部13は、メッセージM1〜M3の3つの値は改竄されていないと判定する。
通信監視装置10の通信部11がアクセル検知ECU20−2からメッセージM2を受信した場合も、上述のエンジン制御ECU20−1からメッセージM1を受信した場合と同様に、制御部13は、メッセージM1〜M3の3つの値から生成した組み合わせ値をハッシュしてハッシュ値を生成する。
また、通信監視装置10の通信部11がギヤ検知ECU20−3からメッセージM3を受信した場合も、上述のエンジン制御ECU20−1からメッセージM1を受信した場合と同様に、制御部13は、メッセージM1〜M3の3つの値から生成した組み合わせ値をハッシュしてハッシュ値を生成する。
図5に示す構成例において、通信監視装置10の通信部11が車速算出ECU20−4からメッセージM4を受信すると、制御部13は、メッセージM4の車速の値は、車速算出ECU20−4に入力された3つのメッセージM1〜M3の値から算出された値であると判定する。この場合、制御部13は、メッセージM4の値と、車速算出ECU20−4に入力されているメッセージM1〜M3の値とを組み合わせて組み合わせ値を生成する。図6に示す例の場合、制御部13は、エンジン回転数の「1600RPM」、アクセル開度の「+20%」、ギヤシフトの「3」、及び車速の「80km/h」という4つの値を組み合わせて、組み合わせ値を生成する。
制御部13は、メッセージM1〜M4の4つの値から生成した組み合わせ値をハッシュしてハッシュ値を生成する。制御部13が生成したハッシュ値が、例えば「cks8020c」であるとすると、このハッシュ値は記憶部12が格納しているホワイトリストに含まれている。したがって、制御部13は、メッセージM1〜M4の4つの値は改竄されていないと判定する。
図7に、図5に示す構成例において、アクセル検知ECU20−2がサイバー攻撃を受けて、アクセル検知ECU20−2が送信するメッセージM2が改竄された様子を示す。例えば、図8に示すように、メッセージM2の値であるアクセル開度の値が、本来の「+20%」から「−40%」に改竄されたものとする。この場合、改竄されたメッセージM2の値を用いて車速が算出されるため、メッセージM4の値も、本来は「80km/h」となるところが「20km/h」となっている。
この場合、通信監視装置10の通信部11が、エンジン制御ECU20−1からメッセージM1を受信するか、アクセル検知ECU20−2からメッセージM2を受信するか、又は、ギヤ検知ECU20−3からメッセージM3を受信すると、制御部13は、メッセージM1〜M3の3つの値から生成した組み合わせ値をハッシュしてハッシュ値を生成する。図8に示す例の場合、制御部13は、エンジン回転数の「1600RPM」、改竄された値であるアクセル開度の「−40%」、及びギヤシフトの「3」という3つの値を組み合わせて、組み合わせ値を生成する。
制御部13が改竄されたメッセージM2を含むメッセージM1〜M3の3つの値を組み合わせて生成したハッシュ値が、例えば「ckr1640e」であるとすると、このハッシュ値は記憶部12が格納しているホワイトリストに含まれていない。したがって、制御部13は、メッセージM1〜M3の3つの値のうち、いずれかの値が改竄されていると判定する。
アクセル開度の「−40%」という値は、単独の値としては、アクセル開度の値として正常範囲の値である。しかしながら、本実施形態に係る通信監視装置10によれば、制御部13が、メッセージM1〜M3の複数の値を組み合わせて生成したハッシュ値がホワイトリストに含まれているかで改竄の有無を判定することにより、メッセージが改竄されたことを検出しうる。
また、図7に示すような改竄がされた場合において、通信監視装置10の通信部11が車速算出ECU20−4からメッセージM4を受信すると、制御部13は、メッセージM1〜M4の4つの値から生成した組み合わせ値をハッシュしてハッシュ値を生成する。図8に示す例の場合、制御部13は、エンジン回転数の「1600RPM」、改竄された値であるアクセル開度の「−40%」、ギヤシフトの「3」、及び車速の「20km/h」という4つの値を組み合わせて、組み合わせ値を生成する。
制御部13が改竄されたメッセージM2を含むメッセージM1〜M4の4つの値を組み合わせて生成したハッシュ値が、例えば「cks2040e」であるとすると、このハッシュ値は記憶部12が格納しているホワイトリストに含まれていない。したがって、制御部13は、メッセージM1〜M4の4つの値のうち、いずれかの値が改竄されていると判定する。
アクセル開度の「−40%」という値、及び車速の「20km/h」という値は、それぞれ、単独の値としては、アクセル開度の値及び車速の値として正常範囲の値である。しかしながら、本実施形態に係る通信監視装置10によれば、制御部13が、メッセージM1〜M4の複数の値を組み合わせて生成したハッシュ値がホワイトリストに含まれているかで改竄の有無を判定することにより、メッセージが改竄されたことを検出しうる。
図9に示すフローチャートを参照して、一実施形態に係る通信監視装置10の動作の一例について説明する。
通信監視装置10の制御部13は、通信部11がメッセージを受信したかを常時監視している(ステップS101)。制御部13は、通信部11がメッセージを受信すると(ステップS102)、受信したメッセージの値が、該メッセージを送信した電子制御ユニット20に入力された1つ以上の他のメッセージの値から算出された値であるか否かを判定する(ステップS103)。
受信したメッセージの値が、他のメッセージの値から算出された値である場合(ステップS103のYes)、制御部13は、第1の組み合わせでハッシュ値を生成する(ステップS104)。ここで、「第1の組み合わせ」とは、受信したメッセージの値と、該メッセージを送信した電子制御ユニット20に入力された1つ以上の他のメッセージの値との組み合わせを意味するものとする。
受信したメッセージの値が、他のメッセージの値から算出された値ではない場合(ステップS103のNo)、制御部13は、第2の組み合わせでハッシュ値を生成する(ステップS105)。ここで、「第2の組み合わせ」とは、受信したメッセージの値と、受信したメッセージが入力されている電子制御ユニット20に入力されている1つ以上の他のメッセージの値との組み合わせを意味するものとする。
ステップS104又はステップS105においてハッシュ値を生成すると、制御部13は、生成したハッシュ値が、記憶部12が格納しているホワイトリストに含まれているか否かを判定する(ステップS106)。
生成したハッシュ値がホワイトリストに含まれていると判定した場合(ステップS106のYes)、制御部13は、組み合わせに用いられたいずれかのメッセージが改竄されていると判定する(ステップS107)。メッセージが改竄されていると判定した場合、制御部13は、例えば、通信バス1を介して制御可能な表示機器に通知して表示させるなどして、メッセージが改竄されたことをユーザに通知してよい。
生成したハッシュ値がホワイトリストに含まれていないと判定した場合(ステップS106のNo)、制御部13は、組み合わせに用いられたいずれのメッセージも改竄されていないと判定し、ステップS101に戻る。
本実施形態に係る通信監視装置10によれば、記憶部12は、複数のメッセージの値の正常な組み合わせのリストをホワイトリストとして格納している。また、制御部13は、通信部11がメッセージを受信すると、該メッセージの値と、該メッセージと同じタイミングで受信した1つ以上の他のメッセージの値とを組み合わせて組み合わせ値を生成し、生成した組み合わせ値が、ホワイトリストに含まれているか判定する。そして、制御部13は、組み合わせ値がホワイトリストに含まれていない場合、受信したメッセージ又は他のメッセージのいずれかが改竄されたと判定する。このように複数のメッセージの値を組み合わせた組み合わせ値で改竄を判定することにより、本実施形態に係る通信監視装置10は、1つのメッセージの値が通常の値の範囲内で改竄されている場合も、改竄されたことを検出しうる。これにより、本実施形態に係る通信監視装置10は、ホワイトリストを用いた侵入検知システムにおいて、データの改竄の検知能力を向上させうる。
また、本実施形態に係る通信監視装置10によれば、記憶部12は、複数のメッセージの値の正常な組み合わせをハッシュ値として格納している。これにより、本実施形態に係る通信監視装置10は、記憶部12がホワイトリストを格納するために必要なメモリ容量を低減しうる。
本開示に係る一実施形態について、諸図面及び実施例に基づき説明してきたが、当業者であれば本開示に基づき種々の変形又は修正を行うことが容易であることに注意されたい。従って、これらの変形又は修正は本開示の範囲に含まれることに留意されたい。例えば、各手段に含まれる機能等は論理的に矛盾しないように再配置可能であり、複数の手段等を1つに組み合わせたり、あるいは分割したりすることが可能である。
1 通信バス
10 通信監視装置
11 通信部
12 記憶部
13 制御部
20 電子制御ユニット(ECU)
30 システム
40 メータ

Claims (5)

  1. 車載通信において複数の電子制御ユニット間で送受信されるメッセージが改竄されたか否かを監視する通信監視装置であって、
    前記複数の電子制御ユニット間で送受信されるメッセージを受信する通信部と、
    複数のメッセージの値の正常な組み合わせのリストをホワイトリストとして格納している記憶部と、
    制御部と、を備え、
    前記制御部は、
    前記通信部がメッセージを受信すると、該メッセージの値と、該メッセージと同じタイミングで受信した1つ以上の他のメッセージの値とを組み合わせて組み合わせ値を生成し、
    生成した前記組み合わせ値が、前記ホワイトリストに含まれているか判定し、
    前記組み合わせ値が前記ホワイトリストに含まれていない場合、受信した前記メッセージ又は前記他のメッセージのいずれかが改竄されたと判定する、通信監視装置。
  2. 請求項1に記載の通信監視装置において、
    前記記憶部は、前記複数のメッセージの値の正常な組み合わせをハッシュ値として格納している、通信監視装置。
  3. 請求項2に記載の通信監視装置において、
    前記制御部は、生成した前記組み合わせ値をハッシュしてハッシュ値を生成し、該ハッシュ値が前記ホワイトリストに含まれていない場合、受信した前記メッセージ又は前記他のメッセージのいずれかが改竄されたと判定する、通信監視装置。
  4. 請求項1から3のいずれか一項に記載の通信監視装置において、
    前記制御部は、
    前記通信部がメッセージを受信すると、該メッセージの値が、該メッセージを送信した前記電子制御ユニットに入力された1つ以上の他のメッセージの値から算出された値であるか判定し、
    前記1つ以上の他のメッセージの値から算出された値である場合、受信した前記メッセージの値と、前記1つ以上の他のメッセージの値とを組み合わせて、前記組み合わせ値を生成する、通信監視装置。
  5. 請求項4に記載の通信監視装置において、
    前記制御部は、受信した前記メッセージの値が前記1つ以上の他のメッセージの値から算出された値でない場合、受信した前記メッセージが入力されている電子制御ユニットに入力されている1つ以上の他のメッセージの値と、受信した前記メッセージの値とを組み合わせて、前記組み合わせ値を生成する、通信監視装置。
JP2018122465A 2018-06-27 2018-06-27 通信監視装置 Pending JP2020005113A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018122465A JP2020005113A (ja) 2018-06-27 2018-06-27 通信監視装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018122465A JP2020005113A (ja) 2018-06-27 2018-06-27 通信監視装置

Publications (1)

Publication Number Publication Date
JP2020005113A true JP2020005113A (ja) 2020-01-09

Family

ID=69100643

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018122465A Pending JP2020005113A (ja) 2018-06-27 2018-06-27 通信監視装置

Country Status (1)

Country Link
JP (1) JP2020005113A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111314373A (zh) * 2020-03-05 2020-06-19 南水北调中线信息科技有限公司 一种报文监控方法及装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111314373A (zh) * 2020-03-05 2020-06-19 南水北调中线信息科技有限公司 一种报文监控方法及装置

Similar Documents

Publication Publication Date Title
US11595422B2 (en) Method for preventing electronic control unit from executing process based on malicious frame transmitted to bus
JP6908563B2 (ja) セキュリティ処理方法及びサーバ
EP3462670B1 (en) In-vehicle network system, fraud-sensing electronic control unit, and anti-fraud method
WO2015080108A1 (ja) プログラム更新システム及びプログラム更新方法
WO2019159593A1 (ja) 電子制御装置及び通信システム
US10764326B2 (en) Can controller safe against can-communication-based hacking attack
JP2013201510A (ja) 車両用データ通信システム及び車両用データ通信装置
CN112640365B (zh) 一种控制器区域网can总线安全通信方法及装置
WO2018173732A1 (ja) 車載通信装置、コンピュータプログラム及びメッセージ判定方法
US10585401B2 (en) Method for determining a master time signal, vehicle, and system
US20180310173A1 (en) Information processing apparatus, information processing system, and information processing method
CN112422595B (zh) 车载系统安全保护方法及设备
CN113794734A (zh) 车载can总线加密通信方法、控制装置和可读存储介质
KR101972457B1 (ko) Can 통신 기반 해킹공격 탐지 방법 및 시스템
CN113439425A (zh) 报文传输方法及装置
CN115277219A (zh) 消息加密方法、解密方法、装置及存储介质
JP2020005113A (ja) 通信監視装置
US20200312060A1 (en) Message monitoring system, message transmission electronic control unit, and monitoring electronic control unit
KR102462736B1 (ko) 센서의 측정값들에 서명하기 위한 방법, 장치 및 명령어들을 포함하는 컴퓨터 판독 가능 저장 매체
KR102236282B1 (ko) 차량용 통신 데이터 인증 방법 및 시스템
WO2019225369A1 (ja) 車載通信システム、判定装置、通信装置、判定方法及びコンピュータプログラム
TWI674778B (zh) 車輛資訊安全監控裝置
KR20180072340A (ko) 운송 수단 내부 네트워크에서의 제어 데이터를 보안 전송하는 방법
CN111480137B (zh) 总装置的触敏的面式输入设备的运行方法以及该总装置
Kathiresh et al. Vehicle diagnostics over internet protocol and over-the-air updates