(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2022-10-28
(54)【発明の名称】コントローラ・エリア・ネットワーク母線に対する侵入を検知かつ無効にする方法および装置
(51)【国際特許分類】
G06F 21/55 20130101AFI20221021BHJP
B60R 16/023 20060101ALI20221021BHJP
【FI】
G06F21/55
B60R16/023 P
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2022508913
(86)(22)【出願日】2020-08-06
(85)【翻訳文提出日】2022-04-08
(86)【国際出願番号】 US2020045091
(87)【国際公開番号】W WO2021030123
(87)【国際公開日】2021-02-18
(32)【優先日】2019-08-12
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】522054558
【氏名又は名称】ボヨモーティブ,エルエルシー
(74)【代理人】
【識別番号】100112874
【氏名又は名称】渡邊 薫
(72)【発明者】
【氏名】スローン,アダム
(72)【発明者】
【氏名】ボークト フォース,ロバート
(57)【要約】
CAN母線または車両ネットワークへの侵入を検出しかつ不正な侵入を無効にする方法およびシステムを提供する。本システムは、CAN母線メッセージのビット同期特性を監視し、信頼できるビット同期特性を設定し、かつ不正なCAN母線メッセージを識別する。本装置は、適切なタイミングでCAN母線にデータを挿入してCAN母線にある不正なメッセージを無効にし、これにより不正なメッセージの受信を防止し、かつ1回以上の侵入を検出すると警報を発生させる。本装置は独立システムまたは有線システムとして使用でき、車両のODB-IIポート、リレー、またはヒューズポートに連結可能であってもよく、かつ侵入を受けると車両にあるその他の電子制御ユニットを安全な作動モードに設定し、全てのCANメッセージ識別子を無効にするか、あるいは同一の電子制御ユニットのノードによって送信された全てのCANメッセージ識別子に対して侵入検出フラグを「TRUE」に設定できる。
【特許請求の範囲】
【請求項1】
車両ネットワーク母線および前記車両ネットワーク母線に連結された電子制御ユニットを含む車両においてCAN(コントローラ・エリア・ネットワーク)母線に対する侵入を検出かつ無効にする方法であって、
プロセッサ、メモリ、およびCAN標準に基づく前記車両ネットワーク母線へのインターフェイスを含む所定の電子制御ユニットを備える車両を提供する工程;
前記電子制御ユニットを操作して前記CAN母線にあるメッセージを監視する工程;
各着信メッセージの固有のビット同期特性を監視して前記メッセージの信頼できるビット同期特性を設定して、信頼できるフラグを初期設定の「FALSE」から「TRUE」に変更する工程;
直近メッセージのビット同期特性を所定の閾限界値に対するメッセージ識別子の信頼できるビット同期特性と比較し、閾値内にない場合には検出計数値を1だけ増大させ、かつ閾限界値内にある場合には前記検出計数値を1だけ減少させる工程;
前記検出計数値が所定の閾限界値に到達した場合には侵入検知フラグを「TRUE」に設定する工程;および
前記所定の電子制御ユニットを操作して、1回以上の侵入を検出すると警報を発生させる工程を含む、方法。
【請求項2】
CAN制御部およびCAN受信部をさらに含む、請求項1に記載の車両ネットワーク母線および前記車両ネットワーク母線に連結された電子制御ユニットを含む車両においてコントローラ・エリア・ネットワーク母線に対する侵入を検出かつ無効にする方法。
【請求項3】
侵入が検出された後にメッセージを無効にする工程をさらに含む、請求項1に記載の車両ネットワーク母線および前記車両ネットワーク母線に連結された電子制御ユニットを含む車両においてコントローラ・エリア・ネットワーク母線に対する侵入を検出かつ無効にする方法。
【請求項4】
前記CAN母線を介して侵入を前記車両の第2の電子制御ユニットに通信する工程をさらに含む、請求項1に記載の車両ネットワーク母線および前記車両ネットワーク母線に連結された電子制御ユニットを含む車両においてコントローラ・エリア・ネットワーク母線に対する侵入を検出かつ無効にする方法。
【請求項5】
OBD-IIポートを用いて前記車両と通信する工程をさらに含む、請求項1に記載の車両ネットワーク母線および前記車両ネットワーク母線に連結された電子制御ユニットを含む車両においてコントローラ・エリア・ネットワーク母線に対する侵入を検出かつ無効にする方法。
【請求項6】
前記侵入を受信すると、前記車両にある他の電子制御ユニットを安全な作動モードに設定する工程をさらに含む、請求項1に記載の車両ネットワーク母線および前記車両ネットワーク母線に連結された電子制御ユニットを含む車両においてコントローラ・エリア・ネットワーク母線に対する侵入を検出かつ無効にする方法。
【請求項7】
前記CAN母線にビットを送信して強制的に同期する工程をさらに含む、請求項1に記載の車両ネットワーク母線および前記車両ネットワーク母線に連結された電子制御ユニットを含む車両においてコントローラ・エリア・ネットワーク母線に対する侵入を検出かつ無効にする方法。
【請求項8】
前記メッセージのための同期ジャンプ幅(SJW)の長さを決定する工程をさらに含む、請求項1に記載の車両ネットワーク母線および前記車両ネットワーク母線に連結された電子制御ユニットを含む車両においてコントローラ・エリア・ネットワーク母線に対する侵入を検出かつ無効にする方法。
【請求項9】
車両ネットワーク母線および前記車両ネットワーク母線に連結された電子制御ユニットを含む車両において母線に対する侵入を検出かつ無効にする方法であって、
プロセッサ、メモリ、および前記車両ネットワーク母線へのインターフェイスを含む所定の電子制御ユニットを備える車両を提供する工程;
前記電子制御ユニットを操作して前記車両ネットワーク母線にあるメッセージを監視する工程;
各着信メッセージの固有のビット同期特性を監視し、前記メッセージの信頼できるビット同期特性を設定して、信頼できるフラグを初期設定の「FALSE」から「TRUE」に変更する工程;
直近メッセージのビット同期特性を所定の閾限界値に対するメッセージ識別子の信頼できるビット同期特性と比較し、閾値内にない場合には検出計数値を1だけ増大させ、かつ閾限界値内にある場合には前記検出計数値を1だけ減少させる工程;
前記検出計数値が閾限界値に到達した場合には侵入検知フラグを「TRUE」に設定する工程;および
1回以上の侵入を検出すると警報を発生させる工程を含む、方法。
【請求項10】
OBD-IIポート、リレーソケット、またはヒューズポートを用いて前記車両と通信する工程をさらに含む、請求項9に記載の車両ネットワーク母線および前記前記車両ネットワーク母線に連結された電子制御ユニットを含む車両において母線に対する侵入を検出かつ無効にする方法。
【請求項11】
前記メッセージのための同期ジャンプ幅(SJW)の長さを決定する工程をさらに含む、請求項9に記載の車両ネットワーク母線および前記車両ネットワーク母線に連結された電子制御ユニットを含む車両において母線に対する侵入を検出かつ無効にする方法。
【請求項12】
CAN母線にビットを送信して強制的に同期する工程をさらに含む、請求項9に記載の車両ネットワーク母線および前記車両ネットワーク母線に連結された電子制御ユニットを含む車両において母線に対する侵入を検出かつ無効にする方法。
【請求項13】
車両において車両ネットワーク母線に対する侵入を検知かつ無効にするシステムであって、
プロセッサ、メモリ、およびネットワーク標準に基づく前記車両ネットワーク母線へのインターフェイスを含み、各着信メッセージの固有のビット同期特性について前記母線にあるメッセージを監視して前記メッセージの信頼できるビット同期特性を設定し、かつ前記メモリ内の信頼できるフラグを初期設定の「FALSE」から「TRUE」に変更する所定の電子制御ユニット、および
直近メッセージが所定の閾値を満足しない場合には1だけ増大させ、メッセージ識別子が所定の閾値内にある場合は1だけ減少させ、かつ検出計数値が所定の閾限界値に到達した場合には検出フラグを「TRUE」に設定する検出計数器を含み、
前記電子制御ユニットは、前記侵入検出フラグの状態に基づいて、1回以上の侵入を検出すると警報を発生させる、システム。
【請求項14】
同一の電子制御ユニットノードによって送信されたメッセージ識別子を決定する工程をさらに含む、請求項13に記載の車両において車両ネットワーク母線に対する侵入を検知かつ無効にするシステム。
【請求項15】
入力比較クロックをさらに含む、請求項13に記載の車両において車両ネットワーク母線に対する侵入を検知かつ無効にするシステム。
【請求項16】
同一の電子制御ユニットノードによって送信された全てのネットワークメッセージ識別子に対して、侵入検知フラグを「TRUE」に設定する工程をさらに含む、請求項14に記載の車両において車両ネットワーク母線に対する侵入を検知かつ無効にするシステム。
【請求項17】
OBD-IIポートへの接続をさらに含む、請求項13に記載の車両において車両ネットワーク母線に対する侵入を検知かつ無効にするシステム。
【請求項18】
同一の電子制御ユニットノードによって送信された全てのネットワークメッセージ識別子を無効にする工程をさらに含む、請求項14に記載の車両において車両ネットワーク母線に対する侵入を検知かつ無効にするシステム。
【請求項19】
車両でのリレーソケットまたはヒューズポートへの接続をさらに含む、請求項14に記載の車両において車両ネットワーク母線に対する侵入を検知かつ無効にするシステム。
【発明の詳細な説明】
【関連出願の相互参照】
【0001】
本出願は、2019年8月12日付けの「コントローラ・エリア・ネットワーク母線に対する侵入を検知かつ無効にする方法および装置」と題する米国仮特許出願第62/885,452号の利益を主張し、その内容は参照により本明細書に組み込まれる。
【背景技術】
【0002】
コントローラ・エリア・ネットワーク(CAN)母線(bus)は、自動車、オフハイウェイ車両、航空宇宙、産業オートメーション、および商業建築物の各用途に一般に使用されるデータ用母線である。CAN母線は自動車業界では標準となっていて、大半の最新車両に用いられている。最近の車両には、エンジン、変速機、操舵装置、制動装置、車体などの全ての車両システムを制御する多くの電子制御ユニット(ECU)のノード(接続点)が存在する。これらのECUノードは、メッセージ形式で車両のCAN母線を介して通信する。車両のCAN母線を介して送信されるメッセージは、加速、制動、操舵、車両のアクセス、安全システムなどの車両操作の全ての状況に使用されている。
【0003】
CAN母線によって、各ECUノードはホストコンピュータを必要とせずに、メッセージ形式で相互に通信することができる。しかしながらCAN母線には、CAN母線で送受信されるメッセージが信頼できる送信元からであると検証する本質的な方法が存在していない。このことにより、CAN母線を用いるアプリケーションに安全対策上の脆弱性が生じることになる。
【0004】
自動車およびその他の用途でのCAN母線への安全対策は、重要性が増大しかつ注目されつつある分野である。近年では、車両での多数の安全対策上の侵害が報告されている。最近の車両でも、車両のCAN母線を介して送受信されているメッセージが信頼できる送信元からであることを検証する試みは、殆どあるいは全くなされていない。
【0005】
最新車両の安全対策は、車両のCAN母線を介する不正メッセージの送信によって侵害される可能性がある。不正メッセージは、車両のCAN母線に追加された不正のECUノード、あるいは不正アクセスを受けた既存のECUノードによって送信される可能性がある。車両のCAN母線を介する不正メッセージは、車両操作の全ての状況に甚大な影響を及ぼす可能性が潜んでいる。
【0006】
CAN母線の安全性を維持するには、不正メッセージや不正のECUノードの形態でのCAN母線への侵入を検出する必要がある。さらに、不正メッセージの形態でのCAN母線へのいかなる不正の侵入をも無効にして、これら不正メッセージがアプリケーション内で不必要な動作を引き起こすことを防止する必要がある。
【発明の概要】
【0007】
本発明の第1の利点は、車両内のCAN母線を介する不正な通信を検出するシステムを提供することである。
【0008】
本発明の別の利点は、CAN母線にある不適切または不正メッセージを無効にするシステムを提供することである。
【0009】
本発明のさらなる別の利点は、解析のためにCAN母線を介するビット同期特性を用いてデータ通信を検出かつ追跡するソフトウェアシステムを提供することである。
【0010】
本発明は、CAN母線への侵入を検出しかつ不正な侵入を無効にする装置である。この装置は、CAN母線のメッセージのビット同期特性を監視し、信頼できるビット同期特性を設定し、かつ不正のCAN母線メッセージを識別する。この装置は、適切なタイミングでCAN母線にデータを導入してCAN母線にある不正メッセージを無効にして、それにより不正なメッセージの受信を防止する。
【0011】
本発明の好ましい実施態様によれば、車両ネットワーク母線および車両ネットワーク母線に連結された電子制御ユニットを含む車両において、車両ネットワーク母線あるいはCAN(コントローラ・エリア・ネットワーク)母線に対する侵入を検出かつ無効にする方法を提供する。この方法は、プロセッサ、メモリ、およびCAN標準またはその他のネットワーク標準に基づく車両ネットワーク母線に対するインターフェイスを含む所定の電子制御ユニットを備える車両を提供する工程;電子制御ユニットを操作してCANまたはネットワーク母線を介するメッセージを監視する工程;各着信メッセージの固有のビット同期特性を監視してメッセージの信頼できるビット同期特性を設定して、信頼できるフラグを初期設定の「FALSE」から「TRUE」に変更する工程;直近メッセージのビット同期特性を所定の閾限界値に対するメッセージ識別子の信頼できるビット同期特性と比較し、その閾値内にない場合には検出計数値を1だけ増大させ、かつ閾限界値内にある場合には検出計数値を1だけ減少させる工程;検出計数値が所定の閾限界値に到達した場合には侵入検知フラグを「TRUE」に設定する工程;および所定の電子制御ユニットを操作して、1回以上の侵入を検出すると警報を発生させる工程を含む。
【0012】
本発明の好ましい実施態様によれば、プロセッサ、メモリ、およびネットワーク標準に基づく車両ネットワーク母線に対するインターフェイスを含む所定の電子制御ユニットおよび検出計数器を有する、車両において車両ネットワーク母線への侵入を検知かつ無効にするシステムを提供する。この電子制御ユニットは、各着信メッセージの固有のビット同期特性について母線にあるメッセージを監視してメッセージの信頼できるビット同期特性を設定して、メモリ内の信頼できるフラグを初期設定の「FALSE」から「TRUE」に変更し;この検出計数器は、直近メッセージが所定の閾値を満足しない場合には1だけ増大させ、メッセージ識別子が所定の閾値内にある場合は1だけ減少させ、かつこの検出計数器は所定の閾限界値に到達した場合には検出フラグを「TRUE」に設定し;この電子制御ユニットは、侵入検出フラグの状態に基づいて、1回以上の侵入を検出すると警報を発生させる。
【0013】
本発明のその他の目的および利点は、添付の図面に関連して得られる以下の説明から明らかになる。図表および実施例により、本発明の実施態様が開示される。
【図面の簡単な説明】
【0014】
図面は本明細書の一部を構成し、かつ本発明の例示的な実施態様を含み、これらは種々の形態で具体化できる。当然ではあるが、場合によっては、本発明の理解を助けるために、本発明の様々な側面は誇張または拡大されて示されている場合がある。
【0015】
図1Aおよび1Bは、データ列内の1ビットに対する信号採取点およびデータ通信用の一群のビット領域の概略図である。
【0016】
図2は、本発明の好ましい実施態様による方法のフローチャートである。
【0017】
図3は、本発明の好ましい実施態様による方法のフローチャートである。
【0018】
図4は、本発明の好ましい実施態様による方法の別のフローチャートである。
【好ましい実施態様の詳細な説明】
【0019】
好ましい実施態様の詳細な説明を、本明細書に提供する。但し当然ではあるが、本発明は様々な形態で具体化されてもよい。従って本明細書に開示される特定の詳細を限定的と解釈すべきではなく、逆に後程提供される請求項の基準として、かつ実質的に任意の適切に詳述されたシステム、構造、または方法で本発明を用いることを当業者に教示するための代表的な基準として解釈すべきである。
【0020】
侵入を検知かつ無効にする装置は、コンピュータプロセッサおよびオンボードメモリを備える。本装置は、入力比較ブロックなどのハードウェアを用いて、個々のビットの相対的なタイミングなどの高精度の時間量を測定する機能を持つ。本装置は、メッセージの送受信が可能となるCAN制御部とCAN送受信部を持つ。既存のCAN母線に本装置が接続されている場合に、本装置はそのCAN母線にある全てのCAN母線メッセージを受信する能力およびそのCAN母線にあるCAN母線メッセージを送信する能力を保有する。本装置は必要に応じて侵入を検出し、複数のCAN母線に対する不正な侵入を無効にできる。本装置は独立型のECUであっても、既存のECUの一部またはECUの組合せであってもよい。本装置は製造時にCAN母線に取り付けられてもよく、あるいは製造後に取り付けられる市販の部品であってもよい。当然ではあるが、このシステムおよび方法は、種々のネットワーク構造と母線構造のいずれにも使用可能である。
【0021】
本装置が車両のCAN母線に取り付けられる場合に、本装置は製造時に車両内に取込まれるOEM(相手先商標製造会社)のECU(電子制御ユニット)であってもよく、あるいは車両が製造された後に車両に取り付けられる市販のECUであってもよい。本装置は車両にある既存のECUのハードウェアで実行されてもよい。既存のECUは、本発明を実行するように再プログラムされていてもよい。本装置は、OBD-IIポート、リレーソケット、またはヒューズポートなどの適切な標準の車両接続コンセントに接続される市販製品であってもよい。本装置は、必要に応じて部品に分割することも含み、車両内の既存の配線やハーネスに接続することで仕様に即して取り付けてもよい。
【0022】
CAN母線は、ECUノードがメッセージの形式で互いに通信することを可能にする。
図1Aは、「同期区画」304、「伝搬区画」306、「位相1P区画」307、および「位相2区画」309を有し、かつそれらの全てで1ビット302を形成する、典型的なCANビット時間区画列を示す。「同期区画」304は最初の区画であり、それを用いて母線にあるノードを同期する。「伝搬区画」306は、ノード間の物理的な遅延を補正するために存在する。2つの位相区画である「位相1P区画」307および「位相2区画」309を用いて、母線の端部での位相誤差を補正する。
【0023】
図1Bに示すように、CANの各メッセージには、フレーム開始部310、識別子312、遠隔送信要求部「RTR」315、制御領域316、データ領域318、巡回冗長検査「CRC」区切り部322、応答認識「ACK」スロット324、「ACK」区切り部326、およびフレーム終止部328などの種々の部分が存在する。裁定領域314は、2つの着信メッセージが到着した際に、メッセージの一部として優先度を示す識別子312に基づく優先度を決定する。
【0024】
CANメッセージの各部分は、可変数のビットを含む。CAN母線にある各ECUは、典型的には少なくとも1つのメッセージを、また典型的には複数のメッセージを送信する。CAN母線にある各ECUは、典型的にはそのECUによってのみ送信される固有の識別子を持つメッセージを送信する。
【0025】
1つのECUノードが送信するビット同期特性は、ECUノード間の物理的変動と構造の差異により、別のECUノードが送信するビット同期特性とは異なる。1つのECUノードが送信するメッセージ内のビット同期特性は、別のECUノードが送信するメッセージ内のビット同期特性とは異なる。ECUノード間で異なる固有のビット同期特性には、以下が含まれる。
【0026】
1つのタイムカンタム(1 time quantum)の長さ108。
【0027】
1ビットの長さ100。
【0028】
同期ジャンプ幅(SJW)の長さ110。
【0029】
これらの固有のビット同期特性は、侵入の検知装置かつ無効化装置によって監視される。
【0030】
CAN母線メッセージを形成するために、CAN母線にあるそれぞれのECUノードは、CAN制御部およびCAN送受信部を含む。CAN制御部は、ビット同期登録値(BTR:Bit Timing Register)を用いてそのECUノードのビット同期を構成できる。典型的なBTRは、以下から構成される。
【0031】
クロック分周回路値(Clock prescaler)。
【0032】
信号採取点前のタイムカンタム。
【0033】
信号採取点後のタイムカンタム。
【0034】
SJWの長さ。
【0035】
各ビット内に取り込むデータ採取数。
【0036】
クロック分周回路BTRを用いて、各ECUノードのビット同期に用いられる有限のタイムカンタム、すなわち1つのタイムカンタムの長さを構成する。CAN制御部は、クロック基準として用いられる発振部信号入力を必要とする。発振部信号は、ビットレートよりも高い周波数、例えば16 MHzである。1つのタイムカンタムは、発振部信号の1周期にクロック分周回路BTRを掛けた量である。特定のECUノードの1つのタイムカンタムの長さは、そのECUノードのクロック分周回路BTRでの構造の差異に基づいて異なる。
【0037】
各ECUノードのCAN制御部内に入力される発振部信号には物理的変動が存在する。発振部信号入力は、特定の基準周波数内、例えば20 MHz内で変動する。発振部信号入力は、発振部の特定の周波数許容誤差内、例えば100 ppm内で変動する。発振部信号入力は、発振部に入力される電圧および発振部の温度に基づいて変動する。特定のECUノードの1つのタイムカンタムの長さは、そのECUノードに入力される発振部信号の物理的変動に基づいて変動する。
【0038】
信号採取点BTR前の各タイムカンタムおよび信号採取点BTR後の各タイムカンタムを用いて、各ECUノードの1ビット長さを構成する。信号採取点前には有限数のタイムカンタムが存在し、かつ信号採取点後には別の有限数のタイムカンタムが存在する。信号採取点前のタイムカンタムの数を信号採取点の後のタイムカンタムの数に追加すると、特定のECUノードの1ビットの長さが構成される。
図1Aおよび1Bを参照すると、1ビット302および信号採取点308での信号採取前後の各タイムカンタムが示されている。特定のECUノードの1ビット長さは、そのECUノードの1つのタイムカンタムの長さならびにそのECUノードの信号採取点前の各タイムカンタムと信号採取点後の各タイムカンタムの構成の差異に基づいて変動する。
【0039】
CAN母線には、ECUノードのそれぞれが同期できる中央クロックは存在しない。相互に同期を維持するように、各ECUノードはCAN母線を介して送受信している他のECUノードと適宜同期する。各ECUノードのCAN制御部は、CAN母線にある他のECUノードとの同期を維持するために、必要に応じて個々のビット長さを整数値のタイムカンタムだけ短縮または延長する。同期を維持するために短縮または延長できるタイムカンタムの最大数は、SJWの長さとなる。このSJWの長さは、SJW BTRの長さを用いて構成される。特定のECUノードのSJWの長さは、そのECUノードのSJW BTRの長さの構造の差異に基づいて変動する。
【0040】
この装置は、メッセージの特定の部分内の個々のビットを測定して個々のCANメッセージ中の1ビット長を監視する。装置は、CANメッセージの制御領域316、データ領域318、およびCRC領域320の各部分内で1ビット長を測定する。CANメッセージのこれらの部分内で、裁定を達成したECUノードのみがCAN母線を介して送信される。装置により、個々のCANメッセージ毎に1ビット長を1回測定してもよい。装置により、個々のCANメッセージ毎に複数回測定して、それらを平均してそのCANメッセージの1ビット長を決定してもよい。
【0041】
この装置により、同期に関して個々のCANメッセージを監視し、かつ同期が発生した際に個々のビットを測定して、個々のCANメッセージ中の1つのタイムカンタムの長さを監視する。CANメッセージの裁定領域内では、裁定を達成しかつCANメッセージを送信するECUノードが最初の送信元ではない場合がある。この場合には、CANメッセージを送信するECUノードは、個々のビット長さを整数のタイムカンタムだけ短縮または延長することで、最初の送信元と同期させる必要がある場合がある。この同期が発生すると、装置により、これが発生した個々のビットを測定し、そのビットをメッセージの後半部内のビットと比較して、短縮または延長の量を決定する。
【0042】
CANメッセージの認識応答領域内で、認識応答を送信するECUノードは、CANメッセージを送信したECUノードとは異なる。CANメッセージを送信したECUノードは、個々のビット長さを整数のタイムカンタムだけ短縮または延長することで、認識応答を送信したECUノードと同期させる必要がある場合がある。この同期が発生すると、装置により個々のビットを測定し、かつそのビットをメッセージの前半部内のビットと比較して、短縮または延長する量を決定する。
【0043】
同期の発生する毎に、短縮または延長の量を装置によって決定する。短縮または延長の最小量を、そのCANメッセージの1つのタイムカンタムの長さであると決定する。同期が発生した際に、短縮または延長の量が過去の1つのタイムカンタムの長さよりも小さいと、この量はそのCANメッセージの1つのタイムカンタムの長さであると決定される。短縮または延長の最大量を、そのCANメッセージの同期ジャンプ幅(SJW)の長さであると決定する。同期が発生した際に、短縮または延長の量が過去の1つのタイムカンタムの長さよりも大きいと、この量はそのCANメッセージの同期ジャンプ幅(SJW)の長さであると決定される。
【0044】
CAN母線での同期の頻度は、ECUノードの数およびCAN母線の物理特性に基づいて変動する。必要に応じて、この装置によりCAN母線にビットを送信して、同期を他の方法で発生させるよりも頻繁に発生させることができる。装置は、裁定領域中にビットを送信し、同期許容部の端部にある領域を認識できる。これにより、個々のCANメッセージを送信するECUノードが中断することなく個々のCANメッセージを送信し続けることを可能にするが、個々のCANメッセージを送信するECUノードをこの調整されたタイミングに同期させる必要がある。これにより、本装置は1つのタイムカンタムの長さおよび個々のCANメッセージの同期ジャンプ幅(SJW)の長さをより迅速に決定することができる。
【0045】
図2は、この初期の1ビット長さを決定するプロセスを示すフローチャートである。工程100では、工程102でCANメッセージを受信することによる1ビットの長さの決定を示している。工程104で同期が発生した場合には、その工程は「Yes」に進み、工程108で1つのタイムカンタムの長さを決定し、かつ工程110で同期ジャンプ幅を同時に決定する。工程104で同期が発生しない場合には、その工程は「No」に進み、必要に応じて工程106で強制的に同期させて、工程108に進んで1つのタイムカンタムの長さを決定し、かつ工程110に進んで同期ジャンプ幅を決定してもよい。
【0046】
この装置は、各着信CAN母線メッセージの固有のビット同期特性を繰り返し監視して、各メッセージの信頼できるビット同期特性を設定する。次に装置は、特定のCAN母線メッセージが信頼されるように、メッセージ識別子の信頼できるフラグおよび信頼できるビット同期特性を使用する。
【0047】
この装置は、過去に受信したメッセージ識別子とともに個々のCAN母線メッセージを受信すると、そのメッセージのビット同期特性を決定する。このメッセージ識別子の合計受信回数は1だけ増加する。次に装置は、この直近メッセージのビット同期特性を、このメッセージ識別子とともに受信した過去の履歴メッセージのビット同期特性の平均値と比較する。直近メッセージのビット同期特性が、このメッセージ識別子とともに受信した過去の履歴メッセージの平均の閾限界値内にある場合には、ビット同期特性は一致していると決定される。ビット同期特性が一致していると決定された場合には、このビット同期特性によりこのメッセージ識別子の受信回数は1だけ増加する。
【0048】
図3に、このプロセスのフローダイアグラムを示す。工程120で各着信CAN母線メッセージを受信すると、装置はそのメモリ内にメッセージ識別子を保存する。メッセージのビット同期特性を工程122で決定し、各特性が対応する限界値内にある場合には工程126で「Yes」に進み、この装置は、工程132で特性が一致した回数、工程124でこのメッセージ識別子を受信した合計回数、および工程126でこれらのビット同期特性とともにこのメッセージ識別子を受信した回数を保存する。受信したメッセージの合計が所定の閾値を超える場合には工程130で「Yes」に進み、かつ工程134で一致回数の合計回数に対する比が所定の値を超える場合には、工程136でメッセージ識別子の信頼できるフラグを「TRUE」に設定し、工程138で信頼できるビット同期特性を設定する。工程130で受信したメッセージの合計数が所定の閾値に到達しない場合には「No」に進み、さらに多くのメッセージを受信する。
【0049】
このメッセージ識別子を受信した合計回数が所定の回数、例えば1000回に到達した場合に、この回数を、これらのビット同期特性とともにこのメッセージ識別子を受信した回数と比較する。この時点で、このメッセージ識別子を受信した合計回数が、このビット同期特性とともにこのメッセージ識別子を受信した回数に対する比率の閾値内、例えば950/1000内にある場合には、メッセージ識別子の信頼できるフラグを「TRUE」に設定する。それ以外の場合には、メッセージ識別子の信頼できるフラグを「FALSE」に設定する。メッセージ識別子の信頼できるフラグは、最初は「FALSE」に設定されている。着信CAN母線メッセージは様々な速度で受信されるので、一部のメッセージのメッセージ識別子の信頼できるフラグが「TRUE」に設定されるまでに長時間を要することがある。メッセージ識別子の信頼できるフラグが「TRUE」に設定される場合には、信頼できるビット同期特性もまた設定される。メッセージ識別子の信頼できるビット同期特性は、このメッセージ識別子とともに受信された過去の履歴メッセージのビット同期特性の平均値に設定される。
【0050】
所定のメッセージ識別子に対してメッセージ識別子の信頼できるフラグが「TRUE」に設定された後に、この装置は、信頼できるビット同期特性からの偏差を監視する。装置が過去に受信したメッセージ識別子とともに個々のCAN母線メッセージを受信すると、装置はそのメッセージのビット同期特性の決定を継続する。次に装置は、この直近メッセージのビット同期特性を、このメッセージ識別子の信頼できるビット同期特性と比較する。直近メッセージのビット同期特性が信頼できるビット同期特性の閾限界値内にない場合には、侵入検知計数値は1だけ増大する。直近メッセージのビット同期特性が信頼できるビット同期特性の閾限界値内にある場合には、侵入検知計数値は1だけ減少する。侵入検知計数値が閾限界値、例えば5に到達すると、このメッセージ識別子の侵入検知フラグを「TRUE」に設定する。侵入検知フラグは、初期は「FALSE」に設定されている。侵入検知計数値が最大値、例えば20に到達すると、侵入検知計数値は最大値を超えては増加しない。
【0051】
侵入検知フラグが「TRUE」に設定されている場合に、この装置は、必要に応じてCANメッセージを無効にできる。装置がメッセージを無効にすると、CAN母線にあるいずれのECUによってもメッセージは受信されず、これによりメッセージがCAN母線にあるECUの動作に悪影響を及ぼすことを防止する。装置は、ビット挿入エラー(Bit Stuffing Error)を発生させて、CANメッセージを無効にできる。装置は、CANメッセージの送信中にCAN母線に優性状態を表明して、ビット挿入エラーを発生させることができる。CAN母線にある各ECUは、CAN母線に優性状態を表明する機能を持っている。CAN母線に優性状態を表明すると、CAN母線にある他のECUが劣性状態となることを阻止できる。CAN母線にある他のECUが6個の優性ビットを連続して受信する場合に、ビット挿入エラーは他のECUによって登録される。これにより、他のECUがこのメッセージを受け入れないようになり、不正な侵入メッセージは無効になる。
【0052】
この装置は、フレーム・チェック・エラー(Frame Check Error)を発生させて、CANメッセージを無効にできる。装置は、CAN母線が劣性状態にあると予測される
図1Bに示すようなCAN母線メッセージのCRC区切り部322、ACK区切り部326、および/またはフレーム終止部328の各部内のCAN母線に優性状態を表明して、フレーム・チェック・エラーをもたらすことができる。CAN母線が、CAN母線メッセージのCRC区切り部322、ACK区切り部326、またはフレーム終止部328の各部内で劣性状態にあると予測される場合に、CAN母線にある他のECUが優性状態を受信すると、他のECUがフレーム・チェック・エラーを登録する。これにより、これらの他のECUがこのメッセージを受け入れないようにして、不正な侵入メッセージの攻撃を無効にする。
【0053】
この装置は、CRCエラーを発生させて、CANメッセージを無効にできる。装置は、CAN母線メッセージのCRC領域部の一部分内でCAN母線に優性状態を表明して、CRCエラーを発生させることができる。これにより、CRC領域が他の方法とは異なる数値となる。車両にある他のECUは、このCRC領域を受信し、CANメッセージに対してCRCの計算を試み、かつCRCエラーが存在していると決定する。これにより、他のECUがこのメッセージを受け入れないようにして、不正な侵入メッセージの攻撃を無効する。
【0054】
特定のCANメッセージ識別子に対して侵入検知フラグが「TRUE」に設定される場合に、侵入検知フラグは一定期間に亘ってしばしば閾限界値を超えた状態になり、その結果として、この識別子を備える新規のCANメッセージが受信されるとすぐに無効になる。特定のメッセージ識別子に対して侵入検知フラグが「TRUE」に設定され、かつ侵入検知計数値が閾限界値を超えている場合には、このメッセージ識別子を備えるCANメッセージを受信すると、装置はこの直近メッセージのビット同期特性と信頼できるビット同期特性との比較を継続する。侵入検知計数値は、必要に応じてさらに1だけ増加または減少するが、侵入検知計数値が閾限界値を超えているので、CANメッセージは無効になる。不正なECUノードが追加されるか、既存のECUノードが不正アクセスされる場合に、送信されたCANメッセージは、信頼できるビット同期特性の閾限界値内に継続して収まらず、CANメッセージは引き続き無効となる。
【0055】
侵入検知フラグが「TRUE」に設定される場合、この装置は必要に応じて侵入を外部へ通知できる。この装置は、LEDの点滅やサイレンなどの外部への表示装置を制御して、侵入を車両の使用者に伝達できる。装置は、CAN母線を介して車両にある他のECUに侵入を伝達できる。装置は、計器盤を制御している車両ECUに侵入を伝達でき、これにより計器盤に使用者へのメッセージを表示できる。装置は、OEMテレマティクス・サーバーと通信するテレマティクス・システムに接続されている車両のECUに侵入を伝達でき、これにより、侵入検知のOEMテレマティクス・サーバーへの送信が可能となる。車両にある他のECUは、必要に応じて、侵入を受信すると安全な作動モードに入ることができる。
【0056】
特定のメッセージ識別子において、メッセージ識別子の信頼できるフラグが「TRUE」に設定された後に、そのメッセージ識別子の信頼できるビット同期特性を、他のメッセージ識別子の信頼できるビット同期特性と比較できる。これにより、複数のメッセージ識別子が同一のECUノードによって送信されているか否かを装置が決定できるようになる。1つのECUノードが送信するビット同期特性は、別のECUノードが送信するビット同期特性とは異なり、CAN母線にある各ECUノードは、典型的には複数のメッセージを送信する。特定のメッセージ識別子の信頼できるビット特性が、1つ以上の他のメッセージ識別子の信頼できるビット同期特性の閾値範囲内にある場合には、これらのメッセージ識別子は同一のECUノードによって送信されたと決定される。1つのECUノードが送信する複数のメッセージ識別子の群化は、この方法を用いて決定できる。
【0057】
特定のメッセージ識別子に対し侵入検知フラグが「TRUE」に設定され、かつそのメッセージ識別子が1つのECUノードが送信するメッセージ識別子の群である場合に、装置は必要に応じて、そのECUが送信する他のメッセージ識別子に対しても侵入検知フラグを「TRUE」に設定できる。この場合には、侵入検知フラグが初期のメッセージ識別子に対して後で「FALSE」に設定されると、侵入検知フラグは、そのECUが送信する他の全てのメッセージ識別子に対しても「FALSE」に設定されることになる。これにより、装置は必要に応じて特定のECUが送信する全てのCANメッセージを無効にできる。これにより、装置は必要に応じて特定のECUが送信する全てのCANメッセージに対する侵入を外部へ通知できる。このことは、CAN母線がECUノードの位置で不正アクセスされることが多いので、不正なECUノードが車両のCAN母線に追加される場合、あるいは既存のECUノードが不正アクセスされる場合に有用となる。
【0058】
図4は、本発明の好ましい実施態様のプロセスをさらに示す流れ図である。このプロセスは、工程199で「TRUE」に設定されたメッセージ識別子の信頼できるフラグから始まり、続いて工程200でCANメッセージを受信し、工程202でビット同期特性を決定する。工程204では、その特性が限界値内にあるか否かを照会する。「Yes」の場合には、工程214に進み、侵入検知計数値を減少させる。「No」の場合には、工程206で侵入検知計数値を増加させる。照会工程208は、侵入検知が所定の限界値を超えたか否かを尋ねる。「No」の場合には、プロセスは工程206に戻って侵入検知計数値を増加させる。「Yes」の場合には、侵入検知フラグは工程210で「TRUE」に設定される。必要に応じて、工程212でシステムはCANメッセージを無効にできる。
【0059】
本発明を好ましい実施態様に関連付けて説明してきたが、本発明の範囲を説明された特定の形態に限定することを意図するものではなく、逆にこの後に提供する特許請求の範囲によって規定される本発明の趣旨および範囲内に含まれるように、そのような選択肢、修正、および同等物を包含することを意図している。
【国際調査報告】