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

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

▶ 株式会社デンソーの特許一覧

<>
  • 特許-電子デバイスの不正使用検出 図1
  • 特許-電子デバイスの不正使用検出 図2
  • 特許-電子デバイスの不正使用検出 図3
  • 特許-電子デバイスの不正使用検出 図4
  • 特許-電子デバイスの不正使用検出 図5
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-05-13
(45)【発行日】2024-05-21
(54)【発明の名称】電子デバイスの不正使用検出
(51)【国際特許分類】
   G06F 21/75 20130101AFI20240514BHJP
   G06F 21/55 20130101ALI20240514BHJP
【FI】
G06F21/75
G06F21/55 320
【請求項の数】 17
(21)【出願番号】P 2023014748
(22)【出願日】2023-02-02
(65)【公開番号】P2023131111
(43)【公開日】2023-09-21
【審査請求日】2023-02-02
(31)【優先権主張番号】17/689,287
(32)【優先日】2022-03-08
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】000004260
【氏名又は名称】株式会社デンソー
(74)【代理人】
【氏名又は名称】矢作 和行
(74)【代理人】
【識別番号】100121991
【弁理士】
【氏名又は名称】野々部 泰平
(74)【代理人】
【識別番号】100145595
【弁理士】
【氏名又は名称】久保 貴則
(72)【発明者】
【氏名】キャシャニー アミア
(72)【発明者】
【氏名】アイアー ゴパラクリシュナン
【審査官】平井 誠
(56)【参考文献】
【文献】特開2019-179991(JP,A)
【文献】特開2020-187443(JP,A)
【文献】米国特許第09092621(US,B2)
【文献】再公表特許第2020/100307(JP,A1)
【文献】米国特許出願公開第2021/0232686(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/00-88
(57)【特許請求の範囲】
【請求項1】
1つ以上のプロセッサと、
1つ以上のプロセッサに通信可能に結合されたメモリと、を備え、
メモリは、1つ以上のプロセッサによる実行時に、1つ以上のプロセッサに、
デバイス内で観察された異常に関する障害ステータスを取得させる命令と、
観察された異常は、デバイスへの不正アクセスに関連するものであり、
障害ステータスが障害しきい値を満たすかどうかを識別するために障害ステータスを分析させる命令と、及び
障害ステータスが不正アクセスの存在を示す障害しきい値を満たしている場合に、反応を起動させる命令と、を含む制御モジュールを格納し、
制御モジュールは、デバイスの回路内の電気的アクティビティと関連付けられるデバイスのターゲット信号を測定し、偏差を得るためにターゲット信号を期待値と比較することによってターゲット信号が期待値から逸脱しているかを決定する命令を含む、障害ステータスを取得する命令を含み
制御モジュールは、不正使用が発生していない動作条件下でターゲット信号の測定値を取得し、取得した測定値に基づいて、期待値を定義する、セキュリティシステム。
【請求項2】
制御モジュールは、デバイスの電気的特性とデバイスのシステム動作との少なくとも1つを含む、デバイス内のアクティビティを監視する命令を含む、障害ステータスを取得する命令を含む、請求項1に記載のセキュリティシステム。
【請求項3】
制御モジュールは、ターゲット信号を検知デバイスに接続するために、監視される信号のグループの中から、ターゲット信号を選択するようにマルチプレクサを制御する命令を含む、ターゲット信号を測定する命令を含む、請求項に記載のセキュリティシステム。
【請求項4】
制御モジュールは、ターゲット信号の偏差が偏差しきい値を満たすことに応じて、障害ステータスを更新する命令を含み、障害ステータスは、期待値からのターゲット信号の集積された偏差を追跡する、請求項に記載のセキュリティシステム。
【請求項5】
制御モジュールは、メモリからのコンテンツの削除、デバイスのさらなる動作からのロックの少なくとも1つを実行することにより、不正アクセスを沈静化するようにデバイスを制御する命令を含む、反応を起動する命令を含む、請求項1に記載のセキュリティシステム。
【請求項6】
観察される異常は、繰り返されるパワーサイクル、障害の数、電子制御ユニット(ECU)からのハートビートを含む欠落した応答情報、及び、偏差しきい値を満たす電気的特性を含む、請求項1に記載のセキュリティシステム。
【請求項7】
セキュリティシステムは、デバイス内に組み込まれる、請求項1に記載のセキュリティシステム。
【請求項8】
1つ以上のプロセッサによる実行時に、1つ以上のプロセッサに、
デバイス内で観察された異常に関する障害ステータスを取得させ、
観察された異常は、デバイスへの不正アクセスに関連するものであり、
障害ステータスが障害しきい値を満たすかどうかを識別するために障害ステータスを分析させ、そして
障害ステータスが不正アクセスの存在を示す障害しきい値を満たしている場合に、反応を起動させる、命令を格納するものであり、
命令は、デバイスの回路内の電気的アクティビティと関連付けられるデバイスのターゲット信号を測定し、偏差を得るためにターゲット信号を期待値と比較することによってターゲット信号が期待値から逸脱しているかを決定する命令を含む、障害ステータスを取得する命令を含み、
期待値は、不正使用が発生していない動作条件下でターゲット信号の測定値を取得し、取得した測定値に基づいて、定義される、非一時的コンピュータ可読媒体。
【請求項9】
命令は、デバイスの電気的特性とデバイスのシステム動作との少なくとも1つを含む、デバイス内のアクティビティを監視する命令を含む、障害ステータスを取得する命令を含む、請求項に記載の非一時的コンピュータ可読媒体。
【請求項10】
命令は、ターゲット信号を検知デバイスに接続するために、監視される信号のグループの中から、ターゲット信号を選択するようにマルチプレクサを制御する命令を含む、ターゲット信号を測定する命令を含む、請求項に記載の非一時的コンピュータ可読媒体。
【請求項11】
命令は、ターゲット信号の偏差が偏差しきい値を満たすことに応じて、障害ステータスを更新する命令を含み、障害ステータスは、期待値からのターゲット信号の集積された偏差を追跡する、請求項に記載の非一時的コンピュータ可読媒体。
【請求項12】
少なくとも1つのプロセッサによって実行される方法であって、
デバイス内で観察された異常に関する障害ステータスを取得すること、
観察された異常は、デバイスへの不正アクセスに関連するものであり、
障害ステータスが障害しきい値を満たすかどうかを識別するために障害ステータスを分析すること、及び
障害ステータスが不正アクセスの存在を示す障害しきい値を満たしている場合に、反応を起動すること、を備え、
障害ステータスを取得することは、デバイスの回路内の電気的アクティビティと関連付けられるデバイスのターゲット信号を測定し、偏差を得るためにターゲット信号を期待値と比較することによってターゲット信号が期待値から逸脱しているかを決定することを含み、
期待値は、不正使用が発生していない動作条件下でターゲット信号の測定値を取得し、取得した測定値に基づいて、定義される、方法。
【請求項13】
障害ステータスを取得することは、デバイスの電気的特性とデバイスのシステム動作との少なくとも1つを含む、デバイス内のアクティビティを監視することを含む、請求項12に記載の方法。
【請求項14】
ターゲット信号を測定することは、ターゲット信号を検知デバイスに接続するために、監視される信号のグループの中から、ターゲット信号を選択するようにマルチプレクサを制御することを含む、請求項12に記載の方法。
【請求項15】
ターゲット信号の偏差が偏差しきい値を満たすことに応じて、障害ステータスを更新することをさらに備え、
障害ステータスは、期待値からのターゲット信号の集積された偏差を追跡する、請求項12に記載の方法。
【請求項16】
反応を起動することは、メモリからのコンテンツの削除と、デバイスのさらなる動作からのロックとの少なくとも1つを実行することにより、不正アクセスを沈静化するようにデバイスを制御することを含む、請求項12に記載の方法。
【請求項17】
観察される異常は、繰り返されるパワーサイクル、障害の数、電子制御ユニット(ECU)からのハートビートを含む欠落した応答情報、及び、偏差しきい値を満たす電気的特性を含む、請求項12に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
本明細書で説明する主題は、概して、電子デバイスへの不正アクセスを監視するためのシステム及び方法に関し、より具体的には、電子デバイスの不正使用の試みを識別し、不正使用の試みを沈静化する反応を提供することに関する。
【背景技術】
【0002】
ライフサイクル全体にわたって物理的な電子デバイスへの脅威は数多くあり、進化している。例えば、車両が消費者に販売される場合のように、デバイスが販売される場合、車両の管理は新しい所有者のみが行う。ただし、車両には、多くの異なるモジュールやその他の電子部品が含まれており、これらには企業秘密や、製造業者が秘密を保持したい機密情報が含まれている可能性がある。いずれにせよ、一部の悪意を持つ者が車両からモジュールを取り外し、リバースエンジニアリングやモジュールからの情報の取得を行うために、複雑なテストベンチを使用してモジュールを調査する可能性がある。例えば、このような攻撃には、電力やクロック信号などを注入して、応答を検知し、モジュールがどのように機能するかを特定することが含まれる。
【発明の概要】
【発明が解決しようとする課題】
【0003】
一般に、このような攻撃を防止するアプローチには、モジュールのプライマリ処理ユニットのために、特定の種類の攻撃のみに対して限定的な保護を提供する、チップパッケージへの物理的な変更が含まれる。このように、モジュールは、設計、情報などの保護された特徴を露わにし得る敵対的攻撃に対して脆弱なままである。
【課題を解決するための手段】
【0004】
一実施形態において、電子デバイスを不正使用しようとする試みを識別し、そのような試みから電子デバイスを保護することに関する例示的なシステム及び方法が開示される。前述したように、さまざまな敵対的攻撃には、電子デバイスを直接的に操作する試みが含まれ得る。すなわち、例えば、敵対者は、車両内の回路基板からシステムオンチップ(SoC)などのモジュールを取り外し、そのモジュールを敵対者がモジュールを操作しようと試みることができるテストベンチ又は他のセットアップに配置する可能性がある。この場合、敵対者は、電気信号をモジュールに独立して注入することができ、そしてピンの出力を検出することができる、モジュールのピンへの個別の接続を行う可能性がある。かくして、攻撃には、悪用できる特定の出力を識別する、ピンに異なる信号を注入して出力を検出する、電気的シグネチャ(すなわち、信号フィンガープリンティング)をモニタする、電圧、電流、インピーダンスを直接測定する等が完了するまで、繰り返し周期的に電力を入力して、モジュールをリブートすることが含まれる可能性がある。従って、攻撃は多数かつ広範囲に及ぶ可能性がある。さらに、攻撃者は、これらの攻撃を通じて、暗号化キーや機密ソフトウェアなどの機密情報を抽出したり、及び/又はASIC、アンテナなどの設計のような、モジュールの設計をリバースエンジニアリングしたりすることができる。
【0005】
従って、一実施形態では、開示されたアプローチは、電子デバイスへの不正アクセスを得ようとする悪意のある試みを阻止するためのメカニズムを含む。1つの構成では、アプローチは、いつ攻撃が発生したかを感知するため、電子デバイスが様々な信号を監視することを含み、それにより、デバイスをそれ以上の活動からロックするなど、様々な反応を起動することができる。例えば、電子デバイスは、様々なI/Oピン上の信号、様々なコンポーネントからの信号、障害の発生、ネットワーク信号の存在、電源リセットカウントなどの異なるターゲット信号を監視することができる。システムは、ターゲット信号を測定し、その測定値を既知の変動と比較して、ターゲット信号がいつ異常となったかを識別することができる。かくして、デバイスは、障害ステータスを更新して、観察された異常の発生を追跡することができ、障害ステータスが不正アクセスに対応するアクティビティのパターンを示している場合、デバイスは反応を起動することができる。反応には、メモリから機密情報を削除する、プログラムメモリを削除する、アンロックされるまでデバイスがさらなる機能を実行しないようにロックするなどのような、電子デバイスによる1つ以上のアクションが含まれ得る。このようにして、前述のメカニズムは、悪意のある攻撃から電子デバイスを保護するように機能する。
【0006】
一実施形態では、セキュリティシステムが開示される。セキュリティシステムは、1つ以上のプロセッサと、1つ以上のプロセッサに通信可能に結合されたメモリとを含む。メモリは、1つ以上のプロセッサによる実行時に、1つ以上のプロセッサに、デバイス内で観察された異常に関する障害ステータスを取得させる命令を含んだ制御モジュールを格納する。観察された異常は、デバイスへの不正アクセスに関連する。制御モジュールは、障害ステータス分析して、障害ステータスが障害しきい値を満たすかどうかを識別するための命令を含む。制御モジュールは、障害ステータスが不正アクセスの存在を示す障害しきい値を満たしている場合に、反応を起動するための命令を含む。制御モジュールは、デバイスの回路内の電気的アクティビティと関連付けられるデバイスのターゲット信号を測定し、偏差を得るためにターゲット信号を期待値と比較することによってターゲット信号が期待値から逸脱しているかを決定する命令を含む、障害ステータスを取得する命令を含む。制御モジュールは、不正使用が発生していない動作条件下でターゲット信号の測定値を取得し、取得した測定値に基づいて、期待値を定義する。
【0007】
一実施形態では、非一時的なコンピュータ可読媒体が開示される。コンピュータ可読媒体は、1つ以上のプロセッサによる実行時に、1つ以上のプロセッサに、開示された機能を実行させる命令を格納する。命令は、デバイス内で観察された異常に関する障害ステータスを取得するための命令を含む。観察された異常は、デバイスへの不正アクセスに関連する。命令は、障害ステータス分析して、障害ステータスが障害しきい値を満たすかどうかを識別するための命令を含む。命令は、障害ステータスが不正アクセスの存在を示す障害しきい値を満たしている場合に、反応を起動するための命令を含む。命令は、デバイスの回路内の電気的アクティビティと関連付けられるデバイスのターゲット信号を測定し、偏差を得るためにターゲット信号を期待値と比較することによってターゲット信号が期待値から逸脱しているかを決定する命令を含む、障害ステータスを取得する命令を含む。期待値は、不正使用が発生していない動作条件下でターゲット信号の測定値を取得し、取得した測定値に基づいて、定義される。
【0008】
一実施形態では、方法が開示される。一実施形態において、方法は、デバイス内で観察された異常に関する障害ステータスを取得することを含む。観察された異常は、デバイスへの不正アクセスに関連する。方法は、障害ステータスが障害しきい値を満たすかどうかを識別するために、障害ステータスを分析することを含む。方法は、障害ステータスが不正アクセスの存在を示す障害しきい値を満たす場合に、反応を起動することを含む。障害ステータスを取得することは、デバイスの回路内の電気的アクティビティと関連付けられるデバイスのターゲット信号を測定し、偏差を得るためにターゲット信号を期待値と比較することによってターゲット信号が期待値から逸脱しているかを決定することを含む。期待値は、不正使用が発生していない動作条件下でターゲット信号の測定値を取得し、取得した測定値に基づいて、定義される。
【図面の簡単な説明】
【0009】
本明細書に組み込まれ、その一部を構成する添付の図面は、本開示の様々なシステム、方法、及び他の実施形態を示す。図において示される要素の境界(例えば、ボックス、ボックスのグループ、又は他の形状)は、境界の一実施形態を表すことを理解されたい。いくつかの実施形態では、1つの要素が複数の要素として設計されても良く、又は複数の要素が1つの要素として設計されても良い。いくつかの実施形態では、別の要素の内部コンポーネントとして示されている要素が、外部コンポーネントとして実現されても良いし、その逆であっても良い。さらに、要素はスケール通りに描かれていない場合がある。
【0010】
図1】例示的なシステム及び方法を実施することができる車両の構成の一実施形態を示す。
図2】異常信号を監視し、不正アクセスの発生を決定することに関連するセキュリティシステムの一実施形態を示す。
図3】セキュリティシステムのサブモジュールの一例を示す。
図4】電子デバイスの不正使用を識別し、それに反応することに関連する方法の一実施形態を示す。
図5】信号データベース内の値を較正して、電子デバイス内の信号のベースラインシグネチャを識別することに関連する方法の一例を示す。
【発明を実施するための形態】
【0011】
電子デバイスを不正使用しようとする試みを識別し、そのような試みから電子デバイスを保護することに関連するシステム、方法、及び他の実施形態が開示される。前述したように、様々な敵対的攻撃には、電子デバイスを直接的に操作しようとする試みが含まれ得る。つまり、例えば、攻撃者は、システムオンチップ(SoC)などのモジュールを回路基板から取り外し、そのモジュールについて、攻撃者がモジュールを操作し、デバイスからの情報のダウンロード、及び/又はデバイスのリバースエンジニアリングを容易にする操作への応答を解読することを試みることができるテストを行うことができる。
【0012】
例えば、この種の不正使用には、テストベッドからモジュールのピンへのワイヤの個別の手動接続が含まれ得る。次いで、テストベッドは、ピン上に様々な特性を有する電気信号を生成し、それに応答する出力を検出することができる。さらなる例では、攻撃には、悪用される可能性のある特定の出力を識別する、様々な信号をピンに注入して出力を検出する、電気シグネチャ(例えば、電圧の相違など)をモニタする、電力消費を分析する、及び/又は、モジュールがどのように機能し、又は入力の変化に応答するかの他の特性を直接的に測定するまで、繰り返し周期的に電力を入力して、モジュールをリブートすることが含まれ得る。このように、攻撃は、特定のアプローチとモジュールの構成によって異なり得る。その結果、敵対者は、暗号化キー、機密ソフトウェアなどを含む機密情報を抽出することができ、及び/又は、この種の攻撃から得られる情報を使用して、ASIC、アンテナなどの設計のようなモジュールの設計をリバースエンジニアリングすることができる。
【0013】
従って、一実施形態の、開示されたアプローチは、不正なアクセスを得ようとする悪意のある試みを阻止するために、電子デバイス内にアクティブなメカニズムを実装することを含む。1つの構成では、いつ攻撃が発生したかを感知するため、電子デバイスは様々な信号を監視し、それにより、デバイスをそれ以上の活動からロックするなど、異なる反応を起動することができる。例えば、電子デバイスは、様々なI/Oピン上の信号、様々なコンポーネントからの信号、障害の発生、ネットワーク信号の存在、電源リセットカウントなどのような、様々なターゲット信号を監視することができる。システムは、ターゲット信号を測定し、その測定値を既知の変動と比較して、ターゲット信号がいつ異常となるかを識別することができる。例えば、電子デバイスは、デバイス内の多くの異なる信号との接続を提供するために、マルチプレクサを介してルーティングされ得る信号を感知するために、既存のコンポーネント(例えば、ADC)を活用する。
【0014】
かくして、デバイスは障害ステータスを更新して、観察された異常(つまり予期しない値を持つ信号)の発生を追跡することができ、障害ステータスが不正アクセスに対応するアクティビティのパターンを示している場合、デバイスは反応を起動することができる。反応には、メモリから機密情報を削除する、プログラムメモリを削除する、アンロックされるまでデバイスがさらなる機能を実行しないようにロックするなどのような、電子デバイスによる1つ以上のアクションが含まれ得る。このようにして、前述のメカニズムは、不正使用の事象を認識し、そのアクティビティに対して積極的に対応することによって、悪意のある攻撃から電子デバイスを保護するように機能する。
【0015】
図1を参照すると、車両100の一例が示されている。本明細書で使用される場合、「車両」は、任意の形態の動力輸送機である。1つ以上の実施形態では、車両100は自動車である。本明細書では自動車に関して構成を説明するが、実施形態は自動車に限定されないことを理解されたい。いくつかの実装形態では、車両100に代えて、輸送インフラストラクチャ(たとえば路側機)に関連付けられた電子デバイス、モバイルデバイスと通信するクラウドベースのシステム、又は関連デバイスの機能的安全性を含むプログラムを実行することができる他のデバイスとすることができ、本明細書で説明する機能から恩恵を受ける。
【0016】
車両100は、様々な要素も含む。様々な実施形態において、車両100は、図1に示される要素のすべてを有していない場合があることが理解されたい。車両100は、図1に示される様々な要素の異なる組み合わせを有することができる。さらに、車両100は、図1に示される要素に対して、追加の要素を有することができる。いくつかの構成では、車両100は、図1に示される1つ以上の要素を有することなく、実現され得る。図1では、様々な要素が車両100内に配置されているように示されているが、これらの要素の1つ以上を車両100の外部に配置できることを理解されたい。さらに、示されている要素は物理的に大きな距離だけ離されて、リモートサービス(例えば、クラウドコンピューティングサービス)として提供されても良い。
【0017】
車両100の可能な要素のいくつかが図1に示されており、これらは、後続の図とともに説明される。図1の要素の多くに関する説明は、この説明を簡潔にするために、図2図5の説明の後に提供される。さらに、説明を簡単かつ明確にするために、必要に応じて、対応する、類似の、又は同様の要素を示すために、異なる図面間で参照番号が繰り返されることを理解されたい。さらに、本明細書に記載の実施形態は、記載された要素の様々な組み合わせを使用して実施できることを理解されたい。
【0018】
いずれの場合も、車両100は、不正使用に対する電子デバイスのセキュリティを改善するように機能するセキュリティシステム170を含む。さらに、スタンドアロンのコンポーネントとして示されているが、1つ以上の実施形態では、セキュリティシステム170は、車両100の特定のモジュールと統合される。例えば、車両100内の電子制御ユニット(ECU)などの個別のモジュールは、車両100を救出するとき/救出する場合の動作を容易にするために、セキュリティシステム170の個別のインスタンスを含む。かくして、セキュリティシステム170は、概して、車両100内の個別のモジュールのサブコンポーネントとして実現される。言及された機能及び方法は、図のさらなる説明によってより明らかになる。
【0019】
図2を参照すると、セキュリティシステム170の一実施形態がさらに示されている。示されるように、セキュリティシステム170は、プロセッサ110を含む。このように、プロセッサ110は、セキュリティシステム170の一部であっても良いし、セキュリティシステム170は、データバス又は別の通信経路を介してプロセッサ110にアクセスしても良い。1つ以上の実施形態では、プロセッサ110は、制御モジュール220に関連する機能を実行するように構成された特定用途向け集積回路である。より一般的には、1つ以上の態様では、プロセッサ110は、セキュリティシステム170に関連するコード化された機能を実行するとき、本明細書で説明される様々な機能を実行することが可能な、電子制御ユニット(ECU)、マイクロプロセッサ、又は、システムオンチップ(SoC)内のコンポーネントなどの電子プロセッサである。
【0020】
いずれの場合も、セキュリティシステム170は、後でさらに説明されるように、セキュリティシステム170が電子デバイス内の状態を監視及び検知できるように、SoC、ECU、又は別の処理ユニット/モジュールなどの電子デバイスと統合されることを理解されたい。一実施形態では、セキュリティシステム170は、制御モジュール220、及び、様々な構成において、較正値、信号データベース、しきい値などを含む追加の要素を格納するメモリ210を含む。メモリ210は、ランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、ハードディスクドライブ、フラッシュメモリ、又は制御モジュール220を格納するための別の適切なメモリである。制御モジュール220は、例えば、プロセッサ110による実行時に、プロセッサ110に本明細書に開示される様々な機能を実行させるコンピュータ可読命令である。1つ以上の実施形態では、モジュール220は、メモリ210に組み込まれた命令であるが、さらなる態様では、モジュール220は、説明される機能の1つ以上を独立して実行するための処理コンポーネント(例えば、コントローラ)、回路などのハードウェアを含む。このように、制御モジュール220は、メモリ210内の命令として、又はシステムオンチップ(SoC)、ASIC、又は別のデバイスなどのスタンドアロンコンポーネントとして具現化され得る。
【0021】
さらに、一実施形態では、セキュリティシステム170は、データストア230を含む。データストア230は、1つの構成では、情報を格納するための電子ベースのデータ構造である。例えば、1つのアプローチにおいて、データストア230は、メモリ210又は別の適切な電子記憶媒体(例えば、RAM、ROM、オンチップキャッシュなど)に記憶され、記憶されたデータを分析し、記憶されたデータを提供し、記憶されたデータを組織化するなどのためにプロセッサ110によって実行され得るルーチンで構成される、データベースである。いずれの場合も、1つの構成において、データストア230は、様々な機能を実行する際に制御モジュール220によって使用されるデータを格納する。一実施形態では、データストア230は、例えば、制御モジュール220によって使用される他の情報とともに信号データベース(DB)240を含む。後でより詳細に説明するように、信号DB240は、1つ以上のアプローチにおいて、電子デバイス内の識別されたターゲット信号に関連する値を格納する。追加的に、又は代替的に、信号DB240は、ターゲット信号の値を推測するようにトレーニングされた機械学習アルゴリズムである信号モデルを格納する。いずれにせよ、信号DB240は、期待される範囲内にあるターゲット信号の値を識別するための比較点を提供する。
【0022】
このように、制御モジュール220は、概して、プロセッサ110を制御して、関連する電子デバイス(例えば、ECU)を監視するように機能する命令を含む。さらなる態様では、制御モジュール220はまた、敵対的アクセスを阻止しようとする試みにおいて、観察された異常に反応して、電子デバイスを保護する。追加の説明として、制御モジュール220のサブコンポーネントと組み合わされた電子制御ユニット(ECU)300を示す図3を考察する。大まかに言えば、ECU300のコンポーネントは、ADAS機能、エンジン制御機能、インフォテインメント機能など、車両100内で様々なタスクを実行するように機能することができる。従って、図示のように、ECU300は、プロセッサ110、デジタル/アナログ変換器(DAC)305、アナログ/デジタル変換器(ADC)310、トランシーバ(TXVR)315、入出力接続320、及び他の様々なコンポーネント(例えば、メモリなど)のような、様々なコンポーネントを含み、ECU300に関連する機能を達成する。追加の注記として、I/O終端325は、ネットワークコンポーネント、他のモジュール(例えば、電力管理)など、ECU300が通信接続を共有することができる様々な他のコンポーネントを識別するために提供される。
【0023】
図3に示されるさらなるコンポーネントは、概して、検知コンポーネント(例えば、DAC305、ADC310など)をI/O320の様々なピン、及び/又は他の内部経路に接続するように機能するマルチプレクサ330のような、制御モジュール220の機能をサポートするためのコンポーネントを含む。従って、本明細書で説明されるように、マルチプレクサ330は、異なる電気経路を検知コンポーネントと選択的に接続するように機能するデバイスである。障害モニタ335は、1つ以上の構成において、概して、制御モジュール220の監視機能を実行するように機能する。例えば、1つのアプローチでは、障害モニタ335は、ECU300の様々なターゲット信号を監視するように機能する。ターゲット信号は、例として、I/O320上の信号(例えば、ネットワーク信号、ハートビート信号など)、障害コード、リセット信号(例えば、電源のリセット)などを含む。このように、障害モニタ335は、マルチプレクサ330の選択に従って信号ハンドラ340からターゲット信号を取得し、ターゲット信号が偏差しきい値を満たすか、又はそれぞれの信号について異常な挙動を示すかを決定する。
【0024】
障害モニタ335は、通常、ターゲット信号又は少なくともターゲット信号の測定値(例えば、電圧、電流など)を異なる時間に選択的に提供するように、信号ハンドラ340及びマルチプレクサを制御する。すなわち、障害モニタ335は、その時点で操作の焦点となり得るECU300の特定の態様を監視するために、起動時に特定のターゲット信号のセットを選択しても良い。さらに、障害モニタ335は、DAC305/ADC310からターゲット信号又はターゲット信号の測定値を連続的に取得することができる。同様に、障害モニタ335は、ネットワーク通信からターゲット信号、プロセッサ110から直接的にステータス信号などを取得することができる。一般に、障害モニタ335が観察する異なるターゲット信号は、記載された例によって限定されることを意図したものではなく、単なる例示に過ぎない。
【0025】
いずれの場合でも、制御モジュール220によって実装される障害モニタ335は、ターゲット信号の測定値を取得し、また信号ハンドラ340を制御して、信号DB240からターゲット信号の関連する期待値を取得する。障害モニタ335は、少なくとも1つのアプローチにおいて、ターゲット信号を関連する期待値又は値の範囲と比較して、ターゲット信号がいつ偏差しきい値を満たすかを決定する。1つ以上の構成では、偏差しきい値は、その外側では、ターゲット信号が異常であるとみなされる期待値に関連付けられた許容範囲を定義する(例えば、潜在的に不正使用イベントに関連付けられる)。もちろん、個別の信号について説明されるが、障害モニタ335は、信号のグループが組み合わせて偏差しきい値を満たすとき、障害コードが存在するとき、リセットが発生するときなどを決定することができる。このように、個別の信号の特性を単に監視するだけでなく、障害モニタ335は、様々なシステム状態を監視して、状態の発生(例えば、複数のリセットサイクル、ロード時間など)が、偏差しきい値ごとに、正常であるか異常であるかを決定することができる。
【0026】
さらに別の構成では、障害モニタ335は、不正使用イベントの学習された特性に従ってターゲット信号を処理して、信号がいつ偏差しきい値を満たすかを識別する、機械学習(ML)アルゴリズムを実装しても良い。例えば、MLアルゴリズムはターゲット信号を入力として受け入れ、不正使用イベントを示す、学習した信号のフィンガープリント及び/又はターゲット信号の特定の態様の組み合わせの発生に従って、信号が異常であるかどうかについての推論を提供する。さらに別の態様では、障害モニタ335は、プロセッサ110と統合されたコイルループ、導電性トレースのメッシュなどを含み得る、ECU300の追加の周辺機器から追加の入力を取得する。追加の周辺機器は、不正アクセスを得ようとする試みの一部として、ECU300に適用される可能性がある外的な電磁異常に関するさらに別の入力を提供する。いずれにせよ、観測されたターゲット信号が偏差しきい値を満たすとき、障害モニタ335は、障害カウンタ345をインクリメントし、及び/又は、少なくとも1つのアプローチにおいて、障害ステータスレジスタに格納された障害ステータスを更新する。
【0027】
従って、障害ステータスは、1つ以上の構成において、一般に、ECU300で観測された異なるターゲット信号に関して、障害モニタ335による観測を追跡する。偏差しきい値を満たすターゲット信号の単一の事象を識別することは、必ずしも不正使用イベントを示すとは限らないため(例えば、自然に発生する電磁ノイズ、放射などによる可能性があるため)、障害モニタ335は、障害ステータスを使用して事象を探知する。それゆえ、障害ステータスに対する引き続く更新により、障害モニタ335は、状態がいつ障害しきい値を満たすかを決定することができる。障害しきい値は、少なくとも1つのアプローチにおいて、組み合わされたターゲット信号の特性(すなわち、観察された偏差)が、いつ障害モニタが反応すべき不正使用の事象に達するかを示す。例として、障害しきい値は、定義された時間を超えるブート時間、定義された期間内のn回のリセット、定義された時間のハートビート信号の不在/欠落などに従って不正使用イベントを定義することができる。さらに別の例では、障害しきい値は、ハートビート信号の不在に伴う定義された時間内の複数のリセットなど、ターゲット信号の組み合わせを不正使用イベントの事象として定義しても良い。さらに別の例として、障害しきい値は、定義された電圧を超える又は下回る、I/O320の入力ピン上の複数のターゲット信号を、不正使用イベントを示すものとして定義しても良い。
【0028】
事象又は事象の組み合わせのいずれであっても、障害モニタ335ごとの障害しきい値を満たすと、障害モニタ335は、障害回復ユニット355に従って不正使用イベントに反応することができる。すなわち、障害モニタ335は、1つ以上の構成において、メモリの内容をゼロ化又は削除することによって不正使用イベントに反応する。様々なアプローチにおいて、削除される特定の情報は選択的であり得る。すなわち、1つのアプローチでは、障害回復ユニット355は、ECU300のすべてのメモリを削除しても良いが、別の例では、障害回復ユニット355は、暗号鍵、個人識別情報(PII)などの機密情報のみを削除しても良い。障害モニタ335はさらに、認証されたメッセージ(マジックパケット)が受信されるまで、又は別の形態の認証された入力(例えば、電子キー)が継続的な動作が許容可能であることを検証するまで、ECU300がさらなる機能を実行することからロックしても良い。1つのアプローチでは、障害モニタ335はデフォルトでセキュア更新モードに設定され、メモリを更新してセキュアモードからECU300を再起動できる認証済みソースからの無線更新を可能にする。いずれにせよ、障害モニタ335は、不正使用イベントの回避を容易にするECU300の改善されたセキュリティを実行するように機能する。
【0029】
ECUの内部信号を監視することによって不正使用に対して電子デバイスを保護する追加の態様が、図4に関連して説明される。図4は、適応可能なカナリア値の実装に関連する方法400を示している。方法400は、図1のセキュリティシステム170の観点から説明される。方法400はセキュリティシステム170と組み合わせて説明されるが、方法400はセキュリティシステム170内で実施されることに限定されず、方法400を実施できるシステムの一例であることを理解されたい。
【0030】
410において、制御モジュール220は障害ステータスを取得する。様々な構成において、障害ステータスの取得には、さまざまな異なるタスクが含まれる場合がある。図3で説明した実施形態に関して、障害モニタ335は、障害ステータスレジスタ350から障害ステータスを取得する。さらなる態様では、制御モジュール220は、プロセッサ110に関連付けられたキャッシュ又は別のメモリなどの別の記憶場所から障害ステータスを取得する。従って、障害ステータスを取得することは、レジスタ又はメモリ位置を単に読み取って、電子デバイスへの不正アクセスに関連する観察された異常に関する情報を引き出すことを含み得る。
【0031】
さらに別の実施形態では、制御モジュール220は、記憶された観察に従って障害ステータスを導出する。すなわち、制御モジュール220は、追跡された逸脱/異常を入力として使用し、ソフト決定(例えば、確率)であり得る障害ステータスの決定を出力する、機械学習アルゴリズム又は別の計算モデルを実装しても良い。従って、制御モジュール220が追加の偏差/異常を検出するときはいつでも、制御モジュール220は障害ステータスを更新することができる。
【0032】
いずれの場合でも、制御モジュール220は、電子デバイスの電気的特性及び電子デバイスのシステム動作を含む、電子デバイス内の活動を監視して、障害ステータスの決定を導き出す。従って、概して、障害ステータスは、システム内で観察されたさまざまな障害の状態を維持するために、期待値からのターゲット信号の累積偏差を追跡する。このように、障害ステータスは、電子デバイス内で測定された様々な物理的特性を集約する。
【0033】
420で、制御モジュール220は、障害ステータスが障害しきい値を満たすかどうかを決定する。様々な構成において、障害しきい値は、集積された事象が電子デバイスを不正使用しようとする試みに達したときを示す、観測された異常/偏差の特徴に関連する。従って、障害しきい値は、特定の実施形態に応じて異なる形式を取る場合がある。例えば、測定された情報にモデルを適用して障害ステータスを推定する場合、障害しきい値は、不正使用イベントの事象を特定するための最小確率(例えば、60%)を示しても良い。
【0034】
障害ステータスが集積された測定値を特定するさらなるアプローチでは、障害しきい値は、集積された測定値を評価するための複数の個別の要素を示すことができる。例えば、障害しきい値は、定義された期間内のパワーサイクルの繰り返し回数、パワーサイクル間の時間、ターゲット信号のインピーダンス値、様々な周波数応答、ターゲット信号の電圧範囲などを示すことができる。さらに、別のアプローチでは、障害ステータスは、期待値を超える様々なピン上のターゲット信号の観測も行ないながら、定義された特性(例えば、電圧、インピーダンスなど)を超えるターゲット信号の数、定義された期間中のパワーサイクルの数など、前述の要素の組み合わせを示す。概して、障害しきい値は、不正使用イベント中に電子デバイス内で発生する状態の統計分析に従って導き出すことができる。従って、障害しきい値は、不正使用イベントが発生しているときを示すために、複数の別個の特性及び/又は別個の個々の特性を定義することができる。
【0035】
いずれにせよ、制御モジュール220が、障害ステータスは障害しきい値を満たしていると決定した場合、制御モジュール220は、470へ進んで反応を提供する。そうでない場合、制御モジュール220は、430~460で監視を続ける。
【0036】
430において、制御モジュール220は、電子デバイスのターゲット信号を測定する。一般に、ターゲット信号は、電子デバイスのI/Oピンでの活動など、電子デバイスの回路内の電気的活動に関連付けられる。本明細書で使用されるように、ターゲット信号は、障害信号、リセット信号、割り込みなどのプロセッサ110自体からの信号にも関連する。さらに、制御モジュール220は、測定を容易にするために、電子デバイス内の1つ以上のコンポーネントを直接制御しても良い。すなわち、例えば、制御モジュール220は、異なる信号間で選択するように、マルチプレクサを制御する。信号の選択は、電子デバイスの現在の状態(例えば、起動とシャットダウン)、以前に観測された信号(例えば、第2の監視を誘発する逸脱した第1の信号)、異なるターゲット信号のランダムなチェックなどに従って行われても良い。このように、制御モジュール220は、監視に特有の検出コンポーネントを実装することなく、電子デバイスのコンポーネント(例えば、ADC)を使用して異なる信号のグループを監視することができ、それによって追加のコンポーネントを回避する。
【0037】
440で、制御モジュール220は、2つの値を一緒に比較することによって、ターゲット信号と期待値との間の偏差を計算する。ターゲット信号のすべてが偏差計算を伴うわけではないことを理解されたい。例えば、リセットカウントは期待値と比較されなくても良く、代わりに、単に障害ステータスを更新するために使用されても良い。いずれの場合も、ターゲット信号が信号DB内に対応する期待値又は値の範囲を有する場合、制御モジュール220は信号DB240から期待値を取り出し、電圧、インピーダンス、周波数、ビットストリームなどの様々なプロパティを含む、ターゲット信号の測定された態様と比較する。その結果、制御モジュール220は、期待値と観測されたターゲット信号との間の差を具体化する偏差を生成する。
【0038】
450で、制御モジュール220は、偏差が偏差しきい値を満たすかどうかを決定する。偏差しきい値は、特定のターゲット信号の偏差が、比較に従っていつ期待値から逸脱するかを定義する。もちろん、前述のように、単純にカウントされる態様(例えば、電源リセット)のように、一部の値には偏差がない場合がある。この場合、制御モジュール220は、偏差しきい値が満たされているかどうかを決定する代わりに、自動的に460に進んで、障害ステータスを更新することができる。いずれにせよ、制御モジュール220は、偏差が偏差しきい値を満たす(例えば、20%以上超える)かどうかを決定する。偏差が偏差しきい値を超えない場合、制御モジュール220は、430でターゲット信号を監視し続けても良い。そうでない場合、制御モジュール220は障害ステータスの更新に進む。
【0039】
460で、制御モジュール220は障害ステータスを更新する。1つの構成では、制御モジュール220は、レジスタに格納された値を更新して、期間にわたる観測を反映する。すなわち、障害ステータスは、電子デバイスのステータスを追跡し、デバイスへの不正アクセスを得ようとする試みを示すパターンを識別するために、複数の偏差からの情報を蓄積することができる。かくして、制御モジュール220は、電子デバイスのセキュリティに関するさらなる決定が、その後に決定され得るように、障害ステータスとして、メモリ又は通信ログなどの追加のフォレンジックアーティファクトを含み得る、観察された異常についての情報を格納する。
【0040】
470で、制御モジュール220は、障害ステータスが不正使用による不正アクセスの存在の可能性を示していると決定したことに応答して、電子デバイス内の反応を起動する。1つ以上の構成では、制御モジュール220は、電子デバイスを制御して不正アクセスを沈静化するための反応を起動する。別の構成では、制御モジュール220は、障害ステータス情報及びフォレンジックアーティファクトの通信をセキュリティオペレーションセンター(SOC)に遠隔送信することによって、反応を起動する。沈静化アクションは、メモリからのコンテンツの削除、電子デバイスのさらなる操作のロックなどを含むことができる。コンテンツの削除は、様々なレベルで実施することができる。すなわち、例えば、制御モジュール220は、1つのアプローチにおいて、機密情報を削除する一方で、メモリの残りの態様をそのままにすることができる。しかしながら、別のアプローチでは、制御モジュール220は、プログラムメモリのすべてを削除する一方で、その後の電子デバイスの許可された復元のために、無線(OTA)更新エージェント又はその他のセントリのみを残ったままにする。さらに、制御モジュール220は、許可信号によってロックが解除されるまで、プロセッサ110又は他の要素による、任意のその後のアクションを防止することによって、電子デバイスをロックすることができる。許可は、実施形態に応じて異なる形式を取り得るが、電子デバイスのロックを解除して復旧するための情報を含むマジックパケット(つまり、事前認証済みパケット)の受信を含むことができる。さらに別の例では、許可信号は、PIN、I/O320上の入力の組み合わせなどの形態であってもよい。一般に、反応は、システム機能、システム設計に関する情報、保存された情報などへのアクセスにつながる可能性のあるそれ以上の相互作用/応答を防止するように設計され、それにより、そのような攻撃に対するセキュリティを改善する。
【0041】
現在開示されているシステム及び方法がどのように機能するかのさらなる説明として、図5を考察する。図5は、信号DB240の信号を較正することに関連する方法500を示す。方法500は、図2のセキュリティシステム170の観点から説明される。方法500はセキュリティシステム170と組み合わせて説明されるが、方法500はセキュリティシステム170内で実施されることに限定されず、方法500を実施できるシステムの一例であることを理解されたい。
【0042】
510で、制御モジュール220は、シャットダウン要求を受信する。本実施形態では、シャットダウン要求が較正を開始する。別のアプローチでは、較正は、起動時又は別の定義された時間に実行されても良い。
【0043】
520で、制御モジュール220は、信号DB240が更新/較正を必要とするかどうかを決定する。信号DB240は、一定の間隔で、システムが再起動されるたびに、特定の誘発イベント(例えば、電力変動)が発生したとき、又は別の定義された事象に従って、更新/較正され得る。いずれにせよ、制御モジュール220が信号DB240を更新する必要がないと決定した場合、デバイスは550に進んでシャットダウンする。そうでない場合、制御モジュール220は、530の較正に進む。
【0044】
530において、制御モジュール220は、図3の較正ユニット360を含み得る自己較正ルーチンを開始する。自己較正ルーチンは、1つの構成では、不正使用が発生していない動作条件下でターゲット信号の測定値を取得することを含む。測定値は、様々な負荷/動作条件の下で取得され得る。続いて、制御モジュール220は、様々な条件の間に観測される測定値から様々な信号の基準及び許容可能な偏差を定義するために、測定値を分析する。このようにして、システムは測定値の期待値を定義することができる。さらに別のアプローチでは、制御モジュール220は、取得したターゲット信号を使用して、ターゲット信号の値の許容可能範囲について機械学習アルゴリズムをトレーニングする。
【0045】
540において、制御モジュール220は、更新された較正情報を信号DB240に格納する。情報は、特定の実施形態に応じて異なる形式を取り得る。例えば、制御モジュール220は、ターゲット信号の基準及び期待値の範囲を格納することができる。さらなるアプローチでは、信号DB240は、更新された機械学習モデルを格納する。いずれにせよ、制御モジュール220は、所与の電子デバイスに合わせて信号DB240を更新することができ、それによって、異常を正確に監視するためのより優れた能力を提供することができる。
【0046】
550において、制御モジュール220は、電子デバイスのシャットダウンに進む。
【0047】
さらに、図1のセキュリティシステム170は、別個の集積回路及び/又は電子チップを用いて様々な配置で構成できることを理解されたい。そのような実施形態では、制御モジュール220は、別個の集積回路として具現化することができる。回路は、接続パスを介して接続され、別個の回路間で信号を通信する。もちろん、別個の集積回路が議論されているが、様々な実施形態において、回路は共通の集積回路及び/又は集積回路基板に統合されてもよい。さらに、集積回路は、より少ない集積回路に組み合わされても良いし、より多くの集積回路に分割されてもよい。別の実施形態では、モジュール220に関連する機能の一部は、プロセッサによって実行可能であり、非一時的メモリに格納されるファームウェアとして具現化されても良い。さらに別の実施形態では、モジュール220は、プロセッサ110のハードウェアコンポーネントとして統合される。
【0048】
別の実施形態では、説明された方法、及び/又は、それらの等価物は、コンピュータ実行可能命令で実装されてもよい。従って、一実施形態では、非一時的コンピュータ可読媒体は、機械(例えば、プロセッサ、コンピュータなど)によって実行されるとき、機械(及び/又は関連するコンポーネント)に方法を実行させる、格納されたコンピュータ実行可能命令を備えて構成される。
【0049】
説明を簡単にするために、図に示されている方法論は一連のブロックとして示され説明されているが、いくつかのブロックは図示及び説明されたものから異なる順序で、及び/又は、他のブロックと同時に実行することができ、方法論はブロックの順序によって制限されないことが理解されるべきである。さらに、例示されたすべてのブロックよりも少ないブロックを使用して、例示的な方法論を実施してもよい。ブロックは、組み合わされても良いし、複数のコンポーネントに分離されても良い。さらに、追加及び/又は代替の方法論は、図示されていない追加のブロックを使用することができる。
【0050】
ここで、本明細書で開示されるシステム及び方法が動作することができる例示的な環境について、図1で詳細に説明する。場合によっては、車両100は、自律モード、1つ以上の半自律動作モード、及び/又は手動モードの間で選択的に切り替えられるように構成される。このような切り替えは、適切な方法で実施することができる。「手動モード」とは、車両の航行及び/又は操縦のすべて又は大部分が、ユーザ(例えば、人間のドライバ)から受けた入力に従って実行されることを意味する。
【0051】
1つ以上の実施形態において、車両100は自律車両である。本明細書で使用される「自律車両」は、自律モードで動作する車両を指す。「自律モード」は、人間のドライバからの最小限の入力で、又は入力なしで、車両100を制御する1つ以上のコンピューティングシステムを使用して、移動経路に沿って車両100を航行及び/又は操縦することを指す。1つ以上の実施形態において、車両100は完全に自動化される。1つの実施形態では、車両100は、1つ以上のコンピューティングシステムが移動経路に沿った車両100の航行及び/又は操縦の一部を実行し、車両運転者(すなわち、ドライバ)が移動経路に沿った車両100の航行及び/又は操縦の一部を実行するための入力を車両に提供する、1つ以上の半自律動作モードを備えて構成される。そのような半自律動作は、車両100が定義された状態制約内に留まることを確実にするために、セキュリティシステム170によって実施されるような監視制御を含むことができる。
【0052】
車両100は、1つ以上のプロセッサ110を含むことができる。1つ以上の構成では、プロセッサ110は、車両100のメインプロセッサであり得る。例えば、プロセッサ110は、電子制御ユニット(ECU)であり得る。車両100は、1つ以上のタイプのデータを格納するための1つ以上のデータストア115(例えば、データストア230)を含むことができる。データストア115は、揮発性及び/又は不揮発性メモリを含むことができる。適切なデータストア115の例には、RAM(ランダムアクセスメモリ)、フラッシュメモリ、ROM(リードオンリーメモリ)、PROM(プログラマブルリードオンリーメモリ)、EPROM(消去可能プログラマブルリードオンリーメモリ)、EEPROM(電気的消去可能プログラマブルリードオンリーメモリ)、レジスタ、磁気ディスク、光ディスク、ハードドライブ、その他の適切な記憶媒体、又はそれらの任意の組み合わせが含まれる。データストア115は、プロセッサ110のコンポーネントとすることができ、又はデータストア115は、使用のためプロセッサ110に動作可能に接続することができる。この説明全体を通して使用される「動作可能に接続される」又は「通信可能に接続される」という用語は、直接的な物理的接触のない接続を含む、直接又は間接の接続を含み得る。
【0053】
1つ以上の構成では、1つ以上のデータストア115は地図データを含むことができる。地図データには、1つ以上の地理的領域の地図を含めることができる。場合によっては、地図データは、1つ以上の地理的領域における、道路、交通管制装置、道路標示、構造物、特徴、及び/又はランドマークに関する情報(例えば、メタデータ、ラベルなど)を含むことができる。場合によっては、地図データに航空/衛星ビューを含めることができる。場合によっては、地図データに、360度の地上ビューを含む、領域の地上ビューを含めることができる。地図データは、測定値、寸法、距離、及び/又は地図データに含まれる1つ以上のアイテムの情報、及び/又は地図データに含まれる他のアイテムに関連する情報を含むことができる。地図データには、道路の形状に関する情報を含むデジタル地図を含めることができる。地図データは、建物、縁石、電柱などの相対的な位置に関する情報など、特徴ベースの地図データをさらに含むことができる。1つ以上の構成では、地図データは1つ以上の地形図を含むことができる。
【0054】
1つ以上のデータストア115は、センサデータを含むことができる。この文脈において、「センサデータ」とは、車両100が装備しているセンサからの、当該センサに関する能力及びその他の情報を含む任意の情報を意味する。
【0055】
前述したように、車両100はセンサシステム120を含むことができる。センサシステム120は、1つ以上のセンサを含むことができる。「センサ」とは、何かを検出、認識、及び/又は感知することができる任意のデバイス、コンポーネント、及び/又はシステムを意味する。1つ以上のセンサは、リアルタイムで動作するように構成できる。本明細書で使用される「リアルタイム」という用語は、特定のプロセス又は決定が行われるのに十分に即時であるとユーザ又はシステムが感じる、又はプロセッサが何らかの外部プロセスに追いつくことができる処理応答性のレベルを意味する。
【0056】
センサシステム120が複数のセンサを含む構成では、センサは互いに独立して機能することができる。あるいは、2つ以上のセンサが相互に組み合わされて機能することができる。このような場合、2つ以上のセンサがセンサネットワークを形成することができる。センサシステム120及び/又は1つ以上のセンサは、プロセッサ110、データストア115、及び/又は車両100の別の要素(図1に示す要素のいずれかを含む)に動作可能に接続することができる。センサシステム120は、車両100の外部環境の少なくとも一部のデータを取得することができる。
【0057】
センサシステム120は、任意の適切なタイプのセンサを含むことができる。本明細書では、異なるタイプのセンサの様々な例について説明する。しかしながら、実施形態は、記載された特定のセンサに限定されないことが理解されよう。センサシステム120は、1つ以上の車両センサ121を含むことができる。車両センサ121は、車両100自体又は車両100の内部乗員室に関する情報を検出、決定、及び/又は感知することができる。1つ以上の構成において、車両センサ121は、たとえば慣性加速度に基づいて、車両100の位置及び向きの変化を検出及び/又は感知するように構成することができる。1つ以上の構成において、車両センサ121は、1つ以上の加速度計、1つ以上のジャイロスコープ、慣性測定ユニット(IMU)、推測航法システム、全地球航法衛星システム(GNSS)、グローバル測位システム(GPS)、ナビゲーションシステム、及び/又はその他の適切なセンサを含むことができる。車両センサ121は、車両100の1つ以上の特性を検出及び/又は感知するように構成することができる。1つ以上の構成において、車両センサ121は、車両100の現在の速度を決定するための速度計を含むことができる。さらに、センサシステム120は、シート内の圧力/重量センサ、シートベルトセンサ、カメラなどの乗員室全体に及ぶセンサを含むことができる。
【0058】
代替的又は追加的に、センサシステム120は、運転環境データを取得及び/又は感知するように構成された1つ以上の環境センサ122を含むことができる。「運転環境データ」は、自律車両が位置する外部環境、又はその1つ以上の部分に関するデータ又は情報を含む。例えば、1つ以上の環境センサ122は、車両100の外部環境の少なくとも一部における障害物及び/又はそのような障害物に関する情報/データを検出及び/又は感知するように構成することができる。このような障害物は、静止物体及び/又は動的物体であり得る。1つ以上の環境センサ122は、例えば、レーンマーク、標識、信号機、交通標識、車線、横断歩道、車両100近傍の縁石、道路外物体など、車両100の外部環境における他のものを検出及び/又は感知するように構成され得る。
【0059】
センサシステム120のセンサの様々な例が、本明細書で説明される。例示的なセンサは、1つ以上の環境センサ122及び/又は1つ以上の車両センサ121の一部であっても良い。しかしながら、実施形態は、記載された特定のセンサに限定されないことが理解されよう。一例として、1つ以上の構成において、センサシステム120は、1つ以上のレーダセンサ、1つ以上のLIDARセンサ、1つ以上のソナーセンサ、及び/又は1つ以上のカメラを含むことができる。1つ以上の構成において、1つ以上のカメラは、高ダイナミックレンジ(HDR)カメラ又は赤外線(IR)カメラであり得る。
【0060】
車両100は、入力システム130を含むことができる。「入力システム」は、限定するものではないが、情報/データを機械に入力できるようにするデバイス、コンポーネント、システム、要素、又はそれらの取り合わせ又はグループを含む。入力システム130は、車両の乗員(例えば、運転者又は同乗者)からの入力を受け取ることができる。車両100は、出力システム140を含むことができる。「出力システム」は、情報/データを車両の乗員(例えば、人、車両の同乗者など)に提示できるようにするデバイス、コンポーネント、又はそれらの取り合わせ又はグループを含む。
【0061】
車両100は、1つ以上の車両システム150を含むことができる。1つ以上の車両システム150の様々な例は図1に示されているが、車両100は、与えられた例に示されるものとは異なるシステムの組み合わせを含むことができる。一例では、車両100は、推進システム、ブレーキシステム、ステアリングシステム、スロットルシステム、トランスミッションシステム、信号システム、ナビゲーションシステムなどを含むことができる。前述のシステムは、1つ以上のデバイス、コンポーネント、及び/又はそれらの組み合わせを別々に又は組み合わせて含むことができる。
【0062】
例として、ナビゲーションシステムは、車両100の地理的位置を決定し、及び/又は車両100の走行経路を決定するように構成された、1つ以上のデバイス、アプリケーション、及び/又はそれらの組み合わせを含むことができる。ナビゲーションシステムは、車両100の走行経路を決定するための1つ以上のマッピングアプリケーションを含むことができる。ナビゲーションシステムは、グローバルポジショニングシステム、ローカルポジショニングシステム、又はジオロケーションシステムを含むことができる。
【0063】
プロセッサ110、セキュリティシステム170、及び/又は支援システム160は、様々な車両システム150及び/又はその個々のコンポーネントと通信するように動作可能に接続することができる。例えば、図1に戻ると、プロセッサ110、セキュリティシステム170、及び/又は、支援システム160は、車両100の動き、速度、操縦、進路、方向などを制御するために、様々な車両システム150から情報を送信及び/又は受信するように通信することができる。プロセッサ110、セキュリティシステム170、及び/又は支援システム160は、これら車両システム150の一部又はすべてを制御することができ、従って、部分的又は完全に自律的であり得る。
【0064】
プロセッサ110、セキュリティシステム170、及び/又は支援システム160は、1つ以上の車両システム150及び/又はそれらのコンポーネントを制御することによって、車両100の航行及び/又は操縦を制御するように動作可能であり得る。例えば、自律モードで動作する場合、プロセッサ110、セキュリティシステム170、及び/又は支援システム160は、車両100の方向及び/又は速度を制御することができる。プロセッサ110、セキュリティシステム170、及び/又は支援システム160は、車両100を加速させ(例えば、エンジンに与えられるエネルギーの供給を増加させることによって)、減速させ(例えば、エンジンへのエネルギーの供給を減少させる、及び/又はブレーキをかけることによって)、及び/又は、方向を変えさせる(例えば。前輪2輪を回すことによって)ことができる。
【0065】
さらに、セキュリティシステム170及び/又は支援システム160は、さまざまな運転関連タスクを実行するように機能することができる。車両100は、1つ以上のアクチュエータを含むことができる。アクチュエータは、プロセッサ110及び/又は支援システム160からの信号又は他の入力の受信に応答して、1つ以上の車両システム又はそのコンポーネントを修正、調整、及び/又は変更するように動作可能な任意の要素又は要素の組み合わせとすることができる。任意の適切なアクチュエータが使用され得る。例えば、1つ以上のアクチュエータは、いくつかの可能性を挙げると、モータ、空気圧アクチュエータ、油圧ピストン、リレー、ソレノイド、及び/又は圧電アクチュエータを含むことができる。
【0066】
車両100は、ひとつ以上のモジュールを含むことができ、そのうちの少なくともいくつかは本明細書に記載されている。モジュールは、プロセッサ110による実行時に、本明細書に記載された様々なプロセスのうちの1つ以上を実行するコンピュータ可読プログラムコードとして実装することができる。1つ以上のモジュールは、プロセッサ110のコンポーネントとすることができ、又は1つ以上のモジュールは、プロセッサ110が動作可能に接続されている他の処理システム上で実行及び/又は他の処理システム間で分散することができる。モジュールは、1つ以上のプロセッサ110によって実行可能な命令(例えば、プログラムロジック)を含むことができる。代替的に、あるいは追加して、1つ以上のデータストア115が、そのような命令を含むことができる。
【0067】
1つ以上の構成において、本明細書に記載の1つ以上のモジュールは、人工又は計算知能要素、例えばニューラルネットワーク、ファジー推論、又は他の機械学習アルゴリズムを含むことができる。さらに、1つ以上の構成において、1つ以上のモジュールが、本明細書で説明される複数のモジュールに分散されることができる。1つ以上の構成では、本明細書に記載のモジュールのうちの2つ以上を組み合わせて単一のモジュールにすることができる。
【0068】
車両100は、支援システム160を形成する1つ以上のモジュールを含むことができる。支援システム160は、センサシステム120から、及び/又は、車両100及び/又は車両100の外部環境に関する情報を取得できる任意の他のタイプのシステムから、データを受信するように構成することができる。1つ以上の構成では、支援システム160は、そのようなデータを使用して、1つ以上の運転シーンモデルを生成することができる。支援システム160は、車両100の位置及び速度を決定することができる。支援システム160は、障害物、又は、交通標識、樹木、低木、近隣車両、歩行者などを含む他の環境的特徴の位置を決定することができる。
【0069】
支援システム160は、プロセッサ110、及び/又は本明細書に記載の1つ以上のモジュールによる使用のための車両100の外部環境内の障害物の位置情報を受信及び/又は決定するように構成され、車両100の位置及び向き、複数の衛星からの信号に基づくグローバル座標における車両位置、車両100の現在の状態を決定するために又は地図を作成するか、地図データに関して車両100の位置を決定するかのいずれかでの使用のため環境に対する車両100の位置を決定するために使用され得る任意の他のデータ及び/又は信号を推定する。
【0070】
支援システム160は、センサシステム120によって取得されたデータ、運転シーンモデル、及び/又はセンサデータから決定されるもののような任意の他のてきせつなソースからのデータに基づいて、移動経路、車両100の現在の自律運転操作、将来の自律運転操作、及び/又は現在の自律運転操作に対する修正を決定するように構成することができる。「運転操作」とは、車両の動きに影響を与える1つ以上のアクションを意味する。運転操作の例には、いくつかの可能性を挙げると、加速、減速、ブレーキ、旋回、車両100の横方向への移動、走行車線の変更、走行車線への合流、及び/又は後退が含まれる。支援システム160は、決定された運転操作を実施するように構成することができる。支援システム160は、直接的又は間接的に、そのような自律運転操作を実行させることができる。本明細書で使用される場合、「させる」又は「させている」は、直接的又は間接的に、イベント又はアクションが発生するようにする、命令する、指示する、及び/又は可能にすること、又は少なくともそのようなイベント又はアクションが発生し得る状態になることを意味する。支援システム160は、様々な車両機能を実行し、及び/又は車両100又はその1つ以上のシステム(例えば、車両システム150の1つ以上)にデータを送信し、それらからデータを受信し、それらと相互作用し、及び/又はそれらを制御するように構成することができる。
【0071】
詳細な実施形態が本明細書に開示される。しかしながら、開示された実施形態は、例としてのみ意図されていることを理解されたい。従って、本明細書に開示される特定の構造的及び機能的詳細は、限定するものとして解釈されるべきではなく、単に請求項の基礎として、及び、実質的に任意の適切な詳細な構造で本明細書の態様を様々に使用することを当業者に教示するための代表的な基礎としてのみ解釈されるべきである。さらに、本明細書で使用される用語及び語句は、限定することを意図するものではなく、むしろ可能な実施形態の理解可能な説明を提供することを意図している。様々な実施形態が図1図5に示されているが、実施形態は、図示された構造又は用途に限定されない。
【0072】
図中のフローチャート及びブロック図は、様々な実施形態による、システム、方法、及びコンピュータプログラム製品の可能な実施形態のアーキテクチャ、機能、及び動作を示している。これに関して、フローチャート又はブロック図の各ブロックは、特定される論理機能を実行するための1つ以上の実行可能な命令を含むモジュール、セグメント、又はコードの一部を表すことができる。また、一部の代替実施形態では、ブロックに記載されている機能が、図に記載されている順序とは異なる順序で発生する場合があることにも注意されたい。例えば、連続して示された2つのブロックは、実際には、実質的に同時に実行されても良いし、関係する機能に応じて、時には、ブロックが逆の順序で実行されても良い。
【0073】
上記のシステム、コンポーネント、及び/又はプロセスは、ハードウェア又はハードウェアとソフトウェアの組み合わせで実現でき、1つの処理システムにおいて集中方式によって、又は、様々な要素が相互接続されたいくつかの処理システムに分散している分散方式によって実現することができる。本明細書に記載の方法を実行するように適合された任意の種類の処理システム又は別の装置が適している。ハードウェアとソフトウェアの組み合わせが、コンピュータで使用可能なプログラムコードを備えた処理システムであり、読み込まれて実行されるとき、本明細書で説明する方法を実行するように処理システムを制御する。システム、コンポーネント、及び/又はプロセスはまた、コンピュータプログラム製品又は他のデータプログラム記憶装置などのコンピュータ読み取り可能ストレージに埋め込まれ、機械によって読み取り可能であり、本明細書に記載された方法及びプロセスを実行するために機械によって実行可能な命令のプログラムを実体的に具現化したとすることができる。これらの要素は、本明細書に記載の方法の実施を可能にする全ての特徴を備え、処理システムにロードされたときにこれらの方法を実行できるアプリケーション製品に組み込むこともできる。
【0074】
さらに、本明細書で説明された構成は、例えば記憶されて、具現化されるコンピュータ可読プログラムコードを有する1つ以上のコンピュータ可読媒体に具現化されるコンピュータプログラム製品の形をとることができる。1つ以上のコンピュータ可読媒体の任意の組み合わせが利用されてもよい。コンピュータ可読媒体は、コンピュータ可読信号媒体又はコンピュータ可読記憶媒体であり得る。「コンピュータ可読記憶媒体」との語句は、非一時的な記憶媒体を意味する。コンピュータ可読媒体は、限定されるものではないが、不揮発性媒体及び揮発性媒体を含む、形態をとることができる。不揮発性媒体には、例えば、光ディスク、磁気ディスクなどが含まれ得る。揮発性媒体には、例えば、半導体メモリ、ダイナミックメモリなどが含まれ得る。このようなコンピュータ可読媒体の例には、限定されるものではないが、フロッピーディスク、フレキシブルディスク、ハードディスク、磁気テープ、他の磁気媒体、ASIC、CD、他の光学媒体、RAM、ROM、メモリチップ又はカード、メモリスティック、及びコンピュータ、プロセッサ、又は他の電子デバイスが読み取ることが可能な他の媒体が含まれる。本明細書の文脈において、コンピュータ可読記憶媒体は、命令実行システム、装置、又はデバイスによる使用のための、又はそれと接続された、プログラムを含むことができる又は格納できる任意の有形の媒体であっても良い。
【0075】
以下は、本明細書で使用される選択された用語の定義を含む。定義は、用語の範囲内にあり、様々な実施形態に使用できる様々な例及び/又はコンポーネントの形式を含む。例は、限定することを意図していない。用語の単数形と複数形の両方が定義内に含まれ得る。
【0076】
「1つの実施形態」、「一実施形態」、「1つ例」、「一例」などへの言及は、そのように記載された実施形態又は例が、特定の特徴、構造、特性、性質、要素、又は制限を含み得ることを示すが、すべての実施形態又は例が、必ずしも、その特定の特徴、構造、特性、性質、要素、又は制限を含むわけではないことを示す。さらに、「1つの実施形態では」という語句の繰り返しの使用は、同じ実施形態を指す場合もあるが、必ずしもそうとは限らない。
【0077】
本明細書で使用される「モジュール」は、機能又はアクションを実行するように構成された、及び/又は、別のロジック、方法、及び/又はシステムに機能又はアクションを発揮させるように構成された、コンピュータ又は電気ハードウェアコンポーネント、ファームウェア、命令を格納する非一時的コンピュータ可読媒体、及び/又は、これらのコンポーネントの組み合わせを含む。モジュールは、アルゴリズムによって制御されるマイクロプロセッサ、ディスクリート論理回路(例えば、ASIC)、アナログ回路、デジタル回路、プログラムされた論理デバイス、実行時にアルゴリズムを実行する命令を含むメモリデバイスなどを含むことができる。モジュールは、1つ以上の実施形態では、1つ以上のCMOSゲート、ゲートの組み合わせ、又は他の回路コンポーネントを含む。複数のモジュールが説明される場合、1つ以上の実施形態では、複数のモジュールを1つの物理的なモジュールコンポーネントに組み込むことを含む。同様に、単一のモジュールが説明される場合、1つ以上の実施形態では、複数の物理的なコンポーネント間に、単一のモジュールを分散させることを含む。
【0078】
さらに、本明細書で使用されるモジュールは、特定のタスクを実行する、又は、特定のデータ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。さらなる態様では、メモリは、一般に、記載されたモジュールを格納する。モジュールに関連付けられたメモリは、プロセッサ、RAM、ROM、フラッシュメモリ、又は、別の適切な電子記憶媒体内に埋め込まれたバッファ又はキャッシュであっても良い。さらに別の態様では、本開示によって想定されるモジュールは、特定用途向け集積回路(ASIC)、システムオンチップ(SoC)のハードウェアコンポーネント、プログラマブルロジックアレイ(PLA)、又は開示された機能を実行するための定義された構成セット(例えば、命令)が組み込まれた別の適切なハードウェアコンポーネントとして実現される。
【0079】
1つ以上の構成において、本明細書で説明する1つ以上のモジュールは、人工又は計算知能要素、例えば、ニューラルネットワーク、ファジー論理、又は他の機械学習アルゴリズムを含むことができる。さらに、1つ以上の構成では、1つ以上のモジュールは、本明細書で説明する複数のモジュールに分散させることができる。1つ以上の構成において、本明細書に記載の2つ以上のモジュールは単一のモジュールに組み合わせることができる。
【0080】
コンピュータ可読媒体に具現化されるプログラムコードは、無線、有線、光ファイバ、ケーブル、RFなど、又は、前述の任意の適切な組み合わせを含むが、これらに限定されない任意の適切な媒体を使用して送信され得る。本構成の態様の動作を実行するためのコンピュータプログラムコードは、Java(登録商標)、Smalltalk、C++などのオブジェクト指向プログラミング言語、及び、Cプログラミング言語又は同様のプログラミング言語などを含む従来の手続き型プログラミング言語を含む、1つ以上のプログラミング言語の任意の組み合わせで記述することができる。プログラムコードは、スタンドアロンソフトウェアパッケージとして、完全にユーザのコンピュータ上で、部分的にユーザのコンピュータ上で、あるいは、一部をユーザのコンピュータ上でかつ一部をリモートコンピュータ上で、もしくは、完全にリモートコンピュータ又はサーバ上で実行することができる。後者のシナリオでは、リモートコンピュータは、ローカルエリアネットワーク(LAN)又はワイドエリアネットワーク(WAN)を含む任意のタイプのネットワークを介してユーザのコンピュータに接続されても良く、又は、その接続が外部コンピュータ(たとえば、インターネットサービスプロバイダを使用してインターネットを介して)になされても良い。
【0081】
本明細書で使用される要素の数は、1つ、又は、2つ以上として定義される。本明細書で使用される「複数」という用語は、2つ、又は、3つ以上として定義される。本明細書で使用される「別の」という用語は、少なくとも2番目、又は、それ以上として定義される。本明細書で使用される「含む」、及び/又は、「有する」という用語は、「備える」を意味し、すなわち、他の要素の存在を許容する用語として定義される。本明細書で使用される「・・・と・・・との少なくとも1つ」という表現は、関連付けて列挙された項目の1つ、又は、複数のありとあらゆる可能な組み合わせを指し、それらを包含する。一例として、「A、B、及び、Cのうちの少なくとも1つ」という表現は、Aのみ、Bのみ、Cのみ、又はそれらの任意の組み合わせ(例えば、AB、AC、BC、又は、ABC)を含む。
【0082】
本明細書の態様は、その主旨又は本質的な特質から逸脱することなく、他の形態で具現化することができる。従って、本明細書の範囲を示すものとして、前述した明細書ではなく、以下の特許請求の範囲を参照すべきである。
【符号の説明】
【0083】
100:車両、110:プロセッサ、115:データストア、120:センサシステム、121:車両センサ、122:環境センサ、130:入力システム、140:出力システム、150:車両システム、160:支援システム、170:セキュリティシステム、210:メモリ、220:制御モジュール、230:データストア、240:信号データベース、300:ECU、320:I/O、325:I/O終端、330:マルチプレクサ、335:障害モニタ、340:信号ハンドラ、345:障害カウンタ、350:障害ステータスレジスタ、355:障害回復ユニット、360:較正ユニット
図1
図2
図3
図4
図5