(57)【要約】【解決手段】様々な通信システムが、通信の適切なフィルタリングから恩恵を受けることができる。例えば、コントローラエリアネットワーク等のブロードキャストバスを有するネットワークは、フレームフィルタから恩恵を受けることができる。例えば、方法は、システム用の通信ネットワークのブロードキャストバスとのインタフェースにおいて複数のメッセージを受信することを含むことができる。該方法は、また、複数のメッセージのうちの１つ以上をインタフェースの仕様と比較することに基づいて、複数のメッセージがインタフェースを介して伝達されることを選択的に許可することを含むこともできる。【選択図】  図３
2018535603.tif 000002
【特許請求の範囲】
【請求項１】
システム用の通信ネットワークのブロードキャストバスとのインタフェースにおいて複数のメッセージを受信することと、
前記複数のメッセージのうちの１つ以上を前記インタフェースの仕様と比較することに基づいて、前記複数のメッセージが前記インタフェースを介して伝達されることを選択的に許可することと、
を備えたことを特徴とする方法。
【請求項２】
前記通信ネットワークは、コントローラエリアネットワークを含むことを特徴とする請求項１記載の方法。
【請求項３】
前記複数のメッセージは、前記システム外部との通信能力を有するコントローラエリアネットワークコントローラから受信されることを特徴とする請求項１記載の方法。
【請求項４】
前記受信された複数のメッセージは、前記システム外部から発信されたものであることを特徴とする請求項３記載の方法。
【請求項５】
前記受信された複数のメッセージは、前記システム外部のソースからの命令に応じて前記システム内のコントローラから発信されたものであることを特徴とする請求項３記載の方法。
【請求項６】
前記システムは、車両を含むことを特徴とする請求項１記載の方法。
【請求項７】
該方法は、ブロードキャストバスコントローラに関連付けられたフィルタトランシーバ内で実施されることを特徴とする請求項１記載の方法。
【請求項８】
該方法は、ブロードキャストバスコントローラのトランシーバと前記ブロードキャストバスとの間に介在するデバイスで実施されることを特徴とする請求項１記載の方法。
【請求項９】
該方法は、前記システムの複数のＥＣＵの各々で実施されることを特徴とする請求項１記載の方法。
【請求項１０】
前記比較することは、ブロードキャストバス識別子をチェックすることを含むことを特徴とする請求項１記載の方法。
【請求項１１】
前記比較することは、ブロードキャストバスプロトコルメッセージの分析を含むことを特徴とする請求項１記載の方法。
【請求項１２】
前記比較することは、少なくとも１つのブロードキャストバスメッセージの内容の検査を含むことを特徴とする請求項１記載の方法。
【請求項１３】
前記比較することは、前記少なくとも１つのブロードキャストバスメッセージのデータフィールドの、製造者独自の符号化の内容の検査を含むことを特徴とする請求項１２記載の方法。
【請求項１４】
前記選択的に許可することは、前記受信された複数のメッセージのうちの少なくとも１つに関連付けられた暗号署名を認証することに基づくことを特徴とする請求項１記載の方法。
【請求項１５】
該方法は、メッセージ伝搬のタイミングに対して無視しうる程度の影響しか及ぼさないことを特徴とする請求項１記載の方法。
【請求項１６】
前記選択的に許可することは、前記インタフェースの前記メッセージを受信する側に応じた前記比較を行うために、別個の仕様を用いることを特徴とする請求項１記載の方法。
【請求項１７】
前記仕様は、常にメッセージを許可する、常にメッセージを禁止する、又はあるメッセージを許可するとともに他のメッセージを禁止する、の中から選択される少なくとも１つの設定に合わせて構成されることを特徴とする請求項１記載の方法。
【請求項１８】
所与のシステム用の所与の通信ネットワークの所与のブロードキャストバスとのインタフェースにおいて複数のメッセージを受信する受信機と、
前記複数のメッセージのうちの１つ以上と前記インタフェースの仕様との比較を行うプロセッサと、
前記比較に基づいて、前記インタフェースを介して前記複数のメッセージを選択的に転送する送信機と、
を備えたことを特徴とする装置。
【請求項１９】
前記通信ネットワークは、コントローラエリアネットワークを含むことを特徴とする請求項１８記載の装置。
【請求項２０】
前記複数のメッセージは、前記システム外部との通信能力を有するコントローラエリアネットワークコントローラから受信されることを特徴とする請求項１８記載の装置。
【請求項２１】
前記受信された複数のメッセージは、前記システム外部から発信されたものであることを特徴とする請求項２０記載の装置。
【請求項２２】
前記受信された複数のメッセージは、前記システム外部のソースからの命令に応じて前記システム内のコントローラから発信されたものであることを特徴とする請求項２０記載の装置。
【請求項２３】
前記システムは、車両を含むことを特徴とする請求項１８記載の装置。
【請求項２４】
該装置は、ブロードキャストバスコントローラに関連付けられたフィルタトランシーバを備えたことを特徴とする請求項１８記載の装置。
【請求項２５】
該装置は、ブロードキャストバスコントローラのトランシーバと前記ブロードキャストバスとの間に介在するデバイスを備えたことを特徴とする請求項１８記載の装置。
【請求項２６】
該装置は、前記システムの複数のＥＣＵの各々で実装される同様の複数のデバイスのうちの１つであることを特徴とする請求項１８記載の装置。
【請求項２７】
前記プロセッサは、前記比較を行う際に、ブロードキャストバス識別子をチェックすることを特徴とする請求項１８記載の装置。
【請求項２８】
前記プロセッサは、前記比較を行う際に、ブロードキャストバスプロトコルメッセージを分析することを特徴とする請求項１８記載の装置。
【請求項２９】
前記プロセッサは、前記比較を行う際に、少なくとも１つのブロードキャストバスメッセージの内容を検査することを特徴とする請求項１８記載の装置。
【請求項３０】
前記プロセッサは、前記内容の検査を行う際に、前記少なくとも１つのブロードキャストバスメッセージのデータフィールドの、製造者独自の符号化を検査することを特徴とする請求項２９記載の装置。
【請求項３１】
前記プロセッサは、前記受信された複数のメッセージのうちの少なくとも１つに関連付けられた暗号署名を認証することに基づいて選択的な許可を行うことを特徴とする請求項１８記載の装置。
【請求項３２】
前記受信機、プロセッサ及び送信機は、メッセージ伝搬のタイミングに対して無視しうる程度の影響しか及ぼさないことを特徴とする請求項１８記載の装置。
【請求項３３】
前記プロセッサは、前記インタフェースの前記メッセージを受信する側に応じた前記比較を行うために、別個の仕様を用いることを特徴とする請求項１８記載の装置。
【請求項３４】
前記仕様は、常にメッセージを許可する、常にメッセージを禁止する、又はあるメッセージを許可するとともに他のメッセージを禁止する、の中から選択される少なくとも１つの設定に合わせて構成されることを特徴とする請求項１８記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
［関連出願の相互参照］
本出願は、２０１５年１１月１２出願の「ブロードキャストバスフレームフィルタ」と題する米国特許仮出願第６２／２５４，４９０号の優先権を主張するものであり、その開示内容の全てを引用によりあらゆる目的のためにここに援用する。
【０００２】
［技術分野］
様々な通信システムが、通信の適切なフィルタリングから恩恵を受けることができる。例えば、コントローラエリアネットワーク等のブロードキャストバスを有するネットワークは、フレームフィルタ等のフィルタから恩恵を受けることができる。
【背景技術】
【０００３】
コントローラエリアネットワーク（ＣＡＮ：Ｃｏｎｔｒｏｌｌｅｒ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）ベースのシステムは、幅広いアプリケーション及びマーケットセグメントで用いられている。こうしたセグメントのいくつかに、自動車産業、産業設備、及び軍事システムがある。こうしたシステムが相互接続された場合、サイバー攻撃によりこれらのシステムが不正侵入されて、金銭上の損失や、ひいては安全上の問題につながる可能性がある。
【０００４】
例えば、２０１５年７月、セキュリティ研究者らは、車両のＣＡＮバスに取り付けられた脆弱な携帯電話ネットワーク対応の電子制御ユニット（ＥＣＵ：Ｅｌｅｃｔｒｏｎｉｃ  Ｃｏｎｔｒｏｌ  Ｕｎｉｔ）に対するサイバー攻撃を利用して、ハイウェイ上の車両を遠隔で使用不能にすることに成功した。ＥＣＵに対するサイバー攻撃が成功すると、サイバー攻撃者によるＥＣＵの完全な制御が可能になる。敵対者がＣＡＮバスに接続されたデバイスを制御できるようになると、その敵対者は、バス上に有効なＣＡＮメッセージを投入して、例えば、センサ及び／又は他のコントローラからのメッセージを捏造することにより、車両の多くの面を制御できることもある。こうした攻撃を用いて、車両のブレーキを遠隔で使用不能にすることも可能であろう。
【０００５】
ＣＡＮバスシステムは、差動バスを共有しているため、任意のデバイスがバス上のデータをいつでも操作することができる。例えば、任意のデバイスが、バスをローにして、効果的にドミナント状態を作り出すことができる。その結果、不正動作するデバイスがない通常動作において、アービトレーション時にバス上の信号を観察する場合であっても、メッセージの発信者を識別することが重要な課題となりうる。バスがどのデバイスの管理下にあるのか分からなければ、権限のないＥＣＵが一見有効なＣＡＮメッセージを送信するのを防止することが難しくなる。例えば、車両ネットワーク内のトランスミッションＥＣＵが「エンジンスピード」メッセージを送信するのは正当なことである。一方、このようなメッセージが車両のインフォテインメントシステムによって生成されるとなると、きわめて不審である。
【０００６】
ＣＡＮアーキテクチャではメッセージの発信元が隠れてしまうため、不正侵入されたＥＣＵが、バス上の他のいかなるデバイスのふりをすることもできる。不正侵入されたＥＣＵは、多くの望ましくない活動を行うことができる。例えば、不正侵入されたＥＣＵは、バスに優先度の高いメッセージを大量に流して本来のデバイストラフィックを妨げることにより、ＤｏＳ（Ｄｅｎｉａｌ  ｏｆ  Ｓｅｒｖｉｃｅ）攻撃を行うことができる。また、不正侵入されたＥＣＵは、バス上の他のＥＣＵに対して悪意あるソフトウェアアップデートを提供することができる。
【０００７】
ＣＡＮバスの使用に起因する車両へのセキュリティ上の課題に対処するため、数多くのアプローチが追究されている。こうしたアプローチには、基礎となるバス技術を、イーサネット（登録商標）や他の車両バス等の代替技術で置き換えることも含まれる。
【０００８】
別法として、ＣＡＮバスモニタ及び他のツールを用いて、ＣＡＮバス上で送信されるメッセージをアクティブに追跡するというアプローチがある。このアプローチによると、例えば仕様に収まらないメッセージ等の無効なメッセージが送信されているか、又、有効なメッセージが仕様に反するような誤ったタイミングで送信されているかを確認することができる。ＣＡＮバスモニタはまた、以前の攻撃に用いられたのと同様のメッセージパターンがあるかを監視することによって不審な活動を検出する、ウィルス対策ソフトウェアのようなやり方で動作することもできる。
【０００９】
ＣＡＮバスモニタは、残念ながら、承認されたＥＣＵから送信される正規のメッセージと、不正侵入されたＥＣＵから送信される正規のメッセージとを区別することができないことがある。つまり、モニタは、どちらのＥＣＵが実際に通信しているのかを判定できないことがある。モニタは、「バックギアにシフト」というメッセージを見ても、発信元が正当なトランスミッションコントローラであったのか、例えば不正侵入されたインフォテインメントシステムであったのかを判断することができないことがある。
【００１０】
また、ＣＡＮバス上に随時存在しうる全てのメッセージの完全な仕様を作成するには、いくつかの独立した競合ＥＣＵメーカーから、知的所有権を有する場合もある技術データの供与を受ける必要があるため、こうした仕様の作成は難しいと考えられる。それとは別の、ＣＡＮバスモニタがウィルス対策ソフトウェアのように動作する場合は、不審な活動を新たな攻撃の発現と認識するためのパターンを生成するフォレンジック分析能力によって支えられる必要があるため、継続的な努力とコストが必要となる。更に、ＣＡＮバスモニタは、システム内の全てのＥＣＵに影響を及ぼすグローバルバスエラーを生成することによりメッセージを停止することしかできないことがある。ＣＡＮデバイスによっては、こうしたエラーが継続状態となり、例えば、車両のメンテナンスが必要である旨を運転手に通知する表示が常にダッシュボードに表示されるようになる等の結果を招くことがある。
【００１１】
ＣＡＮ接続されたＥＣＵの脆弱性の多くは、こうしたシステム上で動作するソフトウェアの障害を伴うものである。正しく実装されたソフトウェアにより、敵対者がＥＣＵをネットワーク攻撃に利用することを防止できることもある。しかし、ソフトウェアベースのソリューションは、パーソナルコンピュータのソフトウェアの歴史全体からも分かるように、それ自身がエクスプロイトに対して脆弱である。
【００１２】
暗号を用いて内部バス上の通信をセキュアにすることで埋め込み型バスアーキテクチャをセキュアにすることを目指した提案が数多くなされている。このアプローチでは、承認されたＥＣＵ、すなわち適切な暗号証明書を有するＥＣＵだけにバスへの接続を許可するとともに、通信傍受側にはバストラフィックを理解できないようにしてもよい。このことは、しかし、例えばサイバー攻撃に起因するような、不正侵入されたＥＣＵに対しては有効ではない。不正侵入されたＥＣＵが証明書を保持していて、バス上のメッセージを解読したり、及び／又は正しく暗号化された偽のメッセージをバス上に提供したりすることができる場合があるからである。
【００１３】
同様の証明書ベースのアプローチとして、車両ネットワーク内のゲートウェイファイアウォールを用いて、バスをセグメント化するとともに各セグメントの保護を行うものがある。このアプローチにおいて、ＥＣＵは、自身のトラフィックがバスユニット間でブリッジされるためには、ゲートウェイの認証を得る必要があり、これにより不正侵入されたＥＣＵの影響が単一のバスセグメントに限定される。ただし、バス暗号化によるアプローチの場合と同様、不正侵入されたＥＣＵは依然として認証証明書を保持している可能性がある。
【００１４】
ユニバーサルシリアルバス（ＵＳＢ：Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）ベースのアーキテクチャでは、通信バスは、「階層星型」トポロジ、又はツリーのルートを「ホストマシン」とし、ツリーの分岐点をＵＳＢハブとし、ツリーの葉を個々のＵＳＢデバイスとするヘテロジニアスな「ツリー状」トポロジで構築することができる。こうしたアーキテクチャでは、全てのデバイスが論理的にホストマシンに接続され、ホストマシンが各デバイスへの接続を許可／拒否するかを決定することができる。すなわち、ＵＳＢアーキテクチャのバスは、ポイントツーポイント・マスタースレーブ多重論理接続を容易にすることができ、ホストデバイスは「マスタ」の役割りを果たす。ＵＳＢアーキテクチャには単一のマスタデバイスが存在し、マルチマスタバスとして知られるＣＡＮバスとは対照的である。
【００１５】
図１に、様々なネットワークトポロジを示す。ＣＡＮのような通信バスのトポロジは、ＵＳＢのようなツリーベースのトポロジとは非常に異なっている。ＣＡＮバスベースのトポロジにおいて、各接続デバイスは、他の全ての接続デバイスと通信することができる。各デバイスは、発信元であるか宛先であるかに拘わらず、バス上の全てのトラフィックを見ることができる。従って、こうしたバストポロジは、完全なピアツーピアトポロジであってよい。ＵＳＢで用いられる階層星型アプローチでは、スレーブデバイスは、ルートノード又はホストマシンとしか通信が許されない。ＣＡＮバスのトポロジとは対照的に、階層星型ネットワークでは、葉デバイス間の通信経路が許可されないことがある。図１に示すように、ＣＡＮバストポロジにおけるようなバス１７０に加えて、デバイスを相互接続するためのトポロジとしては、例えばリング１１０、メッシュ１２０、ライン１３０、スター１４０、ツリー１５０、又は全接続アーキテクチャ１６０等、他の様々なトポロジが可能である。こうした他のトポロジの中には、ＣＡＮバスの物理トポロジと論理的に等価なやり方で実装できるものもある。従って、本明細書においてバストポロジに言及する場合、特に断らない限り、論理トポロジを指すものとする。こうしたトポロジに対しては、１つ以上の物理バスの使用が可能であるが、必ずしも必須ではない。
【００１６】
例えば、あるアーキテクチャは、複数の物理バスセグメント上のトラフィックを透過的に中継して、連続するＣＡＮバスに相当するシステムレベルでの挙動を行うＣＡＮリピータを含むことができる。また、あるデバイスは、ＣＡＮコントローラからデジタル信号を受信して、ＣＡＮの物理信号へマッピングする物理インタフェースを含んでもよい。
【００１７】
本明細書において、ブロードキャストバスは、バス上の複数のデバイスが共通の配線を共有して、全てのデバイスがバス上で同時に通信を行うことができるアーキテクチャを指すことができる。１つのデバイスによって送信されたメッセージは、全てのデバイスが見ることができる。このようなアーキテクチャでは、複数のデバイスが同時に通信を開始する場合、アービトレーションが必要となることがある。
【００１８】
ブロードキャストバスは、ユニバーサルシリアルバス（ＵＳＢ）のアーキテクチャと対照をなすことができる。ＵＳＢアーキテクチャは、その名称に「バス」という語が用いられてはいるが、ツリー状のアーキテクチャである。ＵＳＢ上のデータ転送を開始することができるのはマスタデバイスだけであり、すなわち、ＵＳＢスレーブデバイスは、ホストコントローラから明示的な要求がない限り、バス上にいかなるデータも転送することはできない。
【発明の概要】
【００１９】
ある実施形態によると、方法は、システム用の通信ネットワークのブロードキャストバスとのインタフェースにおいて複数のメッセージを受信することを含むことができる。該方法は、また、複数のメッセージのうちの１つ以上をインタフェースの仕様と比較することに基づいて、前記複数のメッセージが前記インタフェースを介して伝達されることを選択的に許可することを含むこともできる。
【００２０】
装置は、ある実施形態によると、所与のシステム用の所与の通信ネットワークの所与のブロードキャストバスとのインタフェースにおいて複数のメッセージを受信する受信機を含むことができる。該装置は、また、複数のメッセージのうちの１つ以上とインタフェースの仕様との比較を行うプロセッサを含むこともできる。該装置は、更に、前記比較に基づいて、インタフェースを介して複数のメッセージを選択的に転送する送信機を含むことができる。
【００２１】
ある実施形態では、装置は、システム用の通信ネットワークのブロードキャストバスとのインタフェースにおいて複数のメッセージを受信する手段を含むことができる。該装置は、また、複数のメッセージのうちの１つ以上をインタフェースの仕様と比較することに基づいて、複数のメッセージがインタフェースを介して伝達されることを選択的に許可する手段を含むこともできる。
【００２２】
非一時的なコンピュータ読み取り可能媒体は、ある実施形態では、ハードウェアにより実行された場合に処理を行う命令で符号化されることができる。該処理は、システム用の通信ネットワークのブロードキャストバスとのインタフェースにおいて複数のメッセージを受信することを含むことができる。該処理は、また、複数のメッセージのうちの１つ以上をインタフェースの仕様と比較することに基づいて、インタフェースを介して複数のメッセージが伝達されることを選択的に許可することを含むこともできる。
【００２３】
本発明の正しい理解のために、添付の図面を参照されたい。
【図面の簡単な説明】
【００２４】
【図１】図１は、様々なネットワークトポロジを示す。
【図２】図２は、ＣＡＮバス車両アーキテクチャの例を示す。
【図３】図３は、本発明のある実施形態に係る、ＣＡＮフィルタトランシーバを含むＣＡＮバスを示す。
【図４】図４は、本発明のある実施形態に係る、ＣＡＮフィルタトランシーバの論理図を示す。
【図５】図５は、図４に示す実施形態を更に詳細に示す。
【図６】図６は、本発明のある実施形態に係る、フィルタコントローラの詳細を示す。
【図７】図７は、本発明のある実施形態に係る、ＣＡＮフィルタリングの別のアプローチを示す。
【図８】図８は、図７に示す実施形態を更に詳細に示す。
【図９】図９は、本発明のある実施形態に係る、図８のフィルタブロックのリピータを有するフィルタコントローラのより詳細なブロック図である。
【図１０】図１０は、本発明のある実施形態に係る、ＣＡＮトランザクションをフィルタリングするためのフロー図である。
【図１１】図１１は、本発明のある実施形態に係る方法を示す。
【図１２】図１２は、本発明のある実施形態に係る装置を示す。
【発明を実施するための形態】
【００２５】
ネットワーク接続されたＣＡＮベースのシステムに対するサイバーセキュリティ問題の解決および他の目的のために、サイバー攻撃を防止するか、又は不正侵入されたＥＣＵによるＣＡＮバスへの任意アクセスを防止するようにシステムを設計してもよい。ある実施形態に係るフィルタは、発信元のＥＣＵからのトラフィックに対して、分離されたハードウェアベースの選択フィルタを提供してもよい。ここで、分離されたとは、フィルタがＥＣＵの主要な動作から独立しているとともに、フィルタリングされたＥＣＵのコア機能が不正侵入されてもフィルタは不正侵入されないような独立したセキュリティ境界を維持していることを意味するのに用いられる。こうした分離されたハードウェアベースのフィルタリングアーキテクチャは、不正侵入されたＥＣＵが、当該ＥＣＵによる送信が予期／許可されていないメッセージを送信することを防止してもよい。フィルタは、自動車、軍事、及び産業システムを始めとして、これらに限定されないＣＡＮバスを用いるいかなるシステムに対しても適用可能である。なお、ＣＡＮバスをブロードキャストバスの例として述べているが、実施形態は他のバスタイプに適用可能であってもよい。
【００２６】
国際標準化機構（ＩＳＯ：Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｏｒｇａｎｉｚａｔｉｏｎ  ｆｏｒ  Ｓｔａｎｄａｒｄｉｚａｔｉｏｎ）１１８９８−１：２００３は、ＣＡＮを実装するデバイスの規格を提供する。この規格が提供する信号の仕様には、バスの通常動作に対して無視しうる程度の影響しか及ぼさない選択的なメッセージフィルタリングを行う余地がある。本明細書におけるフィルタは、標準的なＣＡＮトランシーバＩＣの代替として実装可能な物理デバイスである。このフィルタを用いて、双方向フィルタリング能力を有するＣＡＮバスリピータ又はブリッジを実現することができる。また、このフィルタをワイヤリングハーネスアダプタ又は特殊ワイヤリングハーネスとして実装して、ＣＡＮインタフェースを用いる既存のモジュールを改造することができる。本明細書に記載の実施形態は、他のブロードキャストバス技術に拡張することができる。
【００２７】
ある実施形態に係るフィルタは、タイミングの観点から透過的な動作を維持しつつ、共有バス上のメッセージの方向性を判定してもよい。フィルタには２つの側があり、それぞれ「フィルタ後」側および「未フィルタ」側と呼ばれる。「フィルタ後」側は、フィルタデバイスの一方の側であり、「未フィルタ」側の不正動作するデバイスにより生成されたトラフィックにフィルタリングを適用した後の側であることができる。このフィルタリングは、エラー生成又は論理的／電気的分離の形をとってもよい。「未フィルタ」側は、デバイスの事実上信頼されない側であり、不正動作するデバイスが存在する側であることができる。なお、システム内には、他にも不正動作するデバイスがあってもよい。フィルタデバイスにより「未フィルタ」側に意図的にエラーフレームを生成して、不正なメッセージを抑制してもよい。フィルタ後側のＥＣＵが、未フィルタ側から送信される部分的なフレームを受け付けることを防ぐために、フィルタ後側にエラーフレームを生成することもできる。システムは、ひとたび問題が認識されると、フレームの途中でフレーム転送を中止することができる。本文脈における「方向性」という概念は、メッセージが発信されたのがデバイスのフィルタ後側か未フィルタ側かを検出する能力を指してもよい。本明細書における「透過的」という概念は、トラフィックがフィルタ仕様によって不許可とならない限り、フィルタの存在はシステム、すなわち正しく動作するデバイスの関知するところではないという考え方を指すことができる。信号及びタイミングへの影響は、バスのノイズマージンの範囲内であってよい。
【００２８】
図２に、ＣＡＮバス車両アーキテクチャの例を示す。車両の内部通信ネットワークは、複数のＣＡＮバスを含むことが多い。図２に示すように、例えば、高速ＣＡＮバス２１０と、低速ＣＡＮバス２２０と、両バス間の通信をブリッジ可能な複数のデバイスとがあってもよい。ある実施形態に係るフィルタは、一方又は両方のＣＡＮバス上の１つ以上のデバイスによって、該デバイスへのまたは該デバイスからのトラフィックをフィルタリングするために用いられることができる。
【００２９】
図２における車両アーキテクチャの俯瞰的描写は、本発明のある種の実施形態についての以後の説明用の例示的コンテキストを確立するために提示している。一般的に、車両は、用途に応じてブリッジされたりされなかったりする複数の別個のＣＡＮバスを備えている。図２に示すように、たくさんのＥＣＵを、２つ以上のバスのうちの１つ、例えば高速ＣＡＮバスや低速ＣＡＮバス等に接続してもよい。これらの独立したバス同士を、他のＥＣＵ、例えば本体コントローラを用いてブリッジしてもよい。ＥＣＵの中には、他のＥＣＵよりも攻撃を受けやすく、追加のセキュリティの必要性が高いものもある。例えば、インターネット接続される等の遠隔アクセスが可能なＥＣＵは、エクスプロイトの対象となり得る。
【００３０】
図３は、本発明のある実施形態に係る、ＣＡＮフィルタトランシーバを含むＣＡＮバスを示す。図示のように、デバイスには、ＣＡＮフィルタトランシーバを含むものと、標準的なＣＡＮトランシーバを含むものとがあってよい。不正侵入のされやすさに基づいて、ＣＡＮフィルタトランシーバを有するデバイスを選択してもよい。例えば、遠隔アクセス可能なインフォテインメントデバイスをＣＡＮフィルタの対象としてもよい。
【００３１】
例えば、図３は、単一のＣＡＮバス３１０に接続された、いくつかのＥＣＵ３２０ａ、３２０ｂ、３２０ｃ…３２０ｎを抽象的に示す。ここでは、すべてのＥＣＵが、内部ＣＡＮコントローラ３２２ａ、３２２ｂ、３２２ｃ…３２２ｎを含む。これらのコントローラは、マイクロコンピュータ又は他の集積回路（ＩＣ：Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）内に含まれてもよい。内部ＣＡＮコントローラをトランシーバ３２４ａ、３２４ｂ、３２４ｃ…３２４ｎに接続して、デジタルコントローラによる信号を差動バスの物理信号に変換することができる。
【００３２】
図３では、デバイス２（ＥＣＵ３２０ｂ）を保護の必要なＥＣＵとしている。デバイス２において、ＣＡＮフィルタトランシーバは、一般的なトランシーバの代わりとして用いることができ、ＥＣＵのＣＡＮコントローラからのトラフィックをフィルタリングすることができる。２つのデバイス３２０ｂ及び３２０ｃだけがＣＡＮフィルタトランシーバを有するものとして図示されているが、任意の数のデバイスが標準的なＣＡＮトランシーバの代わりにＣＡＮフィルタトランシーバを用いてもよい。
【００３３】
図４及び図７は、ＣＡＮバスの透過的フィルタリングに使用可能なデバイスの２つの例を示す。例えば、図４は、本発明のある実施形態に係る、ＣＡＮフィルタトランシーバのロジック図を示す。ＣＡＮフィルタトランシーバは、ＣＡＮコントローラからのデジタルトラフィックをＣＡＮバスの差動信号に変換するのに用いられる既存のトランシーバの代替として動作することができる。結果として、ＣＡＮフィルタトランシーバは、ＣＡＮコントローラからの信号に適用するフィルタリングロジックを含むフィルタブロック４１０と、フィルタリングされた信号をＣＡＮバスへ移す差動トランシーバ４２０とを含むことができる。
【００３４】
図４に示すように、ＣＡＮコントローラは、マイクロコントローラ等の外部デバイスに埋め込まれており、送受信信号によってＣＡＮフィルタトランシーバのフィルタリングブロック４１０に双方向的に接続可能である。フィルタリングブロック４１０は、後述する必要なフィルタリングを行った後、ＣＡＮフィルタトランシーバの物理インタフェースブロック４２０と通信を行って、外部システムのＣＡＮバス要件に準拠した差動信号を提供することができる。このことから、該デバイスは、例えば上述のＣＡＮフィルタトランシーバ等のような、フィルタリングブロックと物理インタフェースとの組合せとすることができる。典型的には、修正を加えたＣＡＮコントローラをＣＡＮフィルタトランシーバの一部として実装してもよい。ここでの相違点は、物理インタフェース４２０から受信したデータを、ＣＡＮコントローラとのインタラクションに先立ってフィルタブロック４１０でフィルタリングできることにある。
【００３５】
図５は、図４に図示した実施形態をさらに詳細に示す。図５に示すように、ＣＡＮフィルタトランシーバは、中央に２つのセクションを含むことができる。フィルタブロック５１０は、フィルタコントローラ５１２と、外部ＣＡＮコントローラが送信可能な許容メッセージを規定する、記憶されたフィルタリングデータ５１４との組合せとすることができる。一番右のセクションは、図３の保護されたデバイスに関して上述したように、ＣＡＮフィルタトランシーバを含むホストプラットフォーム５３０が提供しうる信号を表す。
【００３６】
このように、フィルタブロック５１０は、フィルタコントローラ５１２と、ＣＡＮコントローラへの、又はＣＡＮコントローラからのメッセージをどのようにフィルタリングするかに関して高度な判断を行うのに用いられる、メモリ５１４に格納されたデータの集まり、すなわちフィルタ仕様とからなることができる。物理インタフェースとフィルタブロックの間に２つの信号を流すことができることを示すため、物理インタフェース５２０の一般的な分解図を更に示す。この２つの同じ信号は、フィルタリングをした上でＣＡＮコントローラとやり取りすることができる。これらの信号は、ＣＡＮ送信信号及びＣＡＮ受信信号であってもよい。物理インタフェース（ＰＨＹ）からの受信信号により、外部ＣＡＮバス５４０上の現在のデータが得られる。ＰＨＹへの送信信号は、外部ＣＡＮバス５４０へ送信することができる。フィルタブロックとＣＡＮコントローラの間でやり取りされる受信及び送信信号は、図６に示すように、選択的に修正することができる。
【００３７】
図６は、本発明のある実施形態に係るフィルタコントローラ５１２の詳細を示す。フィルタブロック５１０内部のフィルタコントローラ５１２は、ビット同期回路６１０とフレームキャプチャ部６２０とを含むカスタマイズされた内部ＣＡＮコントローラの組合せを含んでもよい。このカスタマイズされた内部ＣＡＮコントローラは、フィルタリングステートマシン６３０への入力を提供することができる。フィルタリングステートマシン６３０は、カスタマイズされた内部ＣＡＮコントローラから適宜分離されても、その内部に組み込まれていてもよい。フィルタステートマシン６３０は、フレームキャプチャ部６２０からデータを受け取ることができ、入力の履歴とともに受信フィルタリストからのデータを用いてマルチプレクサ６４０を制御して、フィルタブロック５１０によるバス制御を可能にすることができる。この制御は、エラーフレームを生成して、ホストプラットフォームのＣＡＮコントローラからの不正なトラフィックを抑制することを含むことができる。様々な内部構成によって同様の目的を達成することができる。
【００３８】
図６に示すように、デフォルト構成では、ＣＡＮコントローラからの信号の送受信を可能にしてもよい。このため、フィルタブロック５１０は、外部のＣＡＮコントローラに直接接続してもよい。信号は、２つのマルチプレクサ６４０のデフォルトパスを流れて、透過的な動作を提供することができる。例えば、ＣＡＮバス上にはビット時間の遅れがなくてもよい。外部ＣＡＮコントローラとＣＡＮバスの間に流れる信号を、ビット同期回路６１０とフレームキャプチャブロック６２０とを含む分離されたセキュアなカスタマイズＣＡＮコントローラに提供して、ＣＡＮのビットタイミングの整合とＣＡＮフレームの処理とを行うこともできる。キャプチャしたフレームビットは、次いで、上述のようにフィルタリングステートマシン６３０に提供することができる。ステートマシン６３０は、ステートマシン６３０からアクセス可能なメモリから提供される、記憶してあったフィルタリストとともにフレームビットを用いて、フィルタリング動作を行うかどうかを決定することができる。決定したフィルタ動作に基づいて、ステートマシン６３０は、マルチプレクサ６４０の選択線を駆動することができるとともに、マルチプレクサ６４０へのデータ入力を駆動してもよい。
【００３９】
カスタムＣＡＮコントローラは、外部ＣＡＮコントローラ又は外部ＣＡＮバスがドミナントであるかどうかを判定する検出回路を含むことができる。本来、該ロジックは、方向性を判定するために、外部ＣＡＮコントローラが送信モードにあるか受信モードにあるかを判断することができる。この方向性を用いて、フィルタデータによって駆動されるステートマシンの入力に関する高度なフィルタリング判断を行うことができる。例えば、送信フレームに適用可能なフィルタリストからアクセスされるフィルタデータは、受信フレームに適用可能なフィルタデータと異なる場合がある。
【００４０】
外部ＣＡＮコントローラによって送信されるメッセージが、フィルタの仕様、すなわち外部ＣＡＮコントローラによって送信されるメッセージに適用可能なフィルタデータにより許可される場合、フィルタステートマシン６３０は、マルチプレクサ６４０の選択線を駆動して、外部ＣＡＮコントローラからの送信信号を通過させることができる。メッセージがフィルタ仕様により許可されない場合、フィルタステートマシン６３０は、マルチプレクサの選択線を駆動して、フィルタステートマシン６３０が提供する信号を通過させることができる。フィルタステートマシン６３０は、バスドライバとして選択された場合、ＣＡＮバス上にエラーフレームを発信して無効なメッセージを終了させることができる。フィルタステートマシン６３０はまた、エラーフレームがさらに生成されることを防ぐため、プログラマブルウィンドウの間、外部ＣＡＮコントローラをバスから電気的に分離することができる。多くの外部ＣＡＮコントローラは、エラーがあると、メッセージの再送が成功するか又はエラーカウンターが超過するまで繰り返し再送を試みる場合があるため、こうした分離がデフォルト動作で行えることは有利なことである。エラーが外部バスに送られると、バス上の他のＥＣＵも自身を電気的に分離してもよく、そうでない場合はエラー受信数によってパフォーマンスの低下を被ることがある。不正動作するデバイスをＣＡＮバスから取り除くことで、ＤｏＳ攻撃を防ぐことができる。
【００４１】
フィルタステートマシン６３０が利用するフィルタデータ／ステートマシン仕様には、ＣＡＮバスＩＤの簡単なチェック、上位レベルのＣＡＮプロトコルメッセージのより高度な分析、及び／又は製造者独自のデータフィールドの符号化を含むＣＡＮメッセージの内容の検査も含むことができる。後述する図１０は、ＣＡＮメッセージを処理してフィルタ仕様と一致するかを判断する際のステップを説明するフロー図を含む。
【００４２】
図７、図８及び図９に、フィルタ後及び未フィルタＣＡＮバス間でメッセージを中継しつつフィルタリングを実施できる別のアプローチを示す。典型的には、ＣＡＮバス接続は、ＣＡＮモジュールを直列スプライス接続ではなく並列に接続可能な連続する配線対を含む。図８では、本システムを２つの独立したＣＡＮバス間のブリッジと見るのが一般的かもしれないが、そうした見方は図示の構成には当てはまらない。本構成は、連続するＣＡＮバスに対して、差動信号をブリッジするのではなくデジタル信号にマッピングし且つ差動信号にマッピングし直す透過型の中継ロジックを挿入したものであり、こうした変換が行われることは本システム自身の関知するところではない。例えば、タイミング要件は満足していてもよい。
【００４３】
デジタル信号へのマッピングにより、図９のフィルタコントローラは、信号を中継するとともに、フィルタコントローラが取得した方向性情報に基づいてトランザクションを電気的に分離して終了することが可能になる。例えば、図９の左から図９の右へと流れるトラフィックを許容しつつ、反対方向に流れるトラフィックを拒否してもよい。この構成において、該デバイスは、フィルタ仕様に基づいてトランザクションをフィルタリングできるリピータとして任意のＣＡＮバスに挿入することができる。
【００４４】
具体的には、図７は、本発明のある実施形態に係る、ＣＡＮバス上の透過型ＣＡＮフィルタリピータとして動作するＣＡＮフィルタトランシーバによるＣＡＮフィルタリングへの別のアプローチを示す。透過型ＣＡＮフィルタリピータは、ＣＡＮバス上のインラインユニットとして動作することができる。透過型ＣＡＮフィルタリピータは、バスの未フィルタ側からバスのフィルタ後側へトラフィックを透過的に中継することができる。トラフィックが中継される際、透過型ＣＡＮフィルタリピータのＣＡＮフィルタ７１０は、トラフィックを検査して、バスの未フィルタ側により送信されたメッセージがバスのフィルタ後側へ確実に届くようにすることができる。２つのトランシーバ７２０ａ及び７２０ｂを用いて、デジタルＣＡＮ信号への／からの変換を実行して処理を行ってもよい。
【００４５】
図８は、図７に示す実施形態を更に詳細を示す。図８から分かるように、本設計は、図５に図示した設計に類似していてよく、追加のトランシーバが追加されている。また、図５のフィルタコントローラが、リピータ付きフィルタコントローラに置き換えられている。従って、図８に示すデバイスは、フィルタコントローラ８１２とメモリ８１４に格納されたフィルタリストとを有するフィルタブロック８１０を含むことができる。該フィルタは、２つのトランシーバ８２０ａ及び８２０ｂの間に設けることができる。第１のトランシーバ８２０ａは車両バス８４０に接続することができ、第２のトランシーバ８２０ｂはプライベートバス８３０に接続することができる。
【００４６】
図９は、本発明のある実施形態に係る、図８のフィルタブロック８１０のリピータ付きフィルタコントローラ８１２のより詳細なブロック図を示す。この構成は、ビット同期回路９１０と、ＣＡＮフレームキャプチャ部９２０と、フィルタステートマシン９３０とを含むことができる点において、図６の構成にきわめて類似している。但し、マルチプレクサはリピータ９４０で置き換えることができ、リピータ９４０は、デジタルＣＡＮ信号をリピータの一方の側から他方の側へと中継しつつ、バスの未フィルタ側からの不正トラフィックの終了を容易にするように構成されたロジックを含むことができる。リピータ９４０は、バスのどちら側の制御がドミナントであるかを通知することができる。
【００４７】
図１０は、本発明のある実施形態に係る、ＣＡＮトランザクションをフィルタリングするためのフロー図を示す。該方法は、１０００から始まることができる。１００５において、ＣＡＮフィルタは、メッセージの開始を待つことができる。具体的には、ＣＡＮフィルタは、１０１０において、各ＣＡＮビットを待つことができる。ＣＡＮフィルタは、１０１５において、特定のＣＡＮメッセージの各ビットを、誰がバス上でドミナントであったか、例えば、デバイスに関連付けられたＣＡＮコントローラがドミナントであったか、又はバスに固有の、すなわちバス上の別のＣＡＮコントローラがドミナントであったかの標識とともに受信することができる。この情報と、メッセージの受信済みビットからの情報の集まり１０２０とに基づいて、フィルタは、フィルタ仕様データ１０３０内の次の状態を取り込むべき位置と、対応する取るべきアクションとを決定１０２５することができる。このアクションに基づいて、フィルタは、１０４０において、ＣＡＮバス上にエラーフレームを生成することにより、進行中のトランザクションを動的に終了１０３５してもよい。フィルタはまた、１０４５において、デバイスが通信を継続するかどうかを判断することができ、もし継続しないならば、１０５０において、デバイスを一時的又は永続的にＣＡＮバスから切断することができる。フィルタは、以後の処理のために内部状態変数を更新することができる。どの動作も必要がない場合、フィルタは、１０５５において受信ビット履歴を更新することができ、１０６０において次のビットを受信する準備／待機をして、１０１０に戻ることができる。
【００４８】
ＣＡＮフィルタトランシーバは、本明細書に記載のように、追加機能によって強化することで、完全なＣＡＮバスセキュリティソリューションを提供することができる。例えば、ＣＡＮフィルタトランシーバがＥＣＵとしても動作できる場合、該デバイスは、正規ではあるが危険なメッセージに対するセキュアなゲートウェイとして使用することができる。ここで、ＣＡＮバス上の他のＥＣＵに対する無線でのファームウェアアップデートを受信する仮想のＥＣＵを考える。ファームウェアアップデートは、その性質上、対象のＥＣＵを完全にコントロールすることが可能である。無線を用いる状況では、ファームウェアアップデート用のＣＡＮメッセージの正規の送信元は、ネットワーク接続されることがあるため、サイバー攻撃を受けやすい。こうした場合、既に説明してきたＣＡＮフィルタでは役に立たないことがある。しかし、ファームウェアアップデートメッセージがＥＣＵの製造者により暗号署名されるとともに、ゲートウェイＥＣＵとして動作するＣＡＮフィルタトランシーバに宛てて送信された場合、ゲートウェイＥＣＵは、署名を検証して、検証済みのファームウェアアップデートメッセージを対象のＥＣＵへ転送できる可能性がある。サイバー攻撃者は有効な署名を偽造することができない場合があるため、システム内への潜在的に危険な経路をセキュアにすることができる。
【００４９】
フィルタデバイスへのこうした追加措置により、バス上の既存のＥＣＵに一切変更を加えることなく、署名付きアップデートのメカニズムを整備することができる場合がある。
【００５０】
同様の機能を、ＣＡＮバス間のブリッジとして実装することができる。例えば、この機能を２つの独立したバスの間に実装して、一方からのメッセージを、他方に空きができるまでバッファリングすることができる。欠点として、デバイスが複雑化し、全体的なシステムアーキテクチャ／要件に影響が出る可能性があるが、そうした制限はあるにしても脆弱なシステムではこのような実装が望ましいことがある。
【００５１】
いずれのアプローチでも、フィルタコントローラの具体的な細部については、上記の機能を維持しつつ、多くの設計アプローチで実装することができる。例えば、フィルタ検出ロジックは、図示のようなハードウェアによる有限ステートマシンや、ソフトウェアによる処理ロジックを含む多くの方法で実装することができる。これら及び他の実装が可能である。上述のように、ある実施形態では、分離されたセキュアなトランシーバ内でフィルタリングを実施して、ホストコントローラが不正侵入されてもトランシーバ部分は不正侵入されないようにしてもよい。
【００５２】
フィルタデータ／仕様については、上述の説明を超える追加の詳細な説明はしてこなかった。こうした仕様の実装は、検出ロジックの設計に依存することがある。しかし、フィルタの選定をセキュアにし、フィルタ仕様を現場でアップデートできるようにするために、フィルタ仕様を認証等の暗号技術によってセキュアにしてもよい。ステートマシンによる処理の場合、フィルタ仕様には、コントローラに与えられる入力状態に基づいて状態遷移を記述することができ、例えば方向性やバス上の現在の同期データの値等の情報を含んでいてもよい。
【００５３】
以上、ＣＡＮベースのシステムに対するフィルタリングの実施に重点を置いて説明してきた。しかし、こうしたアプローチは、例えばＭＩＬ−ＳＴＤ−１５５３に規定されるような単一マスタバスシステムや、ポイントツーポイント技術を含む、他のブロードキャストバスシステムにも適用可能である。ある実施形態では、インタフェースから受信したメッセージがそのインタフェースの仕様に確実に準拠するように、メッセージの選択的なフィルタリングを行うことができる。ＭＩＬ−ＳＴＤ−１５５３では、バス上のデバイス間の接続構成を行うマスタを１つ含むアーキテクチャを規定しているが、すべてのデバイスが同じ配線／バスを共有することができる。従って、不正動作するデバイスが、マスタのように動作して既定のルールを破ることにより、マルチマスタブロードキャストバスとなるおそれがある。
【００５４】
図１１は、本発明のある実施形態に係る方法を示す。図１１に示すように、方法は、１１１０において、システム用の通信ネットワークのブロードキャストバスとのインタフェースで複数のメッセージを受信することを含むことができる。該方法は、また、１１１５において複数のメッセージのうちの１つ以上をインタフェースの仕様と比較することに基づいて、１１２０において、複数のメッセージをインタフェースを介して伝達することを選択的に許可することを含むことができる。通信ネットワークは、１つ以上のコントローラエリアネットワーク又は他のブロードキャストバスネットワークであるか、若しくはそれらを含むことができる。
【００５５】
仕様と比較される複数のメッセージは、システム外部との通信能力を有するコントローラエリアネットワークコントローラから受信することができる。仕様と比較されるメッセージは、システム外部から発信されたものであってよい。例えば、仕様と比較されるメッセージは、バスに直接接続された携帯電話モデムデバイス、又は車両の診断ポートに挿入されたデバイスから発信されたものであってよい。
【００５６】
仕様と比較されるメッセージは、システム外部のソースからの命令に応じてシステム内のコントローラから発信されたものであってもよい。例えば、これらの命令は、ゼネラルモーターズの子会社であるオンスター社（ＯｎＳｔａｒ  Ｃｏｒｐｏｒａｔｉｏｎ）が提供するオンスター（ＯｎＳｔａｒ）（登録商標）システムから発信されたものであってもよい。あるいは、仕様と比較されるメッセージは、サイバーセキュリティ／アプリケーションセキュリティの脆弱性を利用して、システム内部のコントローラから発信されたものであってもよい。こうした脆弱性は、ソフトウェア、ファームウェア、ハードウェア、アクセスコントロールポリシー、又はそれらの組合せに存在することがある。
【００５７】
仕様と比較されるメッセージは、コントローラの実装エラーにより、システム内のコントローラから発信されたものであってもよい。あるいは、仕様と比較されるメッセージは、コントローラの正常動作から発信されたものであってもよく、システム内で無効にすべき動作を実行するものであってもよい。
【００５８】
該システムは、車両であってもよい。該方法は、ブロードキャストバスコントローラに関連付けられたフィルタトランシーバ内で実施されてもよい。あるいは、該方法は、ブロードキャストバスコントローラのトランシーバとブロードキャストバスとの間に介在するデバイスで実施されてもよい。該方法は、システムの複数のＥＣＵの各々で実施されてもよい。例えば、該方法は、車両内の２つ以上のＥＣＵで実施することができる。
【００５９】
ステージ１１１５における比較することは、１１１６においてブロードキャストバス識別子をチェックすることを含むことができる。比較することはまた／更に、例えば１１１７におけるブロードキャストバスプロトコルメッセージの分析及び／又は１１１８における少なくとも１つのブロードキャストバスメッセージの内容の検査等、他の分析を含むことができる。例えば、比較することは、１１１９における、少なくとも１つのブロードキャストバスメッセージのデータフィールドの、製造者独自の符号化の内容の検査を含むことができる。
【００６０】
ステージ１１２０における選択的に許可することは、１１２２における、複数のメッセージのうちの少なくとも１つに関連付けられた暗号署名の認証に基づくことができる。
【００６１】
ある実施形態では、該方法は、メッセージ伝搬のタイミングに対して無視しうる程度の影響しか及ぼさないものであってよい。この場合、無視しうるとは、メッセージの各ビットが、受信されたのと同じバスクロックサイクル内で分析されるとともに選択的に送信され、本フィルタ方法の影響がバスクロックのエラーの許容範囲内に収まることを指すことができる。従って、例えば、システム内で透過的にビットを送信することができる。このビットに起因してメッセージに無効のフラグが立った場合、フィルタは、このフレームを無効化することができる。フィルタは、ビット時間内に、あるビットに起因して進行中のメッセージがフィルタ仕様に反すると判断し、且つ現在のビットを変更してそのフレームを無効化することができないことがある。その場合、変更は、次のビット時間に行うことができる。後続のビット時間における変更を、フレーム転送の終了前に行うことにより、フレームがシステムに受け入れられないようにしてもよい。変更がない場合、フレーム転送の挙動は通常動作中と同様である。すなわち、フィルタリングはシステムに対して透過的である。
【００６２】
選択的に許可することは、１１２４において、インタフェースのメッセージを受信する側に応じた前記比較を行うために、別個の仕様を用いることができる。当該側は、ブロードキャストバス側でもコントローラ側でもよい。別法では、ある実施形態を用いて、ポイントツーポイント構成における２つのバス又は２つのコントローラ間のフィルタリングを行うことができる。
【００６３】
該仕様は、１１２５において、常にメッセージを許可する、常にメッセージを禁止する、又はあるメッセージを許可するとともに他のメッセージを禁止する、のうちの少なくとも１つの設定に合わせて構成することができる。
【００６４】
図１２は、本発明のある実施形態に係る装置を示す。図１２に示すように、装置は、所与のシステム用の所与の通信ネットワークの所与のブロードキャストバスとのインタフェースにおいて複数のメッセージを受信する受信機１２１０を含むことができる。該装置は、また、複数のメッセージの１以上とインタフェースの仕様との比較を行うプロセッサ１２２０を含むこともできる。該装置は、さらに、前記比較に基づいて、インタフェースを介して複数のメッセージを選択的に転送する送信機１２３０を含むことができる。
【００６５】
受信機１２１０及び送信機１２３０は、例えば図４〜図９に示す装置等、種々のやり方で実現することができる。あるいは、他の形態のハードウェア受信機又は送信機を適宜採用することができる。同様に、プロセッサ１２２０は、いかなるマイクロプロセッサ、集積回路、デジタルロジック回路等で実現することもできる。また、プロセッサ１２２０は、図１０及び図１１に示すフローに従って動作するように構成することができる。
【００６６】
図１２に示すように、該装置は、車両１２００に含まれてもよい。例えば、該装置は、車両内のＣＡＮに接続された１つ以上のＥＣＵのインタフェースに配置してもよい。
【００６７】
ある実施形態は、種々の利益及び／又は利点を有してもよい。例えば、フィルタは、タイミングの観点から透過的な動作を維持しつつ、共有バス上のメッセージの方向性を判定することができる。
【００６８】
フィルタは、不正動作するデバイス又は不正侵入されたバスを、システムの残りの部分から電気的及び論理的に分離することができる。これにより、バス上の他のデバイスに悪影響を及ぼしかねないエラーフレームが不必要に生成されることを防止してもよい。
【００６９】
分離されたセキュアなフィルタリングを用いることで、ＥＣＵの悪用によりフィルタ仕様が変更可能になることを防止してもよい。上述のように、分離されたフィルタリングとは、例えばＥＣＵに対して変更を行ってもフィルタデバイスには変化が起きないような、ＥＣＵの主要機能から独立したデバイスによるフィルタリングを指す。これにより、現場のフィルタデバイスを、以後のネットワークベースでのＥＣＵへの攻撃に対してセキュアにすることができる。
【００７０】
ある実施形態に係るフィルタは、いかなるＣＡＮシステムに適用してもよい。例えば、こうしたフィルタを、国際標準に基づくフィルタに合わせて設計してもよい。
【００７１】
ある実施形態では、ＣＡＮフィルタは、他のＣＡＮデバイスへの変更を必要とすることなくＥＣＵ毎にＥＣＵへ統合してもよい。こうした統合は、場合によっては、システムの他の部分には影響を及ぼさずに、単一のＥＣＵに対してのみ行われてもよい。これにより、システムレベルでのアーキテクチャの変更を回避してもよい。さらに、フィルタ仕様の生成には、それが統合される個々のＥＣＵの知識があればよい。この点では、バス上の全デバイスに対するメッセージの把握が必要となることがあるＣＡＮバスをモニタリングするアプローチとは対照的である。別法として、ＣＡＮフィルタトランシーバを、ベンダーから独立したやり方で、個々のＥＣＵに対して外部から適用することができる。この場合、ＥＣＵを変更せずに、例えばハードウェアを直列に挿入するだけでもよい。
【００７２】
例えば、フィルタトランシーバを用いて、既存のＥＣＵを透過的なインタポーザを介して改造することができる。このインタポーザは、基本的に、ケーブルハーネス／コネクタ用のインラインプラグインモジュールであってよい。ここで、「透過的」という語は、インタポーザの光学特性を指すものではなく、システムが該デバイスの存在を知る必要が無く、デバイスが存在しないかのように動作を継続できることを意味するものである。
【００７３】
フィルタ仕様をプログラム可能にして、ＥＣＵメーカーが、ＣＡＮメッセージや、特定のＥＣＵ又はＥＣＵの集まりに対してインテリジェントなフィルタリングを行うのに必要な他の情報を指定できるようにしてもよい。
【００７４】
また、悪意の敵対者がフィルタ仕様を偽造して悪意あるトラフィックをデバイスに流したりできないようにするために、フィルタ仕様を暗号署名してもよい。署名検証キーをプログラム可能にすることで、特定のフィルタデバイスに対するフィルタ仕様を容易に制限できるようにすることができる。
【００７５】
更に、ある実施形態では、バス上で通信を行うデバイスは、ある実施形態により実行されるフィルタリング動作が行われているということを知らずに動作してもよい。ある実施形態では、メッセージフレーム内で方法を実行して、許可されないメッセージを無効化することにより、該メッセージがブロードキャストバス上のエンドポイントで受け付けられることがないようにすることができる。メッセージの無効化は、グローバルバスエラーを用いて達成することができる。フィルタリングされたＥＣＵが許可されないメッセージを繰り返し送信すると、フィルタデバイスが大量のグローバルエラーを発生するため、バス上のデバイスは最終的にフェイルセーフエラーモードに移行することがある。しかし、フィルタデバイスが不正侵入されたＥＣＵをシステムから分離する能力を備えることにより、それ以降ＥＣＵから送信される許可されないメッセージがバスに到達することを防止して、グローバルバスエラーを発生する必要性をなくしてもよい。
【００７６】
フィルタ仕様にはいくつかの可能性がある。例えば、単にＣＡＮメッセージのＩＤフィールドに基づいてフィルタリングを行うこともできる。別法では、パケットを検査するやり方でフィルタリングを行うことにより、メッセージ内のデータを検査して有効性をチェックすることもできる。また、メッセージの頻度を検査して、フィルタデバイスの未フィルタ側から発信される優先度の高いメッセージによってバスのスループットが予期せぬ割合で消費されていないかを判定することもできる。
【００７７】
上述の発明を、順序の異なるステップ及び／又は開示のものとは異なる構成のハードウェア要素によって実施できることは、当業者には容易に理解されよう。従って、本発明をこれらの好ましい実施例に基づいて説明してきたが、本発明の精神及び範囲を逸脱せずにある種の変更、変形及び代替構成が明らかであろうことは、当業者には明らかであろう。よって、本発明の範囲を決定するにあたっては、添付の請求項を参照すべきである。
【図１】
2018535603.tif 000003
【図２】
2018535603.tif 000004
【図３】
2018535603.tif 000005
【図４】
2018535603.tif 000006
【図５】
2018535603.tif 000007
【図６】
2018535603.tif 000008
【図７】
2018535603.tif 000009
【図８】
2018535603.tif 000010
【図９】
2018535603.tif 000011
【図１０】
2018535603.tif 000012
【図１１】
2018535603.tif 000013
【図１２】
2018535603.tif 000014
【国際調査報告】
2018535603.tif 000015
2018535603.tif 000016