(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023122636
(43)【公開日】2023-09-04
(54)【発明の名称】車両のソフトウェアの改竄の軽減
(51)【国際特許分類】
G06F 21/55 20130101AFI20230828BHJP
【FI】
G06F21/55
【審査請求】未請求
【請求項の数】15
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2023025759
(22)【出願日】2023-02-22
(31)【優先権主張番号】10 2022 201 895.8
(32)【優先日】2022-02-23
(33)【優先権主張国・地域又は機関】DE
(71)【出願人】
【識別番号】591245473
【氏名又は名称】ロベルト・ボッシュ・ゲゼルシャフト・ミト・ベシュレンクテル・ハフツング
【氏名又は名称原語表記】ROBERT BOSCH GMBH
(74)【代理人】
【識別番号】100118902
【弁理士】
【氏名又は名称】山本 修
(74)【代理人】
【識別番号】100196508
【弁理士】
【氏名又は名称】松尾 淳一
(74)【代理人】
【識別番号】100161908
【弁理士】
【氏名又は名称】藤木 依子
(72)【発明者】
【氏名】フェリックス・ハラチェク
(72)【発明者】
【氏名】マヌエル・ヤウス
(72)【発明者】
【氏名】マルセル・クナイプ
(57)【要約】
【課題】車両のソフトウェアの改竄の軽減すること。
【解決手段】方法は、ソフトウェアの改竄を軽減するための中央デバイスにおいて、車両の車載ネットワークの複数のコンポーネントのうちの第1のコンポーネントのソフトウェアの改竄の可能性を認識するステップを含む。改竄を軽減するための中央デバイスは、車載ネットワークの一部であり、車載ネットワークの複数のコンポーネントの各々におけるソフトウェアの改竄を軽減するように設計されている。方法は、改竄を軽減するための中央デバイスによって、第1のコンポーネントのソフトウェアの改竄を軽減するための対策を導入するステップと、第1のコンポーネントのソフトウェアの改竄を軽減するための対策を実施するステップとをさらに含む。改竄を軽減するための対策は、改竄の可能性の認識前に前記車載ネットワークで生じたデータトラフィックに関する情報の分析に基づいて選択される、改竄の再発を防止するための手段を含む。
【選択図】
図3
【特許請求の範囲】
【請求項1】
コンピュータ実装方法であって、
ソフトウェアの改竄を軽減するための中央デバイス(25)において、車両(20)の車載ネットワークの複数のコンポーネント(27a~f)のうちの第1のコンポーネント(27c)のソフトウェアの改竄の可能性を認識するステップ(101)であって、
前記改竄を軽減するための中央デバイス(25)が、前記車載ネットワークの一部であり、前記車載ネットワークの前記複数のコンポーネント(27a~f)の各々におけるソフトウェアの改竄を軽減するように設計されている、ステップ(101)と、
前記改竄を軽減するための中央デバイス(25)によって、前記第1のコンポーネント(27c)の前記ソフトウェアの前記改竄を軽減するための対策を導入するステップ(103)と、
前記第1のコンポーネント(27c)の前記ソフトウェアの前記改竄を軽減するための前記対策を実施するステップと
を含み、
前記改竄を軽減するための前記対策が、改竄の可能性の認識前に前記車載ネットワークで生じたデータトラフィックに関する情報の分析に基づいて選択される、前記改竄の再発を防止するための手段を含む、
方法。
【請求項2】
前記分析が、改竄のタイプの特定を含む、請求項1に記載の方法。
【請求項3】
前記分析が、車両(20)の前記車載ネットワークの脆弱点の発見を含む、請求項1または2に記載の方法。
【請求項4】
改竄のタイプの特定が、改竄の可能性の認識前にデータトラフィックが生じた前記車両(20)のインターフェース(21;22)の特定を含む、請求項2または3に記載の方法。
【請求項5】
前記分析が、改竄の可能性の認識前に生じた前記データトラフィック内のプログラミングプロセスの発見を含む、請求項1から4のいずれか一項に記載の方法。
【請求項6】
前記分析が、特定のデータトラフィックと改竄の可能性の前記認識との間の時間的関係の確認を含む、請求項1から5のいずれか一項に記載の方法。
【請求項7】
前記手段が、
前記車両(20)内の特定のタイプのデータトラフィックの禁止または制限、および
前記車両(20)の特定のコンポーネント(21~27)のオフまたは制限
のうちの1つまたは複数を含む、請求項1から6のいずれか一項に記載の方法。
【請求項8】
前記コンポーネントが、前記車両(20)の前記車載ネットワークのインターフェース(21;22)である、請求項7に記載の方法。
【請求項9】
前記車載ネットワークの前記データトラフィックに関する情報の前記分析の結果をログ記録するステップと、
改竄認識のために、前記ログ記録された結果を提供するステップと
をさらに含む、請求項1から8のいずれか一項に記載の方法。
【請求項10】
前記車両(20)の前記車載ネットワークの更新に応答して前記手段を停止するステップ
をさらに含む、請求項1から9のいずれか一項に記載の方法。
【請求項11】
請求項1から10のいずれか一項に記載の方法を実行するように設計されているシステム。
【請求項12】
車両(20)用の車載ネットワークであって、
第1のコンポーネント(27c)を含む前記車載ネットワークの複数のコンポーネント(27a~f)と、
ソフトウェアの改竄を軽減するための中央デバイス(25)とを含み、
前記車載ネットワークが、請求項1から10のいずれか一項に記載の方法のステップを実施するように設計されている
車載ネットワーク。
【請求項13】
請求項11に記載のシステムを含む、もしくはその一部である、および/または請求項12に記載の車載ネットワークを含む車両(20)。
【請求項14】
請求項1から10のいずれか一項に記載の方法を実行するように設計されているコンピュータプログラム。
【請求項15】
請求項14に記載のコンピュータプログラムを含むまたは符号化するコンピュータ可読媒体または信号。
【発明の詳細な説明】
【技術分野】
【0001】
車両のソフトウェアに関する。
【背景技術】
【0002】
近年、車両は、ますますオープンコンテキストに組み込まれている(すなわち、車両が1つまたは複数のインターフェースを有し、インターフェースを介して動作中にデータが受信および/または送信され、他方それらは車両の動作のために使用される)。さらに、車両のコンポーネント、特にそれらのソフトウェアの複雑さは増し続けている。
【0003】
その結果、車両のコンポーネントのソフトウェアの改竄の可能性がより多様になる。
【発明の概要】
【発明が解決しようとする課題】
【0004】
現況技術のいくつかの方法では、改竄の検出およびとりわけ軽減(すなわち、規定の(安全な)状態が達成されるような修復)には、かなりの労力、したがって時間遅延が伴う。例えば、工場整備の枠組で、コンポーネント(例えば制御装置)の改竄されたソフトウェアをリセットし、したがって改竄を修復することができる。他の技法では、遠隔コンピュータシステムがソフトウェアを要求することができ、この技法により、コンポーネント(例えば制御装置)の改竄されたソフトウェアがリセットされ、したがって改竄が修復される。どちらの場合にも、改竄の検出と改竄の軽減との間にかなりの期間があり得る。状況によっては、この期間中に車両の動作が妨げられている(例えば、所定の安全基準がもはや満たされない)。いくつかの場合には、車両がもはや走行不能になる、またはその機能性が著しく損なわれていることがある。したがって、ソフトウェアの改竄を軽減するための改良された技法が望ましい。
【課題を解決するための手段】
【0005】
本開示の第1の全般的な態様は、コンピュータ実装方法に関する。この方法は、ソフトウェアの改竄を軽減するための中央デバイスにおいて、車両の車載ネットワークの複数のコンポーネントのうちの第1のコンポーネントのソフトウェアの改竄の可能性を認識するステップを含む。改竄を軽減するための中央デバイスは、車載ネットワークの一部であり、車載ネットワークの複数のコンポーネントの各々におけるソフトウェアの改竄を軽減するように設計されている。この方法は、改竄を軽減するための中央デバイスによって、第1のコンポーネントのソフトウェアの改竄を軽減するための対策を導入するステップと、第1のコンポーネントのソフトウェアの改竄を軽減するための対策を実施するステップとをさらに含む。改竄を軽減するための対策は、改竄の可能性の認識前に車載ネットワークで生じたデータトラフィックに関する情報の分析に基づいて選択される、改竄の再発を防止するための手段を含む。
【0006】
本開示の第2の全般的な態様は、第1の全般的な態様による方法を実行するように設計されているシステムに関する。
本開示の第3の全般的な態様は、車両用の車載ネットワークに関する。車載ネットワークは、第1のコンポーネントを含む複数のコンポーネントと、ソフトウェアの改竄を軽減するための中央デバイスとを含む。車載ネットワークは、第1の全般的な態様による方法を実行するように設計されている。
【0007】
本開示の第4の全般的な態様は、第2の全般的な態様によるシステムを含む、もしくはその一部である、および/または第2の全般的な態様による車載ネットワークを含む車両に関する。
【0008】
本開示の第1から第4の全般的な態様の技法は、いくつかの場合には、以下の利点の1つまたは複数を有し得る。
第1に、本開示の技法により、1つの車両および場合によってはさらなる車両の車載ネットワークが、(再発される)改竄から保護され得る。したがって、いくつかの状況では、車両の車載ネットワークの改竄は、対策によって確かに修復され得る。例えば、まず、改竄されたソフトウェアのリセットが、車載ネットワークを安全な状態にすることができる。それにもかかわらず、状況によっては侵入者によって新たな攻撃のために利用され得る車載ネットワークでの脆弱点が残る可能性がある。例えば、セキュリティが十分でない車載ネットワークのインターフェースによって脆弱点が生成される可能性があり、この脆弱点を、改竄されたソフトウェアを挿入するために侵入者が利用する可能性がある。本開示の技法は、認識された改竄の再発を防止するための手段が実施されることによって、いくつかの状況でこの問題に対処することができる。ここで、この手段は、改竄の可能性の認識前に生じた車載ネットワークでのデータトラフィックに関する情報の分析に基づいて選択される。データトラフィックに関するこれらの情報は、侵入者がソフトウェアの改竄にどのチャネルを使用したかを逆に導き出すことを可能にできる。ここで、対策は、識別されたチャネルに的確に関わることができる。例えば、コンポーネントのソフトウェアの改竄の前にデータが伝送された(疑いのある)インターフェースが無効にされ得る。このようにして、侵入者により脆弱点を繰り返し悪用することが閉ざされ得る。
【0009】
第2に、改竄の再発を防止するための的確な手段の選択により、いくつかの状況では、他の対策の実施に比べて車載ネットワークの機能性をより広範に維持することができる。例えば、車両の安全な動作のためには、車載ネットワークの複数のコンポーネントが改竄された特定のインターフェースを無効にするのみで十分であり得る。このインターフェースが閉じられている場合、いくつかの場合には(場合によっては、コンポーネントのソフトウェアのリセットの後またはさらなる対策の後に)複数のコンポーネントを引き続き動作させることができる。それにより、例えば、影響を及ぼされたコンポーネントが無効にされる状況と比較して、車両の機能性をより広く利用することができる。
【0010】
いくつかの用語は、本開示では以下のように使用される。
すなわち、本開示における(車載ネットワークの)「コンポーネント」は、命令を実行するための少なくとも1つのプロセッサと、少なくとも1つのソフトウェアコンポーネントを格納するためのメモリとを含む独自のハードウェアリソースを備える。「プロセッサ」という用語は、マルチコアプロセッサ、または電子デバイスの中央処理装置のタスクを引き受ける(および場合によってはタスクを共有する)複数の別個の構成部品も含む。コンポーネントは、独立してタスク(例えば、測定タスク、監視タスク、制御タスク、通信タスク、および/または他の作業タスク)を実行することができる。しかし、いくつかの例では、コンポーネントを別のコンポーネントによって制御することもできる。コンポーネントは、(例えば独自のハウジングを用いて)物理的に分離されていても、または上位システムに統合されていてもよい。コンポーネントは、車両の制御装置または通信機器であってもよい。コンポーネントは、埋め込みシステムであってもよい。コンポーネントは、1つまたは複数のマイクロコントローラを含んでもよい。
【0011】
「埋め込みシステム」は、技術的なコンテキストに組み込まれている(埋め込まれている)コンポーネントである。ここで、コンポーネントは、監視機能、制御機能、もしくは調整機能を引き受ける、および/またはある形のデータもしくは信号処理を管轄する。
【0012】
「(専用)制御装置」は、車両の1つ(のみ)の機能を制御するコンポーネントである。制御装置は、例えば、エンジン制御、ブレーキシステムの制御、またはアシストシステムの制御を引き受けることができる。ここで、「機能」は、車両の様々なレベルで定義することができる(例えば、機能に関して、単一のセンサまたはアクチュエータを使用することができ、しかしまた、より大きな機能ユニットにまとめられている多数のアセンブリを使用することもできる)。
【0013】
「ソフトウェア」または「ソフトウェアコンポーネント」という用語は、基本的には、本開示のコンポーネント(例えば制御装置)のソフトウェアの各部分であり得る。特に、ソフトウェアコンポーネントは、本開示のコンポーネントのファームウェアコンポーネントであってもよい。ファームウェアは、(電子)コンポーネントに埋め込まれ、そこで基本的な機能を行うソフトウェアである。ファームウェアは、コンポーネントのそれぞれのハードウェアに、(一方が他方なしでは利用可能でないように)機能的に密接に接続される。ファームウェアは、フラッシュメモリまたはEEPROMなどの不揮発性メモリに記憶されていてもよい。
【0014】
「更新情報」または「ソフトウェア更新情報」という用語は、直接または対応する処理ステップ後に、本開示によるコンポーネントのソフトウェアコンポーネントを形成するすべてのデータを含む。更新情報は、実行可能コードまたはまだコンパイルされていないコード(対応するコンポーネントのメモリに格納されているコード)を含んでもよい。
【0015】
「改竄」という用語は、本開示では、車両のコンポーネントのソフトウェアの各変更を含む。この変更は、攻撃(すなわちサードパーティの意図的な影響力行使)の結果であり得るが、無作為のまたは意図しない影響の結果でもあり得る。
【0016】
「車両」という用語は、乗員および/または貨物を輸送するどの装置も含む。車両は、自動車(例えば乗用車またはトラック)であってもよく、しかしまた鉄道車両であってもよい。しかし、浮遊装置および飛行装置も車両であり得る。車両は、少なくとも一部自律動作するものであっても、または補助されるものであってもよい。
【0017】
「車載ネットワーク」は、車両のコンポーネントがそれを介して通信する車両の各内部ネットワークであり得る。いくつかの例では、車載ネットワークは、近距離ネットワークである。車載ネットワークは、1つまたは複数の近距離通信プロトコル(例えば、2つ以上の近距離通信プロトコル)を使用することができる。近距離通信プロトコルは、無線または有線通信プロトコルであってもよい。近距離通信プロトコルは、バスプロトコル(例えば、CAN、LIN、MOST、FlexRay、またはイーサネット)を含んでもよい。近距離通信プロトコルは、Bluetooth(登録商標)プロトコル(例えば、Bluetooth5もしくはそれ以降)またはWLANプロトコル(例えば、IEEE802.11ファミリーのプロトコル、例えば802.11hもしくはそれ以降のプロトコル)を含んでもよい。車載ネットワークは、車両の外部のシステムと通信するためのインターフェースを含んでもよく、したがって他のネットワークに組み込むこともできる。しかし、車両の外部のシステムおよび他のネットワークは、車載ネットワークの一部ではない。
【0018】
「・・・の可能性の認識」という表現は、ソフトウェアの改竄があり得る状態を認識するために、特定のイベント(例えば信号、または信号の不在)が所定の規則に従って解釈されることを意味する。
【図面の簡単な説明】
【0019】
【
図2】本開示の技法を使用することができる車両の車載ネットワークのコンポーネントを示す図である。
【
図3】車両の車載ネットワークの様々な脆弱点を示す図である。
【
図4】第1のコンポーネントが改竄された、
図2による車載ネットワークを示す図である。
【
図5】第1のコンポーネントの改竄が修復された、
図2による車載ネットワークを示す図である。
【発明を実施するための形態】
【0020】
まず、
図1~
図3を参照して、本開示の技法を実施することができる車両、および本開示の技法の基本的な態様を論じる。
図4および
図5に基づいて、ソフトウェアの改竄を軽減するための中央デバイスのさらなる態様を説明する。
【0021】
図1は、本開示の技法を示すフローチャートである。
図2は、本開示の技法を使用することができる車両の車載ネットワークのコンポーネントを示す。
図3は、車両の車載ネットワークの様々な脆弱点を示す。
【0022】
図1では、中央の列に、いくつかの例ではソフトウェアの改竄を軽減するための中央デバイスによって(しかし他の例ではまた他のコンポーネントによって)実施され得るステップが示されている。右の列には、(ソフトウェアの改竄を軽減するための中央デバイスを除く)車載ネットワークの特定のコンポーネント(またはコンポーネントのグループ)によって実行されるステップが示されている。左の列には、遠隔システムによって(すなわち車両の外部で)実施されるステップが示されている。
【0023】
本開示の技法は、車両20の車載ネットワークの複数のコンポーネントのうちの第1のコンポーネント27cのソフトウェアの改竄の可能性を認識するステップ101を含む。
図2および
図3に、車両20が概略的に示されている。車両20には、車両20の複数のコンポーネント21~24、25、27a~fを接続する車載ネットワークが装備されている(車載ネットワークは、上述したように構成されていてもよい)。
【0024】
車両20は、ソフトウェアの改竄を軽減するための中央デバイス25を有し、この中央デバイス25は、改竄の可能性を認識する。したがって、これは車載ネットワークの一部である(すなわち、車両の一部でもあり、車両と共に移動される)。ソフトウェアの改竄を軽減するための中央デバイス25は、車載ネットワークの複数のコンポーネント21~24、27a~fの各々におけるソフトウェアの改竄を軽減するように設計されていてもよい。
【0025】
いくつかの例では、ソフトウェアの改竄を軽減するための中央デバイス25は、車両20の中央通信インターフェースに統合されている。中央通信インターフェースは、車両20内部での通信および/または通信インターフェース21、22を介する外界との通信のためのデータ分配器として機能するように設計されていてもよい。ここで、中央通信インターフェースは、(車載ネットワークでの通信または外部システムとの通信のための)異なる通信プロトコルをサポートする、および/またはセキュリティ機能を実装することができる。他の例では、ソフトウェアの改竄を軽減するための中央デバイスは、他のコンポーネントに統合されても(さらなる例は以下に続く)、またはスタンドアロンコンポーネントとして設計されていてもよい。
【0026】
認識は、いくつかの例では、車両20の車載ネットワークの複数のコンポーネントのうちの第1のコンポーネント27cのソフトウェアの改竄を表示する信号の受信を含み得る。信号は、ソフトウェアの改竄を軽減するための中央デバイス25自体、および/または別のデバイスにおいて生成することができる。
【0027】
追加または代替として、認識は、(予想される)信号(例えば、第1のコンポーネント、または第1のコンポーネントを監視するコンポーネントからの信号)の不在の認識を含んでもよい。車載ネットワークは、複数のコンポーネント21~24、25、27a~fまたは他のコンポーネントが、複数のコンポーネント21~24、25、27a~fのそれぞれのコンポーネントのソフトウェアの改竄がないことを表示する信号を(例えば定期的に、またはコンポーネントの起動などの特定のイベントの発生時に)送信するように設計されていてもよい。
【0028】
さらに追加または代替として、認識は、第1のコンポーネントのソフトウェアの改竄の可能性を認識するために、車載ネットワークの他のステータス情報の処理を含んでもよい。
【0029】
車両20の車載ネットワークの複数のコンポーネントのうちの第1のコンポーネント27cのソフトウェアの改竄の可能性の認識(例えば、信号の受信または信号の不在の認識)に応答して、ソフトウェアの改竄を軽減するための中央デバイスによって、第1のコンポーネントの改竄を軽減するための対策が導入される103。その後、第1のコンポーネント27cのソフトウェアの改竄を軽減するための対策が実施される105(例えば、ソフトウェアの改竄を軽減するための中央デバイス、および/または車載ネットワークの別のコンポーネントによって)。対策は、改竄の可能性の認識前に生じた車載ネットワークでのデータトラフィックに関する情報の分析に基づいて選択される、改竄の再発を防止するための手段を含む。
【0030】
分析および/または選択は、ソフトウェアの改竄を軽減するための中央デバイス25によって実施されてもよい。他の例では、分析および/または選択は、車両の1つまたは複数の他のコンポーネントによって実施されてもよい。再び他の例では、分析および/または選択は、遠隔システム30によって実施されてもよい。いずれの場合も、分析および/または選択は、自動的に(すなわちユーザの関与なしで)行われ得る。そのために、分析および/または選択を実施することができるコンポーネントは、(例えば、ソフトウェアにおいて定義される)対応する機能性を備えることができる。分析および/または選択機能は、考えられる各形態で実装されていてもよい。例えば、規則ベースのアルゴリズムが実施され得る。他の例では、機械学習モジュールが、分析および/または選択を実施することができる。改竄の認識の後、所定の時間(例えば5分未満)内に分析および選択を実施され得る。
【0031】
いくつかの例では、分析は、車両20の車載ネットワークの脆弱点の発見を含んでもよい。ここで、脆弱点は、認識された改竄がそこを介して実施された可能性がある車載ネットワークの一部(例えば車載ネットワークの1つまたは複数のコンポーネント)であってもよい。
【0032】
分析は、いくつかの例では、改竄の可能性の認識前に生じたデータトラフィックの内容の評価を含んでもよい。したがって、例えば、データトラフィックのどの部分がプログラミングプロセスのためのデータ(例えばソフトウェアコンポーネント、またはコンポーネントのプログラミングのための他の内容、例えばこれらのデータに典型的な署名)を含んでいたかを特定することができる。追加または代替として、分析は、改竄の可能性の認識前に生じたデータトラフィック内のプログラミングプロセスの発見を含んでもよい。さらに追加または代替として、データトラフィックのどの部分が既知のおよび/または予想される内容とは異なる内容を含んでいたかを特定することができる。例えば、データトラフィックの特定の部分が予想よりも広範な、および/または予想とは異なるデータタイプを含んだ可能性がある。追加または代替として、特定の時点でデータトラフィックが予想され得なかった車載ネットワークの部分で、データトラフィックが生じた可能性がある。これらの評価により、識別されたデータトラフィックが、第1のコンポーネントのソフトウェアが改竄されたデータトラフィックであったという結論を逆に導き出すことを可能にできる。
【0033】
追加または代替として、分析は、認識された改竄のタイプの特定を含んでもよい。いくつかの例では、改竄のタイプの特定は、改竄の可能性の認識前にデータトラフィック(例えば、上述したように特定の内容を含むデータトラフィック)が生じた車両インターフェースの特定を含んでもよい。追加または代替として、認識された改竄のタイプの特定は、改竄された第1のコンポーネント27cへのデータトラフィックの経路の特定、および/またはデータトラフィックのソースの特定を含んでもよい。
【0034】
以下、
図3を参照して、認識された改竄のタイプを特定する態様をさらに説明する。
図3は、侵入者による様々なタイプの改竄のために悪用される可能性がある車両20の車載ネットワークの様々な脆弱点を示す。
【0035】
いくつかの例では、認識された改竄の前に、車両20の特定のインターフェース21、22を介するデータトラフィック(
図3ではインターフェース21、22に延びる矢印によって表されている)が生じたと特定することができる。特定のインターフェースは、無線インターフェース21であってもよく、しかし他の例ではまた有線インターフェース22(例えば、車載診断のためのインターフェース)であってもよい。車載ネットワークは、複数の無線インターフェースおよび/または有線インターフェースを有し得る。識別されたインターフェースに関する情報は、再発を防止するための手段の選択に使用され得る。
【0036】
追加または代替として、認識された改竄の前に、車載ネットワークの特定のコンポーネントのデータトラフィックが生じたことが認識されることがある(これも、
図3で、それぞれのコンポーネントの近くで終わる矢印によって表されている)。このコンポーネントは、例えば、車載ネットワークの中央通信インターフェース25であってもよい。他の例では、コンポーネントは、車両の中央制御ユニット24であってもよい。再び他の例では、コンポーネントは、車両20のインフォテインメントシステムのヘッドユニット(英語ではHead Unit)であってもよい。再び他の例では、コンポーネントは、車載ネットワークの中央コンピュータ(「車両コンピュータ」)であってもよい(車載ネットワークは、複数の中央コンピュータ(「車両コンピュータ」)を含んでもよい)。中央コンピュータ(「車両コンピュータ」)は、車載ネットワークの専用制御装置よりも(かなり)高性能であり、(状況によっては下記のドメインのいくつかでの)複数の制御装置のタスクを引き受けることができる。
【0037】
再び他の例では、車両は、車両20の複数の機能ドメインおよび/またはローカルドメインに分割されていてもよい。機能ドメインは、車両の特定の機能(例えば、エンジン制御、パワートレイン制御、インフォテインメント、空気調和など)の提供に関与する車両の様々なコンポーネントを含んでもよい。ローカルドメインは、車両の特定の領域内(例えば「右後部」、「左前部」、「内部前側」など)に物理的に配置された車両の様々なコンポーネントを含んでもよい。ドメインは、それぞれのドメイン26a~nのための中央通信ノードとして機能する、および/またはそれぞれのドメイン26a~nのための制御機能を引き受けるコンポーネント27a、27dを含んでもよい。ドメインのための中央通信ノードも同様に、認識された改竄の前にデータトラフィックが生じたコンポーネントとして認識されることがある。いくつかの例では、第1のコンポーネント27cを改竄するためにソフトウェアコンポーネントがそれによって挿入されたデータトラフィックのソースとして、コンポーネント(例えば、上記のコンポーネントのうちの1つ)が特定され得る。識別されたコンポーネントに関する情報は、再発を防止するための手段の選択に使用され得る。
【0038】
さらに追加または代替として、認識された改竄の前に、外部ソースから車両へのデータトラフィックが生じたことが認識されることがある。
いくつかの例では、分析は、特定のデータトラフィックと改竄の可能性の認識との間の時間的関係の確認を含んでもよい。例えば、データトラフィックは、第1のコンポーネント27のソフトウェアの改竄を認識する所定の時間未満(例えば5分未満)前に生じていた可能性がある。
【0039】
認識された改竄のタイプが特定されたとき、適切な再発を防止するための手段が選択され得る。
いくつかの例では、手段は、車両20での特定のタイプのデータトラフィックの禁止または制限を含む。いくつかの例では、禁止または制限は、特定のコンポーネントの車載ネットワークを介する通信(例えば、特定のコンポーネントを出発点とする通信)の遮断を含んでもよい。特定のコンポーネントは、例えば、上述したコンポーネントの1つであってもよい。代替として、禁止または制限は、特定のコンポーネントの特定のタイプの通信の遮断を含んでもよい。例えば、特定のコンポーネントは、プログラミングプロセスのためのデータを送信することを禁じられることがある。代替または追加として、データの受信が禁止または制限されるのに対し、データの受信が引き続き許可されていてもよい(またはその逆)。さらに代替または追加として、第2のプロトコルを介する通信が引き続き許可されたままであるのに対し、第1のプロトコルを介する通信が禁止または制限されてもよい。さらに代替または追加として、特定のコンポーネントのデータトラフィックが特定の内容に制限されてもよい。さらに追加または代替として、禁止または制限は、車両にデータを送信する特定の外部ソースに関するものであり得る。したがって、1つまたは複数の外部ソースとの通信は制限または禁止され得る。
【0040】
代替または追加として、手段は、車両20の特定のコンポーネントのオフまたは制限を含んでもよい。いくつかの例では、特定のコンポーネントは、車両20の車載ネットワークのインターフェース(例えば、無線インターフェース21または有線インターフェース22)である。他の例では、特定のコンポーネントは、車載ネットワークでのコンポーネント(例えば、上記のコンポーネントの1つ)である。特定のコンポーネントの機能性の制限は、特定のコンポーネントの1つまたは複数の機能(の一部)をオフにすることを含み得る。例えば、特定のコンポーネントは、通信機能がオフにされるのに対し、制御機能を引き続き実行することができる。特定のコンポーネントのオフにされた機能は、車載ネットワークの別のコンポーネントによって引き受けられてもよい。
【0041】
前述したすべての例において、改竄の再発を防止するための手段は、車載ネットワークに的確に介入することができる。したがって、いくつかの場合には、車両の動作への広範囲に及び得る介入を必要とせずに、改竄の再発のリスクを減らすことができる。
【0042】
いくつかの例では、改竄の可能性が認識された車両のみでなく、他の車両でも、改竄の再発を防止するための手段が実施され得る(別の車両のソフトウェアが改竄されていない、または改竄の可能性が認識されていないとしても実施することができ、したがって、この場合には、必ずしも同じ車両での改竄の再発ではなく、別の車両での(そのタイプの)改竄の再発である)。言い換えると、(第1の)車両20での第1のコンポーネントのソフトウェアの改竄の可能性の認識は、1つまたは複数の他の車両(例えば、第1のコンポーネントに対応するコンポーネントが存在する車両、例えば同じタイプの車両)での手段の実施をトリガすることができる。いくつかの例では、これは、1つまたは複数の他の車両で第1のコンポーネントのソフトウェアの改竄の可能性が認識されたかどうかに関係なく行われる。このようにして、複数の車両(例えば、特定の地理的領域内の車両および/または特定のタイプの車両)が特定の改竄から保護され得る。改竄の再発を防止するための手段は、別の車両でも同様に、改竄を軽減するための中央デバイスによって導入され得る。いくつかの例では、別の車両は、(例えば遠隔システムを介して)手段を導入するように要求されることがある。他の例では、(第1の)車両20が、車両20の車載ネットワークの複数のコンポーネント27a~fのうちの第1のコンポーネント27cのソフトウェアの改竄の可能性の認識について別の車両に通知する車車間通信を行うことができる。その後、別の車両で同様に手段が実施され得る。
【0043】
いくつかの例では、車載ネットワークでのデータトラフィックに関する情報の分析の結果をログ記録し、ログ記録された結果を改竄認識のために利用することができる(例えば、車両または外部システム30に配置されていてもよい、車両の1つまたは複数の(改竄)検出デバイス、例えば以下でさらに述べる(改竄)検出デバイスで)。(改竄)検出デバイスは、将来の検出プロセスで情報を利用することができる。このようにして、(本開示の再発される改竄を防止するための技法が失敗した場合に)再発される特定のタイプの改竄が認識される可能性を高めることができる。
【0044】
いくつかの例では、本開示の方法は、車両20の車載ネットワークの更新に応答して手段を停止することをさらに含んでもよい。例えば、特定の時点で(例えば工場整備中または無線インターフェースを介して)、脆弱点の原因が排除され得る(例えば、脆弱点を形成するコンポーネントのソフトウェアを更新することにより)。その後、例えば、コンポーネントのオフもしくは制限、または車両20内の特定のタイプのデータトラフィックの禁止もしくは制限が解除され得る。
【0045】
以下のセクションでは、ソフトウェアの改竄を軽減するための中央デバイス25の態様を説明する。
図2の例に、ソフトウェアの改竄を軽減するための中央デバイス25が示されている。いくつかの場合には、車両は、複数のコンポーネント21~24、27a~f(例えば、ソフトウェアの改竄を修復することができる車両のすべてのコンポーネント、またはこれらのコンポーネントのサブセット)の改竄を軽減するように設計されているソフトウェアの改竄を軽減するための中央デバイス25を1つのみ含んでもよい。他の例では、車両は、ソフトウェアの改竄を軽減するための中央デバイスを複数有してもよく、それらは、車載ネットワークの一部であり、それぞれが車載ネットワークの複数のコンポーネントに割り当てられている(すなわち、割り当てられたコンポーネントのソフトウェアでの改竄を修復することができる)。しかし、どちらの場合にも、ソフトウェアの改竄を軽減するための中央デバイスは、割り当てられたコンポーネントから分離されている。ソフトウェアの改竄を軽減するための中央デバイス25は、いくつかの場合には、それ自体のソフトウェア、および/またはソフトウェアの改竄を軽減するための中央デバイス25が統合されているコンポーネントのソフトウェアの改竄を軽減するためにも設計されていてもよい。
【0046】
図2の例では、本開示の技法を用いてそれらのソフトウェアの改竄を修復することができる複数のコンポーネントが、複数の制御装置27a~fを含む。既に述べたように、本開示の技法は、制御装置に限定されず、基本的には、車両20の車載ネットワークの各コンポーネントに使用可能である。しかし、車両内の制御装置27a~fは、基本的には限られたハードウェアリソースおよび/または機能性しか備えていないので、本開示の技法は、いくつかの場合には制御装置にとって特に有利であり得る。
【0047】
図2で、制御装置27a~fは、いくつかのドメイン26a~nに分割されている。ドメインは、車両20の機能ドメインおよび/またはローカルドメインであり得る。機能ドメインは、車両の特定の機能(例えば、エンジン制御、パワートレイン制御、インフォテインメント、空気調和など)の提供に関与する車両の様々なコンポーネントを含んでもよい。ローカルドメインは、車両の特定の領域(例えば「右後部」、「左前部」、「内部前側」など)に物理的に配置された車両の様々なコンポーネントを含んでもよい。
【0048】
他方でドメイン26a~nは、それぞれのドメイン26a~nのための中央通信ノードとして機能する、および/またはそれぞれのドメイン26a~nのための制御機能を引き受けるコンポーネント27a、27dを含んでもよい。いくつかの例では、ソフトウェアの改竄を軽減するための中央デバイスは、それぞれのドメイン26a~nのための中央通信ノードとして機能する、および/またはそれぞれのドメイン26a~nのための制御機能を引き受けるコンポーネント27a、27dの一部であってもよい。このソフトウェアの改竄を軽減するための中央デバイスは、さらなるソフトウェアの改竄を軽減するための中央デバイス(例えば、車載ネットワークの中央通信インターフェースの一部としてのソフトウェアの改竄を軽減するための中央デバイス)に加えて、または唯一の、ソフトウェアの改竄を軽減するための中央デバイスとして提供されていてもよい(さらに上の説明を参照)。さらに代替または追加として、ソフトウェアの改竄を軽減するための中央デバイスは、車両の中央制御ユニット24の一部として設計されていてもよい。さらに代替または追加として、ソフトウェアの改竄を軽減するための中央デバイスは、車両20のインフォテインメントシステム(
図2には図示せず)のヘッドユニット(英語では「Head Unit」)の一部として配置されていてもよい。さらに代替または追加として、ソフトウェアの改竄を軽減するための中央デバイスは、車載ネットワークの中央コンピュータ(「車両コンピュータ」)の一部として配置されていてもよい(車載ネットワークは、複数の中央コンピュータである「車両コンピュータ」を含んでもよい)。中央コンピュータ(「車両コンピュータ」)は、車載ネットワークの専用制御装置よりも(かなり)高性能であり、(状況によっては上記のドメインのいくつかでの)複数の制御装置のタスクを引き受けることができる。
【0049】
車両20は、中央永続的メモリ41(すなわち、その情報を車両に永続的に、例えば1日よりも長く、もしくは1週間よりも長く記憶する、および/または車両のアイドリング状態中に記憶するメモリ)をさらに含んでもよい。いくつかの例では、永続的メモリ41はフラッシュメモリを含んでもよい。
図2の例では、永続的メモリ41は、車両20の中央通信インターフェースに配置されている、またはこの中央通信インターフェースに直接接続されている。上述したように、車両20の中央通信インターフェースに、ソフトウェアの改竄を軽減するための中央デバイス25を同様に配置していてもよい。ソフトウェアの改竄を軽減するための中央デバイスが(追加または代替として)別のコンポーネントに配置されているときも、追加または代替として永続的メモリを同じコンポーネントに配置していてもよい。このようにして、永続的メモリに格納されたデータを、ソフトウェアの改竄を軽減するための中央デバイスによって、改竄の軽減のために使用することができる。しかし、他の例では、ソフトウェアの改竄を軽減するための中央デバイスと永続的メモリとを、車載ネットワークの異なるコンポーネントに配置していてもよい(およびソフトウェアの改竄を軽減するための中央デバイスは、ネットワークを介して永続的メモリにアクセスできる)。
【0050】
永続的メモリ41は、複数のコンポーネント27a~fの各々のためのソフトウェアコンポーネント42a、42c~nを同時に記憶するように設計されていてもよい。このために、永続的メモリ41は、256MBを超える(好ましくは5GBを超える)メモリ容量を有するように設計されていてもよい。
【0051】
改竄に対する対策は、そのソフトウェアの改竄が認識されたコンポーネント(本開示では「第1のコンポーネント」とも呼ぶ)のソフトウェアをリセットすることを含んでもよい(例えば、中央永続的メモリ41内に記憶されているそれぞれのコンポーネントのためのソフトウェアコンポーネント42a、42c~nを使用して)。このさらなる対策のさらなる態様は、
図5および
図6を参照して以下にさらに論じる。
【0052】
いくつかの例では、中央永続的メモリ41に含まれるソフトウェアコンポーネント42a、42c~nは、複数のコンポーネント27a~nの各々に関するソフトウェア更新情報32a、32c~nに基づくことができる(例えば、それらからソフトウェア更新情報32a、32c~nとして生成される、またはこれらに対応する)。
【0053】
ソフトウェア更新情報32a、32c~nは、車両20のインターフェース21を介して受信することができる。インターフェース21は、無線インターフェース(
図2に図示されている)であってもよいが、他の例ではまた有線インターフェース22(例えば、車載診断のためのインターフェース)であってもよい。車両は、インターフェース21、22の一方を介して遠隔システム30からソフトウェア更新情報32a、32c~nを受信するように設計されていてもよい。
図1に示されているように、遠隔システム30は、対応する車両に関するソフトウェア更新情報32a、32c~nを選択し107、インターフェース21、22の一方を介して車両20に送信する109ことができる。遠隔システム30は、ソフトウェア更新情報32a、32c~nを提供するのに適した任意の各システム(例えばクラウドストレージおよび/または分散システム)であってもよい。遠隔システム30は、ソフトウェア更新情報32a、32c~nの提供に加えて、車両の動作時にさらなる機能(例えば車両20に対する監視および/または制御機能)を引き受けることができる。
【0054】
いくつかの例では、複数のコンポーネント(例えば制御装置27a、c~n)に関するソフトウェア更新情報32a、32c~nは、ソフトウェアバンドルまたはソフトウェアコンテナ31に含まれる(すなわち、ソフトウェア更新情報は、バンドルで提供される)。ソフトウェアバンドルまたはソフトウェアコンテナ31(多くの場合、かなりのサイズである)は、特定の時点で車両20に伝送される。上述したように、車両20において、伝送されたソフトウェア更新情報32a、32c~nは、複数のコンポーネント27a~fのソフトウェアを更新するために使用される。このために、遠隔システム30から得られたソフトウェア更新情報32a、32c~nに、1つまたは複数の準備ステップ(例えば、展開、署名の検証など)を施すことができる。
【0055】
追加または代替として、(例えばソフトウェアバンドルまたはソフトウェアコンテナでの)ソフトウェア更新情報32a、32c~nは、有線インターフェース22を介して受信することもできる。
【0056】
ソフトウェア更新情報32a、32c~nは、場合によってはあり得る準備ステップの前または後に、複数のコンポーネント27a、c~nのためのソフトウェアコンポーネント42a、42c~nとして、(例えばコンポーネント27a、c~nのソフトウェアを更新するために使用される前に)永続的メモリ41に格納することができる。このとき、格納されている、複数のコンポーネント27a、c~nのためのソフトウェアコンポーネント42a、42c~nを、ソフトウェアの改竄を軽減するための中央デバイス25が、複数のコンポーネント27a、c~nでの改竄を軽減するために利用可能である。この軽減は、複数のコンポーネント27a、c~nの各々のソフトウェアの更新の終了後(例えば、さらなるソフトウェア更新情報32a、32c~nの受信までの期間)に行われ得る。
【0057】
このようにして、本開示の技法は、いくつかの例では、例えば車両20のソフトウェアの更新プロセスで使用される永続的メモリ41など、車両に既にあるコンポーネントを取り扱うことができる。いくつかの場合には、これは、コンポーネントのかなりの節約につながる可能性がある(上述したように、ソフトウェア更新情報32a、32c~nのソフトウェアバンドルまたはソフトウェアコンテナ31を格納するために必要なメモリは、かなりの程度を占めることがある)。それに加えて、または代替として、個々のコンポーネントに追加のリソース(例えばメモリ)を備えることを避けることができ、これにより、同様に複雑さを低減し、したがってエラーの発生しやすさおよび/またはコストを低減することができる。さらに追加または代替として、永続的メモリ41の情報は、多くの状況で、迅速に、車両の通信チャネルの利用可能性とは無関係に利用可能である。これは、改竄の軽減方法の反応時間を向上させることができる。
【0058】
本開示の技法では、軽減に対する対策は、実質的に車両20の外部のシステム(例えば遠隔システム30)の補助なしに実施することができる。例えば、対策は、車両20の外部のシステムとの通信を必要とせずに、ソフトウェアの改竄を軽減するための中央デバイス25によって導入することができる(このプロセス中、車両20は、他の目的のために車両20の外部のシステムと十分に通信することができる)。追加または代替として、ソフトウェアの改竄を軽減するための中央デバイス25(または車載ネットワークの別のコンポーネント)は、車両20の外部のシステムとの通信を必要とせずに対策を実施することができる。
【0059】
いくつかの例では、本開示の技法は、車両に関するコンテキスト情報に基づいて、複数のさらなる対策の中から1つのさらなる対策を選択することを含んでもよい。コンテキスト情報は、車両20の動作状態に関する情報および/または車両20の動作のための所定の規則に関する情報を含んでもよい。
【0060】
動作状態は、車両の走行状態(例えば、高速走行、低速走行、特定の走行操作の実施など)であってもよいが、また車両が走行していない間の動作状態であってもよい。代替または追加として、車両20に関するコンテキスト情報は、周囲情報および/または車両のコンポーネントのステータス情報を含んでもよい。
【0061】
車両20の動作のための規則は、所定の安全基準を含んでもよい(他方これらは、車両20の動作状態に依存することができ、例えば特定のコンポーネントに関するさらなる対策がいつ、どの依存関係で導入および実施されてよいかを決定する)。
【0062】
コンテキスト情報は、さらなる対策の選択において使用するために、ソフトウェアの改竄を軽減するための中央デバイス25のメモリ(例えば中央永続的メモリ41)に少なくとも一部(特に、車両20の動作のための所定の規則に関する情報を含むコンテキスト情報の一部)を格納していてもよい。コンテキスト情報は、いくつかの例では、車両20の外部から更新することができる(例えば、ソフトウェアの改竄を軽減するための中央デバイス25のための、またはソフトウェアの改竄を軽減するための中央デバイス25が配置されているコンポーネントのソフトウェア更新情報32bの一部として)。
【0063】
いくつかの例では、コンポーネント27a、c~nのソフトウェアの特定の改竄を軽減するために、様々なさらなる対策を利用することができる(取り得るさらなる対策については、以下でさらに詳述)。ここで、コンテキスト情報を利用して、利用可能なさらなる対策の1つを選択することができる。いくつかの例では、複数の利用可能なさらなる対策の中から、コンポーネントの目標状態を最も広範囲に復元することを可能にする(すなわち改竄を最も広範囲に修復する)ものを選択することができる。他方で、いくつかの状況では、コンテキスト情報に含まれる規則に基づいて、(例えば特定のセキュリティ基準に違反するであろうときに)利用可能なさらなる対策を除外することができる。
【0064】
例えば、第1のさらなる対策は、確かに第2のさらなる対策よりも広範囲な改竄の軽減を可能にし得るが、他方で、車両のコンポーネントへのより深刻な介入(したがって、軽減プロセス自体によって引き起こされ得る妨害に関するより大きなリスク)を生じ得る。第2のさらなる対策は、第1のさらなる対策と比較して、確かにそれほど広範囲でない改竄の軽減を可能にし得るが、他方で、また車両のコンポーネントへのそれほど深刻でない介入を生じ得る。この場合、第1のコンテキスト(コンテキスト情報によって表される)において第1のさらなる対策を選択することができ、第2のコンテキスト(コンテキスト情報によって表される)において第2のさらなる対策を選択することができる。例示的な例では、第1のコンテキストは、車両が高速で走行するコンテキストであってもよく、第2のコンテキストは、車両が静止しているコンテキストであってもよい。他の場合には、コンテキスト情報はセキュリティ基準を含むことができ、そのセキュリティ基準の遵守により、第1の状況では第1のさらなる対策の実施が禁止されるが、第2の状況では許可される。
【0065】
いくつかの例では、さらなる対策は、改竄が認識されたコンポーネント27a、c~fのための、(例えば受信されたソフトウェア更新情報に基づいて生成された)中央永続的メモリ41に記憶されているソフトウェアコンポーネント42a、c~nを使用して、コンポーネント27a、c~fのソフトウェアを即時に(例えば5分以内または1分以内に)リセットするステップ、および、それぞれのコンポーネント27a、c~fのためのソフトウェアコンポーネント42a、c~nを使用して、第1のコンポーネント27a、c~fのソフトウェアを後でリセットするステップを含んでもよい。他方、特定のコンテキストでは(例えばセキュリティ基準によって)即時リセットを除外していてもよい。例えば、後のリセットは、それぞれのコンポーネント27a、c~fの次の起動プロセスまでの期間内に行うことができる。
【0066】
続いて、
図5および
図6に基づいて、本開示の技法のさらなる態様を説明する。
図5は、
図2による車載ネットワークを示し、ここでは、第1のコンポーネント27cが改竄されている。
図6は、
図2による車載ネットワークを示し、ここでは第1のコンポーネント27cの改竄が修復されている。
【0067】
最初に、車両20のコンポーネント27a、c~fのソフトウェアの改竄の検出のいくつかの態様をより詳細に説明する。上述したように、本開示の技法は、車載ネットワークの複数のコンポーネントのうちの1つのコンポーネントのソフトウェアの改竄の可能性の認識を含むことができ、これは、いくつかの例では、信号の受信を含む。この信号は、様々な様式で生成することができる。
【0068】
最初に、コンポーネント27a、c~fのソフトウェアの改竄を検出することができる。この検出は、対応するコンポーネントの対応する(改竄)検出デバイスによってローカルで行うことができる。
【0069】
図5において、制御装置27cのうちの1つ(本開示のいくつかの例では「第1のコンポーネント」)のソフトウェアが改竄されていた。改竄されたソフトウェアコンポーネント71が導入された。
【0070】
制御装置27cの(改竄)検出デバイス81aは、この改竄を認識し、ソフトウェアの改竄を軽減するための中央デバイス25のための対応する信号を生成することができる(
図1でのステップ111および113も参照)。次いで、この信号を上述したように処理して、軽減を導入することができる。
【0071】
他の例では、または追加として、車両20の中央通信インターフェースの(改竄)検出デバイス61bは、制御装置27cの改竄を(遠隔から)検出し、(
図5の例では、同様に車両20の中央通信インターフェースに配置されている)ソフトウェアの改竄を軽減するための中央デバイス25のための信号を生成することができる。したがって、いくつかの例では、ソフトウェアの改竄を軽減するための中央デバイス25はまた、車載ネットワークの複数のコンポーネント27a、c~fのソフトウェアの改竄の中央検出のために設計されている。
【0072】
他の例では、または追加として、遠隔システム30の検出デバイスが、制御装置27cの改竄を(遠隔から)検出し、ソフトウェアの改竄を軽減するための中央デバイス25のための信号を生成することができる。この例では、車両のインターフェースを介して信号を受信することができる。しかし、改竄の検出も車両内で行うとき、いくつかの場合には、改竄を軽減するまでの期間を短縮することができる。
【0073】
様々な検出デバイス81a、61b(特に、車両に配置された検出デバイス81a、61b)は、(車載)ネットワークに既にある検出デバイスであってもよい。上述したように、いくつかの既知の方法でソフトウェアの改竄を認識することもできる。
【0074】
改竄の検出は、考えられる各様式で行うことができる。例えば、ソフトウェアは、起動時(「セキュアブート」)および/または動作中(「ランタイム改竄検出」)に、ソフトウェアの真実性および/または真正性をチェックするための1つまたは複数の方法によって(例えば、1つまたは複数のデジタル署名を使用して)チェックすることができる。
【0075】
他の例では、その信号が存在しないときに改竄の可能性が認識される信号を、先行するセクションで述べたコンポーネントによって生成することができる。例えば、制御装置27cの(改竄)検出デバイス81aは、(例えば定期的に、または特定のイベントの発生時に)信号を生成することができ、その信号の不在が、制御装置27cのソフトウェアの改竄を表示することができる。
【0076】
ここで、
図5および
図6を参照して、中央永続的メモリ41に記憶されている、第1のコンポーネント27cのためのソフトウェアコンポーネント42cを使用する、第1のコンポーネント27cのソフトウェアのリセットのさらなる対策のさらなる態様を論じる。
【0077】
改竄を軽減するための中央デバイス25は、第1のコンポーネント27cの改竄の検出に基づいて、さらなる対策を選択することができる。
図5および
図6の例では、さらなる対策として、第1のコンポーネント27cのソフトウェアのリセットが選択されている。リセットは、ソフトウェアを最後に認証された状態にすることを含んでもよい。これは、第1のコンポーネント27c(例えば制御装置)のソフトウェアの一部または全体を削除および/または上書きすることを含んでもよい。第1のコンポーネント27cのソフトウェアの一部または全体の削除および/または上書きは、改竄を軽減するための中央デバイス25によって遠隔から(すなわち車載ネットワークの接続を介して)実施することができる。このようにして、改竄されたソフトウェアコンポーネント71またはその一部81a、81bを、真正な(すなわち改竄されていない)ソフトウェアコンポーネント52cまたはその一部53a、53bによって置き換えて、改竄を修復することができる。
【0078】
真正な(すなわち改竄されていない)ソフトウェア52cは、永続的メモリ41から呼び出すことができる。上述したように、永続的メモリ41は、ソフトウェアコンポーネント42cを、直接使用可能な形式で、または改竄されたソフトウェアコンポーネント71または第1のコンポーネント27cをリセットするための1つまたは複数の処理ステップの後にのみ使用することができる形式で記憶することができる。
【0079】
いくつかの例では、改竄を軽減するための中央デバイス25は、コンポーネントのソフトウェアをリセットするために使用されるソフトウェアコンポーネント42a、c~nの信頼性を保証するための手段を実行することができる。例えば、ソフトウェアコンポーネント42a、c~nの使用前に、(例えばデジタル署名または別のセキュリティ機能に基づいて)信頼性チェックを実行することができる。改竄を軽減するための中央デバイス25は、信頼性チェックのために、改竄を軽減するための中央デバイス25が統合されているコンポーネントの機能性を用いることができる。
【0080】
いくつかの例では、永続的メモリ41は、車載ネットワークの特定のコンポーネントのための複数のバージョンのソフトウェアコンポーネントを含んでもよい。この場合、改竄を軽減するための中央デバイス25は、それらのバージョンのうちの1つ(例えば最新バージョンのソフトウェアコンポーネント)を選択することができる。
【0081】
先行するセクションでは、
図5および
図6を参照して、車載ネットワークの第1のコンポーネント27cの改竄を軽減するための対策に言及した。しかし、改竄を軽減するための中央デバイス25は、第1のコンポーネント27cのソフトウェアの改竄の軽減と異なる時点で、または同時に、複数のコンポーネント27a、d~fのうちの1つまたは複数のさらなるコンポーネントのソフトウェアの改竄に関する対策を導入するように構成されている。
【0082】
いくつかの例では、改竄を軽減するための中央デバイス25は、車載ネットワークの複数のコンポーネントのうちのさらなるコンポーネント27a、d~fのソフトウェアの改竄の可能性を認識し、さらなるコンポーネント27a、d~fの改竄を軽減するためのさらなる対策を導入するように設計されている。改竄の検出、ならびに対策の導入および実施は、上述したように進めることができる。例えば、さらなるコンポーネント27a、d~fの改竄されたソフトウェアコンポーネントをリセットすることができる。
【0083】
このようにして、改竄を軽減するための単一の中央デバイスが、車載ネットワーク内でそこから離れた複数のコンポーネント(例えば、様々なドメインにある制御装置)を担当する(すなわち、複数のコンポーネントのソフトウェアの改竄を修復する)ことができる。
【0084】
先行するセクションでは、改竄を軽減するための中央デバイスによって導入され、車載ネットワークで実施される例示的なさらなる対策として、コンポーネントのソフトウェアのリセットについて述べた。
【0085】
いくつかの例では、改竄を軽減するための中央デバイスが、代替または追加として、他のさらなる対策を導入することができる。それらのさらなる対策も同様に車載ネットワークで実施される。
【0086】
いくつかの例では、改竄に対するさらなる対策は、第1のコンポーネント27c(そのソフトウェアが改竄されている)の車載ネットワークを介する通信の遮断を含んでもよい。通信の遮断は、第1のコンポーネント27cの改竄されたソフトウェアが車載ネットワークを介して損傷を引き起こすことを防ぐことができる。他方で、改竄されたソフトウェアは、依然として(例えば一定期間にわたって)第1のコンポーネント27cの機能を実行することができる。このため、いくつかの場合には、第1のコンポーネント27cの車載ネットワークを介する通信の遮断は、(例えば、第1のコンポーネント27cの故障が少なくとも短期的に許容できない、または望ましくないコンテキストにおいて)第1のコンポーネント27cのソフトウェアのリセットよりも好ましいことがある。第1のコンポーネント27cのソフトウェアをリセットするさらなる対策は、第1のコンポーネント27cの通信を遮断するさらなる対策に続いて(例えば、変更されたコンテキストで)導入および実施することができる。
【0087】
代替または追加として、改竄に対するさらなる対策は、第1のコンポーネント27cを含む車載ネットワークを介するコンポーネントのグループの通信の遮断を含んでもよい。
図3の例では、第1のコンポーネント27cは、さらなるコンポーネント27a、bと共に第1のドメイン26aに含まれていてもよい。車載ネットワークを介するコンポーネントのグループの通信の遮断は、前述したような個々のコンポーネントの遮断と同様である。ここでも、車載ネットワークでのコンポーネントのグループによって損傷が引き起こされるのを防ぐことができる。車載ネットワークを介するコンポーネントのグループの通信を遮断する場合にも、後の時点で、(例えば、変更されたコンテキストで)第1のコンポーネント27cのソフトウェアをリセットするさらなる対策を導入して実施することができる。
【0088】
先行するセクションでは、多くの場合、本開示の技法を、それぞれの方法に基づいて述べてきた。
本開示は、本開示の方法を実行するように設計されているシステムにも関する。システムは、車両の車載ネットワークの1つまたは複数のコンポーネントを含んでもよい(例えばこれらに統合されていてもよい)。車載ネットワークは、車載ネットワークに一時的にのみ含まれるデバイス(例えば、車両にあり、車載ネットワークに統合されているモバイル機器)を含むこともできる。他の例では、システムは、遠隔システムも含んでもよい。
【0089】
本開示はさらに、少なくとも1つの、本開示によるソフトウェアの改竄を軽減するための中央デバイスと、車載ネットワークの複数のコンポーネントとを含む車両用の車載ネットワークに関する。車載ネットワークは、(上述したように)本開示の技法を実行するように設計されていてもよい。車載ネットワークは、車載ネットワークに一時的にのみ含まれるデバイス(例えば、車両にあり、車載ネットワークに統合されているモバイルデバイス)を含んでもよい。
【0090】
上述したように、ソフトウェアの改竄を軽減するための中央デバイスは、スタンドアロンデバイス(すなわち、車載ネットワークの一部であり、車載ネットワークの他のコンポーネントと通信することができる、独自のハードウェアおよびソフトウェアリソースを備えた専用モジュール)であってもよい。しかし、他の場合には、ソフトウェアの改竄を軽減するための中央デバイスは、車載ネットワークの別の(既存の)コンポーネントに統合されている。このとき、ソフトウェアの改竄を軽減するための中央デバイスは、ソフトウェアモジュール(コンポーネントのソフトウェアに挿入されるモジュール)として構成されていてもよい。他の場合には、ソフトウェアの改竄を軽減するための中央デバイスは、(その中央デバイスが統合されているコンポーネントの他のハードウェアコンポーネントを一緒に利用しながら)少なくともいくつかの専用ハードウェアコンポーネントを備えることができる。同様に述べたように、他のコンポーネントは、車載ネットワークの中央通信インターフェース、中央コンピュータ(「車両コンピュータ」)、または比較的高性能なハードウェアを備えた別のコンポーネントであってもよい。
【0091】
いくつかの例では、車載ネットワークの既存のコンポーネント(例えば、車両もしくは車両のドメインの中央通信インターフェース、車両の中央コンピュータ、またはインフォテインメントシステムのヘッドユニット)を、車載ネットワークのコンポーネントのソフトウェアの更新によって、ソフトウェアの改竄を軽減するための中央デバイスとして構成することができる。
【0092】
ソフトウェアの改竄を軽減するための中央デバイスまたはそれが統合されている別のコンポーネントは、少なくとも1つのプロセッサ(場合によっては複数のコアを備える)と、プロセッサによって実行されるときに本開示の方法のステップを実行する命令を含むメモリとを含んでもよい。
【0093】
本開示はさらに、本開示によるシステムを含む、もしくはその一部である、および/または本開示による車載ネットワークを含む車両に関する。
本開示はさらに、本開示の方法を実行するように設計されているコンピュータプログラムに関する。
【0094】
本開示はさらに、本開示のコンピュータプログラムを含むコンピュータ可読媒体(例えばDVDまたは固体メモリ)に関する。
本開示はさらに、本開示のコンピュータプログラムを符号化する信号(例えば、無線または有線通信プロトコルによる電磁信号)に関する。
【符号の説明】
【0095】
20 車両
21、22 通信インターフェース
24 中央制御ユニット
21~24、25、27a~f 複数のコンポーネント
25 ソフトウェアの改竄を軽減するための中央デバイス/車載ネットワークの中央通信インターフェース
26a~n ドメイン
27a~f コンポーネント/制御装置
30 遠隔システム/車両または外部システム
31 ソフトウェアバンドルまたはソフトウェアコンテナ
32a、32c~n ソフトウェア更新情報
41 永続的メモリ
42a、42c~n ソフトウェアコンポーネント
52c ソフトウェアコンポーネント/ソフトウェア
53a、53b ソフトウェアコンポーネント52cの一部
61b 検出デバイス
71 ソフトウェアコンポーネント
81a 検出デバイス
81a、81b ソフトウェアコンポーネント71の一部
【外国語明細書】