JP6217469B2 - 不正データ検出装置、及び通信システム並びに不正データ検出方法 - Google Patents

不正データ検出装置、及び通信システム並びに不正データ検出方法 Download PDF

Info

Publication number
JP6217469B2
JP6217469B2 JP2014046608A JP2014046608A JP6217469B2 JP 6217469 B2 JP6217469 B2 JP 6217469B2 JP 2014046608 A JP2014046608 A JP 2014046608A JP 2014046608 A JP2014046608 A JP 2014046608A JP 6217469 B2 JP6217469 B2 JP 6217469B2
Authority
JP
Japan
Prior art keywords
message
transmitted
time interval
interval
transmission
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
JP2014046608A
Other languages
English (en)
Other versions
JP2015171092A (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.)
Toyota Motor Corp
Original Assignee
Toyota Motor 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 Toyota Motor Corp filed Critical Toyota Motor Corp
Priority to JP2014046608A priority Critical patent/JP6217469B2/ja
Publication of JP2015171092A publication Critical patent/JP2015171092A/ja
Application granted granted Critical
Publication of JP6217469B2 publication Critical patent/JP6217469B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、車載ネットワークに関する。
車両に搭載される電子制御ユニット(ECU: Electronic Control Unit)、センサ、アクチュエータ等の電子制御システムデバイス(以下、「デバイス」という)は、機能、精度などの性能要求、コスト要求を満たすように様々なバリエーションを揃えている。デバイスには様々なバリエーションがあるため、デバイスの置き換えを容易にできるように、周囲のデバイスとの連携をCAN(Controller Area Network)などの車内LANの通信メッセージで行うことが一般的である。
一方、車両の情報セキュリティの脆弱さが世間に広まり、その情報セキュリティの弱点につけ込み車両内のデータを抜き取ったり、特殊な表示や操作を可能としたりするなどの不正な目的を有する機器を接続することが一般化しつつある。その中で最も巧妙で、且つ悪質な手法が、車両に搭載されたデバイスを特殊な機能を有する偽デバイスに置き換えて、車内LANのデバイスに「成りすまし」て侵入させることである。つまり、このような不正な目的を有するECUは、その目的のため正規のデバイスに代わりCAN通信などの車載LANのノードに成りすまし、その通信を介して他のECUへアクセスする。
車載ECUに関して、送信したパケットに関する送信パケットを作成して記憶しておき、送信元が自アドレスのパケットを検出し、送信していないにもかかわらず送信元が自アドレスであるパケットを不正パケットとして検出する技術が知られている(例えば、特許文献1参照)。
特開2004−253908号公報
車載LANのデバイスに「成りすまし」て偽デバイスを侵入させること自体を防止することは難しい。しかし、偽デバイスによる悪影響の被害を最小化するためには、不正な偽デバイスの存在を即座に検出する必要がある。偽デバイスを検出できれば、その偽デバイスから送信されるメッセージを破棄するなどの対策を取ることができる。
しかし、偽デバイスから送信される不正メッセージを検出するために、送信したメッセージに関する送信メッセージを作成して記憶しておくのは、監視するデバイスの処理負荷を増大させるため好ましくない。
本発明の目的は、デバイスを複数有する通信システムにおいて、その通信システムに「成りすまし」て侵入している偽デバイスから送信されるメッセージを検出することである。
開示の一実施例の不正データ検出装置は、
複数のデバイスのうち、メッセージを送信するデバイスによって第1の時間間隔で定期的にメッセージの送信が行われるとともに、所定の頻度で、前記第1の時間間隔を延長した第2の時間間隔でメッセージが送信され、
前記メッセージを受信する不正データ検出装置は、
メッセージを受信する受信部と、
前記第2の時間間隔でメッセージが送信されるタイミングに、前記受信部によってメッセージを受信したタイミングが前記第2の時間間隔で送信されるメッセージを受信するタイミング以外のタイミングであると判断した場合、前記受信部によって受信したメッセージは前記メッセージを送信するデバイスに成りすましたデバイスから送信されたメッセージであると判断する制御部と
を備える。
開示の実施例によれば、デバイスを複数有する通信システムにおいて、その通信システムに「成りすまし」て侵入している偽デバイスから送信されるメッセージを検出することができる。
通信システムの一実施例を示す図である。 メッセージの送信間隔の一例を示す図である。 正規デバイス及び偽デバイスのメッセージの送信間隔の一例を示す図である。 メッセージの送信間隔の一実施例を示す図である。 第1のデバイスの一実施例を示す図である。 第1のデバイスの一実施例を示す機能ブロック図である。 メッセージの一例を示す図である。 送信間隔T−Longでメッセージを送信する頻度を示す図である。 送信間隔T−Longの設定例を示す図である。 第2のデバイスの一実施例を示す機能ブロック図である。 偽デバイスの判定例を示す図である。 第1のデバイスの動作の一実施例を示すフローチャートである。 第2のデバイスの動作の一実施例を示すフローチャートである。 通信システムの一実施例の効果を示す図である。 通信システムの一変形例を示す図である。
次に、本発明を実施するための形態を、以下の実施例に基づき図面を参照しつつ説明する。以下で説明する実施例は一例に過ぎず、本発明が適用される実施の形態は、以下の実施例に限られない。
なお、実施例を説明するための全図において、同一機能を有するものは同一符号を用い、繰り返しの説明は省略する。
<実施例>
<通信システム>
図1は、通信システムの一実施例を示す。
通信システムは、例えば車両等の移動体に搭載される。通信システムの一実施例は、車両に搭載され、CAN等のイベントドリブン型のネットワークが適用される。通信システムは、情報系LAN、パワートレイン系LAN、ボディ系LANなどに適用できる。
各デバイスは、電子制御ユニット、センサ(インテリジェントセンサ)、アクチュエータ等によって実現される。具体的には、車速センサ、ハンドルの切れ角を検出するセンサなどである。
通信システムは、第1のデバイス100と、第2のデバイス200とを備える。第1のデバイス100、及び第2のデバイス200は、通信バス10により有線接続される。図1には、2個のデバイスによって通信システムを構成する場合について示すが、3個以上のデバイスによって構成してもよい。
通信システムにCANが適用される場合、通信バス10は、ツイストペアの形態を有する2本の通信線(CANバス)からなる。CANバスのツイストペア線は一方がCAN High(以下、CANHという)、他方がCAN Low(以下、CANLという)と呼ばれる母線である。通信バス10の両端には終端抵抗(図示なし)が接続される。図1では、1本の実線でCANH、CANLを表す。
通信システムの一実施例では、第1のデバイス100からメッセージを送信し、そのメッセージを第2のデバイス200が受信する場合について説明するが、異なるデバイス間で定期的にメッセージの送受信が行われる場合について適用できる。
第1のデバイス100には、メッセージを定期的に送信する間隔(以下、「定期送信間隔T」という)が設定される。
図2は、第1のデバイス100が定期送信間隔Tにしたがって、メッセージを送信する際の送信タイミングの一例を示す。図2において、横軸は時間であり、「○」はメッセージの送信タイミングを示す。第1のデバイス100に限らず、第2のデバイス200がメッセージを送信する場合にも適用できる。
(1)は、第1のデバイス100が定期送信間隔Tでメッセージを送信する例を示す。(2)は、第1のデバイス100が定期送信間隔Tより遅れてメッセージを送信する例を示す。(3)は、第1のデバイス100が定期送信間隔Tが経過する前にメッセージを送信する例を示す。
理想的には、第1のデバイス100は、(1)に示すように定期送信周期Tでメッセージを送信するのが好ましい。しかし、通信バス10の通信混雑などの何らかの原因により、第1のデバイス100が、(2)に示すように定期送信周期Tから遅れてメッセージを送信することがある。しかし、第1のデバイス100に定期送信間隔Tが設定された場合に、(3)に示すように第1のデバイス100が定期送信間隔Tが経過する前にメッセージを送信することはない。
図3は、第1のデバイス100などの正規デバイスによるメッセージ(以下、「正規送信メッセージ」という)の送信状況と、第1のデバイス100に「成りすまし」て接続されると想定されるデバイス(以下、「偽デバイス」という)によるメッセージ(以下、「偽送信メッセージ」という)の送信状況の一例を示す。ここで、「偽デバイス」とは、正規デバイスの置き換え用に作られた模倣品である。通常「偽デバイス」は、特殊な目的用の機能を有し、例えば、車両挙動を敏感にすべく偏った特性を持つ加速度センサ等が該当する。
正規デバイスは、定期送信間隔Tが設定されている場合に、定期送信間隔T毎に定期送信間隔T以降の時間に正規送信メッセージを送信する。ここで、定期送信間隔T以降とは、何らかの原因により定期送信間隔Tで送信できないことがあるためである。
正規デバイスを模倣して偽デバイスを作製する者は、正規デバイスから送信される正規送信メッセージの定期送信間隔Tを計測し、その定期送信間隔Tと同様の送信間隔で偽送信メッセージが送信されるように偽デバイスを作製する。したがって、偽デバイスからは、正規デバイスと同様の定期送信間隔Tでメッセージが送信されるため、定期送信間隔Tでメッセージが送信されるか否かに基づいて、偽デバイスを検出するのは難しい。
そこで、通信システムの一実施例では、正規デバイスは、定期送信間隔Tが設定された場合に、定期送信間隔Tで正規送信メッセージを送信するとともに、所定の頻度(周期)で正規送信メッセージを送信する定期送信間隔Tが経過しても送信せずに、定期送信間隔Tよりも遅い時間(以下、「送信間隔T−Long」という)に送信する。つまり、正規デバイスは、所定の頻度で、定期送信間隔Tを延長した送信間隔T−Longでメッセージを送信する。
正規デバイスによって送信されるメッセージを受信するデバイスは、所定の頻度で送信間隔T−Longで送信されたメッセージを検出することにより、受信したメッセージが正規デバイスからのものであることを判定できる。つまり、第2のデバイス200は、他のデバイスから受信するメッセージの受信タイミングに基づいて、正規デバイスからの正規送信メッセージ等のデータであるか、偽デバイスからの偽送信メッセージ等の不正データであるかを判定する不正データ検出装置として機能する。
図4は、通信システムの一実施例に係る正規デバイスによる正規送信メッセージの送信状況と、偽デバイスによる偽送信メッセージの送信状況の一例を示す。
正規デバイスは、定期送信間隔Tが設定されている場合に、定期送信間隔T毎に定期送信間隔T以降の時間に正規送信メッセージを送信するとともに、所定の頻度で正規送信メッセージを送信する定期送信間隔Tが経過しても送信せずに、送信間隔T−Long経過後に送信する。定期送信間隔Tは一定だが、正規デバイスは、所定の頻度で脱調した長い送信間隔T−Long経過後にメッセージを送信するように設定される。図4では、送信間隔T−Longは「脱調送信間隔」と記載される。
偽デバイスは、正規デバイスと同様の定期送信間隔Tでメッセージを送信し続け、送信間隔T−Longでメッセージを送信することはない。したがって、受信側のデバイスは、送信間隔T−Longでメッセージが受信されるか否かを判断することにより、メッセージを送信するデバイスが正規デバイスであるか偽デバイスであるかを判断できる。換言すれば、正規デバイスによって送信されるメッセージを受信するデバイスは、送信間隔T−Longで送信されたメッセージの受信タイミングであるにも関わらず、該受信タイミング以降の時間以外のタイミングでメッセージを受信した場合、該メッセージを偽デバイスから送信されたものであると判定する。
<第1のデバイス100>
図5は、第1のデバイス100の一実施例を示す。図5には、主に、第1のデバイス100のハードウェア構成を示す。第2のデバイス200のハードウェア構成についても、図5を適用できる。
第1のデバイス100は、通信トランシーバ102と、マイコン104とを備える。マイコン104には、通信回路106と、CPU(Central Processing Unit)108とが実装される。
通信トランシーバ102は、通信バス10に接続され、通信ドライバによる制御によって、通信回路106からのデータを通信バス10に送信するとともに、通信バス10からメッセージなどのデータを受信し、通信回路106に入力する。通信トランシーバ102は、データを送信する場合には、CANHとCANLに反転信号を送出する。通信トランシーバ102は、データを受信する場合には、CANHとCANLとの電圧差から、通信バス10上のデータが"1"であるか"0"であるかを判定する。
通信回路106は、通信トランシーバ102と接続され、通信バス10を介して、他の通信ノードとシリアル通信を行う。通信回路106は、CPU108からのデータを通信トランシーバ102から送信するとともに、通信トランシーバ102からのデータをCPU108に入力する。
CPU108は、通信回路106と接続され、通信回路106により実行される通信処理や、第1のデバイス100を制御する処理を実行する。
<第1のデバイス100の機能>
図6は、第1のデバイス100の機能ブロック図を示す。
第1のデバイス100は、メッセージ作成部602と、送信制御部604と、送信タイミング設定部606として機能する。これら各部は、図5に示されている各構成要素のいずれかが、HD(図示なし)からRAM(図示なし)上に展開された第1のデバイス用のプログラムに従ったCPU108からの命令によって動作することで実現される機能又は手段である。
第1のデバイス用のプログラムは、インストール可能な形式又は実行可能な形式のファイルによって、ネットワークを介して又はコンピュータで読み取り可能な記録媒体に記録されて、流通される。上記記録媒体の他の例として、CD-R(Compact Disc Recordable)、DVD(Digital Versatile Disk)、ブルーレイディスク等が挙げられる。
メッセージ作成部602は、第2のデバイス200へ送信するメッセージを作成し、送信制御部604へ入力する。
図7は、CANフレームの一例を示す。メッセージ作成部602によって作成されるフレームは、CANフレームを適用できる。
CANフレームは、スタートオブフレーム(SOF: Start Of Frame)ビットと、IDと、リモートトランスミッションリクエスト(RTR: Remote Transmission Request)ビットと、データ長コード(DLC: Data Length Code)と、Dataフィールドと、CRCスロットと、ACK(アクノレッジ)スロットと、エンドオブフレーム(EOF: End of Frame)とが含まれる。
スタートオブフレームビットは、メッセージの始めを示し、ドミナント(論理0)ビットで示される。IDは、メッセージを識別し、メッセージの優先順位を示す。IDは、11ビットで表されてもよいし(標準フレーム)、29ビットで表されてもよい(拡張フレーム)。IDは、データIDとも呼ばれる。
リモートトランスミッションリクエストビットは、リモートフレームとデータフレームを区別するのに使用される。ドミナント(論理0)のリモートトランスミッションリクエストビットはデータフレームを示す。リセッシブ(論理1)のリモートトランスミッションリクエストビットはリモートフレームを示す。
データ長コードは、データフィールドに含まれるバイト数を示す。Dataフィールドには、0〜8バイトのデータが含まれる。CRCは、巡回冗長検査を示す。CRCには、15ビットの巡回冗長検査コードとリセッシブデリミタビットが含まれる。CRCフィールドは、エラー検出に使用される。
ACK(アクノレッジ)スロットは、メッセージを正しく受信した場合に、メッセージの最後に送信する。送信側のノードはバス上でACKビットの有無をチェックし、ACKが検出されなかった場合は再度送信を試みるのが好ましい。エンドオブフレームは、データフレームやリモートフレームの終了位置を示す。エンドオブフレームは、7ビットで構成され、ビットレベルは全て"リセッシブ"である。
送信制御部604は、メッセージ作成部602と接続され、送信タイミング設定部606で設定される送信タイミングにしたがって、メッセージ作成部602から入力されるメッセージを送信する制御を行う。
送信タイミング設定部606は、送信制御部604によって送信されるメッセージの送信タイミングを送信制御部604に設定する。送信タイミング設定部606は、定期送信間隔Tにしたがって、メッセージの送信タイミングを設定するとともに、該定期送信間隔Tを所定の頻度で延長する。
図8は、定期送信間隔Tを延長する頻度の設定例を示す。図8において、横軸は時間である。送信タイミング設定部606は、定期送信間隔Tでメッセージを49回送信した後に、定期送信間隔Tを延長した送信間隔T−Longの経過後に50回目のメッセージを送信するように設定する。つまり、送信タイミング設定部606は、50回のメッセージの送信に1回の割合で、前回の送信から送信間隔T-Longの経過後にメッセージを送信するように設定する。送信タイミング設定部606は、50回に1回の割合となるように、ランダムに前回の送信から送信間隔T-Longの経過後にメッセージを送信するように設定してもよいし、送信間隔T-Longの経過後にメッセージを送信する順番を予め設定するようにしてもよい。ここで、50回は一例であり、定期送信間隔Tを延長する頻度はメッセージを受信する第2のデバイス200のメッセージに基づく制御への影響が許容される範囲で適宜変更可能である。
図9は、送信間隔T−Longの設定例を示す。図9において、横軸は時間である。送信タイミング設定部606には、予め設定される送信間隔T−Longにしたがって、定期送信間隔Tでメッセージを49回送信した後に、その送信間隔T−Longの経過後に50回目のメッセージを送信するように設定する。
送信間隔T−Longの設定例を説明するために、定期送信間隔T、及び送信間隔T−Longに加え、遅延最大時間ΔT、及び遅延許容時間T−maxを導入する。
遅延最大時間ΔTは、通信バス10の通信混雑などの何らかの原因により想定されるメッセージを送信する際の遅延時間の最長時間である。遅延許容時間T−maxは、メッセージの送信が遅延した場合に、そのメッセージを受信するデバイスへの影響が許容される時間である。
送信間隔T−Longは、定期送信間隔Tから遅延最大時間ΔTが経過した時間より長い時間に設定される。仮に、定期送信間隔Tが100msに設定され、且つ遅延最大時間ΔTが40msに設定されている場合には、送信間隔T−Longは、定期送信間隔Tから遅延最大時間ΔTが経過した後の時間、例えば、140msより後の時間に設定される。仮に、定期送信間隔Tから遅延最大時間ΔTが経過する前の時間、例えば、130msに設定された場合、偽デバイスからのメッセージも遅延によりその時間(130ms)に送信されることがあるため、正規デバイスからのメッセージと偽デバイスからのメッセージを区別できないためである。
さらに、送信間隔T−Longは、送信間隔T-Longから遅延最大時間ΔTが経過した場合でも、遅延許容時間T−max以内である必要があるため、遅延許容時間T−maxから遅延最大時間ΔTを減算した時間間隔より短い時間間隔に設定される。仮に、遅延許容時間T−maxが200msで、且つ遅延最大時間ΔTが40msの場合には、送信間隔T−Longは、前回の送信から遅延許容時間T−maxが経過する時間から、遅延最大時間ΔT前の時間、例えば、160ms以前の時間に設定される。
以上から、送信間隔T−Longは、定期送信間隔Tに遅延最大時間ΔTを加えた時間間隔から、遅延許容時間T−maxから遅延最大時間ΔTを減算した時間間隔の間に設定される。例えば、定期送信間隔Tが100ms、遅延最大時間ΔTが40ms、遅延許容時間T−maxが200msである場合には、送信間隔T−Longは、140msから160msの間の時間に設定できる。例えば定期送信間隔Tを50ms延長した150msに設定することができる。
<第2のデバイス200の機能>
第2のデバイス200のハードウェア構成は、上述したように図5を適用できる。
図10は、第2のデバイス200の機能ブロック図を示す。
第2のデバイス200のCPU108は、受信間隔計測部1002と、受信間隔判断部1004と、メモリ1006と、メッセージ処理部1008として機能する。これら各部は、図5に示されている各構成要素のいずれかが、HD(図示なし)からRAM(図示なし)上に展開された第2のデバイス用のプログラムに従ったCPU108からの命令によって動作することで実現される機能又は手段である。
第2のデバイス用のプログラムは、インストール可能な形式又は実行可能な形式のファイルによって、ネットーワークを介して又はコンピュータで読み取り可能な記録媒体に記録されて、流通される。上記記録媒体の他の例として、CD-R、DVD、ブルーレイディスク等が挙げられる。
受信間隔計測部1002は、タイマなどの時間を計測する装置により構成され、通信回路106から入力されるメッセージの受信間隔を計測する。受信間隔計測部1002は、メッセージの受信間隔を表す情報を受信間隔判断部1004に入力する。
メモリ1006には、定期送信間隔Tを表す情報、送信間隔T−Longを表す情報、遅延最大時間ΔTを表す情報、及び送信間隔T−Longでメッセージが送信される頻度を表す情報が格納される。
受信間隔判断部1004は、受信間隔計測部1002、及びメモリ1006と接続され、受信間隔計測部1002からのメッセージの受信間隔を表す情報に基づいて、受信したメッセージが正規のデバイスからのものであるか偽デバイスからのものであるかを判断する。受信間隔判断部1004は、メモリ1006に格納される定期送信間隔Tを表す情報、送信間隔T−Longを表す情報、遅延最大時間ΔTを表す情報、及び送信間隔T−Longでメッセージが送信される頻度を表す情報を取得し、受信間隔計測部1002から入力されるメッセージの受信間隔が定期送信間隔Tから遅延最大時間ΔTの間であるか否かを判断するとともに、所定の頻度で該受信間隔が送信間隔T−Long以降の時間間隔であるかを判断する。
受信間隔判断部1004は、所定の頻度で、受信間隔計測部1002から入力されるメッセージの受信間隔が送信間隔T−Long以降の時間間隔であることが検出される場合、そのメッセージは正規デバイスからのものであると判断する。一方、受信間隔判断部1004は、所定の頻度で、受信間隔計測部1002から入力されるメッセージの受信間隔が送信間隔T−Long以降の時間間隔であることが検出されない場合、そのメッセージを送信したデバイスを偽デバイスと判断する。つまり、受信間隔判断部1004は、受信間隔計測部1002から入力されるメッセージの受信間隔が、送信間隔T−Long以降の時間間隔となる受信タイミングであるにも関わらず、送信間隔T−Longより前の時間間隔である場合、そのメッセージを偽デバイスからのものであると判断する。
受信間隔判断部1004は、メッセージ処理部1008に、偽デバイスから送信されたと判断したメッセージのメッセージIDなどのメッセージを表す情報をメッセージ処理部1008へ入力する。
図11は、偽デバイスによって送信されるメッセージの送信タイミングの一例を示す。偽デバイスは、正規デバイスをリバースエンジニアリングすることにより作製されることが多いため、偽デバイスから送信されるメッセージの送信間隔は、定期送信間隔Tから遅延最大時間ΔTの間であることが多い。このため、メッセージの受信間隔が、定期送信間隔Tから遅延最大時間ΔTの間であるか否かに基づいて、そのメッセージを送信したデバイスが正規デバイスであるか偽デバイスであるかを判断することはできない。しかし、偽デバイスには、送信間隔T−Longは設定されないので、所定の頻度に基づく時間が経過しても、送信間隔T−Longを超えた時間にメッセージは受信されない。
したがって、所定の頻度で、受信間隔計測部1002から入力されるメッセージの受信間隔が送信間隔T−Long以降の時間間隔であることが検出される場合、そのメッセージを送信したデバイスを正規デバイスと判断できる。
メッセージ処理部1008は、受信間隔判断部1004と接続され、通信回路106からメッセージが入力される。メッセージ処理部1008は、通信回路106からのメッセージが、受信間隔判断部1004から偽デバイスから送信されたと判断したメッセージの情報に該当する場合にそのメッセージを破棄し、偽デバイスから送信されたと判断したメッセージの情報に該当しない場合にそのメッセージを処理する。
<通信システムの動作>
図12、及び図13を参照して、通信システムの動作について説明する。図12は第1のデバイス100の動作を示し、図13は第2のデバイス200の動作を示す。
第1のデバイス100の動作について説明する。
ステップS1202では、メッセージ作成部602は、メッセージを作成する。
ステップS1204では、送信タイミング設定部606は、所定の頻度に基づく送信間隔T-Long経過後に送信する送信タイミングであるか否かを判定する。
ステップS1206では、ステップS1204において所定の頻度に基づく送信間隔T-Long経過後に送信する送信タイミングでないと判定した場合、送信タイミング設定部606は、送信制御部604に定期送信間隔T経過後で遅延最大時間ΔTが経過する前の時間を送信タイミングに設定する。これにより、第1のデバイス100は、前回の送信から定期送信間隔T経過後で遅延最大時間ΔTが経過する前に、メッセージを送信できる。
ステップS1208では、ステップS1204において所定の頻度に基づく送信間隔T-Long経過後に送信する送信タイミングであると判定した場合、送信タイミング設定部606は、送信制御部604に送信間隔T−Long経過後で遅延最大時間ΔTが経過する前の時間を送信タイミングに設定する。これにより、第1のデバイス100は、前回の送信から送信間隔T−Long経過後で遅延最大時間ΔTが経過する前に、メッセージを送信できる。
ステップS1210では、ステップS1206で設定した送信タイミング又はステップS1208で設定した送信タイミングにしたがって、送信制御部604は、メッセージを送信する制御を実行する。
これにより、第1のデバイス100は、定期送信間隔Tにしたがってメッセージを送信できるとともに、所定の頻度で定期送信間隔Tを延長した送信間隔T−Longでメッセージを送信することができる。
第2のデバイス200の動作について説明する。
ステップS1302では、受信間隔計測部1002は、メッセージの受信間隔を計測する。
ステップS1304では、受信間隔判断部1004は、所定の頻度に基づく、送信間隔T−Long経過後で遅延最大時間ΔTが経過する前に送信されるメッセージを受信する受信タイミングであるか否かを判定する。
ステップS1306では、ステップS1304で所定の頻度に基づく、送信間隔T−Long経過後で遅延最大時間ΔTが経過する前に送信されるメッセージを受信する受信タイミングであると判定した場合、受信間隔判断部1004は、受信間隔計測部1002によって計測された受信間隔は、定期送信間隔Tで送信されるメッセージを受信する場合の時間間隔であるか否かを判定する。
ステップS1308では、ステップS1306で受信間隔計測部1002によって計測された受信間隔が定期送信間隔Tで送信されるメッセージを受信する場合の時間間隔であると判定した場合、偽デバイスからのメッセージであると判定する。
ステップS1310では、ステップS1306で受信間隔計測部1002によって計測された受信間隔が定期送信間隔Tで送信されるメッセージを受信する場合の時間間隔でないと判定した場合、正規デバイスからのメッセージであると判定する。
ステップS1308において偽デバイスからのメッセージであると判定した場合、第2のデバイス200は、そのメッセージを破棄する。第2のデバイス200は、そのメッセージを破棄するとともに、安全な動作モードへ移行するようにしてもよい。また、第2のデバイス200は、必要に応じて警告を発信するようにしてもよい。一方、ステップS1308において正規デバイスからのメッセージであると判定した場合、第2のデバイス200は、そのメッセージにしたがって処理する。
これにより、第2のデバイスは、所定の頻度で送信間隔T−Longで送信されるメッセージの受信タイミングであるにもかかわらず、送信間隔T−Longより前に受信したメッセージを偽デバイスからのメッセージであると判定できる。
通信システムの一実施例では、説明の便宜のため、第1のデバイス100のCPUからの命令によって動作することで実現される機能と第2のデバイス200のCPUからの命令によって動作することで実現される機能を図6と図10に分けて説明した。しかし、実際には、第1のデバイス100のCPU108は図10に示される第2のデバイス200のCPUからの命令によって動作することで実現される機能を実行し、第2のデバイス200のCPUは図6に示される第1のデバイス100のCPU108からの命令によって動作することで実現される機能を実行する。
つまり、第2のデバイス200がメッセージを送信する場合には、第2のデバイス200のCPU108は、図6に示される第1のデバイス100の機能ブロック図にしたがって機能する。また、第1のデバイス100が、第2のデバイス200から送信されたメッセージを受信する場合には、図10に示される第2のデバイス200の機能ブロック図にしたがって機能する。
通信システムの一実施例によれば、定期送信間隔Tにしたがってメッセージを送信する送信側のデバイスは、所定の頻度で定期送信間隔Tを延長した送信間隔T−Longでメッセージを送信する。送信側のデバイスから送信されるメッセージを受信する受信側のデバイスは、所定の頻度で送信間隔T−Longで送信されるメッセージの受信タイミングであるにもかかわらず、送信間隔T−Longより前に受信したメッセージを偽デバイスからのメッセージであると判定する。このようにすることにより、メッセージに特定のIDを付帯したり、特殊なコマンドを付帯することなく、偽デバイスからのメッセージを識別できる。
つまり、通信メッセージに特定のIDを付帯したり、例えば、「鍵を追加する」等の特殊なコマンドを設ける手法は、監視するデバイスの処理負荷を増大させたり、通信トラヒックを圧迫することとなるため、好ましくない。さらに、通信メッセージに特定のIDを付帯したり、「鍵を追加する」等の特殊なコマンドを設ける手法は、リバースエンジニアリングで発見されやすく、特に、特殊なコマンドを設ける手法では、鍵の役割を果たせなくなるおそれがある。ここで、偽デバイスは、正規デバイスをリバースエンジニアリングにより模倣することにより作製される。本実施例によれば、リバースエンジニアリングでは見つけることができない特徴を正規デバイスに組み込むことにより、正規デバイスのCAN通信メッセージと偽デバイスのCAN通信メッセージとを見分けることができるようにする。これにより、デバイスへ新たな機能を追加することなく、正規デバイスの通信と偽デバイスの通信とを見分けることができる。
所定の頻度で定期送信間隔Tを延長した送信間隔T−Longで送信させることにより、外部からは、通常の遅延送信にしかみえず、解析が困難であるため、偽デバイスが送信間隔T−Longで送信させるように設計されることもない。
また、仮に、所定の頻度で定期送信間隔Tを延長した送信間隔T−Longでメッセージを送信する手法が知られたとしても、送信間隔T−Longとして設定できる時間範囲は極めて狭い。さらに、送信間隔T−Longとして設定できる時間範囲を設定する際には、遅延許容時間T−maxの値、及び遅延最大時間ΔTの値が必要であるが、これらの値を知らない模倣者にとって、送信間隔T−Longを設定するのは困難である。
図14は、所定の頻度で定期送信間隔Tを延長した送信間隔T−Longでメッセージを送信する手法により送信されるメッセージと、その手法を模倣することにより送信されるメッセージの一例との比較を示す。
正規デバイスから送信されるメッセージは、前回の送信から送信間隔T−Longで表されるタイミング以降で、且つ前回の送信から遅延許容時間T−maxから遅延最大時間ΔTを減算した時間が経過する時間より前の範囲(A)に受信される。
一方、偽デバイスについては、上述したように、送信間隔T−Longを模倣することが困難である。仮に、送信間隔T−Longを模倣できた場合でも、送信間隔T−Longを前回の送信から遅延許容時間T−maxから遅延最大時間ΔTを減算した時間より後の時間に設定してしまった場合、偽デバイスからのメッセージは、前回の送信から遅延許容時間T−maxが経過する時間より後の時間に受信される場合がある。この場合、そのメッセージは、偽デバイスによって送信されたものであると判定される。
以上より、正規デバイスから送信されるメッセージを模倣するためには、定期送信間隔Tから遅延最大時間ΔTを経過する時間の後から、遅延許容時間T−Longから遅延最大時間ΔTを減算した時間の間という高い精度が要求されるため、偽デバイスの作製するのは困難である。
また、偽デバイスによる成りすましに加えて、正規デバイスの送信に対する妨害や割り込みも想定される。この場合、定期送信間隔Tを延長した送信間隔T−Longでメッセージを送信する頻度を検出することにより、偽デバイスの存在を検出できるため、必要に応じて安全処置を施すことができる。例えば、50回に1回の頻度で定期送信間隔Tを延長した送信間隔T−Longでメッセージを送信するように設定されているにも関わらず、60回に1回の頻度で定期送信間隔Tを延長した送信間隔T−Longでメッセージが送信された場合には、偽デバイスによる割り込みが発生していると判断でき、30回に1回の頻度で定期送信間隔Tを延長した送信間隔T−Longでメッセージが送信された場合には、偽デバイスによる妨害が発生していると判断できる。
<変形例>
図15は、通信システムの一変形例を示す。
通信システムの一変形例は、図1を参照して説明した通信システムにおいて、第3のデバイス300を設けたものである。
通信システムの一変形例では、第1のデバイス100、及び第2のデバイス200によってメッセージが送信され、第1のデバイス100、及び第2のデバイス200によって送信されたメッセージは、第3のデバイス300に受信される。メッセージを送信するデバイスが3以上の場合でも適用できる。
第1のデバイス100、及び第2のデバイス200は、上述した実施例に係る第1のデバイスを適用できる。
第3のデバイス300のハードウェア構成は、図5を参照して説明した第1のデバイスの構成を適用できる。
第3のデバイス300の機能は、図10を参照して説明した第2のデバイス200の機能ブロック図を適用できる。
受信間隔計測部1002は、タイマなどの時間を計測する装置により構成され、通信回路106から入力されるメッセージの受信間隔を、メッセージ毎に計測する。例えば、通信回路106には、メッセージ毎にメッセージボックスが設けられ、そのメッセージボックスに受信されるメッセージ毎に、メッセージの受信間隔を計測する。受信間隔計測部1002は、メッセージの受信間隔を表す情報を受信間隔判断部1004に入力する。
メモリ1006には、定期送信間隔Tを表す情報、送信間隔T−Longを表す情報、遅延最大時間ΔTを表す情報、及び送信間隔T−Longでメッセージが送信される頻度を表す情報が格納される。メッセージ毎に、定期送信間隔T、送信間隔T−Long、遅延最大時間ΔT、及び送信間隔T−Longでメッセージが送信される頻度が異なるように設定されてもよい。
受信間隔判断部1004は、受信間隔計測部1002、及びメモリ1006と接続され、受信間隔計測部1002からのメッセージの受信間隔を表す情報に基づいて、受信したメッセージが正規のデバイスからのものであるか偽デバイスからのものであるかを判断する。受信間隔判断部1004は、メモリ1006に格納される定期送信間隔Tを表す情報、送信間隔T−Longを表す情報、遅延最大時間ΔTを表す情報、及び送信間隔T−Longでメッセージが送信される頻度を表す情報を取得し、受信間隔計測部1002から入力されるメッセージの受信間隔が定期送信間隔Tから遅延最大時間ΔTの間であるか否かを判断するとともに、所定の頻度で送信間隔T−Long以降の時間間隔であるか否かを判断する。
受信間隔判断部1004は、所定の頻度で、受信間隔計測部1002から入力されるメッセージの受信間隔が送信間隔T−Long以降の時間間隔であることが検出される場合、そのメッセージは正規デバイスからのものであると判断する。一方、受信間隔判断部1004は、所定の頻度で、受信間隔計測部1002から入力されるメッセージの受信間隔が送信間隔T−Long以降の時間間隔であることが検出されない場合、そのメッセージを送信したデバイスを偽デバイスと判断する。つまり、受信間隔判断部1004は、受信間隔計測部1002から入力されるメッセージの受信間隔が、送信間隔T−Long以降の時間間隔となる受信タイミングであるにも関わらず、送信間隔T−Longより前の時間間隔である場合、そのメッセージを偽デバイスからのものであると判断する。
受信間隔判断部1004は、メッセージ処理部1008に、偽デバイスから送信されたと判断したメッセージのメッセージIDなどのメッセージを表す情報をメッセージ処理部1008へ入力する。
メッセージ処理部1008は、受信間隔判断部1004と接続され、通信回路106からメッセージが入力される。メッセージ処理部1008は、通信回路106からのメッセージが、受信間隔判断部1004から偽デバイスから送信されたと判断したメッセージの情報に該当する場合にそのメッセージを破棄し、偽デバイスから送信されたと判断したメッセージの情報に該当しない場合にそのメッセージを処理する。
通信システムの一変形例によれば、メッセージを送信するデバイスが複数である場合でも、メッセージを送信するデバイスが1つである場合と同様に、送信側のデバイスは、定期送信間隔Tにしたがってメッセージを送信するとともに、所定の頻度で定期送信間隔Tを延長した送信間隔T−Longでメッセージを送信する。送信側のデバイスから送信されるメッセージを受信する受信側のデバイスは、メッセージ毎にメッセージの受信間隔を計測し、所定の頻度で送信間隔T−Long経過後に送信されるメッセージの受信タイミングであるにも関わらず、定期送信間隔Tで送信されるメッセージを受信する時間間隔で受信したメッセージを偽デバイスからのメッセージであると判定する。このようにすることにより、メッセージに特定のIDを付帯したり、特殊なコマンドを付帯することなく、偽デバイスからのメッセージを識別できる。また、所定の頻度で定期送信間隔Tを延長した送信間隔T−Longで送信させることにより、外部からは、通常の遅延送信にしかみえず、解析が困難であるため、偽デバイスが送信間隔T−Longで送信させるように設計されることもない。
以上、本発明は特定の実施例及び変形例を参照しながら説明されてきたが、各実施例及び変形例は単なる例示に過ぎず、当業者は様々な変形例、修正例、代替例、置換例等を理解するであろう。説明の便宜上、本発明の実施例に従った装置は機能的なブロック図を用いて説明されたが、そのような装置はハードウェアで、ソフトウェアで又はそれらの組み合わせで実現されてもよい。本発明は上記実施例に限定されず、本発明の精神から逸脱することなく、様々な変形例、修正例、代替例、置換例等が包含される。
10 通信バス
100 第1のデバイス
102 通信トランシーバ
104 マイコン
106 通信回路
108 CPU
200 第2のデバイス
300 第3のデバイス
602 メッセージ作成部
604 送信制御部
606 送信タイミング設定部
1002 受信間隔計測部
1004 受信間隔判断部
1006 メモリ
1008 メッセージ処理部

Claims (7)

  1. 複数のデバイスのうち、メッセージを送信するデバイスによって第1の時間間隔で定期的にメッセージの送信が行われるとともに、所定の頻度で、前記第1の時間間隔を延長した第2の時間間隔でメッセージが送信され、
    前記メッセージを受信する不正データ検出装置は、
    メッセージを受信する受信部と、
    前記第2の時間間隔でメッセージが送信されるタイミングに、前記受信部によってメッセージを受信したタイミングが前記第2の時間間隔で送信されるメッセージを受信するタイミング以外のタイミングであると判断した場合、前記受信部によって受信したメッセージは前記メッセージを送信するデバイスに成りすましたデバイスから送信されたメッセージであると判断する制御部と
    を備える、不正データ検出装置。
  2. 前記第2の時間間隔は、前記第1の時間間隔に前記メッセージを送信するデバイスからのメッセージの遅延時間の最大時間を加えた時間間隔から、前記メッセージを送信するデバイスからのメッセージを受信するデバイスへの影響が許容される時間間隔から前記遅延時間の最大時間を減算した時間間隔の間に設定される、請求項1に記載の不正データ検出装置。
  3. 前記制御部は、前記メッセージを送信するデバイスに成りすましたデバイスから送信されたメッセージを破棄する、請求項1又は2に記載の不正データ検出装置。
  4. 前記制御部は、前記第2の時間間隔のタイミングで受信されるメッセージの頻度に基づいて、該メッセージが前記メッセージを送信するデバイスに成りすましたデバイスから送信されたメッセージであるか否かを判断する、請求項1ないし3のいずれか1項に記載の不正データ検出装置。
  5. 複数のデバイスを有する通信システムであって、
    前記複数のデバイスのうち、メッセージを送信するデバイスは、
    メッセージを作成し、
    第1の時間間隔で定期的に前記メッセージの送信を行うとともに、所定の頻度で、前記第1の時間間隔を延長した第2の時間間隔で前記メッセージを送信する制御を実行する第1の制御部と、
    前記第1の制御部による制御により前記メッセージを送信する送信部と
    を有し、
    前記メッセージを受信するデバイスは、
    メッセージを受信する受信部と、
    前記第2の時間間隔でメッセージが送信されるタイミングに、前記受信部によってメッセージを受信したタイミングが前記第2の時間間隔で送信されるメッセージを受信するタイミング以外のタイミングであると判断した場合、前記受信部によって受信したメッセージは前記メッセージを送信するデバイスに成りすましたデバイスから送信されたメッセージであると判断する制御部と
    を備える通信システム。
  6. 複数のデバイスのうち、メッセージを送信するデバイスによって第1の時間間隔で定期的にメッセージの送信が行われるとともに、所定の頻度で、前記第1の時間間隔を延長した第2の時間間隔でメッセージが送信され、
    前記メッセージを受信する不正データ検出装置は、
    前記第2の時間間隔でメッセージが送信されるタイミングに、メッセージを受信したタイミングが前記第2の時間間隔で送信されるメッセージを受信するタイミング以外のタイミングであると判断した場合、該メッセージは前記メッセージを送信するデバイスに成りすましたデバイスから送信されたメッセージであると判断する、不正データ検出方法。
  7. 複数のデバイスを有する通信システムにおける不正データ検出方法であって、
    前記複数のデバイスのうち、メッセージを送信するデバイスは、
    メッセージを作成し、
    第1の時間間隔で定期的に前記メッセージの送信を行うとともに、所定の頻度で、前記第1の時間間隔を延長した第2の時間間隔で前記メッセージを送信する制御を実行し、
    前記メッセージを送信する制御にしたがって前記メッセージを送信し、
    前記メッセージを受信するデバイスは、
    前記第2の時間間隔でメッセージが送信されるタイミングに、メッセージを受信したタイミングが前記第2の時間間隔で送信されるメッセージを受信するタイミング以外のタイミングであると判断した場合、該メッセージは前記メッセージを送信するデバイスに成りすましたデバイスから送信されたメッセージであると判断する、不正データ検出方法。
JP2014046608A 2014-03-10 2014-03-10 不正データ検出装置、及び通信システム並びに不正データ検出方法 Active JP6217469B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014046608A JP6217469B2 (ja) 2014-03-10 2014-03-10 不正データ検出装置、及び通信システム並びに不正データ検出方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014046608A JP6217469B2 (ja) 2014-03-10 2014-03-10 不正データ検出装置、及び通信システム並びに不正データ検出方法

Publications (2)

Publication Number Publication Date
JP2015171092A JP2015171092A (ja) 2015-09-28
JP6217469B2 true JP6217469B2 (ja) 2017-10-25

Family

ID=54203431

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014046608A Active JP6217469B2 (ja) 2014-03-10 2014-03-10 不正データ検出装置、及び通信システム並びに不正データ検出方法

Country Status (1)

Country Link
JP (1) JP6217469B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024002835A1 (de) * 2022-06-29 2024-01-04 Robert Bosch Gmbh Verfahren zum überwachen des betriebs einer recheneinheit, recheneinheit und computerprogramm

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101721035B1 (ko) * 2016-01-07 2017-03-30 고려대학교 산학협력단 차량 침입 탐지 장치 및 방법
JP6555559B1 (ja) * 2018-06-15 2019-08-07 パナソニックIpマネジメント株式会社 電子制御装置、監視方法、プログラム及びゲートウェイ装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3722198B2 (ja) * 1999-11-30 2005-11-30 オムロン株式会社 ノード
JP5522160B2 (ja) * 2011-12-21 2014-06-18 トヨタ自動車株式会社 車両ネットワーク監視装置
JP5772666B2 (ja) * 2012-03-05 2015-09-02 株式会社オートネットワーク技術研究所 通信システム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024002835A1 (de) * 2022-06-29 2024-01-04 Robert Bosch Gmbh Verfahren zum überwachen des betriebs einer recheneinheit, recheneinheit und computerprogramm

Also Published As

Publication number Publication date
JP2015171092A (ja) 2015-09-28

Similar Documents

Publication Publication Date Title
US10951631B2 (en) In-vehicle network system, fraud-detection electronic control unit, and fraud-detection method
JP6836340B2 (ja) 不正検知電子制御ユニット、車載ネットワークシステム及び通信方法
JP6852132B2 (ja) 不正検知方法、不正検知電子制御ユニット及び不正検知システム
US11356475B2 (en) Frame transmission prevention apparatus, frame transmission prevention method, and in-vehicle network system
CN111344192B (zh) 禁用恶意电子控制单元的系统、方法和计算机程序产品
JP6306206B2 (ja) 通信制御装置及び通信システム
JP7231559B2 (ja) 異常検知電子制御ユニット、車載ネットワークシステム及び異常検知方法
JP6566400B2 (ja) 電子制御装置、ゲートウェイ装置、及び検知プログラム
JPWO2019117184A1 (ja) 車載ネットワーク異常検知システム及び車載ネットワーク異常検知方法
JP6732799B2 (ja) 不正メッセージ検知装置、不正メッセージ検知装置を備える電子制御装置、不正メッセージ検知方法、及び不正メッセージ検知プログラム
JP7182559B2 (ja) ログ出力方法、ログ出力装置及びプログラム
JP6481579B2 (ja) 車載通信システム及び監視装置
JP6586500B2 (ja) データバスによってメッセージシーケンスを送信するための方法及び装置並びにこうして送信されるメッセージシーケンスに対する攻撃を認識するための方法及び装置
JP6217469B2 (ja) 不正データ検出装置、及び通信システム並びに不正データ検出方法
KR101972457B1 (ko) Can 통신 기반 해킹공격 탐지 방법 및 시스템
US20200412756A1 (en) Communication control device, anomaly detection electronic control unit, mobility network system, communication control method, anomaly detection method, and recording medium
CN112261026B (zh) 不正常检测方法、不正常检测电子控制单元以及不正常检测系统
JP2020167494A (ja) メッセージ監視システム、メッセージ送信電子制御装置、および監視用電子制御装置
JP2015192216A (ja) 通信装置および通信方法
JP6528239B2 (ja) 通信装置およびプログラム
JP2019047177A (ja) 監視装置、監視システムおよびコンピュータプログラム
JP6149716B2 (ja) 車載ネットワークシステム
WO2017056395A1 (ja) 不正検知電子制御ユニット、車載ネットワークシステム及び通信方法
JP2019097012A (ja) 情報処理装置、情報処理方法、及びプログラム
WO2019017174A1 (ja) 受信装置、監視機及びコンピュータプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20161024

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170728

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170911

R151 Written notification of patent or utility model registration

Ref document number: 6217469

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151