IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ マーキュリー システムズ, インコーポレイテッドの特許一覧

<>
  • 特許-ブロードキャストバスフレームフィルタ 図1
  • 特許-ブロードキャストバスフレームフィルタ 図2
  • 特許-ブロードキャストバスフレームフィルタ 図3
  • 特許-ブロードキャストバスフレームフィルタ 図4
  • 特許-ブロードキャストバスフレームフィルタ 図5
  • 特許-ブロードキャストバスフレームフィルタ 図6
  • 特許-ブロードキャストバスフレームフィルタ 図7
  • 特許-ブロードキャストバスフレームフィルタ 図8
  • 特許-ブロードキャストバスフレームフィルタ 図9
  • 特許-ブロードキャストバスフレームフィルタ 図10
  • 特許-ブロードキャストバスフレームフィルタ 図11
  • 特許-ブロードキャストバスフレームフィルタ 図12
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-05-18
(45)【発行日】2022-05-26
(54)【発明の名称】ブロードキャストバスフレームフィルタ
(51)【国際特許分類】
   H04L 12/46 20060101AFI20220519BHJP
   B60R 16/023 20060101ALI20220519BHJP
   H04L 12/28 20060101ALI20220519BHJP
【FI】
H04L12/46 100C
B60R16/023 P
H04L12/28 100A
【請求項の数】 30
(21)【出願番号】P 2018524458
(86)(22)【出願日】2016-11-14
(65)【公表番号】
(43)【公表日】2018-11-29
(86)【国際出願番号】 US2016061909
(87)【国際公開番号】W WO2017083862
(87)【国際公開日】2017-05-18
【審査請求日】2019-11-12
(31)【優先権主張番号】62/254,490
(32)【優先日】2015-11-12
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】516106553
【氏名又は名称】マーキュリー システムズ, インコーポレイテッド
(74)【代理人】
【識別番号】110002907
【氏名又は名称】特許業務法人イトーシン国際特許事務所
(72)【発明者】
【氏名】サットン,ブライアン,エム.
(72)【発明者】
【氏名】ミラー,スコット,ディー.
【審査官】羽岡 さやか
(56)【参考文献】
【文献】米国特許出願公開第2015/0020152(US,A1)
【文献】特開2015-114907(JP,A)
【文献】特表2011-514111(JP,A)
【文献】特開2008-160803(JP,A)
【文献】米国特許出願公開第2014/0032800(US,A1)
【文献】特開2014-146868(JP,A)
【文献】特開2014-011621(JP,A)
【文献】国際公開第2015/081969(WO,A1)
【文献】氏家 良浩 Yoshihiro Ujiie,車載ネットワークにおけるCANフィルタの提案,2015年 暗号と情報セキュリティシンポジウム SCIS2015 [CD-ROM] 2015年 暗号と情報セキュリティシンポジウム概要集 The 32nd Symposium on Cryptography and Information Security Abstracts of the 32nd Symposium on Cryptography and Information Security,2015年01月23日
(58)【調査した分野】(Int.Cl.,DB名)
H04L 12/28-12/46
B60R 16/023
(57)【特許請求の範囲】
【請求項1】
システム用の通信ネットワークの、ブロードキャストバスクロックを有するブロードキャストバスとのインタフェースにおいて複数のメッセージを受信することと、
前記複数のメッセージのうちの1つ以上を前記インタフェースの仕様と比較することに基づいて、前記複数のメッセージが前記インタフェースを介して伝達されることを選択的に許可することと、
を備え、
前記選択的に許可することは、ビット毎に実行されると共に、次に受信するビットを分析する前に前記インタフェースを介して今回受信したビットを送信することであり、
前記選択的に許可することは、前記ブロードキャストバス上のメッセージ伝搬のタイミングに対する影響が前記ブロードキャストバスクロックのエラーの許容範囲内に収まるよう無視しうるように、透過的であることを特徴とする方法。
【請求項2】
前記通信ネットワークは、コントローラエリアネットワークを含むことを特徴とする請求項1記載の方法。
【請求項3】
前記複数のメッセージは、前記システム外部との通信能力を有するコントローラエリアネットワークコントローラから受信されることを特徴とする請求項1記載の方法。
【請求項4】
前記受信された複数のメッセージは、前記システム外部から発信されたものであることを特徴とする請求項3記載の方法。
【請求項5】
前記受信された複数のメッセージは、前記システム外部のソースからの命令に応じて前記システム内のコントローラから発信されたものであることを特徴とする請求項3記載の方法。
【請求項6】
前記システムは、車両を含むことを特徴とする請求項1記載の方法。
【請求項7】
該方法は、ブロードキャストバスコントローラに関連付けられたフィルタトランシーバ内で実施されることを特徴とする請求項1記載の方法。
【請求項8】
該方法は、前記システムの複数のECUの各々で実施されることを特徴とする請求項1記載の方法。
【請求項9】
前記比較することは、ブロードキャストバス識別子をチェックすることを含むことを特徴とする請求項1記載の方法。
【請求項10】
前記比較することは、ブロードキャストバスプロトコルメッセージの分析を含むことを特徴とする請求項1記載の方法。
【請求項11】
前記比較することは、少なくとも1つのブロードキャストバスメッセージの内容の検査を含むことを特徴とする請求項1記載の方法。
【請求項12】
前記比較することは、前記少なくとも1つのブロードキャストバスメッセージのデータフィールドの、製造者独自の符号化の内容の検査を含むことを特徴とする請求項11記載の方法。
【請求項13】
前記選択的に許可することは、前記受信された複数のメッセージのうちの少なくとも1つに関連付けられた暗号署名を認証することに基づくことを特徴とする請求項1記載の方法。
【請求項14】
前記選択的に許可することは、前記インタフェースの前記メッセージを受信する側に応じた前記比較を行うために、別個の仕様を用いることを特徴とする請求項1記載の方法。
【請求項15】
前記仕様は、常にメッセージを許可する、常にメッセージを禁止する、又はあるメッセージを許可するとともに他のメッセージを禁止する、の中から選択される少なくとも1つの設定に合わせて、前記ブロードキャストバス毎および前記インタフェース毎に構成されることを特徴とする請求項1記載の方法。
【請求項16】
所与のシステム用の所与の通信ネットワークの、ブロードキャストバスクロックを有する所与のブロードキャストバスとのインタフェースにおいて複数のメッセージを受信する受信機と、
前記複数のメッセージのうちの1つ以上と前記インタフェースの仕様との比較を行うプロセッサと、
前記比較に基づいて、前記インタフェースを介して前記複数のメッセージを選択的に転送する送信機と、を備え、
前記選択的に転送することは、ビット毎に実行されると共に、次に受信するビットを分析する前に前記インタフェースを介して今回受信したビットを送信することであり、
前記選択的に転送することは、前記ブロードキャストバス上のメッセージ伝搬のタイミングに対する影響が前記ブロードキャストバスクロックのエラーの許容範囲内に収まるよう無視しうるように、透過的であることを特徴とする装置。
【請求項17】
前記通信ネットワークは、コントローラエリアネットワークを含むことを特徴とする請求項16記載の装置。
【請求項18】
前記複数のメッセージは、前記システム外部との通信能力を有するコントローラエリアネットワークコントローラから受信されることを特徴とする請求項16記載の装置。
【請求項19】
前記受信された複数のメッセージは、前記システム外部から発信されたものであることを特徴とする請求項18記載の装置。
【請求項20】
前記受信された複数のメッセージは、前記システム外部のソースからの命令に応じて前記システム内のコントローラから発信されたものであることを特徴とする請求項18記載の装置。
【請求項21】
前記システムは、車両を含むことを特徴とする請求項16記載の装置。
【請求項22】
該装置は、ブロードキャストバスコントローラに関連付けられたフィルタトランシーバを備えたことを特徴とする請求項16記載の装置。
【請求項23】
該装置は、前記システムの複数のECUの各々で実装される同様の複数のデバイスのうちの1つであることを特徴とする請求項16記載の装置。
【請求項24】
前記プロセッサは、前記比較を行う際に、ブロードキャストバス識別子をチェックすることを特徴とする請求項16記載の装置。
【請求項25】
前記プロセッサは、前記比較を行う際に、ブロードキャストバスプロトコルメッセージを分析することを特徴とする請求項16記載の装置。
【請求項26】
前記プロセッサは、前記比較を行う際に、少なくとも1つのブロードキャストバスメッセージの内容を検査することを特徴とする請求項16記載の装置。
【請求項27】
前記プロセッサは、前記内容の検査を行う際に、前記少なくとも1つのブロードキャス トバスメッセージのデータフィールドの、製造者独自の符号化を検査することを特徴とする請求項26記載の装置。
【請求項28】
前記プロセッサは、前記受信された複数のメッセージのうちの少なくとも1つに関連付けられた暗号署名を認証することに基づいて選択的な許可を行うことを特徴とする請求項16記載の装置。
【請求項29】
前記プロセッサは、前記インタフェースの前記メッセージを受信する側に応じた前記比較を行うために、別個の仕様を用いることを特徴とする請求項16記載の装置。
【請求項30】
前記仕様は、常にメッセージを許可する、常にメッセージを禁止する、又はあるメッセージを許可するとともに他のメッセージを禁止する、の中から選択される少なくとも1つの設定に合わせて、前記ブロードキャストバス毎および前記インタフェース毎に構成されることを特徴とする請求項16記載の装置。
【発明の詳細な説明】
【技術分野】
【0001】
[関連出願の相互参照]
本出願は、2015年11月12出願の「ブロードキャストバスフレームフィルタ」と題する米国特許仮出願第62/254,490号の優先権を主張するものであり、その開示内容の全てを引用によりあらゆる目的のためにここに援用する。
【0002】
[技術分野]
様々な通信システムが、通信の適切なフィルタリングから恩恵を受けることができる。例えば、コントローラエリアネットワーク等のブロードキャストバスを有するネットワークは、フレームフィルタ等のフィルタから恩恵を受けることができる。
【背景技術】
【0003】
コントローラエリアネットワーク(CAN:Controller Area Network)ベースのシステムは、幅広いアプリケーション及びマーケットセグメントで用いられている。こうしたセグメントのいくつかに、自動車産業、産業設備、及び軍事システムがある。こうしたシステムが相互接続された場合、サイバー攻撃によりこれらのシステムが不正侵入されて、金銭上の損失や、ひいては安全上の問題につながる可能性がある。
【0004】
例えば、2015年7月、セキュリティ研究者らは、車両のCANバスに取り付けられた脆弱な携帯電話ネットワーク対応の電子制御ユニット(ECU:Electronic Control Unit)に対するサイバー攻撃を利用して、ハイウェイ上の車両を遠隔で使用不能にすることに成功した。ECUに対するサイバー攻撃が成功すると、サイバー攻撃者によるECUの完全な制御が可能になる。敵対者がCANバスに接続されたデバイスを制御できるようになると、その敵対者は、バス上に有効なCANメッセージを投入して、例えば、センサ及び/又は他のコントローラからのメッセージを捏造することにより、車両の多くの面を制御できることもある。こうした攻撃を用いて、車両のブレーキを遠隔で使用不能にすることも可能であろう。
【0005】
CANバスシステムは、差動バスを共有しているため、任意のデバイスがバス上のデータをいつでも操作することができる。例えば、任意のデバイスが、バスをローにして、効果的にドミナント状態を作り出すことができる。その結果、不正動作するデバイスがない通常動作において、アービトレーション時にバス上の信号を観察する場合であっても、メッセージの発信者を識別することが重要な課題となりうる。バスがどのデバイスの管理下にあるのか分からなければ、権限のないECUが一見有効なCANメッセージを送信するのを防止することが難しくなる。例えば、車両ネットワーク内のトランスミッションECUが「エンジンスピード」メッセージを送信するのは正当なことである。一方、このようなメッセージが車両のインフォテインメントシステムによって生成されるとなると、きわめて不審である。
【0006】
CANアーキテクチャではメッセージの発信元が隠れてしまうため、不正侵入されたECUが、バス上の他のいかなるデバイスのふりをすることもできる。不正侵入されたECUは、多くの望ましくない活動を行うことができる。例えば、不正侵入されたECUは、バスに優先度の高いメッセージを大量に流して本来のデバイストラフィックを妨げることにより、DoS(Denial of Service)攻撃を行うことができる。また、不正侵入されたECUは、バス上の他のECUに対して悪意あるソフトウェアアップデートを提供することができる。
【0007】
CANバスの使用に起因する車両へのセキュリティ上の課題に対処するため、数多くのアプローチが追究されている。こうしたアプローチには、基礎となるバス技術を、イーサネット(登録商標)や他の車両バス等の代替技術で置き換えることも含まれる。
【0008】
別法として、CANバスモニタ及び他のツールを用いて、CANバス上で送信されるメッセージをアクティブに追跡するというアプローチがある。このアプローチによると、例えば仕様に収まらないメッセージ等の無効なメッセージが送信されているか、又、有効なメッセージが仕様に反するような誤ったタイミングで送信されているかを確認することができる。CANバスモニタはまた、以前の攻撃に用いられたのと同様のメッセージパターンがあるかを監視することによって不審な活動を検出する、ウィルス対策ソフトウェアのようなやり方で動作することもできる。
【0009】
CANバスモニタは、残念ながら、承認されたECUから送信される正規のメッセージと、不正侵入されたECUから送信される正規のメッセージとを区別することができないことがある。つまり、モニタは、どちらのECUが実際に通信しているのかを判定できないことがある。モニタは、「バックギアにシフト」というメッセージを見ても、発信元が正当なトランスミッションコントローラであったのか、例えば不正侵入されたインフォテインメントシステムであったのかを判断することができないことがある。
【0010】
また、CANバス上に随時存在しうる全てのメッセージの完全な仕様を作成するには、いくつかの独立した競合ECUメーカーから、知的所有権を有する場合もある技術データの供与を受ける必要があるため、こうした仕様の作成は難しいと考えられる。それとは別の、CANバスモニタがウィルス対策ソフトウェアのように動作する場合は、不審な活動を新たな攻撃の発現と認識するためのパターンを生成するフォレンジック分析能力によって支えられる必要があるため、継続的な努力とコストが必要となる。更に、CANバスモニタは、システム内の全てのECUに影響を及ぼすグローバルバスエラーを生成することによりメッセージを停止することしかできないことがある。CANデバイスによっては、こうしたエラーが継続状態となり、例えば、車両のメンテナンスが必要である旨を運転手に通知する表示が常にダッシュボードに表示されるようになる等の結果を招くことがある。
【0011】
CAN接続されたECUの脆弱性の多くは、こうしたシステム上で動作するソフトウェアの障害を伴うものである。正しく実装されたソフトウェアにより、敵対者がECUをネットワーク攻撃に利用することを防止できることもある。しかし、ソフトウェアベースのソリューションは、パーソナルコンピュータのソフトウェアの歴史全体からも分かるように、それ自身がエクスプロイトに対して脆弱である。
【0012】
暗号を用いて内部バス上の通信をセキュアにすることで埋め込み型バスアーキテクチャをセキュアにすることを目指した提案が数多くなされている。このアプローチでは、承認されたECU、すなわち適切な暗号証明書を有するECUだけにバスへの接続を許可するとともに、通信傍受側にはバストラフィックを理解できないようにしてもよい。このことは、しかし、例えばサイバー攻撃に起因するような、不正侵入されたECUに対しては有効ではない。不正侵入されたECUが証明書を保持していて、バス上のメッセージを解読したり、及び/又は正しく暗号化された偽のメッセージをバス上に提供したりすることができる場合があるからである。
【0013】
同様の証明書ベースのアプローチとして、車両ネットワーク内のゲートウェイファイアウォールを用いて、バスをセグメント化するとともに各セグメントの保護を行うものがある。このアプローチにおいて、ECUは、自身のトラフィックがバスユニット間でブリッジされるためには、ゲートウェイの認証を得る必要があり、これにより不正侵入されたECUの影響が単一のバスセグメントに限定される。ただし、バス暗号化によるアプローチの場合と同様、不正侵入されたECUは依然として認証証明書を保持している可能性がある。
【0014】
ユニバーサルシリアルバス(USB:Universal Serial Bus)ベースのアーキテクチャでは、通信バスは、「階層星型」トポロジ、又はツリーのルートを「ホストマシン」とし、ツリーの分岐点をUSBハブとし、ツリーの葉を個々のUSBデバイスとするヘテロジニアスな「ツリー状」トポロジで構築することができる。こうしたアーキテクチャでは、全てのデバイスが論理的にホストマシンに接続され、ホストマシンが各デバイスへの接続を許可/拒否するかを決定することができる。すなわち、USBアーキテクチャのバスは、ポイントツーポイント・マスタースレーブ多重論理接続を容易にすることができ、ホストデバイスは「マスタ」の役割りを果たす。USBアーキテクチャには単一のマスタデバイスが存在し、マルチマスタバスとして知られるCANバスとは対照的である。
【0015】
図1に、様々なネットワークトポロジを示す。CANのような通信バスのトポロジは、USBのようなツリーベースのトポロジとは非常に異なっている。CANバスベースのトポロジにおいて、各接続デバイスは、他の全ての接続デバイスと通信することができる。各デバイスは、発信元であるか宛先であるかに拘わらず、バス上の全てのトラフィックを見ることができる。従って、こうしたバストポロジは、完全なピアツーピアトポロジであってよい。USBで用いられる階層星型アプローチでは、スレーブデバイスは、ルートノード又はホストマシンとしか通信が許されない。CANバスのトポロジとは対照的に、階層星型ネットワークでは、葉デバイス間の通信経路が許可されないことがある。図1に示すように、CANバストポロジにおけるようなバス170に加えて、デバイスを相互接続するためのトポロジとしては、例えばリング110、メッシュ120、ライン130、スター140、ツリー150、又は全接続アーキテクチャ160等、他の様々なトポロジが可能である。こうした他のトポロジの中には、CANバスの物理トポロジと論理的に等価なやり方で実装できるものもある。従って、本明細書においてバストポロジに言及する場合、特に断らない限り、論理トポロジを指すものとする。こうしたトポロジに対しては、1つ以上の物理バスの使用が可能であるが、必ずしも必須ではない。
【0016】
例えば、あるアーキテクチャは、複数の物理バスセグメント上のトラフィックを透過的に中継して、連続するCANバスに相当するシステムレベルでの挙動を行うCANリピータを含むことができる。また、あるデバイスは、CANコントローラからデジタル信号を受信して、CANの物理信号へマッピングする物理インタフェースを含んでもよい。
【0017】
本明細書において、ブロードキャストバスは、バス上の複数のデバイスが共通の配線を共有して、全てのデバイスがバス上で同時に通信を行うことができるアーキテクチャを指すことができる。1つのデバイスによって送信されたメッセージは、全てのデバイスが見ることができる。このようなアーキテクチャでは、複数のデバイスが同時に通信を開始する場合、アービトレーションが必要となることがある。
【0018】
ブロードキャストバスは、ユニバーサルシリアルバス(USB)のアーキテクチャと対照をなすことができる。USBアーキテクチャは、その名称に「バス」という語が用いられてはいるが、ツリー状のアーキテクチャである。USB上のデータ転送を開始することができるのはマスタデバイスだけであり、すなわち、USBスレーブデバイスは、ホストコントローラから明示的な要求がない限り、バス上にいかなるデータも転送することはできない。
【発明の概要】
【0019】
ある実施形態によると、方法は、システム用の通信ネットワークのブロードキャストバスとのインタフェースにおいて複数のメッセージを受信することを含むことができる。該方法は、また、複数のメッセージのうちの1つ以上をインタフェースの仕様と比較することに基づいて、前記複数のメッセージが前記インタフェースを介して伝達されることを選択的に許可することを含むこともできる。
【0020】
装置は、ある実施形態によると、所与のシステム用の所与の通信ネットワークの所与のブロードキャストバスとのインタフェースにおいて複数のメッセージを受信する受信機を含むことができる。該装置は、また、複数のメッセージのうちの1つ以上とインタフェースの仕様との比較を行うプロセッサを含むこともできる。該装置は、更に、前記比較に基づいて、インタフェースを介して複数のメッセージを選択的に転送する送信機を含むことができる。
【0021】
ある実施形態では、装置は、システム用の通信ネットワークのブロードキャストバスとのインタフェースにおいて複数のメッセージを受信する手段を含むことができる。該装置は、また、複数のメッセージのうちの1つ以上をインタフェースの仕様と比較することに基づいて、複数のメッセージがインタフェースを介して伝達されることを選択的に許可する手段を含むこともできる。
【0022】
非一時的なコンピュータ読み取り可能媒体は、ある実施形態では、ハードウェアにより実行された場合に処理を行う命令で符号化されることができる。該処理は、システム用の通信ネットワークのブロードキャストバスとのインタフェースにおいて複数のメッセージを受信することを含むことができる。該処理は、また、複数のメッセージのうちの1つ以上をインタフェースの仕様と比較することに基づいて、インタフェースを介して複数のメッセージが伝達されることを選択的に許可することを含むこともできる。
【0023】
本発明の正しい理解のために、添付の図面を参照されたい。
【図面の簡単な説明】
【0024】
図1図1は、様々なネットワークトポロジを示す。
図2図2は、CANバス車両アーキテクチャの例を示す。
図3図3は、本発明のある実施形態に係る、CANフィルタトランシーバを含むCANバスを示す。
図4図4は、本発明のある実施形態に係る、CANフィルタトランシーバの論理図を示す。
図5図5は、図4に示す実施形態を更に詳細に示す。
図6図6は、本発明のある実施形態に係る、フィルタコントローラの詳細を示す。
図7図7は、本発明のある実施形態に係る、CANフィルタリングの別のアプローチを示す。
図8図8は、図7に示す実施形態を更に詳細に示す。
図9図9は、本発明のある実施形態に係る、図8のフィルタブロックのリピータを有するフィルタコントローラのより詳細なブロック図である。
図10図10は、本発明のある実施形態に係る、CANトランザクションをフィルタリングするためのフロー図である。
図11図11は、本発明のある実施形態に係る方法を示す。
図12図12は、本発明のある実施形態に係る装置を示す。
【発明を実施するための形態】
【0025】
ネットワーク接続されたCANベースのシステムに対するサイバーセキュリティ問題の解決および他の目的のために、サイバー攻撃を防止するか、又は不正侵入されたECUによるCANバスへの任意アクセスを防止するようにシステムを設計してもよい。ある実施形態に係るフィルタは、発信元のECUからのトラフィックに対して、分離されたハードウェアベースの選択フィルタを提供してもよい。ここで、分離されたとは、フィルタがECUの主要な動作から独立しているとともに、フィルタリングされたECUのコア機能が不正侵入されてもフィルタは不正侵入されないような独立したセキュリティ境界を維持していることを意味するのに用いられる。こうした分離されたハードウェアベースのフィルタリングアーキテクチャは、不正侵入されたECUが、当該ECUによる送信が予期/許可されていないメッセージを送信することを防止してもよい。フィルタは、自動車、軍事、及び産業システムを始めとして、これらに限定されないCANバスを用いるいかなるシステムに対しても適用可能である。なお、CANバスをブロードキャストバスの例として述べているが、実施形態は他のバスタイプに適用可能であってもよい。
【0026】
国際標準化機構(ISO:International Organization for Standardization)11898-1:2003は、CANを実装するデバイスの規格を提供する。この規格が提供する信号の仕様には、バスの通常動作に対して無視しうる程度の影響しか及ぼさない選択的なメッセージフィルタリングを行う余地がある。本明細書におけるフィルタは、標準的なCANトランシーバICの代替として実装可能な物理デバイスである。このフィルタを用いて、双方向フィルタリング能力を有するCANバスリピータ又はブリッジを実現することができる。また、このフィルタをワイヤリングハーネスアダプタ又は特殊ワイヤリングハーネスとして実装して、CANインタフェースを用いる既存のモジュールを改造することができる。本明細書に記載の実施形態は、他のブロードキャストバス技術に拡張することができる。
【0027】
ある実施形態に係るフィルタは、タイミングの観点から透過的な動作を維持しつつ、共有バス上のメッセージの方向性を判定してもよい。フィルタには2つの側があり、それぞれ「フィルタ後」側および「未フィルタ」側と呼ばれる。「フィルタ後」側は、フィルタデバイスの一方の側であり、「未フィルタ」側の不正動作するデバイスにより生成されたトラフィックにフィルタリングを適用した後の側であることができる。このフィルタリングは、エラー生成又は論理的/電気的分離の形をとってもよい。「未フィルタ」側は、デバイスの事実上信頼されない側であり、不正動作するデバイスが存在する側であることができる。なお、システム内には、他にも不正動作するデバイスがあってもよい。フィルタデバイスにより「未フィルタ」側に意図的にエラーフレームを生成して、不正なメッセージを抑制してもよい。フィルタ後側のECUが、未フィルタ側から送信される部分的なフレームを受け付けることを防ぐために、フィルタ後側にエラーフレームを生成することもできる。システムは、ひとたび問題が認識されると、フレームの途中でフレーム転送を中止することができる。本文脈における「方向性」という概念は、メッセージが発信されたのがデバイスのフィルタ後側か未フィルタ側かを検出する能力を指してもよい。本明細書における「透過的」という概念は、トラフィックがフィルタ仕様によって不許可とならない限り、フィルタの存在はシステム、すなわち正しく動作するデバイスの関知するところではないという考え方を指すことができる。信号及びタイミングへの影響は、バスのノイズマージンの範囲内であってよい。
【0028】
図2に、CANバス車両アーキテクチャの例を示す。車両の内部通信ネットワークは、複数のCANバスを含むことが多い。図2に示すように、例えば、高速CANバス210と、低速CANバス220と、両バス間の通信をブリッジ可能な複数のデバイスとがあってもよい。ある実施形態に係るフィルタは、一方又は両方のCANバス上の1つ以上のデバイスによって、該デバイスへのまたは該デバイスからのトラフィックをフィルタリングするために用いられることができる。
【0029】
図2における車両アーキテクチャの俯瞰的描写は、本発明のある種の実施形態についての以後の説明用の例示的コンテキストを確立するために提示している。一般的に、車両は、用途に応じてブリッジされたりされなかったりする複数の別個のCANバスを備えている。図2に示すように、たくさんのECUを、2つ以上のバスのうちの1つ、例えば高速CANバスや低速CANバス等に接続してもよい。これらの独立したバス同士を、他のECU、例えば本体コントローラを用いてブリッジしてもよい。ECUの中には、他のECUよりも攻撃を受けやすく、追加のセキュリティの必要性が高いものもある。例えば、インターネット接続される等の遠隔アクセスが可能なECUは、エクスプロイトの対象となり得る。
【0030】
図3は、本発明のある実施形態に係る、CANフィルタトランシーバを含むCANバスを示す。図示のように、デバイスには、CANフィルタトランシーバを含むものと、標準的なCANトランシーバを含むものとがあってよい。不正侵入のされやすさに基づいて、CANフィルタトランシーバを有するデバイスを選択してもよい。例えば、遠隔アクセス可能なインフォテインメントデバイスをCANフィルタの対象としてもよい。
【0031】
例えば、図3は、単一のCANバス310に接続された、いくつかのECU320a、320b、320c…320nを抽象的に示す。ここでは、すべてのECUが、内部CANコントローラ322a、322b、322c…322nを含む。これらのコントローラは、マイクロコンピュータ又は他の集積回路(IC:Integrated Circuit)内に含まれてもよい。内部CANコントローラをトランシーバ324a、324b、324c…324nに接続して、デジタルコントローラによる信号を差動バスの物理信号に変換することができる。
【0032】
図3では、デバイス2(ECU320b)を保護の必要なECUとしている。デバイス2において、CANフィルタトランシーバは、一般的なトランシーバの代わりとして用いることができ、ECUのCANコントローラからのトラフィックをフィルタリングすることができる。2つのデバイス320b及び320cだけがCANフィルタトランシーバを有するものとして図示されているが、任意の数のデバイスが標準的なCANトランシーバの代わりにCANフィルタトランシーバを用いてもよい。
【0033】
図4及び図7は、CANバスの透過的フィルタリングに使用可能なデバイスの2つの例を示す。例えば、図4は、本発明のある実施形態に係る、CANフィルタトランシーバのロジック図を示す。CANフィルタトランシーバは、CANコントローラからのデジタルトラフィックをCANバスの差動信号に変換するのに用いられる既存のトランシーバの代替として動作することができる。結果として、CANフィルタトランシーバは、CANコントローラからの信号に適用するフィルタリングロジックを含むフィルタブロック410と、フィルタリングされた信号をCANバスへ移す差動トランシーバ420とを含むことができる。
【0034】
図4に示すように、CANコントローラは、マイクロコントローラ等の外部デバイスに埋め込まれており、送受信信号によってCANフィルタトランシーバのフィルタリングブロック410に双方向的に接続可能である。フィルタリングブロック410は、後述する必要なフィルタリングを行った後、CANフィルタトランシーバの物理インタフェースブロック420と通信を行って、外部システムのCANバス要件に準拠した差動信号を提供することができる。このことから、該デバイスは、例えば上述のCANフィルタトランシーバ等のような、フィルタリングブロックと物理インタフェースとの組合せとすることができる。典型的には、修正を加えたCANコントローラをCANフィルタトランシーバの一部として実装してもよい。ここでの相違点は、物理インタフェース420から受信したデータを、CANコントローラとのインタラクションに先立ってフィルタブロック410でフィルタリングできることにある。
【0035】
図5は、図4に図示した実施形態をさらに詳細に示す。図5に示すように、CANフィルタトランシーバは、中央に2つのセクションを含むことができる。フィルタブロック510は、フィルタコントローラ512と、外部CANコントローラが送信可能な許容メッセージを規定する、記憶されたフィルタリングデータ514との組合せとすることができる。一番右のセクションは、図3の保護されたデバイスに関して上述したように、CANフィルタトランシーバを含むホストプラットフォーム530が提供しうる信号を表す。
【0036】
このように、フィルタブロック510は、フィルタコントローラ512と、CANコントローラへの、又はCANコントローラからのメッセージをどのようにフィルタリングするかに関して高度な判断を行うのに用いられる、メモリ514に格納されたデータの集まり、すなわちフィルタ仕様とからなることができる。物理インタフェースとフィルタブロックの間に2つの信号を流すことができることを示すため、物理インタフェース520の一般的な分解図を更に示す。この2つの同じ信号は、フィルタリングをした上でCANコントローラとやり取りすることができる。これらの信号は、CAN送信信号及びCAN受信信号であってもよい。物理インタフェース(PHY)からの受信信号により、外部CANバス540上の現在のデータが得られる。PHYへの送信信号は、外部CANバス540へ送信することができる。フィルタブロックとCANコントローラの間でやり取りされる受信及び送信信号は、図6に示すように、選択的に修正することができる。
【0037】
図6は、本発明のある実施形態に係るフィルタコントローラ512の詳細を示す。フィルタブロック510内部のフィルタコントローラ512は、ビット同期回路610とフレームキャプチャ部620とを含むカスタマイズされた内部CANコントローラの組合せを含んでもよい。このカスタマイズされた内部CANコントローラは、フィルタリングステートマシン630への入力を提供することができる。フィルタリングステートマシン630は、カスタマイズされた内部CANコントローラから適宜分離されても、その内部に組み込まれていてもよい。フィルタステートマシン630は、フレームキャプチャ部620からデータを受け取ることができ、入力の履歴とともに受信フィルタリストからのデータを用いてマルチプレクサ640を制御して、フィルタブロック510によるバス制御を可能にすることができる。この制御は、エラーフレームを生成して、ホストプラットフォームのCANコントローラからの不正なトラフィックを抑制することを含むことができる。様々な内部構成によって同様の目的を達成することができる。
【0038】
図6に示すように、デフォルト構成では、CANコントローラからの信号の送受信を可能にしてもよい。このため、フィルタブロック510は、外部のCANコントローラに直接接続してもよい。信号は、2つのマルチプレクサ640のデフォルトパスを流れて、透過的な動作を提供することができる。例えば、CANバス上にはビット時間の遅れがなくてもよい。外部CANコントローラとCANバスの間に流れる信号を、ビット同期回路610とフレームキャプチャブロック620とを含む分離されたセキュアなカスタマイズCANコントローラに提供して、CANのビットタイミングの整合とCANフレームの処理とを行うこともできる。キャプチャしたフレームビットは、次いで、上述のようにフィルタリングステートマシン630に提供することができる。ステートマシン630は、ステートマシン630からアクセス可能なメモリから提供される、記憶してあったフィルタリストとともにフレームビットを用いて、フィルタリング動作を行うかどうかを決定することができる。決定したフィルタ動作に基づいて、ステートマシン630は、マルチプレクサ640の選択線を駆動することができるとともに、マルチプレクサ640へのデータ入力を駆動してもよい。
【0039】
カスタムCANコントローラは、外部CANコントローラ又は外部CANバスがドミナントであるかどうかを判定する検出回路を含むことができる。本来、該ロジックは、方向性を判定するために、外部CANコントローラが送信モードにあるか受信モードにあるかを判断することができる。この方向性を用いて、フィルタデータによって駆動されるステートマシンの入力に関する高度なフィルタリング判断を行うことができる。例えば、送信フレームに適用可能なフィルタリストからアクセスされるフィルタデータは、受信フレームに適用可能なフィルタデータと異なる場合がある。
【0040】
外部CANコントローラによって送信されるメッセージが、フィルタの仕様、すなわち外部CANコントローラによって送信されるメッセージに適用可能なフィルタデータにより許可される場合、フィルタステートマシン630は、マルチプレクサ640の選択線を駆動して、外部CANコントローラからの送信信号を通過させることができる。メッセージがフィルタ仕様により許可されない場合、フィルタステートマシン630は、マルチプレクサの選択線を駆動して、フィルタステートマシン630が提供する信号を通過させることができる。フィルタステートマシン630は、バスドライバとして選択された場合、CANバス上にエラーフレームを発信して無効なメッセージを終了させることができる。フィルタステートマシン630はまた、エラーフレームがさらに生成されることを防ぐため、プログラマブルウィンドウの間、外部CANコントローラをバスから電気的に分離することができる。多くの外部CANコントローラは、エラーがあると、メッセージの再送が成功するか又はエラーカウンターが超過するまで繰り返し再送を試みる場合があるため、こうした分離がデフォルト動作で行えることは有利なことである。エラーが外部バスに送られると、バス上の他のECUも自身を電気的に分離してもよく、そうでない場合はエラー受信数によってパフォーマンスの低下を被ることがある。不正動作するデバイスをCANバスから取り除くことで、DoS攻撃を防ぐことができる。
【0041】
フィルタステートマシン630が利用するフィルタデータ/ステートマシン仕様には、CANバスIDの簡単なチェック、上位レベルのCANプロトコルメッセージのより高度な分析、及び/又は製造者独自のデータフィールドの符号化を含むCANメッセージの内容の検査も含むことができる。後述する図10は、CANメッセージを処理してフィルタ仕様と一致するかを判断する際のステップを説明するフロー図を含む。
【0042】
図7図8及び図9に、フィルタ後及び未フィルタCANバス間でメッセージを中継しつつフィルタリングを実施できる別のアプローチを示す。典型的には、CANバス接続は、CANモジュールを直列スプライス接続ではなく並列に接続可能な連続する配線対を含む。図8では、本システムを2つの独立したCANバス間のブリッジと見るのが一般的かもしれないが、そうした見方は図示の構成には当てはまらない。本構成は、連続するCANバスに対して、差動信号をブリッジするのではなくデジタル信号にマッピングし且つ差動信号にマッピングし直す透過型の中継ロジックを挿入したものであり、こうした変換が行われることは本システム自身の関知するところではない。例えば、タイミング要件は満足していてもよい。
【0043】
デジタル信号へのマッピングにより、図9のフィルタコントローラは、信号を中継するとともに、フィルタコントローラが取得した方向性情報に基づいてトランザクションを電気的に分離して終了することが可能になる。例えば、図9の左から図9の右へと流れるトラフィックを許容しつつ、反対方向に流れるトラフィックを拒否してもよい。この構成において、該デバイスは、フィルタ仕様に基づいてトランザクションをフィルタリングできるリピータとして任意のCANバスに挿入することができる。
【0044】
具体的には、図7は、本発明のある実施形態に係る、CANバス上の透過型CANフィルタリピータとして動作するCANフィルタトランシーバによるCANフィルタリングへの別のアプローチを示す。透過型CANフィルタリピータは、CANバス上のインラインユニットとして動作することができる。透過型CANフィルタリピータは、バスの未フィルタ側からバスのフィルタ後側へトラフィックを透過的に中継することができる。トラフィックが中継される際、透過型CANフィルタリピータのCANフィルタ710は、トラフィックを検査して、バスの未フィルタ側により送信されたメッセージがバスのフィルタ後側へ確実に届くようにすることができる。2つのトランシーバ720a及び720bを用いて、デジタルCAN信号への/からの変換を実行して処理を行ってもよい。
【0045】
図8は、図7に示す実施形態を更に詳細を示す。図8から分かるように、本設計は、図5に図示した設計に類似していてよく、追加のトランシーバが追加されている。また、図5のフィルタコントローラが、リピータ付きフィルタコントローラに置き換えられている。従って、図8に示すデバイスは、フィルタコントローラ812とメモリ814に格納されたフィルタリストとを有するフィルタブロック810を含むことができる。該フィルタは、2つのトランシーバ820a及び820bの間に設けることができる。第1のトランシーバ820aは車両バス840に接続することができ、第2のトランシーバ820bはプライベートバス830に接続することができる。
【0046】
図9は、本発明のある実施形態に係る、図8のフィルタブロック810のリピータ付きフィルタコントローラ812のより詳細なブロック図を示す。この構成は、ビット同期回路910と、CANフレームキャプチャ部920と、フィルタステートマシン930とを含むことができる点において、図6の構成にきわめて類似している。但し、マルチプレクサはリピータ940で置き換えることができ、リピータ940は、デジタルCAN信号をリピータの一方の側から他方の側へと中継しつつ、バスの未フィルタ側からの不正トラフィックの終了を容易にするように構成されたロジックを含むことができる。リピータ940は、バスのどちら側の制御がドミナントであるかを通知することができる。
【0047】
図10は、本発明のある実施形態に係る、CANトランザクションをフィルタリングするためのフロー図を示す。該方法は、1000から始まることができる。1005において、CANフィルタは、メッセージの開始を待つことができる。具体的には、CANフィルタは、1010において、各CANビットを待つことができる。CANフィルタは、1015において、特定のCANメッセージの各ビットを、誰がバス上でドミナントであったか、例えば、デバイスに関連付けられたCANコントローラがドミナントであったか、又はバスに固有の、すなわちバス上の別のCANコントローラがドミナントであったかの標識とともに受信することができる。この情報と、メッセージの受信済みビットからの情報の集まり1020とに基づいて、フィルタは、フィルタ仕様データ1030内の次の状態を取り込むべき位置と、対応する取るべきアクションとを決定1025することができる。このアクションに基づいて、フィルタは、1040において、CANバス上にエラーフレームを生成することにより、進行中のトランザクションを動的に終了1035してもよい。フィルタはまた、1045において、デバイスが通信を継続するかどうかを判断することができ、もし継続しないならば、1050において、デバイスを一時的又は永続的にCANバスから切断することができる。フィルタは、以後の処理のために内部状態変数を更新することができる。どの動作も必要がない場合、フィルタは、1055において受信ビット履歴を更新することができ、1060において次のビットを受信する準備/待機をして、1010に戻ることができる。
【0048】
CANフィルタトランシーバは、本明細書に記載のように、追加機能によって強化することで、完全なCANバスセキュリティソリューションを提供することができる。例えば、CANフィルタトランシーバがECUとしても動作できる場合、該デバイスは、正規ではあるが危険なメッセージに対するセキュアなゲートウェイとして使用することができる。ここで、CANバス上の他のECUに対する無線でのファームウェアアップデートを受信する仮想のECUを考える。ファームウェアアップデートは、その性質上、対象のECUを完全にコントロールすることが可能である。無線を用いる状況では、ファームウェアアップデート用のCANメッセージの正規の送信元は、ネットワーク接続されることがあるため、サイバー攻撃を受けやすい。こうした場合、既に説明してきたCANフィルタでは役に立たないことがある。しかし、ファームウェアアップデートメッセージがECUの製造者により暗号署名されるとともに、ゲートウェイECUとして動作するCANフィルタトランシーバに宛てて送信された場合、ゲートウェイECUは、署名を検証して、検証済みのファームウェアアップデートメッセージを対象のECUへ転送できる可能性がある。サイバー攻撃者は有効な署名を偽造することができない場合があるため、システム内への潜在的に危険な経路をセキュアにすることができる。
【0049】
フィルタデバイスへのこうした追加措置により、バス上の既存のECUに一切変更を加えることなく、署名付きアップデートのメカニズムを整備することができる場合がある。
【0050】
同様の機能を、CANバス間のブリッジとして実装することができる。例えば、この機能を2つの独立したバスの間に実装して、一方からのメッセージを、他方に空きができるまでバッファリングすることができる。欠点として、デバイスが複雑化し、全体的なシステムアーキテクチャ/要件に影響が出る可能性があるが、そうした制限はあるにしても脆弱なシステムではこのような実装が望ましいことがある。
【0051】
いずれのアプローチでも、フィルタコントローラの具体的な細部については、上記の機能を維持しつつ、多くの設計アプローチで実装することができる。例えば、フィルタ検出ロジックは、図示のようなハードウェアによる有限ステートマシンや、ソフトウェアによる処理ロジックを含む多くの方法で実装することができる。これら及び他の実装が可能である。上述のように、ある実施形態では、分離されたセキュアなトランシーバ内でフィルタリングを実施して、ホストコントローラが不正侵入されてもトランシーバ部分は不正侵入されないようにしてもよい。
【0052】
フィルタデータ/仕様については、上述の説明を超える追加の詳細な説明はしてこなかった。こうした仕様の実装は、検出ロジックの設計に依存することがある。しかし、フィルタの選定をセキュアにし、フィルタ仕様を現場でアップデートできるようにするために、フィルタ仕様を認証等の暗号技術によってセキュアにしてもよい。ステートマシンによる処理の場合、フィルタ仕様には、コントローラに与えられる入力状態に基づいて状態遷移を記述することができ、例えば方向性やバス上の現在の同期データの値等の情報を含んでいてもよい。
【0053】
以上、CANベースのシステムに対するフィルタリングの実施に重点を置いて説明してきた。しかし、こうしたアプローチは、例えばMIL-STD-1553に規定されるような単一マスタバスシステムや、ポイントツーポイント技術を含む、他のブロードキャストバスシステムにも適用可能である。ある実施形態では、インタフェースから受信したメッセージがそのインタフェースの仕様に確実に準拠するように、メッセージの選択的なフィルタリングを行うことができる。MIL-STD-1553では、バス上のデバイス間の接続構成を行うマスタを1つ含むアーキテクチャを規定しているが、すべてのデバイスが同じ配線/バスを共有することができる。従って、不正動作するデバイスが、マスタのように動作して既定のルールを破ることにより、マルチマスタブロードキャストバスとなるおそれがある。
【0054】
図11は、本発明のある実施形態に係る方法を示す。図11に示すように、方法は、1110において、システム用の通信ネットワークのブロードキャストバスとのインタフェースで複数のメッセージを受信することを含むことができる。該方法は、また、1115において複数のメッセージのうちの1つ以上をインタフェースの仕様と比較することに基づいて、1120において、複数のメッセージをインタフェースを介して伝達することを選択的に許可することを含むことができる。通信ネットワークは、1つ以上のコントローラエリアネットワーク又は他のブロードキャストバスネットワークであるか、若しくはそれらを含むことができる。
【0055】
仕様と比較される複数のメッセージは、システム外部との通信能力を有するコントローラエリアネットワークコントローラから受信することができる。仕様と比較されるメッセージは、システム外部から発信されたものであってよい。例えば、仕様と比較されるメッセージは、バスに直接接続された携帯電話モデムデバイス、又は車両の診断ポートに挿入されたデバイスから発信されたものであってよい。
【0056】
仕様と比較されるメッセージは、システム外部のソースからの命令に応じてシステム内のコントローラから発信されたものであってもよい。例えば、これらの命令は、ゼネラルモーターズの子会社であるオンスター社(OnStar Corporation)が提供するオンスター(OnStar)(登録商標)システムから発信されたものであってもよい。あるいは、仕様と比較されるメッセージは、サイバーセキュリティ/アプリケーションセキュリティの脆弱性を利用して、システム内部のコントローラから発信されたものであってもよい。こうした脆弱性は、ソフトウェア、ファームウェア、ハードウェア、アクセスコントロールポリシー、又はそれらの組合せに存在することがある。
【0057】
仕様と比較されるメッセージは、コントローラの実装エラーにより、システム内のコントローラから発信されたものであってもよい。あるいは、仕様と比較されるメッセージは、コントローラの正常動作から発信されたものであってもよく、システム内で無効にすべき動作を実行するものであってもよい。
【0058】
該システムは、車両であってもよい。該方法は、ブロードキャストバスコントローラに関連付けられたフィルタトランシーバ内で実施されてもよい。あるいは、該方法は、ブロードキャストバスコントローラのトランシーバとブロードキャストバスとの間に介在するデバイスで実施されてもよい。該方法は、システムの複数のECUの各々で実施されてもよい。例えば、該方法は、車両内の2つ以上のECUで実施することができる。
【0059】
ステージ1115における比較することは、1116においてブロードキャストバス識別子をチェックすることを含むことができる。比較することはまた/更に、例えば1117におけるブロードキャストバスプロトコルメッセージの分析及び/又は1118における少なくとも1つのブロードキャストバスメッセージの内容の検査等、他の分析を含むことができる。例えば、比較することは、1119における、少なくとも1つのブロードキャストバスメッセージのデータフィールドの、製造者独自の符号化の内容の検査を含むことができる。
【0060】
ステージ1120における選択的に許可することは、1122における、複数のメッセージのうちの少なくとも1つに関連付けられた暗号署名の認証に基づくことができる。
【0061】
ある実施形態では、該方法は、メッセージ伝搬のタイミングに対して無視しうる程度の影響しか及ぼさないものであってよい。この場合、無視しうるとは、メッセージの各ビットが、受信されたのと同じバスクロックサイクル内で分析されるとともに選択的に送信され、本フィルタ方法の影響がバスクロックのエラーの許容範囲内に収まることを指すことができる。従って、例えば、システム内で透過的にビットを送信することができる。このビットに起因してメッセージに無効のフラグが立った場合、フィルタは、このフレームを無効化することができる。フィルタは、ビット時間内に、あるビットに起因して進行中のメッセージがフィルタ仕様に反すると判断し、且つ現在のビットを変更してそのフレームを無効化することができないことがある。その場合、変更は、次のビット時間に行うことができる。後続のビット時間における変更を、フレーム転送の終了前に行うことにより、フレームがシステムに受け入れられないようにしてもよい。変更がない場合、フレーム転送の挙動は通常動作中と同様である。すなわち、フィルタリングはシステムに対して透過的である。
【0062】
選択的に許可することは、1124において、インタフェースのメッセージを受信する側に応じた前記比較を行うために、別個の仕様を用いることができる。当該側は、ブロードキャストバス側でもコントローラ側でもよい。別法では、ある実施形態を用いて、ポイントツーポイント構成における2つのバス又は2つのコントローラ間のフィルタリングを行うことができる。
【0063】
該仕様は、1125において、常にメッセージを許可する、常にメッセージを禁止する、又はあるメッセージを許可するとともに他のメッセージを禁止する、のうちの少なくとも1つの設定に合わせて構成することができる。
【0064】
図12は、本発明のある実施形態に係る装置を示す。図12に示すように、装置は、所与のシステム用の所与の通信ネットワークの所与のブロードキャストバスとのインタフェースにおいて複数のメッセージを受信する受信機1210を含むことができる。該装置は、また、複数のメッセージの1以上とインタフェースの仕様との比較を行うプロセッサ1220を含むこともできる。該装置は、さらに、前記比較に基づいて、インタフェースを介して複数のメッセージを選択的に転送する送信機1230を含むことができる。
【0065】
受信機1210及び送信機1230は、例えば図4図9に示す装置等、種々のやり方で実現することができる。あるいは、他の形態のハードウェア受信機又は送信機を適宜採用することができる。同様に、プロセッサ1220は、いかなるマイクロプロセッサ、集積回路、デジタルロジック回路等で実現することもできる。また、プロセッサ1220は、図10及び図11に示すフローに従って動作するように構成することができる。
【0066】
図12に示すように、該装置は、車両1200に含まれてもよい。例えば、該装置は、車両内のCANに接続された1つ以上のECUのインタフェースに配置してもよい。
【0067】
ある実施形態は、種々の利益及び/又は利点を有してもよい。例えば、フィルタは、タイミングの観点から透過的な動作を維持しつつ、共有バス上のメッセージの方向性を判定することができる。
【0068】
フィルタは、不正動作するデバイス又は不正侵入されたバスを、システムの残りの部分から電気的及び論理的に分離することができる。これにより、バス上の他のデバイスに悪影響を及ぼしかねないエラーフレームが不必要に生成されることを防止してもよい。
【0069】
分離されたセキュアなフィルタリングを用いることで、ECUの悪用によりフィルタ仕様が変更可能になることを防止してもよい。上述のように、分離されたフィルタリングとは、例えばECUに対して変更を行ってもフィルタデバイスには変化が起きないような、ECUの主要機能から独立したデバイスによるフィルタリングを指す。これにより、現場のフィルタデバイスを、以後のネットワークベースでのECUへの攻撃に対してセキュアにすることができる。
【0070】
ある実施形態に係るフィルタは、いかなるCANシステムに適用してもよい。例えば、こうしたフィルタを、国際標準に基づくフィルタに合わせて設計してもよい。
【0071】
ある実施形態では、CANフィルタは、他のCANデバイスへの変更を必要とすることなくECU毎にECUへ統合してもよい。こうした統合は、場合によっては、システムの他の部分には影響を及ぼさずに、単一のECUに対してのみ行われてもよい。これにより、システムレベルでのアーキテクチャの変更を回避してもよい。さらに、フィルタ仕様の生成には、それが統合される個々のECUの知識があればよい。この点では、バス上の全デバイスに対するメッセージの把握が必要となることがあるCANバスをモニタリングするアプローチとは対照的である。別法として、CANフィルタトランシーバを、ベンダーから独立したやり方で、個々のECUに対して外部から適用することができる。この場合、ECUを変更せずに、例えばハードウェアを直列に挿入するだけでもよい。
【0072】
例えば、フィルタトランシーバを用いて、既存のECUを透過的なインタポーザを介して改造することができる。このインタポーザは、基本的に、ケーブルハーネス/コネクタ用のインラインプラグインモジュールであってよい。ここで、「透過的」という語は、インタポーザの光学特性を指すものではなく、システムが該デバイスの存在を知る必要が無く、デバイスが存在しないかのように動作を継続できることを意味するものである。
【0073】
フィルタ仕様をプログラム可能にして、ECUメーカーが、CANメッセージや、特定のECU又はECUの集まりに対してインテリジェントなフィルタリングを行うのに必要な他の情報を指定できるようにしてもよい。
【0074】
また、悪意の敵対者がフィルタ仕様を偽造して悪意あるトラフィックをデバイスに流したりできないようにするために、フィルタ仕様を暗号署名してもよい。署名検証キーをプログラム可能にすることで、特定のフィルタデバイスに対するフィルタ仕様を容易に制限できるようにすることができる。
【0075】
更に、ある実施形態では、バス上で通信を行うデバイスは、ある実施形態により実行されるフィルタリング動作が行われているということを知らずに動作してもよい。ある実施形態では、メッセージフレーム内で方法を実行して、許可されないメッセージを無効化することにより、該メッセージがブロードキャストバス上のエンドポイントで受け付けられることがないようにすることができる。メッセージの無効化は、グローバルバスエラーを用いて達成することができる。フィルタリングされたECUが許可されないメッセージを繰り返し送信すると、フィルタデバイスが大量のグローバルエラーを発生するため、バス上のデバイスは最終的にフェイルセーフエラーモードに移行することがある。しかし、フィルタデバイスが不正侵入されたECUをシステムから分離する能力を備えることにより、それ以降ECUから送信される許可されないメッセージがバスに到達することを防止して、グローバルバスエラーを発生する必要性をなくしてもよい。
【0076】
フィルタ仕様にはいくつかの可能性がある。例えば、単にCANメッセージのIDフィールドに基づいてフィルタリングを行うこともできる。別法では、パケットを検査するやり方でフィルタリングを行うことにより、メッセージ内のデータを検査して有効性をチェックすることもできる。また、メッセージの頻度を検査して、フィルタデバイスの未フィルタ側から発信される優先度の高いメッセージによってバスのスループットが予期せぬ割合で消費されていないかを判定することもできる。
【0077】
上述の発明を、順序の異なるステップ及び/又は開示のものとは異なる構成のハードウェア要素によって実施できることは、当業者には容易に理解されよう。従って、本発明をこれらの好ましい実施例に基づいて説明してきたが、本発明の精神及び範囲を逸脱せずにある種の変更、変形及び代替構成が明らかであろうことは、当業者には明らかであろう。よって、本発明の範囲を決定するにあたっては、添付の請求項を参照すべきである。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12