[go: up one dir, main page]

JP6732799B2 - 不正メッセージ検知装置、不正メッセージ検知装置を備える電子制御装置、不正メッセージ検知方法、及び不正メッセージ検知プログラム - Google Patents

不正メッセージ検知装置、不正メッセージ検知装置を備える電子制御装置、不正メッセージ検知方法、及び不正メッセージ検知プログラム Download PDF

Info

Publication number
JP6732799B2
JP6732799B2 JP2017557692A JP2017557692A JP6732799B2 JP 6732799 B2 JP6732799 B2 JP 6732799B2 JP 2017557692 A JP2017557692 A JP 2017557692A JP 2017557692 A JP2017557692 A JP 2017557692A JP 6732799 B2 JP6732799 B2 JP 6732799B2
Authority
JP
Japan
Prior art keywords
bus
logical value
message
resynchronization
sampling point
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
JP2017557692A
Other languages
English (en)
Other versions
JPWO2017110056A1 (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.)
Nuvoton Technology Corp Japan
Original Assignee
Panasonic Semiconductor Solutions 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 Semiconductor Solutions Co Ltd filed Critical Panasonic Semiconductor Solutions Co Ltd
Publication of JPWO2017110056A1 publication Critical patent/JPWO2017110056A1/ja
Application granted granted Critical
Publication of JP6732799B2 publication Critical patent/JP6732799B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1425Traffic logging, e.g. anomaly detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40169Flexible bus arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/10Integrity
    • H04W12/106Packet or message integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/12Detection or prevention of fraud
    • H04W12/121Wireless intrusion detection systems [WIDS]; Wireless intrusion prevention systems [WIPS]
    • H04W12/122Counter-measures against attacks; Protection against rogue devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/407Bus networks with decentralised control
    • H04L12/413Bus networks with decentralised control with random access, e.g. carrier-sense multiple-access with collision detection [CSMA-CD]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40208Bus networks characterized by the use of a particular bus standard
    • H04L2012/40215Controller Area Network CAN
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40267Bus for use in transportation systems
    • H04L2012/40273Bus for use in transportation systems the transportation system being a vehicle
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/30Services specially adapted for particular environments, situations or purposes
    • H04W4/40Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P]
    • H04W4/48Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P] for in-vehicle communication

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Small-Scale Networks (AREA)

Description

本開示は、CSMA/CA(Carrier Sense Multiple Access/Collision Avoidance、搬送波感知多重アクセス/衝突回避)方式等の通信プロトコルを用いて通信可能な複数の装置が接続されるネットワークでの不正なメッセージを検知する装置に関する。
車載ネットワークに用いられるCAN(Controller Area Network)には、CANへの接続端子としてのデータリンクコネクタ(Data Link Connector、以下DLCと表記する)を介して、メーカやカーディーラ等により用意された車両診断装置や電子制御ユニット(Electronic Control Unit、以下ECUと表記する)のプログラムをアップデートさせる装置などを接続することができる。特許文献1の通信システムでは、規定の通信間隔でメッセージがネットワークの通信線上に送信され、メッセージを受信した通信装置はこのメッセージの受信間隔を検出し、この受信間隔を上記の通信間隔との差を基準範囲に照らしてこの受信したメッセージの正当性を判定する。
国際公開第13/094072号
松本勉、他4名、「CANにおける再同期を利用した電気的データ改ざん」、2015年、第32回 暗号と情報セキュリティシンポジウム(SCIS 2015)
しかしながら、特許文献1に開示される手法によるメッセージの正当性の判定では、通信間隔と受信間隔との差が基準範囲内であれば、不正なメッセージであっても正当であると誤判定されるという問題がある。また、この問題を回避しようとより狭い基準範囲を用いれば、正当なメッセージを不正なメッセージとする誤判定が増加し、通信効率が低下する。
本発明は、電気的な攻撃によるメッセージの改ざんの有無を検知して高い精度でメッセージの正当性を判定し、通信効率を低下させることなく、安全性の高いCANを実現する不正メッセージ検知装置等を提供する。
本発明の一態様に係る不正メッセージ検知装置は、バス型ネットワークにおけるバスに送出された不正メッセージを検知する不正メッセージ検知装置であって、1ビット期間において前記バス上の信号の論理値を取得するために前記バスの電圧が読み出される時点であるサンプリングポイントを調整するために、前記信号のエッジを検出し、前記エッジに基づく再同期を実行するか否かを判定する再同期検出部と、前記再同期検出部によって再同期を実行すると判定された後の1ビット期間において、当該エッジが検出される前に用いられていたサンプリングポイントにおける前記バスの論理値である第1論理値と、当該エッジに基づく再同期後のサンプリングポイントにおける前記バスの論理値である第2論理値とを取得する受信部と、前記受信部で取得された前記第1論理値及び前記第2論理値を比較する比較部と、前記比較部によって前記第1論理値及び前記第2論理値が一致しないと判断された場合に、不正メッセージが検知された場合に対応付けられた不正検知時処理を実行する不正検知処理部とを備える。
また、本発明の一態様に係る不正メッセージ検知方法は、バス型ネットワークにおけるバスに送出された不正メッセージを検知する不正メッセージ検知方法であって、1ビット期間において前記バス上の信号の論理値を取得するために前記バスの電圧が読み出される時点であるサンプリングポイントを調整するために、前記信号のエッジを検出し、前記エッジに基づく再同期を実行するか否かを判定する再同期検知ステップと、前記再同期検知ステップで再同期を実行すると判定された後の1ビット期間において、当該エッジが検知される前に用いられていたサンプリングポイントにおける前記バスの論理値である第1論理値と、当該エッジに基づく再同期後のサンプリングポイントにおける前記バスの論理値である第2論理値とを取得する受信ステップと、前記受信ステップで取得された前記第1論理値及び前記第2論理値を比較する比較ステップと、前記比較ステップにおいて前記第1論理値及び前記第2論理値が一致しないと判断された場合に、不正メッセージが検知された場合に対応付けられた不正検知時処理を実行する不正検知処理ステップとを含む。
また、本発明の一態様に係る不正メッセージ検知プログラムは、上記の不正メッセージ検知方法をプロセッサに実行させるためのプログラムである。
なお、これらの包括的又は具体的な態様は、システム、方法、集積回路、コンピュータプログラム又はコンピュータ読み取り可能なCD−ROMなどの記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラム及び記録媒体の任意な組み合わせで実現されてもよい。
本発明の不正メッセージ検知装置、不正メッセージ検知方法、及び不正メッセージ検知プログラムは、高い精度でメッセージの正当性を判定し、通信効率を低下させることなく、安全性の高いCANを実現する。
図1Aは、CANを用いた車載通信システムのハードウェア構成例を示すブロック図である。 図1Bは、CANコントローラの機能構成図である。 図1Cは、攻撃CANコントローラの機能構成図である。 図2は、CANの規格に定められているデータフレームの標準フォーマットを示す図である。 図3は、CANの規格に定められている、1ビット期間を構成する4つの論理的なセグメントを示す図である。 図4は、信号のエッジと1ビット期間とのずれのパターンと、1ビット期間の調整の例を示す図である。 図5は、CANにおける、ECUによるメッセージの受信の動作のフロー図である。 図6は、攻撃CANコントローラによる攻撃のタイミング及び電圧の操作を示す図である。 図7Aは、実施の形態における不正メッセージ検知装置を備える車載通信システムのハードウェア構成例を示すブロック図である。 図7Bは、実施の形態における不正メッセージ検知装置の機能構成図である。 図8は、実施の形態における不正メッセージ検知装置を備えるECUによるCANバスの監視及び不正メッセージの検知の動作のフロー図である。 図9は、攻撃CANコントローラによる攻撃があった場合に2つのサンプリングポイントで取得される論理値を示す図である。
[本発明の基礎となった知見]
本発明者は、背景技術の欄において記載した通信システムでは検知できない不正なメッセージによるCANへの攻撃手法があることを指摘する文献(非特許文献1)を得た。まず、CANを用いた車載通信システムを例に、CANの構成及びこの攻撃手法の概要について図を参照しながら説明する。
(CANの構成の概要)
図1AはCANを用いた車載通信システム10のハードウェア構成例を示すブロック図である。
車載通信システム10は、通信線であるCANバス200と、このCANバス200に接続される複数のノードであるECU101〜10n(以下、これらを区別しない場合はECU100ともいう)及び501とを含むバス型ネットワークである。なお、ECU501は攻撃手法について説明する目的でこの構成に含めたものであり、正常な車載通信システムには含まれない。ただし本図に示されるような、CANバス200に接続される、ECUをそれぞれ含む複数の車載装置のひとつが悪意のある装置であるという構成、及びこの構成において、この悪意のある車載装置がCANバス200上に不正なメッセージを流して他の車載装置をかく乱させるという攻撃は、現実に起こり得る例としての想定である。
ECU100及び501(以下、これらを区別しない場合に単にノードともいう)は、それぞれ例えばエンジン制御システムのECUであったり、ブレーキシステムのECUであったり、空調システムのECUであったり、カーナビゲーションシステムのECUであったりする。ここに挙げたのは今日の自動車が備える車載通信システムに接続される通信機器のECUの例のごく一部であり、このようなECUは各種の制御系統に含まれている。ECU同士はCANバス200を介して通信可能であり、いずれも受信側にも送信側にもなることができる。なお、ECU501は、もっぱら攻撃を目的とする機器である場合も想定される。なお、図示しないが、各ECUの先に、CANバス200とは別のインターフェースで、センサーやアクチュエータが接続されてもよい。
CANバス200は2本の信号線CAN_L及びCAN_Hからなり、信号を安定させるための終端抵抗(図示なし)を信号線上に備える。なお、本図では各信号線は模式的に直線で示されているが、耐ノイズ性のあるツイストペア線を用いて実現される。
CANではこれらの信号線CAN_LとCAN_Hとの間の電圧差の大小(以下では簡便に差の有無とも表現する)でデジタル信号の各ビットの論理値(0または1の数値データ)が示され、NRZ(Non−Return−to−Zero方式)で逐次的に各ビットの値が送信されるシリアル通信が行われる。具体的には、電圧の差が大きい状態で0が、小さい状態で1が示される。ノードはそれぞれ信号線CAN_L及びCAN_Hの両方に接続されており、信号線CAN_L及びCAN_Hに電圧を印加することで信号を送信し、信号線CAN_L及びCAN_Hの電圧を読み取ってその差分を取ることで信号を受信する。なお、CANの規格では、0の値はドミナント(dominant、優性の意)、1の値はリセッシブ(recessive、劣性の意)と呼ばれ、CANバス200上では0の値が優先される。具体的には、複数のノードから0の値と1の値とが当時にCANバス200に送信された場合は0が優先されてCANバス200は0の値を示す電圧の状態におかれる。また、あるノードが1の値を送信した後で他のノードが0の値を送信した場合もCANバス200上の信号は0の値で上書きされる、つまりCANバス200は0の値を示す電圧の状態におかれる。以下では、CANバス200の電圧が信号の0の値を示す状態をドミナント状態、1の値を示す状態をリセッシブ状態ともいう。
なお、CANでは全体の通信を制御する特定のマスターデバイスは存在しない(マルチマスター方式)。また、メッセージの衝突を回避するために、CANバス200上に同時に複数のメッセージを存在させず、各ノードはCANバス200がアイドルなときに送信を開始する。各ノードから送信されたメッセージはCANバス200に接続されるすべてのノードにブロードキャストされる。このメッセージはCANの規格に定められているフレームというフォーマットに従って送信される。
各フレームには、送信ノードを示す識別子(identifier、以下IDと表記する)が含まれる。図2は、CANの規格に定められているフレームの1つである、データフレームの標準フォーマットを示す。本図では左がフレームの先頭であり、データフレームの前後はCANバス200がアイドルな状態である。データフレームは時系列に並ぶ用途別のスロットからなり、本図内の数値は各スロットに使用されるビット数(長さ)を示す。また、上下の横線は各スロットに含まれうる信号の論理値を示す。つまり、上記のIDのスロットは、フレームの先頭から2ビット目から始まり、論理値0及び1の両方を含みうる11ビット長のデータである。複数のノードが送信のために同時にCANバス200にアクセスした場合は、各フレームが含むIDに基づくフレーム間の優先順位に従って衝突が回避され、優先順位の高い方のフレームから送信される(CSMA/CA)。IDはまた、各ノードにおいて、受信したフレームは使用するフレームか否かの判断に用いられる。
なお、CANの規格では上記のデータフレームを含めて全部で4種類のフレームが用意されており、その中のひとつに、エラーを検知したノードが送信するエラーフレームがある。エラーフレームは本発明で解決される課題とは直接関係しないためその概要のみ記載すると、エラーフレームが送信されると、送信側のノードによる直近の送信は中断され、他に同じメッセージを受信していたノードはこのメッセージを破棄する。その後送信側のノードは再送信を実行する。
各ノードの基本的な構成は共通している。図1Aの例では、各ノードは処理部110、CANコントローラ120又は攻撃CANコントローラ520、及びCANトランシーバ130を備える。ECU102〜10nではこれらの参照符号を省略している。CANコントローラ120と攻撃CANコントローラ520とは機能が一部異なるためここでは区別しているが、共通の基本構成を有している。まずはCANコントローラ120及び攻撃CANコントローラ520に共通する構成及びその動作について説明する。
処理部110は、例えば中央処理装置であり、各ノードを含むシステムの機能に応じた演算処理を実行する。
CANコントローラ120及び攻撃CANコントローラ520は、例えばマイクロコントローラを用いて実現され、通信処理を実行する。CANコントローラ120及び攻撃CANコントローラ520についてはその違いを含めて詳細を後述する。
CANトランシーバ130は、各ECUのCANコントローラ120とCANバス200との間のインターフェース用集積回路であって、CANバス200上の電圧差の値と、CANコントローラ120が扱う論理値との間の変換を実行する。
CANコントローラ120及び攻撃CANコントローラ520の詳細について、図1B及び図1Cを用いて説明する。図1BはCANコントローラ120の機能構成図であり、図1Cは攻撃CANコントローラ520の機能構成図である。共通の構成要素については共通の参照符号を付している。CANコントローラ120及び攻撃CANコントローラ520は、CAN制御部121、送受信制御部122、クロック生成部123、再同期検出部124、及び同期時間保持部125を備える。いずれも上記のCANのプロトコルに準じた通信処理を実行するための機能を実現する。
CAN制御部121は、CANコントローラ120の動作全体を制御する。
送受信制御部122は、処理部110及びCANトランシーバ130とのメッセージの入出力のインターフェースである。CANバス200上の信号の論理値の読み出し及び書き込みは、送受信制御部122によってCANトランシーバ130を介して実行される。送受信制御部122は、例えば処理部110から入力されたデジタル信号の値に応じて、CANトランシーバ130に所定の電圧を信号線CAN_L及びCAN_Hのそれぞれに印加させる送信部として機能する。また、CANトランシーバ130を介してCANバス200の信号線CAN_L及びCAN_Hのそれぞれの電圧を読み取り、その差の大きさ(有無)に基づいてCANバス200上の信号の論理値を取得する受信部として機能する。
クロック生成部123は発振回路であり、データの処理及びメッセージの送受信のタイミングの基準となるシステムクロックを生成する。このシステムクロックにより、上記の信号の1ビットの時間長(以下、1ビット期間という)が決まる。この1ビット期間の長さは、CANバス200に接続されるノード間で共通の長さに設定される。
なお、CANにおいてノード間で通信を適切に行うには、各ノード間での1ビット期間の長さが等しいことに加え、ビットの切り替わりのタイミングについて同期がとれている必要がある。しかし、仮に初期状態で同期がとれていても、ノード間でのシステムクロックの誤差などが原因で、このタイミングに許容できない大きさのずれが生じることがある。CANにおけるこのずれの解消は、送信側のノードの信号送信によるCANバス200上の信号のリセッシブからドミナントへの切り替わり(以下、エッジという)が発生した場合に、受信側のノードでの再同期と呼ばれる動作によって実行される。より具体的には、エッジが発生すると、このエッジに基づく再同期を実行するか否かについて受信側のノードの再同期検出部124によって判定された上で実行される。
再同期は本願で想定されている攻撃に関与するため、ここで概要を説明しておく。再同期には、上記の1ビット期間をTime quantum(以下、Tqと表記する)という単位で表わされる4つの論理的なセグメントに分割して扱う、ビットタイミングと呼ばれるタイミング制御の仕組みが用いられる。図3は、これらの4つのセグメントを示す図である。それぞれ、同期セグメント(Synchronization Segment、図ではSSとも表記)、伝播時間セグメント(Propagation Time Segment、図ではPTSとも表記)、位相バッファセグメント1(Phase Buffer Segment 1、図ではPBS1とも表記)、位相バッファセグメント2(Phase Buffer Segment 2、図ではPBS2とも表記)という名前がCANの規格において付けられている。なお、本図中のサンプリングポイント(Sampling Point、図ではSPとも表記)とは1ビット期間におけるある時点であり、この1ビット期間においてCANバス200上の信号の論理値を1ビットのデータとしてCANコントローラ120が取得するために、CANトランシーバ130を介して信号線CAN_L及びCAN_Hの電圧を読み出す(サンプリングする)時点である。サンプリングポイントは、例えば1ビット期間の先頭を基準(始期)とする時間(Tq)で設定され、同期時間保持部125に保持される。位相バッファセグメント1の終端はサンプリングポイントである。再同期検出部124は、CANトランシーバ130を介してCANバス200上の信号のエッジを検出し、このエッジに基づく再同期を実行するか否か判定する。より具体的には、エッジが発生したセグメントに基づいて、再同期を実行するか否か判定し、また、実行する場合はその再同期の内容を決定する。4つのセグメントのうちの同期セグメントはいわば許容時間差であり、エッジがこの1Tqのセグメントで発生した場合には再同期が実行されない。つまり、それ以外のセグメントでエッジが発生した場合、再同期検出部124は再同期を実行すると判定する。再同期は、ずれの検知後の1ビット期間の長さの調整によって行われ、再同期の内容とは、長さを変更するセグメントとその変更の程度である。この1ビット期間の調整について図を用いて説明する。図4は、信号のエッジと1ビット期間とのずれのパターンと、1ビット期間の調整の例を示す図である。
図4の(a)に示される受信側のノードの1ビット期間は、信号のエッジからのずれがない、つまり受信側のノードと送信側のノードとは同期がとれている。この場合、1ビット期間は調整されない。
図4の(b)に示される受信側のノードの場合、信号のエッジは受信側のノードの同期セグメントより後であって、サンプリングポイントよりも前のセグメントで発生している。この場合、送信側のノードに対して受信側のノードが進んでいるとして、位相バッファセグメント1(本図中、横縞の区間)が延長される。これにより、信号のエッジ(送信側のノードの1ビット期間の始期)とサンプリングポイントとの時間差が調整される。また、この調整によって1ビット期間が延長された分、この受信側のノードの次の1ビット期間の始期は遅れ、結果として送信側のノードとの同期がとられる。
図4の(c)に示される受信側のノードの場合、信号のエッジは受信側のノードのサンプリングポイントより後のセグメントで発生している。この場合、送信側のノードに対して受信側のノードが遅れているとして、位相バッファセグメント2(本図中、縦縞の区間)が短縮される。これにより、次の1ビット区間では信号のエッジ(送信側のノードの1ビット期間の始期)とサンプリングポイントとの時間差が調整される。また、この調整によって1ビット期間が短縮された分、この受信側のノードの次の1ビット期間の始期が早まり、結果として送信側のノードとの同期がとられる。
このように再同期によって1ビット期間の長さを調整することによって、サンプリングポイントが送信側のノードによる信号の送信タイミングに対して適切に調整される。なお、上記の位相バッファセグメント1及び位相バッファセグメント2の長さの変更の程度は、ずれの程度に応じて所定の範囲内で適宜決定される。
上記の構成を有するCANコントローラ120を備えるECU100は、それぞれ図5のフロー図に示される動作を実行してメッセージを受信する。
まずECU100では、サンプリングポイントが同期時間保持部125に保存される(ステップS10)。これは初期設定のサンプリングポイントであり、例えばECU100を含む各車載システムの設計時に設定される。サンプリングポイントは上述のとおり位相バッファセグメント1の終端に位置し、例えば上記の1ビット内の各セグメントの長さがTq単位で設定されることでその先頭からの位置が決定される。このように、サンプリングポイントの設定自体はECU100の動作ではないが、同期時間保持部125に保存されるデータの存在を示す説明の便宜上このフロー図に含めている。
ECU100は、このサンプリングポイントを用いての、CANコントローラ120及びCANトランシーバ130を介するメッセージの受信を開始する(ステップS20)。このメッセージの受信の動作について別の表現をすれば、CANコントローラ120の送受信制御部122によって、連続する1ビット期間(クロック生成部123が生成するシグナルクロックに基づく)のそれぞれにおけるサンプリングポイントで、CANトランシーバ130を介してCANバス200の信号線CAN_L及びCAN_Hの電圧が読みとられる。そして読み取られたこれらの電圧の差に基づいて、CANバス200上の信号の論理値が取得される。送受信制御部122が取得したこの論理値は、メッセージのデータとしてECU100の処理部110に渡される。
ECU100はこのように各1ビット期間におけるサンプリングポイントで電圧を読み取って論理値を逐次に取得しながら、さらにこれらの論理値の変化に基づいてエッジを検出し(ステップS30)、再同期の実行をするか否かについて判定する(ステップS40)。この判定について別の表現をすれば、CANコントローラ120の再同期検出部124によって、エッジを検出した時点が1ビット期間のどのセグメントであるかに基づいて再同期の実行をするか否かについて判定される。
再同期を実行しないと判定された場合(ステップS40でNO)、ECU100は初期設定のサンプリングポイントを継続して使用してメッセージを受信する(ステップS50)。再同期を実行すると判定された場合(ステップS40でYES)、次のサンプリングポイントの適切なタイミングが例えば送受信制御部122によって算出される。そしてこの算出された新たなサンプリングポイントのタイミングに応じて位相バッファセグメント1又は位相バッファセグメント2の長さが変更される(再同期の実行、ステップS60)。これによりECU100は、調整後の新たなサンプリングポイントをして使用してメッセージを受信する(ステップS70)。
その後もCANバス200にメッセージがあれば(ステップS80でYES)ECU100はこれを受信し(ステップS20)、なければ(ステップS80でNO)受信動作を終了する。なお、ECU501もメッセージの受信をする場合は、この図5に示されるフロー図の動作を実行してもよい。
(攻撃手法の概要)
次に、攻撃CANコントローラ520の構成のCANコントローラ120と異なる点及び攻撃CANコントローラ520による攻撃の動作について説明する。
攻撃CANコントローラ520は、攻撃タイミング生成部126を備える点がCANコントローラ120と異なる。車載通信システム10において、攻撃CANコントローラ520は以下の動作を実行して、ECU100が送信したメッセージを改ざんする。
まず、送信側であるECU100は、CANバス200上で逐次に示される論理値としてメッセージを送信し、受信側のECU100は送信側のECU100による論理値の送信のタイミングに対して1ビット期間以内の所定の時間差の時点(サンプリングポイント)でCANバス200上の信号の論理値を逐次に取得することによってメッセージを受信する。
悪意のあるECUであるECU501の攻撃CANコントローラ520は、あるタイミングで1Tq程度のごく短い時間、CANバス200上の信号の論理値を電気的に操作することで送信側のECU100によるメッセージの送信のタイミングを受信側のECU100に誤認させる(第1攻撃)。
送信のタイミングを誤認している受信側のECU100は、CANバス200上の信号の論理値を取得するのに、正しい送信のタイミングに対しては不適切な時間差のサンプリングポイントを用いる。攻撃CANコントローラ520はその不適切なサンプリングポイントに合わせたタイミングでもう一度CANバス200上の信号の論理値を電気的に操作する(第2攻撃)。この結果、受信側のECU100は、送信側のECU100が発したメッセージとは異なるメッセージを受信する。
攻撃タイミング生成部126は、攻撃CANコントローラ520が上記の電気的な操作(電圧操作)によって第1攻撃と第2攻撃を実行するタイミングを生成する。次に、このタイミング及び電圧操作について説明する。
図6は、上述した攻撃CANコントローラ520による攻撃のタイミング及び電圧の操作を示す図である。
まず、送信側のECU100による論理値0の送信が実行される。一方、攻撃CANコントローラ520が、このECU100による論理値0の送信のタイミングにかぶせるように論理値1をごく短い時間送信する(第1攻撃)。これにより、CANバス200上の信号の論理値の1から0への変化、つまりCANバス200のリセッシブ状態からドミナント状態への変化が遅れる。なお、上述のとおりCANではドミナントである0はリセッシブである1に優先されるが、この攻撃CANコントローラ520とCANバス200とを接続するCANトランシーバ130は、ECU100のCANトランシーバ130とCANバス200との接続の仕方と逆の接続がされている。つまり、CAN_Hに接続されるべき線がCAN_Lに接続され、CAN_Lに接続されるべき線がCAN_Hに接続されている。これにより、CANバス200のドミナント状態からリセッシブ状態への変更も、各信号線上で逆方向の電圧同士で互いに打ち消すことで可能にしている。
上記の第1攻撃によるCANバス200のリセッシブ状態からドミナント状態への変化の遅延は、すなわちエッジの発生の遅延である。本図の(c)において、第1攻撃がなければエッジは破線の矢印で示す時点で発生する。しかし第1攻撃の影響で、エッジの発生は実線の矢印で示す時点に遅延する。受信側のECUはこのエッジを検出すると、上記で説明したようにこのエッジがどのセグメントで発生したかに応じて再同期を実行する。本図で示される例では、エッジは伝播時間セグメントで発生しているので、受信側のECUは位相バッファセグメント1を延長することで再同期を実行する(本図の(d)参照)。これにより、第1攻撃がなければ破線の三角形で示す時点であったサンプリングポイントが、黒の三角形で示すサンプリングポイントに遅延する。
次に攻撃CANコントローラ520は、受信側のECUのサンプリングポイントにあわせて論理値1をごく短い時間送信する(第2攻撃)。これにより、受信側のECUは、送信側のECUが送信した0の値ではなく、1の値をこの1ビット期間における信号の論理値として取得する。このように、攻撃CANコントローラ520による2段階の攻撃によってメッセージは改ざんされ、受信側のECUは不正なメッセージを受信する。
なお、送信側のECUは、自身のサンプリングポイント(本図の(a)参照)でCANバス200上の電圧をモニタする。しかし攻撃CANコントローラ520による第2攻撃はこの時点を外して論理値を変更しているため、送信側のECUではこの改ざんを検知することができない。
以下では、悪意のあるECUによるこのような攻撃によって改ざんされた不正メッセージを検知する装置の一実施の形態について図面を参照しながら説明する。
なお、以下で説明する実施の形態は、包括的又は具体的な例を示すものである。以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置位置及び接続形態、ステップ、ステップの順序などは一例であり、本発明を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素は任意の構成要素である。
[実施の形態]
図7Aは、実施の形態における不正メッセージ検知装置を備える車載通信システム10Aのハードウェア構成例を示すブロック図である。車載通信システム10Aは、車載通信システム10と同じく、通信線であるCANバス200と、このCANバス200に接続される複数のノードであるECU100を含むバス型ネットワークである。
また、車載通信システム10AはECU501及びECU600を備える。ECU501は上述の悪意のあるECUであり、以下で攻撃の発生について説明する目的でこの構成に含めたものである。
ECU600は車載通信システム10Aに他のECU100及び500と同様に、ひとつのECUとしてCANバス200に接続される。ECU600は他のECUと同様に処理部110及びCANトランシーバ130を備えるが、CANコントローラ120に代えて本実施の形態における不正メッセージ検知装置である監視CANコントローラ620を備える点がECU100と異なる。次に、この監視CANコントローラ620について図7Bを参照して説明する。
図7Bは、本実施の形態における不正メッセージ検知装置である監視CANコントローラ620の機能構成図である。
CANバス200に送出された不正メッセージを検知する不正メッセージ検知装置である監視CANコントローラ620は、CAN制御部121、送受信制御部122、クロック生成部123、及び再同期検出部124を備える。これらは上記のCANのプロトコルに準じた通信処理を実行するための機能を実現するための構成要素であり、ECU100と共通の構成要素であるため、詳細な説明は省略する。
監視CANコントローラ620はさらに、第1同期時間保持部625、第2同期時間保持部626、比較部627、及び不正検知処理部628を備える。
第1同期時間保持部625及び第2同期時間保持部626は、それぞれ同期時間保持部125と同じくサンプリングポイントを保持する。ただし第1同期時間保持部625は、再同期検出部124によってエッジが検出され、このエッジに基づく再同期を実行すると判定されたときに、このエッジが検出される前に用いられていたサンプリングポイント(以下、旧サンプリングポイントともいう)を保持し続ける。一方、第2同期時間保持部626は、再同期検出部124によってエッジが検出されたとき、このエッジに基づく再同期を実行すると判定されたときに、この再同期による調整後のサンプリングポイント(以下、新サンプリングポイントともいう)を保持する。そして送受信制御部122は、再同期が実行されるときには新旧両方のサンプリングポイントでCANバス200の論理値(以下ではそれぞれ第1論理値及び第2論理値ともいう)を取得する。
比較部627は、上記の新旧サンプリングポイントで取得された第1論理値及び第2論理値を比較してこれらが一致するか否かを判断する。
不正検知処理部628は、比較部627が第1論理値と第2論理値とが一致しないと判断した場合に、不正メッセージが検知された場合に対応付けられた処理である不正検知時処理を実行する。
上記の構成を有する監視CANコントローラ620を備えるECU600は、図8のフロー図に示される動作を実行してCANバス200を監視し、不正メッセージを検知する。図8は、本実施の形態における監視CANコントローラ620を備えるECU600によるCANバス200の監視及び不正メッセージの検知の動作のフロー図である。なお図8では、図5に示されるECU100によるメッセージの受信の動作と共通のステップは共通の参照符号で示している。
まずECU600では、初期設定のサンプリングポイントが第1同期時間保持部625に保持される(ステップS10)。このサンプリングポイントの設定自体はECU600の動作ではないが、第1同期時間保持部625に保持されるデータの存在を示す説明の便宜上このフロー図に含めている。
ECU600は、このサンプリングポイントを用いての、監視CANコントローラ620及びCANトランシーバ130を介するメッセージの受信を開始する(ステップS20)。このメッセージの受信の動作について別の表現をすれば、監視CANコントローラ620の送受信制御部122によって、連続する1ビット期間(クロック生成部123が生成するシグナルクロックに基づく)のそれぞれにおけるサンプリングポイントで、CANトランシーバ130を介してCANバス200の信号線CAN_L及びCAN_Hの電圧が読み取られる。そして読み取られたこれらの電圧の差に基づいて、CANバス200上の信号の論理値が取得される。送受信制御部122が取得したこの論理値は、メッセージのデータとしてECU600の処理部110に渡される。
ECU600はこのように各1ビット期間におけるサンプリングポイントで電圧を読み取って論理値を逐次に取得しながら、さらにこれらの論理値の変化に基づいてエッジを検出し(ステップS30)、このエッジに基づく再同期の実行をするか否かについて判定する(ステップS40)。この判定について別の表現をすれば、監視CANコントローラ620の再同期検出部124によって、エッジを検出した時点が1ビット期間のどのセグメントであるかに基づいて再同期の実行をするか否かについて判定される。
再同期を実行しないと判定された場合(ステップS40でNO)、ECU600は初期設定のサンプリングポイントを継続して使用してメッセージを受信する(ステップS50)。再同期を実行すると判定された場合(ステップS40でYES)、次のサンプリングポイントの適切なタイミングが例えば送受信制御部122によって算出される。そしてこの算出された新たなサンプリングポイントは第2同期時間保持部626に保持される。この結果、監視CANコントローラ620では、初期設定のサンプリングポイント、つまり旧サンプリングポイントと、算出された新サンプリングポイントとの両方が保持される。一方で、この算出された新たなサンプリングポイントのタイミングに応じて位相バッファセグメント1又は位相バッファセグメント2の長さが変更される(再同期の実行S660)。
ここでECU600はメッセージを受信するが、監視CANコントローラ620の送受信制御部122は、旧サンプリングポイントと新サンプリングポイントとの両方でCANバス200の論理値をそれぞれ第1論理値及び第2論理値として取得する(ステップS670)。
取得された第1論理値及び第2論理値は、比較部627によって比較され、一致するか否かについて判断される(S675)。ここで第1論理値と第2論理値との一致について判断する理由について説明する。図9は、攻撃CANコントローラ520による攻撃があった場合に2つのサンプリングポイントで取得される論理値を示す図である。
まず、(a1)に示される、送信側のECU100と受信側のECUであるECU600とで同期がとれている場合に、攻撃CANコントローラ520によって(b)に示される第1攻撃の結果、ECU600が再同期を実行する場合を想定する。この場合、受信側のECU600は、(d)に示される旧サンプリングポイントと新サンプリングポイントとでステップS670のメッセージの取得を実行する。ここでCANバス200上の信号の論理値は、(c)に示されるように推移する。具体的には、旧サンプリングポイントでは、攻撃CANコントローラ520による第2攻撃開始前であり、CANバス200上の信号の論理値は改ざんされず、送信側のECU100による出力どおり0である。これは、旧サンプリングポイントは送信側のECU100がビットモニタリングを実行するため、攻撃CANコントローラ520はこの時点を避けて第2攻撃を実行するためである。一方、新サンプリングポイントでは、図6を参照して説明したように攻撃CANコントローラ520によってCANバス200上の値が0から1に改ざんされている。したがって、攻撃CANコントローラ520による攻撃によって再同期が実行された場合には、CANバス200上の信号の論理値は旧サンプリングポイントと新サンプリングポイントとで一致しない。したがって、新旧のサンプリングポイントでECU600の送受信制御部122が取得する論理値は一致しない。
これに対し、(a2)に示されるように、ECU100とECU600とで同期がとれていないために再同期が実行される場合には、CANバス200上の信号の論理値は、ECU100が出力したとおりに推移する。したがって、新旧のサンプリングポイントでECU600の送受信制御部122が取得する論理値は一致する。
このように、旧サンプリングポイント及び新サンプリングポイントのそれぞれで取得された論理値が一致するかしないかを判断することで、悪意のあるECUによる攻撃があったか否かを判定することができる。
第1論理値と第2論理値とが一致すると判断された場合(ステップS675でYES)、ECU600は通常の動作、つまり次のメッセージがCANバス200にあるか否かの判断に移る。CANバス200にメッセージがあれば(ステップS80でYES)、ECU600はこれを受信し(ステップS20)、なければ(ステップS80でNO)メッセージ受信の動作を終了する。
第1論理値と第2論理値とが一致しないと判断された場合(ステップS675でNO)、ECU600では、不正メッセージが検知された場合に対応付けられた処理である不正検知時処理が不正検知処理部628によって実行される。この不正検知時処理としては、ネットワークにおける通信時にエラーが発生したことを通知するフレーム、例えば上述のようなエラーフレームがCANバス200に送信されてもよい。これにより車載通信システム10Aにおいて改ざんされたメッセージを受信していたECU100ではこのメッセージが破棄され、送信側のECU100は再送信を実行することができる。または、車載通信システム10Aが備える画面などの図示しないユーザインターフェースを介してユーザに警告がされてもよい。これにより、ユーザは悪意のあるECUが車載通信システム10Aに接続されていることを知って対処することができる。
このように、本実施の形態における不正メッセージ検知装置は、バス型ネットワークにおけるバスに送出された不正メッセージを検知する不正メッセージ検知装置であって、1ビット期間において前記バス上の信号の論理値を取得するために前記バスの電圧が読み出される時点であるサンプリングポイントを調整するために、前記信号のエッジを検出し、前記エッジに基づく再同期を実行するか否かを判定する再同期検出部と、前記再同期検出部によって再同期を実行すると判定された後の1ビット期間において、当該エッジが検出される前に用いられていたサンプリングポイントにおける前記バスの論理値である第1論理値と、当該エッジに基づく再同期後のサンプリングポイントにおける前記バスの論理値である第2論理値とを取得する受信部と、前記受信部で取得された前記第1論理値及び前記第2論理値を比較する比較部と、前記比較部によって前記第1論理値及び前記第2論理値が一致しないと判断された場合に、不正メッセージが検知された場合に対応付けられた不正検知時処理を実行する不正検知処理部とを備える。この不正メッセージ検知装置は、ネットワーク上の悪意のあるECUによるメッセージの改ざんを確実に検知して高い精度でメッセージの正当性を判定し、このネットワークを備える機器、本実施の形態として記載された例であれば、自動車の安全な動作を確保することができる。
なお、上記の実施の形態において記載されたECU600を備える機器又はシステムについては特に限定されない。上記ではECU600がメッセージの受信の動作においてメッセージの改ざんを検知する例を説明したが、ECU600はエラーフレーム以外のメッセージの送信も行う通信機器が備えるECUであってもよい。例えば車載通信システムに接続される任意のシステムのECU、例えば空調システムのECUやカーナビゲーションシステムのECUであってもよい。また、ネットワークの監視専用の機器として接続される機器が備えるECUであってもよい。また、監視CANコントローラ620は、CANバスどうしを接続するゲートウェイのECUに装備されてもよい。この場合、この監視CANコントローラ620はゲートウェイが接続する複数のCANバスを監視してもよい。
(効果)
上述のとおり、上記の構成を有する不正メッセージ検知装置は、ネットワーク上の悪意のあるECUによるメッセージの改ざんを確実に検知して高い精度でメッセージの正当性を判定する。
上記の構成を有する不正メッセージ検知装置以外でこのような攻撃に対処する手段としては、1ビット期間内のCANバス上の電気的な変化の回数に基づく方法が考えられる。これには、例えばサンプリングポイント間の周期を短くして、1ビットの間で何度もCANバス上の電気的な変化をスキャンするように読み取る方法が考えられる。しかしこの方法では、サンプリングとサンプリングとの間で電圧の操作を攻撃することで、電気的な変化の検知を回避することができる。このような検知の回避を困難にするためにサンプリングポイント間の周期をより短くすることは論理的には可能であるが、消費電力の増加や取得する論理値の記憶のためのメモリのコストの増加を招く。一方、本実施の形態における不正メッセージ検知装置であれば、従来のCANコントローラに比べてサンプリング間の周期が短縮されるのは、再同期が実行される場合であって、悪意のある装置による電圧の操作が起こり得るタイミングに限られる。したがって、消費電力やメモリのコストの増加は限定的である。
また、受信側のECUがデータの改ざんを検知できるように、送信側のECUがメッセージにMAC(Message Authentication Code)を含めるという方法も考えられる。この方法の場合、CANの規格ではデータフレームの各スロットの用途が図2に示されるように規定されているため、その中でデータフィールドにMACが挿入される。しかしながら、十分な安全性を担保するために用いられるMACは一般的に128ビット長であり、データフィールドの既定の最大長である64ビットに収まらない。より短い簡易的なMACを用いることも考えられるが、MACを短くすることは安全性の高さとのトレードオフである。仮に短いMACを用いたとしても、その分データフィールドに含めることができる情報量が制限され、通信効率が低下する。また、MACによって安全性を確保するためには、MACを扱うための回路をネットワーク上のすべてのECUに装備させる必要があり、コストの増加を招き、また、普及までに時間がかかる。一方、本実施の形態における不正メッセージ検知装置であれば、ネットワーク上で1台のECUがこれを備え、CANバス上の電圧の操作の変化を監視することでデータの改ざんを検知することができる。したがって、既存のネットワークにも容易に適用することができる。また、本実施の形態における不正メッセージ検知装置では、データフィールドを不正メッセージの検知のためには消費しないため、通信効率への影響は生じない。
ここまで、バス型ネットワークで接続される通信機器からなる車載通信システムにおいて、このバスに送出された不正メッセージを検知する不正メッセージ検知装置として、ECUの一部に装備される監視CANコントローラについて説明した。なお、例えばCANの規格が利用されるネットワークであれば、上述した再同期の仕組みを利用する攻撃は車載のネットワークに限らず実行することができる。したがって、例えばCANの規格が利用されるネットワークで制御される工作機械などにも上記の実施の形態における不正メッセージ装置は有用に適用される。また、CANの規格が利用されないネットワークであっても、複数の通信機器から送信される信号の衝突の問題を、上述した再同期のような方法を用いて解消しているネットワークであれば同様の攻撃が可能であるため、上記の実施の形態における不正メッセージ装置は有用に適用される。
以上、一つの態様に係る不正メッセージ検知装置について、実施の形態に基づいて説明したが、本発明はこの実施の形態に限定されるものではない。例えば上記の実施の形態において、監視CANコントローラ620の各構成要素によって実行される、CANバス200の監視及び不正メッセージの検知の動作のフローにおける処理をステップとして含む不正メッセージ検知方法として実現されてもよい。また、各構成要素は専用のハードウェアで構成されてもよいし、十分な処理速度が確保されるのであれば、各構成要素に適したソフトウェアプログラムをCPUなどのプロセッサが実行することによって実現されてもよい。例えばプロセッサが、ハードディスク又は半導体メモリなどの記録媒体に記録されたソフトウェアプログラムを読み出して実行することによって実現されてもよい。ここで、上記実施の形態の不正メッセージ検知装置を実現するソフトウェアプログラムとは次のようなプログラムである。
本発明の一態様に係る不正メッセージ検知プログラムは、プロセッサに、バス型ネットワークにおけるバスに送出された不正メッセージを検知する不正メッセージ検知方法であって、1ビット期間において前記バス上の信号の論理値を取得するために前記バスの電圧が読み出される時点であるサンプリングポイントを調整するために、前記信号のエッジを検出し、前記エッジに基づく再同期を実行するか否かを判定する再同期検知ステップと、前記再同期検知ステップで再同期を実行すると判定された後の1ビット期間において、当該エッジが検知される前に用いられていたサンプリングポイントにおける前記バスの論理値である第1論理値と、当該エッジに基づく再同期後のサンプリングポイントにおける前記バスの論理値である第2論理値とを取得する受信ステップと、前記受信ステップで取得された前記第1論理値及び前記第2論理値を比較する比較ステップと、前記比較ステップにおいて前記第1論理値及び前記第2論理値が一致しないと判断された場合に、不正メッセージが検知された場合に対応付けられた不正検知時処理を実行する不正検知処理ステップとを含む方法を実行させるプログラムである。
また本発明は、上記で説明した不正メッセージ検知装置を備えるECUとして実現されてもよい。
以上、一つの態様に係る不正メッセージ検知装置について、実施の形態に基づいて説明したが、本発明は、この実施の形態に限定されるものではない。本発明の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施したものや、異なる実施の形態における構成要素を組み合わせて構築される形態も、一つ又は複数の態様の範囲内に含まれてもよい。
例えば上記の実施の形態として記載された例では、同期時間保持部は第1同期時間保持部625及び第2同期時間保持部626の2個のみであるが、同期時間保持部の個数は2個に限定されない。1台の監視CANコントローラが、例えば3個以上の同期時間保持部を備えることで、複数の受信側のECU100に対する異なるタイミングの攻撃を検知することができる。
本発明は、CDMA/CA方式等の通信プロトコルを用いて通信可能な複数の装置が接続されるネットワーク、例えば車載ネットワーク等として利用されるCAN等に利用可能である。
10、10A 車載通信システム
100、101、102、10n、501、600 ECU
110 処理部
120 CANコントローラ
121 CAN制御部
122 送受信制御部
123 クロック生成部
124 再同期検出部
125 同期時間保持部
126 攻撃タイミング生成部
130 CANトランシーバ
200 CANバス
520 攻撃CANコントローラ
620 監視CANコントローラ
625 第1同期時間保持部
626 第2同期時間保持部
627 比較部
628 不正検知処理部

Claims (8)

  1. バス型ネットワークにおけるバスに送出された不正メッセージを検知する不正メッセージ検知装置であって、
    1ビット期間において前記バス上の信号の論理値を取得するために前記バスの電圧が読み出される時点であるサンプリングポイントを調整するために、前記信号のエッジを検出し、前記エッジに基づく再同期を実行するか否かを判定する再同期検出部と、
    前記再同期検出部によって再同期を実行すると判定された後の1ビット期間において、当該エッジが検出される前に用いられていたサンプリングポイントにおける前記バスの論理値である第1論理値と、当該エッジに基づく再同期後のサンプリングポイントにおける前記バスの論理値である第2論理値とを取得する受信部と、
    前記受信部で取得された前記第1論理値及び前記第2論理値を比較する比較部と、
    前記比較部によって前記第1論理値及び前記第2論理値が一致しないと判断された場合に、不正メッセージが検知された場合に対応付けられた不正検知時処理を実行する不正検知処理部と
    を備える不正メッセージ検知装置。
  2. さらに、
    前記再同期検出部によって前記エッジが検出される前に用いていたサンプリングポイントを保持する第1同期時間保持部と、
    前記再同期検出部によって検出された前記エッジに基づく再同期による調整後のサンプリングポイントを保持する第2同期時間保持部とを備え、
    前記受信部は、前記第1同期時間保持部に保持されたサンプリングポイントにおいて前記第1論理値を取得し、前記第2同期時間保持部に保持されたサンプリングポイントにおいて前記第2論理値を取得する
    請求項1記載の不正メッセージ検知装置。
  3. 前記不正検知処理部は、前記不正検知時処理として、前記バス型ネットワークにおける通信時にエラーが発生したことを通知するフレームを前記バスに送信する
    請求項1又は2記載の不正メッセージ検知装置。
  4. 前記バス型ネットワークは、CAN(Controller Area Network)である
    請求項1〜3のいずれか1項に記載の不正メッセージ検知装置。
  5. 当該不正メッセージ検知装置は、前記バス型ネットワークに接続された電子制御装置の一部として装備されている
    請求項1〜4のいずれか1項に記載の不正メッセージ検知装置。
  6. 請求項1〜4のいずれか1項に記載の不正メッセージ検知装置を備え、バス型ネットワークで接続される通信機器からなる車載通信システムに接続される電子制御装置。
  7. バス型ネットワークにおけるバスに送出された不正メッセージを検知する不正メッセージ検知方法であって、
    1ビット期間において前記バス上の信号の論理値を取得するために前記バスの電圧が読み出される時点であるサンプリングポイントを調整するために、前記信号のエッジを検出し、前記エッジに基づく再同期を実行するか否かを判定する再同期検知ステップと、
    前記再同期検知ステップで再同期を実行すると判定された後の1ビット期間において、当該エッジが検知される前に用いられていたサンプリングポイントにおける前記バスの論理値である第1論理値と、当該エッジに基づく再同期後のサンプリングポイントにおける前記バスの論理値である第2論理値とを取得する受信ステップと、
    前記受信ステップで取得された前記第1論理値及び前記第2論理値を比較する比較ステップと、
    前記比較ステップにおいて前記第1論理値及び前記第2論理値が一致しないと判断された場合に、不正メッセージが検知された場合に対応付けられた不正検知時処理を実行する不正検知処理ステップと
    を含む不正メッセージ検知方法。
  8. 請求項7に記載の不正メッセージ検知方法をプロセッサに実行させるための不正メッセージ検知プログラム。
JP2017557692A 2015-12-25 2016-12-13 不正メッセージ検知装置、不正メッセージ検知装置を備える電子制御装置、不正メッセージ検知方法、及び不正メッセージ検知プログラム Active JP6732799B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2015255420 2015-12-25
JP2015255420 2015-12-25
PCT/JP2016/005116 WO2017110056A1 (ja) 2015-12-25 2016-12-13 不正メッセージ検知装置、不正メッセージ検知装置を備える電子制御装置、不正メッセージ検知方法、及び不正メッセージ検知プログラム

Publications (2)

Publication Number Publication Date
JPWO2017110056A1 JPWO2017110056A1 (ja) 2018-10-11
JP6732799B2 true JP6732799B2 (ja) 2020-07-29

Family

ID=59089883

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017557692A Active JP6732799B2 (ja) 2015-12-25 2016-12-13 不正メッセージ検知装置、不正メッセージ検知装置を備える電子制御装置、不正メッセージ検知方法、及び不正メッセージ検知プログラム

Country Status (5)

Country Link
US (1) US10742675B2 (ja)
EP (1) EP3396900B1 (ja)
JP (1) JP6732799B2 (ja)
CN (1) CN108476155B (ja)
WO (1) WO2017110056A1 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102017200826A1 (de) * 2017-01-19 2018-07-19 Conti Temic Microelectronic Gmbh Verfahren zum Betreiben einer Überwachungsvorrichtung eines Datennetzwerks eines Kraftfahrzeugs sowie Überwachungsvorrichtung, Steuergerät und Kraftfahrzeug
US10757113B2 (en) * 2017-03-17 2020-08-25 Cylance Inc. Communications bus signal fingerprinting
DE102017212543A1 (de) * 2017-07-21 2019-01-24 Robert Bosch Gmbh Sende-/Empfangseinrichtung für ein Bussystem und Verfahren zur Reduktion von leitungsgebundenen Emissionen
DE202017104362U1 (de) * 2017-07-21 2017-08-07 Robert Bosch Gmbh Zeitstempeleinheit und Kommunikationssteuereinheit für eine Teilnehmerstation eines Kommunikationsnetzwerks
DE102018202615A1 (de) * 2018-02-21 2019-08-22 Robert Bosch Gmbh Teilnehmerstation für ein Bussystem und Verfahren zur Erhöhung der Datenrate eines Bussystems
DE102018208118A1 (de) * 2018-05-23 2019-11-28 Robert Bosch Gmbh Verfahren und Vorrichtung zum Authentifizieren einer über einen Bus übertragenen Nachricht
JP7079180B2 (ja) * 2018-09-20 2022-06-01 ボッシュ株式会社 Can通信方法及びcan通信システム
US10884966B2 (en) * 2018-12-04 2021-01-05 Palo Alto Research Center Incorporated Method and apparatus to prevent a node device from transmitting an unallowable message onto a CAN bus
WO2020121440A1 (ja) * 2018-12-12 2020-06-18 三菱電機株式会社 情報処理装置、情報処理方法及び情報処理プログラム
EP3809638B1 (en) * 2019-10-17 2023-05-17 Volvo Car Corporation Detecting manipulation of data on a can bus
US11847254B2 (en) * 2022-01-21 2023-12-19 Shift5, Inc. Voltage override device for physical intrusion prevention on a data bus

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3148003B2 (ja) * 1992-07-02 2001-03-19 富士通株式会社 受信データ再生装置
JP2775662B2 (ja) * 1993-04-16 1998-07-16 本田技研工業株式会社 車両用データ伝送システム
US5649225A (en) * 1994-06-01 1997-07-15 Advanced Micro Devices, Inc. Resynchronization of a superscalar processor
US6779123B2 (en) * 2001-02-28 2004-08-17 Intel Corporation Calibrating return time for resynchronizing data demodulated from a master slave bus
GB2382746B (en) * 2001-11-20 2005-12-14 Ericsson Telefon Ab L M Establishing radio communication channels
JP3835800B2 (ja) * 2002-02-08 2006-10-18 株式会社東芝 受信フレームの同期方法、および、受信装置
CN100370757C (zh) * 2004-07-09 2008-02-20 国际商业机器公司 识别网络内分布式拒绝服务攻击和防御攻击的方法和系统
DE102008000562A1 (de) * 2008-03-07 2009-09-10 Robert Bosch Gmbh Kommunikationssystem umfassend einen Datenbus und mehrere daran angeschlossene Teilnehmerknoten sowie Verfahren zum Betreiben eines solchen Kommunikationssystems
CN101719858B (zh) * 2009-11-03 2012-05-23 上海大学 Can控制器的位时序的同步处理方法
JP5717240B2 (ja) * 2010-08-09 2015-05-13 国立大学法人名古屋大学 通信システム及び通信装置
EP2726999B1 (de) * 2011-06-29 2015-09-09 Robert Bosch GmbH Verfahren und vorrichtung zur seriellen datenübertragung mit flexibler nachrichtengrösse und variabler bitlänge
JP5770602B2 (ja) * 2011-10-31 2015-08-26 トヨタ自動車株式会社 通信システムにおけるメッセージ認証方法および通信システム
CN103999410B (zh) * 2011-12-22 2017-04-12 丰田自动车株式会社 通信系统及通信方法
JP5919205B2 (ja) * 2013-01-28 2016-05-18 日立オートモティブシステムズ株式会社 ネットワーク装置およびデータ送受信システム
US9432488B2 (en) * 2013-03-15 2016-08-30 Concio Holdings LLC High speed embedded protocol for distributed control systems
US20160087737A1 (en) * 2013-05-29 2016-03-24 Freescale Semiconductor, Inc. A network receiver for a network using distributed clock synchronization and a method of sampling a signal received from the network
CA2946695C (en) * 2014-04-25 2021-05-04 Securebrain Corporation Fraud detection network system and fraud detection method
JP2016005231A (ja) * 2014-06-19 2016-01-12 ルネサスエレクトロニクス株式会社 光受信機
CN111934966B (zh) * 2014-12-01 2022-09-20 松下电器(美国)知识产权公司 不正常检测电子控制单元、车载网络系统以及不正常检测方法
WO2016147405A1 (ja) * 2015-03-19 2016-09-22 三菱電機株式会社 通信装置およびネットワークシステム
EP3163783B1 (en) * 2015-10-30 2019-12-18 Kabushiki Kaisha Toshiba Wireless communication device and wireless communication method
KR102400730B1 (ko) * 2016-02-23 2022-05-20 현대자동차주식회사 네트워크에서 통신 노드들 간의 시간 동기화 방법
US10536464B2 (en) * 2016-06-22 2020-01-14 Intel Corporation Secure and smart login engine

Also Published As

Publication number Publication date
US10742675B2 (en) 2020-08-11
EP3396900A1 (en) 2018-10-31
US20180316710A1 (en) 2018-11-01
WO2017110056A1 (ja) 2017-06-29
CN108476155B (zh) 2021-05-14
EP3396900B1 (en) 2019-10-30
CN108476155A (zh) 2018-08-31
JPWO2017110056A1 (ja) 2018-10-11
EP3396900A4 (en) 2018-10-31

Similar Documents

Publication Publication Date Title
JP6732799B2 (ja) 不正メッセージ検知装置、不正メッセージ検知装置を備える電子制御装置、不正メッセージ検知方法、及び不正メッセージ検知プログラム
US10146725B2 (en) Method and device for checking the correct functioning of a serial data transmission
US20190068715A1 (en) Method for detecting fraudulent frame sent over an in-vehicle network system
JP6433951B2 (ja) ネットワーク監視装置およびプログラム
US10320640B2 (en) Communication system, abnormality detection device and abnormality detection method
CN112106314B (zh) 用于确定同步精度的方法、计算机程序、通信单元和机动车
CN112347022B (zh) 用于can节点的安全模块
US10764326B2 (en) Can controller safe against can-communication-based hacking attack
JPWO2016185514A1 (ja) 攻撃検出装置
JP6204587B2 (ja) Canバス接続ユニットの内部遅延時間を定めるための装置、および測定方法
KR101972457B1 (ko) Can 통신 기반 해킹공격 탐지 방법 및 시스템
CN112347021B (zh) 用于串行通信装置的安全模块
US10311005B2 (en) Message translator
JP6497656B2 (ja) 通信方法およびそれを利用した通信装置
CN112347023A (zh) 用于can节点的安全模块
WO2019225369A1 (ja) 車載通信システム、判定装置、通信装置、判定方法及びコンピュータプログラム
Gazdag et al. Development of a man-in-the-middle attack device for the can bus
JP6217469B2 (ja) 不正データ検出装置、及び通信システム並びに不正データ検出方法
KR20180039586A (ko) Can 통신 기반 해킹공격에 안전한 can 컨트롤러
CN108632242B (zh) 通信装置及接收装置
KR101825711B1 (ko) Can 통신 기반 해킹공격에 안전한 can 컨트롤러
JP6505935B1 (ja) Can通信装置、can通信システム、can通信方法およびプログラム
US12206521B2 (en) Apparatus for a controller area network
EP4199437B1 (en) Apparatus for a controller area network
WO2023037711A1 (ja) 車載中継装置、車載中継方法および車載中継プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190703

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20200217

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20200520

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200708

R150 Certificate of patent or registration of utility model

Ref document number: 6732799

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250