(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2022-12-26
(54)【発明の名称】コンピューティングデバイスの動作方法及び動作装置
(51)【国際特許分類】
G06F 21/74 20130101AFI20221219BHJP
G06F 9/50 20060101ALI20221219BHJP
【FI】
G06F21/74
G06F9/50 150C
G06F9/50 120Z
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2022523958
(86)(22)【出願日】2020-10-14
(85)【翻訳文提出日】2022-04-22
(86)【国際出願番号】 EP2020078884
(87)【国際公開番号】W WO2021078602
(87)【国際公開日】2021-04-29
(31)【優先権主張番号】102019216462.5
(32)【優先日】2019-10-25
(33)【優先権主張国・地域又は機関】DE
(81)【指定国・地域】
(71)【出願人】
【識別番号】390023711
【氏名又は名称】ローベルト ボツシユ ゲゼルシヤフト ミツト ベシユレンクテル ハフツング
【氏名又は名称原語表記】ROBERT BOSCH GMBH
【住所又は居所原語表記】Stuttgart, Germany
(74)【代理人】
【識別番号】100114890
【氏名又は名称】アインゼル・フェリックス=ラインハルト
(74)【代理人】
【識別番号】100098501
【氏名又は名称】森田 拓
(74)【代理人】
【識別番号】100116403
【氏名又は名称】前川 純一
(74)【代理人】
【識別番号】100134315
【氏名又は名称】永島 秀郎
(74)【代理人】
【識別番号】100162880
【氏名又は名称】上島 類
(72)【発明者】
【氏名】ベネディクト アートゥア マクシミリアン マンスバート
(72)【発明者】
【氏名】マヌエル ヤウス
(72)【発明者】
【氏名】ラツヴァン フローリン アグリダン
(72)【発明者】
【氏名】ローラント シュテフェン
(57)【要約】
少なくとも1つの中央処理装置を有するコンピューティングデバイスの動作方法であって、コンピューティングデバイスによって実行可能な1つ又は複数のアプリケーションプログラムを少なくとも2つのゾーンのうちの1つのゾーンに割り当てるステップであって、これらのゾーンは、関連するアプリケーションプログラムを実行するために利用可能な、コンピューティングデバイスのリソースを特徴付ける、ステップと、自身に割り当てられているゾーンに応じて、複数のアプリケーションプログラムのうちの少なくとも1つのアプリケーションプログラムを実行するステップと、を含む方法に関する。
【特許請求の範囲】
【請求項1】
特に車両用の、特に自動車用の、特に組込システム及び/又は制御装置用の、少なくとも1つの中央処理装置(102a,102b,102c,…,102n;K1,K2,K3,K4)を有するコンピューティングデバイス(100;100a;100b)の動作方法であって、
前記コンピューティングデバイス(100;100a;100b)によって実行可能な1つ又は複数のアプリケーションプログラム(AP1,AP2)を少なくとも2つのゾーン(Z1,Z2)のうちの1つのゾーンに割り当てるステップ(200)であって、前記ゾーン(Z1,Z2)は、関連するアプリケーションプログラム(AP1,AP2)を実行するために利用可能な、前記コンピューティングデバイス(100;100a;100b)のリソースを特徴付ける、ステップ(200)と、
自身に割り当てられている前記ゾーン(Z1,Z2)に応じて、複数の前記アプリケーションプログラム(AP1,AP2)のうちの少なくとも1つのアプリケーションプログラムを実行するステップ(210)と、
を含む方法。
【請求項2】
前記コンピューティングデバイス(100;100a;100b)は、複数の中央処理装置(102a,102b,102c,…,102n;K1,K2,K3,K4)を有しており、
前記方法はさらに、
a)少なくとも1つの中央処理装置(102a,102b)を厳密に1つのゾーンに割り当てるステップ(220)、及び/又は、
b)少なくとも1つの中央処理装置(102a,102b)を1つ以上のゾーン、特に2つのゾーン(Z1,Z2)に割り当てるステップ(222)
を含む、
請求項1に記載の方法。
【請求項3】
少なくとも1つのゾーン(Z1,Z2)に応じて、次の要素、即ち、
a)前記コンピューティングデバイス(100;100a;100b)に割り当てられているメモリ(1030,1032)に対する読取権、
b)前記コンピューティングデバイス(100;100a;100b)に割り当てられているメモリ(1030,1032)に対する書込権、
c)前記コンピューティングデバイス(100;100a;100b)に割り当てられているメモリ(1030,1032)に対する実行権
のうちの少なくとも1つの要素を制御するステップ(230)、特に制限するステップをさらに含む、
請求項1乃至2の少なくとも一項に記載の方法。
【請求項4】
前記読取権及び/又は前記書込権及び/又は前記実行権を制御するために、少なくとも一時的に、少なくとも1つのメモリ保護デバイス(M1,M2,M3,M4,M5_1,M5_2,M5_3,M5_4,M5_5,M5_6,M5_7,M5_8)を使用するステップ(232;232’)をさらに含む、
請求項3に記載の方法。
【請求項5】
少なくとも1つの中央処理装置(102a)に対して少なくとも1つの専用メモリ保護デバイス(M1)を提供するステップ(231)をさらに含み、
特に複数の、好ましくはすべての中央処理装置(102a)に対してそれぞれ1つの専用メモリ保護デバイスを提供する、
請求項1乃至4の少なくとも一項に記載の方法。
【請求項6】
少なくとも1つの中央処理装置(102a)は、少なくとも一時的に第1の動作モードを取り(240)、特に前記少なくとも1つの中央処理装置(102a)は、前記第1の動作モードにおいて、少なくとも1つのメモリ保護デバイスの動作を制御する構成データ(1036)の設定及び/又は書込(242)を行い、
特に前記少なくとも1つの中央処理装置(102a)は、少なくとも一時的に第2の動作モードを取り(243)、前記少なくとも1つの中央処理装置(102a)は、前記第2の動作モードにおいて、前記少なくとも1つのメモリ保護デバイスに対する前記構成データ(1036)の書込及び/又は変更を行うことができない、
請求項1乃至5の少なくとも一項に記載の方法。
【請求項7】
前記少なくとも1つの中央処理装置(102a)は、イベント駆動方式で、特に少なくとも1つの割り込み要求に応じて、前記第1の動作モードを取る(240)、
請求項6に記載の方法。
【請求項8】
前記少なくとも1つのメモリ保護デバイス(M1,M2,M3,M4,M5_1,M5_2,M5_3,M5_4,M5_5,M5_6,M5_7,M5_8)に対して構成データ(KD)の複数のセットを提供するステップ(250)をさらに含み、
特に、前記構成データ(KD)の前記複数のセットのうちの少なくとも1つの第1のセットを前記少なくとも2つのゾーン(Z1,Z2)のうちの第1のゾーン(Z1)に割り当て、
特に、前記構成データ(KD)の前記複数のセットのうちの少なくとも1つの第2のセットを前記少なくとも2つのゾーン(Z1,Z2)のうちの第2のゾーン(Z2)に割り当てる(252)、
請求項4乃至7の少なくとも一項に記載の方法。
【請求項9】
前記アプリケーションプログラム(AP1)の第1のインスタンス(AP1_I1)及び前記アプリケーションプログラム(AP1)の第2のインスタンス(AP1_I2)を提供するステップ(260)と、
前記アプリケーションプログラム(AP1)の前記第1のインスタンス(AP1_I1)を前記少なくとも2つのゾーンのうちの第1のゾーン(Z1)に割り当てるステップ(262)と、
前記アプリケーションプログラム(AP1)の前記第2のインスタンス(AP1_I2)を前記少なくとも2つのゾーンのうちの第2のゾーン(Z2)に割り当てるステップ(263)と、
をさらに含む、
請求項1乃至8の少なくとも一項に記載の方法。
【請求項10】
前記少なくとも2つのゾーン(Z1,Z2)に応じて前記コンピューティングデバイス(100)に割り当てられているメモリの領域を分離するステップ(270)をさらに含み、
前記コンピューティングデバイス(100)に割り当てられている前記メモリは、次の要素、即ち、
a)特にメインメモリの形態のバッファメモリ、
b)スタックメモリ、
c)データメモリ、
d)プログラムメモリ、
e)レジスタメモリ
のうちの少なくとも1つの要素を有しており、
前記分離するステップ(270)のために少なくとも1つのメモリ保護デバイス(M1,M2,M3,M4,M5_1,M5_2,M5_3,M5_4,M5_5,M5_6,M5_7,M5_8)を使用する(272)、
請求項1乃至9の少なくとも一項に記載の方法。
【請求項11】
バッファメモリ、特にメインメモリを介して、種々のゾーン(Z1,Z2)の間において第1のデータを交換するステップ(280)をさらに含み、
特に、前記第1のゾーン(Z1)と前記第2のゾーン(Z2)との間における前記第1のデータの前記交換は、次のステップ、即ち、
前記第1のデータを、前記第1のゾーン(Z1)に割り当てられている第1のバッファメモリ領域にコピーするステップ(282)と、
コピーされた前記第1のデータを検査するステップ(283)と、
特に前記検査するステップ(283)に応じて、前記第1のデータを、前記第1のゾーン(Z1)に割り当てられている前記第1のバッファメモリ領域から、前記第2のゾーン(Z2)に割り当てられている第2のバッファメモリ領域にコピーするステップ(284)と、
を含む、
請求項1乃至10の少なくとも一項に記載の方法。
【請求項12】
前記少なくとも2つのゾーン(Z1,Z2)に応じて、異なるアプリケーションプログラム及び/又はアプリケーションプログラムのインスタンスに対して計算時間リソースを分離するステップ(290)、特に、異なるアプリケーションプログラム及び/又はアプリケーションプログラムのインスタンスに対して計算時間リソースを割り当てるステップをさらに含む、
請求項1乃至11の少なくとも一項に記載の方法。
【請求項13】
a)異なるアプリケーションプログラム及び/又はアプリケーションプログラムのインスタンスに対して計算時間リソースを割り当てるために、組込システム用のオペレーティングシステム(BS)、特に軽量組込オペレーティングシステムを使用するステップ(292)であって、特に前記コンピューティングデバイス(100)のそれぞれ1つの中央処理装置(102a,102b)に1つのオペレーティングシステム(BS)を割り当てる、ステップ(292)、及び/又は、
b)異なるアプリケーションプログラム及び/又はアプリケーションプログラムのインスタンスに対して計算時間リソースを割り当てるために、組込システム用のスーパーバイザ(SV)、特に軽量組込スーパーバイザを使用するステップ(294)であって、特に前記コンピューティングデバイス(100)のそれぞれ1つの中央処理装置(102a,102b)に1つのスーパーバイザ(SV)を割り当てる、ステップ(294)
をさらに含む、
請求項12に記載の方法。
【請求項14】
前記オペレーティングシステム(BS)及び/又は前記スーパーバイザ(SV)は、特に静的なタスクリストを使用して、事前に規定されたタスクに対して、好ましくは事前に規定されたタスクに対してのみ、計算時間リソースの割り当てを実行する、
請求項13に記載の方法。
【請求項15】
前記オペレーティングシステム(BS)及び/又は前記スーパーバイザ(SV)は、計算時間リソースの割り当てを、a)繰り返される、特に定期的に繰り返される割り込み要求に応じて、及び/又は、b)イベント駆動方式の割り込み要求に応じて、実行し、
特に、タスクは、少なくとも1つの割り込みルーチンによってアクティブ化される、
請求項13に記載の方法。
【請求項16】
割り込みルーチンに入ると、特にハードウェア駆動方式で、少なくとも1つのメモリ保護デバイスに対する構成データ(1036)又は前記少なくとも1つのメモリ保護デバイスを変更する、
請求項1乃至15の少なくとも一項に記載の方法。
【請求項17】
特に前記オペレーティングシステム(BS)及び/又は前記スーパーバイザ(SV)を用いて、特に侵害の可能性があるかに関して、次の要素、即ち、
a)第1のゾーン(Z1)、
b)前記第1のゾーン(Z1)に割り当てられているアプリケーションプログラム、
c)前記第1のゾーン(Z1)に割り当てられている、アプリケーションプログラム(AP1)のインスタンス(AP1_I1)、
のうちの少なくとも1つの要素を監視するステップ(300)をさらに含み、
特に前記監視するステップ(300)は、スタックメモリを評価するステップ(302)、及び/又は、プログラムカウンタを評価するステップ(304)を含み、
好ましくは、前記スタックメモリを評価する前記ステップ(302)及び/又は前記プログラムカウンタを評価する前記ステップ(304)を、前記アプリケーションプログラム(AP1)をアクティブ化するステップ及び/又は前記アプリケーションプログラム(AP1)の前記インスタンス(AP1_I1)をアクティブ化するステップの前に行う、
請求項13乃至16の少なくとも一項に記載の方法。
【請求項18】
特に、前記監視するステップ(300)が侵害の可能性を示す場合に、エラー応答を開始するステップ(305)をさらに含み、
前記エラー応答(305)は、次の要素、即ち、
a)特に、前記第1のゾーン(Z1)に割り当てられている前記中央処理装置の非アクティブ化(305a)及び/又は前記第1のゾーン(Z1)に割り当てられている前記中央処理装置のリセット(305b)及び/又はエラーモードへの移行(305c)を用いた、前記第1のゾーン(Z1)及び/又は前記第1のゾーン(Z1)に割り当てられている前記中央処理装置の安全な状態への移行、
b)エラーエントリ(FE)の生成(305d)、及び/又は、
c)あるエラーエントリ又は前記エラーエントリの、侵入検知システム、特にIntrusion Detection Systemへの転送(305e)
のうちの少なくとも1つの要素を含む、
請求項17に記載の方法。
【請求項19】
前記コンピューティングデバイス(100)は、少なくとも一時的にコールドスタート(310)を実行し、特に前記コールドスタート(310)中に、データ及び/又はプログラムコードが不揮発性メモリ(1032)からロードされ、
前記コンピューティングデバイス(100)は、少なくとも一時的にウォームスタート(312)を実行し、特に前記ウォームスタート(312)中に、データ及び/又はプログラムコードが、少なくとも一時的に通電される揮発性メモリ(1030)からロードされ、
特に前記コールドスタート(310)中に、少なくとも1つのメモリ保護デバイス(M1,M2,M3,M4,M5_1,M5_2,M5_3,M5_4,M5_5,M5_6,M5_7,M5_8)若しくは前記少なくとも1つのメモリ保護デバイス(M1,M2,M3,M4,M5_1,M5_2,M5_3,M5_4,M5_5,M5_6,M5_7,M5_8)を構成し(311)、及び/又は、特に前記ウォームスタート(312)中に、前記少なくとも1つのメモリ保護デバイス(M1,M2,M3,M4,M5_1,M5_2,M5_3,M5_4,M5_5,M5_6,M5_7,M5_8)を構成する(313)、
請求項1乃至18の少なくとも一項に記載の方法。
【請求項20】
専用メモリ保護デバイス(M1)が提供されている(231)中央処理装置(102a)のみが、前記専用メモリ保護デバイス(M1)を構成する(231a)、
請求項5乃至19の少なくとも一項に記載の方法。
【請求項21】
少なくとも1つのメモリ保護デバイスの動作を制御する構成データ(1036)の完全性及び/又は真正性、又は、前記構成データ(1036)を、特に、次の要素、即ち、
a)前記少なくとも1つのメモリ保護デバイスの前記構成に使用可能なプログラムコードの検証(322)、
b)前記構成データ(1036)の検証(324)、
c)前記少なくとも1つのメモリ保護デバイスの前記構成に使用可能な、あるプログラムコード又は前記プログラムコードの永続化(326)、
d)前記構成データ(1036)の永続化(328)、
のうちの少なくとも1つの要素を用いて検査するステップ(320)をさらに含む、
請求項1乃至20の少なくとも一項に記載の方法。
【請求項22】
特に少なくとも1つの中央処理装置(102a)によって、少なくとも一時的に、セキュアブート方法を実行するステップ(330)、及び/又は、少なくとも一時的に、ランタイム中に改ざんを識別する方法を実行するステップ(332)をさらに含む、
請求項1乃至21の少なくとも一項に記載の方法。
【請求項23】
少なくとも1つのゾーン(Z1)に応じて、次の要素、即ち、
a)前記コンピューティングデバイス(100)の内部インタフェース、特にソフトウェアインタフェース、
b)前記コンピューティングデバイス(100)の内部ハードウェアインタフェース及び/又は外部ハードウェアインタフェース、
c)暗号化機能を実行するためのハードウェアセキュリティモジュール(HSM)及び/又は暗号化モジュール、
d)前記コンピューティングデバイス(100)の周辺機器、特に少なくとも1つの周辺機器の特殊機能レジスタ、
e)前記コンピューティングデバイス(100)のターゲットシステム、特に制御装置の内部インタフェース、
f)前記コンピューティングデバイス(100)のターゲットシステム、特に制御装置の外部インタフェース、
g)特に、ISO/OSIレイヤモデルの少なくとも1つのレイヤ上の通信プロトコルに対するアドレス指定要素、
のうちの少なくとも1つの要素へのアプリケーションプログラム(AP1)によるアクセスを制御するステップ(340)をさらに含む、
請求項1乃至22の少なくとも一項に記載の方法。
【請求項24】
次の要素、即ち、
a)少なくとも1つの付加的な、特にまだ存在していないゾーンの導入(350)、
b)第1の中央処理装置(102a)から、前記コンピューティングデバイスの少なくとも1つの他の中央処理装置(102b)への機能性の移動(352)、
c)特に前記コンピューティングデバイス(100)内に統合されているメインメモリ(1030)を使用した、少なくとも2つのゾーン(Z1,Z2)間の通信の実行(354)、
d)少なくとも1つの信頼できるゾーン(Z2)の定義(360)、及び、任意選択的に、前記信頼できるゾーン(Z2)に割り当てられている少なくとも1つのアプリケーションプログラムによる、少なくとも1つの他の、特に信頼できないゾーン(Z1)の監視(362)
のうちの少なくとも1つの要素をさらに含む、
請求項1乃至23の少なくとも一項に記載の方法。
【請求項25】
請求項1乃至24の少なくとも一項に記載の方法を実施するための装置(100;100a;100b;1000)。
【請求項26】
次の要素、即ち、
a)少なくとも1つの中央処理装置(1002a)を有するコンピューティングデバイス(1002)、
b)メモリデバイス(1004)、
c)データバス(1006)、
d)メモリ保護デバイス(1002a’)、
e)ハードウェアセキュリティモジュール(HSM;HSM’)
のうちの少なくとも1つの要素を有する、
請求項25に記載の装置(100;100a;100b;1000)。
【請求項27】
前記装置(100;100a;100b;1000)は、特に単一のマイクロコントローラとして又は単一のシングルチップシステム(1)として構成されている、
請求項25乃至26の少なくとも一項に記載の装置(100;100a;100b;1000)。
【請求項28】
前記装置(100;100a;100b;1000)は、1つの、特に共通の半導体基板(1001)を有しており、
特に共通の前記半導体基板(1001)上に、次の要素、即ち、
a)少なくとも1つの中央処理装置(1002a)を有する前記コンピューティングデバイス(1002)、
b)メモリデバイス(1004)、
c)データバス(1006)、
d)メモリ保護デバイス(1002a’)、
e)ハードウェアセキュリティモジュール(HSM;HSM’)
のうちの少なくとも1つの要素が配置されている、
請求項26乃至27の少なくとも一項に記載の装置(100;100a;100b;1000)。
【請求項29】
請求項1乃至24の少なくとも一項に記載の方法を実施するマイクロコントローラシステム(1)又はシングルチップシステム(1)であって、
前記システム(1)は、特に単一の、請求項25乃至28までの少なくとも一項に記載の装置(1000)を有する、
マイクロコントローラシステム(1)又はシングルチップシステム(1)。
【請求項30】
コンピュータ(1002a)により実行されるときに、前記コンピュータ(1002a)に、請求項1乃至24の少なくとも一項に記載の方法を実施させるための命令(PRG)を含むコンピュータ可読記憶媒体(SM)。
【請求項31】
コンピュータ(1002a)によりプログラムが実行されるときに、前記コンピュータ(1002a)に、請求項1乃至24の少なくとも一項に記載の方法を実施させるための命令を含むコンピュータプログラム(PRG)。
【請求項32】
請求項31に記載のコンピュータプログラム(PRG)を伝送するデータキャリア信号(DS)。
【請求項33】
次の要素、即ち、
a)前記コンピューティングデバイス(100)における、特に前記コンピューティングデバイス(100)の中央処理装置(102a)内における信頼境界の提供(370)、
b)前記コンピューティングデバイス(100)及び/又は前記コンピューティングデバイス(100)のコンポーネントのうちの1つのコンポーネントに対する侵入の侵入表面の低減(371)、
c)メモリへのアクセス権の制限(372)、
d)周辺機器へのアクセス権の制限(373)、
e)計算リソースへのアクセス権の制限(374)、
f)変造されたコンポーネントの影響の最小化(375)、
g)特に車両用の、特に自動車用の制御装置の動作(376)、
h)組込システム、特にモノのインタネットの組込システム、即ち、IoTシステムの動作(377)、
i)特定用途向け集積回路即ちASICの動作(378)、
j)変造されたゾーンの検出、
k)特に侵害が検出された場合のエラー応答の開始
のうちの少なくとも1つの要素に対する、請求項1乃至24の少なくとも一項に記載の方法の使用及び/又は請求項25乃至28の少なくとも一項に記載の装置(100;100a;100b;1000)の使用及び/又は請求項29に記載のシステム(1)の使用及び/又は請求項31に記載のコンピュータプログラム(PRG)の使用。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、少なくとも1つの中央処理装置(コンピューティングコア)を有するコンピューティングデバイスの動作方法に関する。
【0002】
本開示はさらに、そのような方法を実施するための装置に関する。
【0003】
発明の開示
好ましい実施形態は、特に車両用の、特に自動車用の、特に組込システム及び/又は制御装置用の、少なくとも1つの中央処理装置を有するコンピューティングデバイスの動作方法に関し、この方法は、次のステップ、即ち、
コンピューティングデバイスによって実行可能な1つ又は複数のアプリケーションプログラムを少なくとも2つのゾーンのうちの1つのゾーンに割り当てるステップであって、これらのゾーンは、関連するアプリケーションプログラムを実行するために利用可能な、コンピューティングデバイスのリソースを特徴付ける、ステップと、
自身に割り当てられているゾーンに応じて、複数のアプリケーションプログラムのうちの少なくとも1つのアプリケーションプログラムを実行するステップと、
を含む。これは有利には、アプリケーションプログラムの実行時の動作の柔軟性を損なうことなく、コンピューティングデバイスの動作のセキュリティを強化することを可能にする。
【0004】
実施形態による方法は、特に好ましくは、コンピュータで実施される方法として設計されている。
【0005】
他の好ましい実施形態においては、2つのゾーン又は2つ以上のゾーンも設定されるものとしてよい。
【0006】
他の好ましい実施形態においては、ゾーンによって特徴付け可能な、コンピューティングデバイスのリソースは、次の要素、即ち、
a)メモリ、
b)実行時間又は計算時間、
のうちの少なくとも1つの要素を有するものとするとよく、ここでは、特にリソースは、メモリを含む。
【0007】
他の好ましい実施形態においては、コンピューティングデバイスが複数の中央処理装置を有することが想定されており、この方法はさらに、a)少なくとも1つの中央処理装置を厳密に1つのゾーンに割り当てるステップ、及び/又は、b)少なくとも1つの中央処理装置を1つ以上のゾーン、特に2つのゾーンに割り当てるステップを含む。
【0008】
他の好ましい実施形態においては、この方法がさらに、少なくとも1つのゾーンに応じて、次の要素、即ち、
a)コンピューティングデバイスに割り当てられているメモリに対する読取権、
b)コンピューティングデバイスに割り当てられているメモリに対する書込権、
c)コンピューティングデバイスに割り当てられているメモリに対する実行権、
のうちの少なくとも1つの要素を制御するステップ、特に制限するステップを含むことが想定されている。
【0009】
他の好ましい実施形態においては、この方法がさらに、読取権及び/又は書込権及び/又は実行権を制御するために、少なくとも一時的に、少なくとも1つのメモリ保護デバイスを使用するステップを含むことが想定されている。
【0010】
他の好ましい実施形態においては、この方法がさらに、少なくとも1つの中央処理装置に対して少なくとも1つの専用メモリ保護デバイスを提供するステップを含むことが想定されており、ここでは、特に複数の、好ましくはすべての中央処理装置に対してそれぞれ1つの専用メモリ保護デバイスが提供される。
【0011】
他の好ましい実施形態においては、この方法はさらに、複数の中央処理装置に対して1つのメモリ保護デバイス、特に共通のメモリ保護デバイスを提供するステップを含むことが想定されている。
【0012】
他の好ましい実施形態においては、次のことが想定されている。即ち、少なくとも1つの中央処理装置は、少なくとも一時的に第1の動作モードを取り、特に少なくとも1つの中央処理装置は、第1の動作モードにおいて、少なくとも1つのメモリ保護デバイスの動作を制御する構成データの設定及び/又は書込を行い、特に少なくとも1つの中央処理装置は、少なくとも一時的に第2の動作モードを取り、少なくとも1つの中央処理装置は、第2の動作モードにおいて、少なくとも1つのメモリ保護デバイスに対する構成データの書込及び/又は変更を行うことができない。
【0013】
他の好ましい実施形態においては、少なくとも1つの中央処理装置がイベント駆動方式で、特に少なくとも1つの割り込み要求(英語で、interrupt request)に応じて、第1の動作モードを取ることが想定されている。
【0014】
他の好ましい実施形態においては、この方法がさらに、少なくとも1つのメモリ保護デバイスに対して構成データの複数のセットを提供するステップを含むことが想定されており、特に、構成データの複数のセットのうちの少なくとも1つの第1のセットが少なくとも2つのゾーンのうちの第1のゾーンに割り当てられ、構成データの複数のセットのうちの少なくとも1つの第2のセットが少なくとも2つのゾーンのうちの第2のゾーンに割り当てられる。
【0015】
他の好ましい実施形態においては、この方法がさらに、アプリケーションプログラムの第1のインスタンス及びアプリケーションプログラムの第2のインスタンスを提供するステップと、アプリケーションプログラムの第1のインスタンスを少なくとも2つのゾーンのうちの第1のゾーンに割り当てるステップと、アプリケーションプログラムの第2のインスタンスを少なくとも2つのゾーンのうちの第2のゾーンに割り当てるステップと、を含むことが想定されている。
【0016】
他の好ましい実施形態においては、この方法がさらに、少なくとも2つのゾーンに応じてコンピューティングデバイスに割り当てられているメモリの領域を分離するステップを含むことが想定されており、ここで、コンピューティングデバイスに割り当てられているメモリは、次の要素、即ち、
a)特にメインメモリの形態のバッファメモリ、
b)スタックメモリ、
c)データメモリ、
d)プログラムメモリ、
e)レジスタメモリ、
f)OTP(ワンタイムプログラマブル、1回だけプログラミングが可能な)メモリ
のうちの少なくとも1つの要素を有しており、この分離するステップのために少なくとも1つのメモリ保護デバイスが使用される。
【0017】
他の好ましい実施形態においては、この方法がさらに、バッファメモリ、特にメインメモリを介して、種々のゾーンの間において第1のデータを交換するステップを含むことが想定されており、ここで、特に、第1のゾーンと第2のゾーンとの間における第1のデータの交換は、次のステップ、即ち、
第1のデータを、第1のゾーンに割り当てられている第1のバッファメモリ領域にコピーするステップと、
コピーされた第1のデータを検査するステップと、
特にこの検査するステップに応じて、第1のデータを、第1のゾーンに割り当てられている第1のバッファメモリ領域から、第2のゾーンに割り当てられている第2のバッファメモリ領域にコピーするステップと、
を含む。
【0018】
他の好ましい実施形態においては、この方法がさらに、少なくとも2つのゾーンに応じて、異なるアプリケーションプログラム及び/又はアプリケーションプログラムのインスタンスに対して計算時間リソースを分離するステップ、特に、異なるアプリケーションプログラム及び/又はアプリケーションプログラムのインスタンスに対して計算時間リソースを割り当てるステップを含むことが想定されている。
【0019】
他の好ましい実施形態においては、この方法がさらに、次のステップ、即ち、
a)異なるアプリケーションプログラム及び/又はアプリケーションプログラムのインスタンスに対して計算時間リソースを割り当てるために、組込システム用のオペレーティングシステム、特に軽量組込オペレーティングシステムを使用するステップであって、特にコンピューティングデバイスのそれぞれ1つの中央処理装置に1つのオペレーティングシステムを割り当てるステップ、及び/又は、
b)特に、アプリケーションプログラム(アプリケーションプログラムのインスタンス)が異なるゾーンに割り当てられている場合に、異なるアプリケーションプログラム及び/又はアプリケーションプログラムのインスタンスに対して計算時間リソースを割り当てるために、組込システム用のスーパーバイザ、特に軽量組込スーパーバイザを使用するステップであって、特にコンピューティングデバイスのそれぞれ1つの中央処理装置に1つのスーパーバイザを割り当てるステップ
を含むことが想定されている。
【0020】
他の好ましい実施形態においては、オペレーティングシステム及び/又はスーパーバイザが、特に静的なタスクリストを使用して、事前に規定されたタスクに対して、好ましくは事前に規定されたタスクに対してのみ、計算時間リソースの割り当てを実行することが想定されている。
【0021】
他の好ましい実施形態においては、オペレーティングシステム及び/又はスーパーバイザは、計算時間リソースの割り当てを、a)繰り返される、特に定期的に繰り返される割り込み要求に応じて、及び/又は、b)イベント駆動方式の割り込み要求に応じて、実行することが想定されており、ここでは特に、タスクは、少なくとも1つの割り込みルーチンによってアクティブ化される。
【0022】
他の好ましい実施形態においては、割り込みルーチンに入ると、特にハードウェア駆動方式で、少なくとも1つのメモリ保護デバイスに対する構成データ又は少なくとも1つのメモリ保護デバイスが変更されることが想定されている。
【0023】
他の好ましい実施形態においては、この方法がさらに次のステップを含むことが想定されている。即ち、特にオペレーティングシステム及び/又はスーパーバイザを用いて、特に侵害の可能性があるかに関して、次の要素、即ち、
a)第1のゾーン、
b)第1のゾーンに割り当てられているアプリケーションプログラム、
c)第1のゾーンに割り当てられている、アプリケーションプログラムのインスタンス
のうちの少なくとも1つの要素を監視するステップを含むことが想定されており、特にこの監視するステップは、スタックメモリを評価するステップ及び/又はプログラムカウンタを評価するステップを含み、ここで、好ましくは、スタックメモリを評価するステップ及び/又はプログラムカウンタを評価するステップは、アプリケーションプログラムをアクティブ化するステップ及び/又はアプリケーションプログラムのインスタンスをアクティブ化するステップの前に行われる。他の好ましい実施形態においては、スーパーバイザの監視ルーチンは、特に信頼できるインスタンスによって、信頼できる動作モード(例えば「スーパーバイザモード」)において遂行又は実行される。
【0024】
他の好ましい実施形態においては、この方法がさらに、特に、監視するステップが侵害の可能性を示す場合に、エラー応答を開始するステップを含むことが想定されており、エラー応答は、次の要素、即ち、
a)特に、第1のゾーンに割り当てられている中央処理装置の非アクティブ化及び/又は第1のゾーンに割り当てられている中央処理装置のリセット(リセットの実行、再設定)及び/又はエラーモードへの移行を用いた、第1のゾーン及び/又は第1のゾーンに割り当てられている中央処理装置の安全な状態への移行、
b)エラーエントリの生成、及び/又は、
c)あるエラーエントリ又は上述のエラーエントリの、侵入検知システム、特にIntrusion Detection System(IDS)への転送
のうちの少なくとも1つの要素を含む。他の好ましい実施形態においては、IDSは、例えば、コンピューティングデバイスの内部又は外部に配置されるものとしてよい。
【0025】
他の好ましい実施形態においては(
図2Nを参照されたい)次のことが想定されている。即ち、コンピューティングデバイスは、少なくとも一時的にコールドスタートを実行し、特にコールドスタート中に、データ及び/又はプログラムコードが不揮発性メモリからロードされ、コンピューティングデバイスは、少なくとも一時的にウォームスタートを実行し、特にウォームスタート中に、データ及び/又はプログラムコードが、少なくとも一時的に通電される揮発性メモリからロードされ、特にコールドスタート中に、少なくとも1つのメモリ保護デバイスが構成され、及び/又は、特にウォームスタート中に、上述の少なくとも1つのメモリ保護デバイスが構成される。
【0026】
他の好ましい実施形態においては、専用メモリ保護デバイスが提供されている中央処理装置のみが、この専用メモリ保護デバイスを構成することが想定されている。
【0027】
他の好ましい実施形態においては、この方法がさらに、特に、次の要素、即ち、
a)少なくとも1つのメモリ保護デバイスの構成に使用可能なプログラムコードの検証、
b)構成データの検証、
c)少なくとも1つのメモリ保護デバイスの構成に使用可能な、あるプログラムコード又は上述のプログラムコードの永続化、
d)構成データの永続化
のうちの少なくとも1つの要素を用いて、少なくとも1つのメモリ保護デバイスの動作を制御する構成データの完全性及び/又は真正性、又は、当該構成データを検査するステップを含むことが想定されている。
【0028】
他の好ましい実施形態においては、この方法がさらに、特に少なくとも1つの中央処理装置によって、少なくとも一時的に、セキュアブート方法を実行するステップ及び/又は少なくとも一時的に、ランタイム中に改ざんを識別する方法を実行するステップを含むことが想定されている。
【0029】
他の好ましい実施形態においては、この方法がさらに、少なくとも1つのゾーンに応じて、次の要素、即ち、
a)コンピューティングデバイスの内部インタフェース、特にソフトウェアインタフェース、
b)コンピューティングデバイスの内部ハードウェアインタフェース及び/又は外部ハードウェアインタフェース、
c)暗号化機能を実行するためのハードウェアセキュリティモジュール及び/又は暗号化モジュール、
d)コンピューティングデバイスの周辺機器、特に少なくとも1つの周辺機器の特殊機能レジスタ、
e)コンピューティングデバイスのターゲットシステム、特に制御装置の内部インタフェース、
f)コンピューティングデバイスのターゲットシステム、特に制御装置の外部インタフェース、
g)特に、ISO/OSIレイヤモデルの少なくとも1つのレイヤ上の通信プロトコルに対するアドレス指定要素、
のうちの少なくとも1つの要素へのアプリケーションプログラムによるアクセスを制御するステップを含むことが想定されている。
【0030】
他の好ましい実施形態においては、この方法がさらに、次の要素、即ち、
a)少なくとも1つの付加的な、特にまだ存在していないゾーンの導入、
b)第1の中央処理装置から、コンピューティングデバイスの少なくとも1つの他の中央処理装置への機能性の移動、
c)特にコンピューティングデバイス内に統合されているメインメモリを使用した、少なくとも2つのゾーン間の通信の実行、
d)少なくとも1つの信頼できるゾーンの定義及び任意選択的に、信頼できるゾーンに割り当てられている少なくとも1つのアプリケーションプログラムによる、少なくとも1つの他の、特に信頼できないゾーンの監視
のうちの少なくとも1つの要素を含むことが想定されている。他の好ましい実施形態においては、少なくとも1つの他の、特に信頼できないゾーンの監視は、例えばプログラムによって、例えば割り込みルーチン(ISR 英語で、interrupt service routine)によって、好ましくは「スーパーバイザモード」とも称され得る監視モードにおいて実行され得る。
【0031】
他の好ましい実施形態は、実施形態による方法を実施するための装置に関する。
【0032】
他の好ましい実施形態においては、この装置が、次の要素、即ち、
a)少なくとも1つの中央処理装置を有するコンピューティングデバイス、
b)メモリデバイス、
c)データバス、
d)メモリ保護デバイス、
e)ハードウェアセキュリティモジュール、
のうちの少なくとも1つの要素を有することが想定されている。
【0033】
他の好ましい実施形態においては、この装置が、マイクロコントローラとして、特に単一のマイクロコントローラとして、又は、シングルチップシステム(英語で、SoC system-on-chip)として、特に単一のSoCとして構成されていることが想定されている。
【0034】
他の好ましい実施形態においては、この装置が、1つの、特に共通の半導体基板を有することが想定されており、ここで、特に共通の半導体基板上に、次の要素、即ち、
a)少なくとも1つの中央処理装置を有するコンピューティングデバイス、
b)メモリデバイス、
c)データバス、
d)メモリ保護デバイス、
e)ハードウェアセキュリティモジュール
のうちの少なくとも1つの要素が配置されている。
【0035】
他の好ましい実施形態は、特にコンピュータプログラムの形態の命令を含むコンピュータ可読記憶媒体に関する。この命令は、コンピュータによって実行されるときに、コンピュータに、実施形態による方法を実施させるためのものである。
【0036】
他の好ましい実施形態は、命令を含むコンピュータプログラムに関する。この命令は、プログラムがコンピュータによって実行されるときに、コンピュータに、実施形態による方法を実施させるためのものである。
【0037】
他の好ましい実施形態は、実施形態によるコンピュータプログラムを伝送するデータキャリア信号に関する。
【0038】
他の好ましい実施形態は、次の要素、即ち、
a)コンピューティングデバイスにおける、特にコンピューティングデバイスの中央処理装置内における信頼境界の提供、
b)コンピューティングデバイス及び/又はコンピューティングデバイスのコンポーネントのうちの1つのコンポーネントに対する侵入の侵入表面の低減、
c)メモリへのアクセス権の制限、
d)周辺機器へのアクセス権の制限、
e)計算リソースへのアクセス権の制限、
f)変造されたコンポーネントの影響の最小化、
g)特に車両用の、特に自動車用の制御装置の動作、
h)組込システム、特にモノのインタネットの組込システム、即ち、IoTシステムの動作、
i)特定用途向け集積回路即ちASICの動作、
j)変造されたゾーンの検出、
k)特に侵害が検出された場合のエラー応答の開始
のうちの少なくとも1つの要素に対する、実施形態による方法の使用及び/又は実施形態による装置の使用及び/又は実施形態によるコンピュータプログラムの使用に関する。
【0039】
他の好ましい実施形態においては、実施形態による方法及び/又は装置は、制御装置において、例えば自動車用の制御装置において、特に自動車の内燃機関用の制御装置において使用されるものとしてよく、これは、例えば、次の用途、即ち、
a)制御装置の動作又は動作状態遷移の制御、
b)制御装置及び/又は他のコンポーネント及び/又は例えば自動車の1つ又は複数の機能の有効化又は非有効化、
c)エラーモード及び/又は緊急動作への切換、
d)エラーメモリエントリの実行、
e)外部ユニット及び/又はユーザへの動作状態の通知、
f)アクチュエータの駆動制御
のうちの少なくとも1つの用途に対する使用である。
【0040】
他の好ましい実施形態は、特に、メモリデバイス及び/又はメモリデバイスにアクセスするコンピューティングデバイスを第1の動作状態から第2の動作状態に切り換える前又は切り換える間又は切り換えた後に、メモリデバイスの少なくとも1つの部分領域を変更又は改ざんに関して検査するために、かつ、この検査に応じて、例えば自動車の内燃機関の制御装置の動作を制御するために、実施形態による方法及び/又は実施形態による装置及び/又は実施形態によるコンピュータプログラムを使用することに関する。
【0041】
本発明の他の特徴、適用の可能性及び利点は、図面に示されている、本発明の実施例の以下の説明から明らかになる。ここで、説明された又は図示されたすべての特徴は、特許請求の範囲におけるそれらの括り又はそれらの引用関係に関係なく、また、明細書又は図面におけるそれらの表現又は描写に関係なく、単独で又は任意の組合せにより、本発明の主題を形成する。
【図面の簡単な説明】
【0042】
【
図1】好ましい実施形態によるコンピューティングデバイスの簡略化されたブロック図を概略的に示す図である。
【
図2A】他の好ましい実施形態による方法の簡略化されたフローチャートを概略的に示す図である。
【
図2B】他の好ましい実施形態による方法の簡略化されたフローチャートを概略的に示す図である。
【
図2C】他の好ましい実施形態による方法の簡略化されたフローチャートを概略的に示す図である。
【
図2D】他の好ましい実施形態による方法の簡略化されたフローチャートを概略的に示す図である。
【
図2E】他の好ましい実施形態による方法の簡略化されたフローチャートを概略的に示す図である。
【
図2F】他の好ましい実施形態による方法の簡略化されたフローチャートを概略的に示す図である。
【
図2G】他の好ましい実施形態による方法の簡略化されたフローチャートを概略的に示す図である。
【
図2H】他の好ましい実施形態による方法の簡略化されたフローチャートを概略的に示す図である。
【
図2I】他の好ましい実施形態による方法の簡略化されたフローチャートを概略的に示す図である。
【
図2J】他の好ましい実施形態による方法の簡略化されたフローチャートを概略的に示す図である。
【
図2K】他の好ましい実施形態による方法の簡略化されたフローチャートを概略的に示す図である。
【
図2L】他の好ましい実施形態による方法の簡略化されたフローチャートを概略的に示す図である。
【
図2M】他の好ましい実施形態による方法の簡略化されたフローチャートを概略的に示す図である。
【
図2N】他の好ましい実施形態による方法の簡略化されたフローチャートを概略的に示す図である。
【
図2P】他の好ましい実施形態による方法の簡略化されたフローチャートを概略的に示す図である。
【
図2Q】他の好ましい実施形態による方法の簡略化されたフローチャートを概略的に示す図である。
【
図2R】他の好ましい実施形態による方法の簡略化されたフローチャートを概略的に示す図である。
【
図2S】他の好ましい実施形態による方法の簡略化されたフローチャートを概略的に示す図である。
【
図2T】他の好ましい実施形態による方法の簡略化されたフローチャートを概略的に示す図である。
【
図2U】他の好ましい実施形態による方法の簡略化されたフローチャートを概略的に示す図である。
【
図3】他の好ましい実施形態によるコンピューティングデバイスの簡略化されたブロック図を概略的に示す図である。
【
図4】他の好ましい実施形態による態様の簡略化されたブロック図を概略的に示す図である。
【
図5】他の好ましい実施形態による態様の簡略化されたブロック図を概略的に示す図である。
【
図6】他の好ましい実施形態による割り込みルーチンの態様を概略的に示す図である。
【
図7】他の好ましい実施形態による割り込みルーチンの態様を概略的に示す図である。
【
図8】他の好ましい実施形態によるフローチャートを概略的に示す図である。
【
図9】他の好ましい実施形態による割り込みルーチンの態様を示す図である。
【
図10】他の好ましい実施形態による態様の簡略化されたブロック図を概略的に示す図である。
【
図11】他の好ましい実施形態による態様の簡略化されたブロック図を概略的に示す図である。
【
図12A】他の好ましい実施形態による割り込みルーチンの態様を概略的に示す図である。
【
図12B】他の好ましい実施形態による割り込みルーチンの態様を概略的に示す図である。
【
図13】他の好ましい実施形態による態様の簡略化されたブロック図を概略的に示す図である。
【
図14】他の好ましい実施形態によるフローチャートを概略的に示す図である。
【
図15】他の好ましい実施形態による態様の簡略化されたブロック図を概略的に示す図である。
【
図16】他の好ましい実施形態による態様の簡略化されたブロック図を概略的に示す図である。
【
図17】他の好ましい実施形態による態様の簡略化されたブロック図を概略的に示す図である。
【
図18】他の好ましい実施形態による態様の簡略化されたブロック図を概略的に示す図である。
【
図19】他の好ましい実施形態による態様の簡略化されたブロック図を概略的に示す図である。
【
図20】他の好ましい実施形態によるフローチャートを概略的に示す図である。
【
図21】他の好ましい実施形態によるフローチャートを概略的に示す図である。
【
図22】他の好ましい実施形態による装置の簡略化されたブロック図を概略的に示す図である。
【
図23】他の好ましい実施形態による構成データの簡略化されたブロック図を概略的に示す図である。
【発明を実施するための形態】
【0043】
図1は、好ましい実施形態によるコンピューティングデバイス100の簡略化されたブロック図を概略的に示している。コンピューティングデバイス100は、少なくとも1つの中央処理装置、ここでは例示的に4つの中央処理装置102a,102b,102c,102nを有しており、特に、例えば組込システム及び/又は制御装置のために、特に車両、特に自動車のために使用されるものとしてよい。
【0044】
好ましい実施形態は、次のステップ、即ち、
コンピューティングデバイス100(
図1)によって実行可能な1つ又は複数のアプリケーションプログラムAP1,AP2を少なくとも2つのゾーンZ1,Z2のうちの1つのゾーンに割り当てるステップ200であって、これらのゾーンZ1,Z2は、関連するアプリケーションプログラムAP1,AP2を実行するために利用可能な、コンピューティングデバイス100のリソースを特徴付ける、ステップ200と、
自身に割り当てられているゾーンZ1,Z2に応じて、複数のアプリケーションプログラムAP1,AP2のうちの少なくとも1つのアプリケーションプログラムを実行するステップ210と、
を含む、コンピューティングデバイス100の動作方法に関する(
図2Aのフローチャートを参照されたい)。これは、有利には、アプリケーションプログラムAP1,AP2の実行時の動作の柔軟性を損なうことなく、コンピューティングデバイス100の動作の安全性を強化することを可能にする。
【0045】
他の好ましい実施形態においては、これによって、例えば、信頼境界(英語で、Trust Boundaries)を、例えば、信頼できるインスタンス/ユニット/ドメインと信頼できないインスタンス/ユニット/ドメインとの間において定義することができる。このようにして、例えば、コンピューティングデバイスの第1のアプリケーションプログラムを、信頼できない第1のゾーン(英語で、non-trustworthy zone NTZ)に割り当てることができ、コンピューティングデバイスの第2のアプリケーションプログラムを、信頼できる第2のゾーン(英語で、trustworthy zone TZ)に割り当てることができる。
【0046】
他の好ましい実施形態においては、コンピューティングデバイス100(
図1)が複数の(例えば、例示的に
図1に示されているように4つの)中央処理装置102a,102b,102c,102nを有することが想定されており、この方法はさらに(
図2Bを参照されたい)、a)少なくとも1つの中央処理装置を厳密に1つのゾーンに割り当てるステップ220、及び/又は、b)少なくとも1つの中央処理装置を1つ以上のゾーン、特に2つのゾーンに割り当てるステップ222を含む。
【0047】
他の好ましい実施形態においては、例えば、第1の中央処理装置102aは、例えば信頼できないゾーンであり得る第1のゾーンZ1に割り当てられ、第2の中央処理装置102bは、例えば信頼できるゾーンであり得る第2のゾーンZ2に割り当てられる。
【0048】
他の好ましい実施形態においては、例えば、第3の中央処理装置102cは、第1のゾーンZ1及び第2のゾーンZ2の両方に割り当てられる(
図1を参照されたい)。同様のことが、他の好ましい実施形態においては、コンピューティングデバイス100の第4の中央処理装置102nにも当てはまる。
【0049】
他の好ましい実施形態においては、
図1に示されたコンピューティングデバイス100は、
図1に詳細に示されていない他のコンポーネントも有し得るものであり、これは、例えば、1つ又は複数のメモリデバイス及び/又は周辺コンポーネントであり、これらは、
図1において、見易くするために、破線で示された長方形103によって、まとめて暗黙的に示されている。参照符号104は、1つ又は複数のデータインタフェースを表している。
【0050】
図3は、他の好ましい実施形態によるコンピューティングデバイス100aの簡略化されたブロック図を概略的に示しており、これは、
図1に示されたコンピューティングデバイス100と同様に、4つの中央処理装置102a,102b,102c,102nを有する。同様に、
図3には、メインメモリ(RAM)1030、不揮発性メモリ1032(例えばフラッシュメモリ、特にフラッシュEEPROM)及びコンピューティングデバイス100aの、任意選択的に存在する特殊機能レジスタ1034が示されている。これらは、例えば、それらの周辺コンポーネントの動作を制御するために利用可能である。これらのコンポーネント102a,102b,…,1034は、バスシステム101を介して互いに接続されている。
【0051】
他の好ましい実施形態においては(
図2Cを参照されたい)、コンピューティングデバイス100(
図1),100a(
図3)の動作方法はさらに、次の要素、即ち、
a)コンピューティングデバイス100,100aに割り当てられているメモリ1030,1032に対する読取権、
b)コンピューティングデバイスに割り当てられているメモリ1030,1032に対する書込権、
c)少なくとも1つのゾーンZ1,Z2に応じた、コンピューティングデバイスに割り当てられているメモリ1030,1032に対する実行権(遂行権)、
のうちの少なくとも1つの要素を制御するステップ230、特に制限するステップを含むことが想定されている。これによって、有利には、対応するゾーンZ1,Z2に割り当てられているアプリケーションプログラムAP1,AP2(
図1)のみが、上述の1つ又は複数のメモリ1030,1032にアクセスできることが保証される。例えば、これによって、他の好ましい実施形態においては、信頼できないゾーンのアプリケーションプログラムが1つ又は複数のメモリ1030,1032にアクセスすること(特に、例えば、信頼できないゾーンによる、信頼できるゾーンに割り当てられているメモリ領域1030,1032へのアクセス)を阻止することができる。これは場合によっては、信頼できないゾーンのアプリケーションプログラムによるメモリコンテンツの改ざんの可能性に関するリスクである。
【0052】
他の好ましい実施形態においては(
図2Cを参照されたい)、この方法がさらに、少なくとも一時的に少なくとも1つのメモリ保護デバイスM1,M2,M3,M4,M5_1,M5_2,M5_3,M5_4,M5_5,M5_6,M5_7,M5_8(
図3)を、読取権及び/又は書込権及び/又は実行権を制御するために使用するステップ232を含むことが想定されている。
【0053】
他の好ましい実施形態においては(
図2Dを参照されたい)、この方法はさらに、少なくとも1つの中央処理装置102aに少なくとも1つの専用メモリ保護デバイスM1を提供するステップ231を含むことが想定されており、ここでは、特に複数の、好ましくはすべての中央処理装置102a,102b,102c,102nに対してそれぞれ1つの専用メモリ保護デバイスM1,M2,M3,M4が提供される。他の好ましい実施形態においてはさらに、上述のアクセス権、特に読取権及び/又は書込権及び/又は実行権を制御するステップ230、特に制限するステップを実行するために、各(専用)メモリ保護デバイスM1,M2,M3,M4が使用されるものとしてよい(
図2Dのステップ232’を参照されたい)。
【0054】
他の好ましい実施形態においては、使用するステップ232’(
図2D)の前に、任意選択的な、メモリ保護デバイスを構成するステップ231aが行われるものとしてよい。
【0055】
他の好ましい実施形態においては(
図2Eを参照されたい)、次のことが想定されている。即ち、少なくとも1つの中央処理装置102aが少なくとも一時的に第1の動作モードを取り(ステップ240を参照されたい)、特に少なくとも1つの中央処理装置102aは第1の動作モードにおいて、少なくとも1つのメモリ保護デバイスM1,M2,…,M5_8の動作を制御する構成データ1036(
図3)の設定及び/又は書込242を行い、特に少なくとも1つの中央処理装置102aが少なくとも一時的に第2の動作モードを取り243、少なくとも1つの中央処理装置102aは第2の動作モードにおいて、少なくとも1つのメモリ保護デバイスM1,M2,…,M5_8に対する構成データの書込及び/又は変更を行うことができない。
【0056】
他の好ましい実施形態においては、第1の動作モードは、「スーパーバイザモード」又は監視モードと称されることもある。従って、「スーパーバイザモード」又は監視モードは、好ましくは、関連する中央処理装置102aが少なくとも1つのメモリ保護デバイスM1,M2,…,M5_8の構成を実行することができる特権状態であり得る。
【0057】
他の好ましい実施形態においては、少なくとも1つのメモリ保護デバイスM1,M2,…,M5_8に対する構成データは、例えば特殊機能レジスタ(英語で、special function register SFR)、特に構成レジスタ1036の形態で設けられるものとしてよく、これらは、場合によっては同様に、少なくとも一時的に、好ましくは、対応するメモリ保護デバイスM5_6の制御下において、バスシステム101を介してアクセス可能である。言い換えれば、他の好ましい実施形態においては、例えば特殊機能レジスタ(SFR)、特に構成レジスタ1036は、少なくとも1つのメモリ保護デバイスM1,M2,…,M5_8の構成データのために設けられるものとしてよい。
【0058】
他の好ましい実施形態においては(
図2Eを参照されたい)、少なくとも1つの中央処理装置102aがイベント駆動方式で、特に少なくとも1つの割り込み要求(英語で、interrupt request)に応じて、第1の動作モードを取る240ことが想定されている。
【0059】
他の好ましい実施形態においては(
図2Fを参照されたい)、この方法がさらに、少なくとも1つのメモリ保護デバイスM1,M2,…,M5_8に対して構成データKDの複数のセットを提供するステップ250を含むことが想定されており、特に、構成データKDの複数のセットのうちの少なくとも1つの第1のセットが少なくとも2つのゾーンのうちの第1のゾーンZ1に割り当てられ、構成データKDの複数のセットのうちの少なくとも1つの第2のセットが少なくとも2つのゾーンのうちの第2のゾーンZ2に割り当てられる(ステップ252を参照されたい)。
【0060】
他の好ましい実施形態においては、少なくとも1つの中央処理装置102aが、専用のシステム状態の範囲において、例えば、開始サイクルの際に、及び/又は、特定のイベントの際に、例えば割り込みルーチン(英語で、Interrupt Service Routine ISR)に入った際に、スーパーバイザモードなどの特定の動作モードを取ることが想定されており、これは、例えば、ハードウェア駆動方式で行われるものとしてよい。
【0061】
他の好ましい実施形態においては、少なくとも1つのさらなる非特権動作モードが、1つ又は複数の、好ましくはすべての中央処理装置に対して設定されており(「非特権モード」)、これは、他の好ましい実施形態においては、「ユーザモード」とも称されることがある。ユーザモードでは、少なくとも1つのメモリ保護デバイスM1,M2,…,M5_8に対する構成データKD 1036は、好ましくは書込可能ではない。言い換えれば、他の好ましい実施形態においては、現在ユーザモードにある中央処理装置は、少なくとも1つのメモリ保護デバイスM1,M2,…,M5_8に対する構成データKD 1036の書込又は変更を行うことはできず、これに対して、現在スーパーバイザモードにある中央処理装置は、少なくとも1つのメモリ保護デバイスM1,M2,…,M5_8に対する構成データKD 1036の書込又は変更を行うことができる。
【0062】
他の好ましい実施形態においては、アプリケーションプログラムAP1,AP2が、非特権モード、例えば、ユーザモードにおいて実行又は遂行されることが想定されている。
【0063】
他の好ましい実施形態においては、例えば、3つの動作モード又は動作状態又はモードが設定されるものとしてもよく、例えば、第1は、スーパーバイザモード、第2は、特に信頼できないゾーンに対する「ユーザモード1」、第3は、特に信頼できるゾーンに対する「ユーザモード2」である。
【0064】
他の好ましい実施形態においては、例えば、ユーザモード1において、静的な構成データKD2がアクティブであるものとしてよく、例えば第1のアプリケーションプログラムAP1が実行されている。
【0065】
他の好ましい実施形態においては、例えば、ユーザモード2において、静的な構成データKD3がアクティブであるものとしてよく、例えば第2のアプリケーションプログラムAP2が実行されている。
【0066】
他の好ましい実施形態においては、スーパーバイザモードにおいて、例えば、静的な構成データKD1がアクティブであり、スーパーバイザモードは、例えば、静的な構成データKD2と静的な構成データKD3との間の切換に用いられる(任意選択的に、静的な構成データKD2と静的な構成データKD3との間の切換にのみ用いられる)。
【0067】
他の好ましい実施形態においては、ユーザモード1及びユーザモード2は、静的な構成データKD1,KD2,KD3,KD4間の切換を行うことはできない。
【0068】
他の好ましい実施形態においては、例えば2つのモード(例えば、スーパーバイザモード及びユーザモード)(だけ)が設定されるものとしてもよい。従って、他の好ましい実施形態においては、例えば、スーパーバイザモードが信頼できるゾーンに割り当てられるものとしてよく、例えば、構成データKD1と構成データKD2との間の切換を行うことができ、また、場合によっては、例えば、第2のアプリケーションプログラムAP2を実行することができる。
【0069】
他の好ましい実施形態においては、異なる動作モード又は動作状態(例えば、特権モード及び非特権モード、又は、スーパーバイザモード、ユーザモード)に対して、例えば、1つ又は複数のメモリ1030,1032に対する各動作モード固有の読取権及び/又は書込権及び/又は遂行権(実行権)が与えられ、これは、他の好ましい実施形態においては、例えば、異なる、構成データKDのセット(「構成データセット」)を設定することによって実現可能である。
【0070】
他の好ましい実施形態においては、動作モードと各アプリケーションプログラムとの異なる組合せに対して、動作モード固有及び/又はアプリケーション固有の読取権及び/又は書込権及び/又は遂行権が与えられ、これは、他の好ましい実施形態においては、例えば、同様に、異なる、構成データKDのセット(「構成データセット」)を設定することによって実現可能である。例えば、これによって、例えば、異なるアプリケーションプログラムAP1,AP2(
図1)のユーザモードに対して、それぞれ、関連するアプリケーションプログラムAP1,AP2に適合した読取権及び/又は書込権及び/又は遂行権が与えられるものとしてよい。
【0071】
他の好ましい実施形態においては、例示的に挙げられた、1つ又は複数の、好ましくはすべてのメモリ保護デバイスM1,M2,…,M5_8が複数の構成データセットを有しており、これらは他の好ましい実施形態においては、好ましくは、異なるモード及びアプリケーションプログラムAP1,AP2に効率的に割り当てられるものとしてよい。
【0072】
他の好ましい実施形態においては、例えば、特権モード又は非特権モード間の切換の際に(例えば、スーパーバイザモードからユーザモードへの切換、又は、ユーザモードからスーパーバイザモードへの切換の際に)、又は、アプリケーションプログラム間の切換の際に、特に非特権モードにおいて、効率的に、特にハードウェア駆動方式で、関連するモード又は動作モードの構成データセット間の切換が行われ得る。
【0073】
他の好ましい実施形態においては、コンピューティングデバイス100,100a(
図3)は、例として、次の例示的に挙げられた構成の任意選択肢、即ち、
a)少なくとも1つの中央メモリ保護デバイス又はバスシステム101(
図3)に割り当てられている少なくとも1つのメモリ保護デバイスM5_1,…,M5_8に対する、特に、静的な(変更不可能な)構成データセットと、
b)専用メモリ保護デバイスM1,M2,M3,M4に対する、それぞれ4つの、特に静的な構成データセットであって、それぞれ4つの、専用メモリ保護デバイスに対する構成データセットを含み、他の好ましい実施形態においては、例えば、スーパーバイザモード用の1つの静的な構成データセットと、例えばアプリケーションプログラムAP1,AP2用の、即ち、例えばユーザモード用の3つの静的な構成データセットとを含む、構成データセットと、
を含む。
図23は、合計4つの構成データセットKD1,KD2,KD3,KD4を含む例示的な構成データKD’を概略的に示している。
【0074】
他の好ましい実施形態においては、構成データは、例えば、どのメモリアドレスに対して、コンピューティングデバイスのコンポーネント、例えば中央処理装置が、読取及び/又は書込及び/又は実行のためにアクセスすることができるのかを定義している。他の好ましい実施形態においては、メモリ保護デバイスは、関連する中央処理装置によって現在実行されているアクセス(読取及び/又は書込及び/又は実行)を構成データの内容と比較し、例えば、一致する場合には、関連するアクセスを許可若しくは禁止するように、又は、そうでない場合には、その逆を行うように、構成されるものとしてよい。
【0075】
他の好ましい実施形態においては、専用メモリ保護デバイスM1,M2,M3,M4に対する、挙げられた、好ましくは静的な構成データセットは、例えば、ユーザモードの場合、実施形態によるゾーンZ1,Z2と相関し得る。
【0076】
他の好ましい実施形態においては、特にいわゆる「コア-ゾーン間分離」のケースにおいて、(例えば、同等の信頼レベルを有する)特定のゾーンZ2のアプリケーションプログラムのみが、特定の中央処理装置102a(
図1)で実行される。他の好ましい実施形態においては、特にそのような中央処理装置102a用の専用メモリ保護デバイスM1(
図3)のケースにおいて、例えば2つの、特に静的な構成データセットのみが使用され、例えば、1つはスーパーバイザモード用であり、1つはユーザモードにおけるアプリケーションプログラム用である。特にユーザモードにおけるアプリケーションプログラム用の、場合によっては残存している、未使用の構成データセットが、他の好ましい実施形態においては、例えば、次のように構成されるものとしてよい。即ち、これらが、メモリ全体1030,1032への一般的な読取アクセス、書込アクセス及び遂行アクセスを阻止するように構成されるものとしてよく、これによって、セキュリティがさらに強化される。
【0077】
他の好ましい実施形態においては、特にいわゆる「コア-ゾーン内分離」のケースにおいて、例えば、それぞれ異なる信頼レベルを有する2つのゾーンZ1,Z2のアプリケーションプログラムが、特定の中央処理装置102c(
図1)上において実行される。ここでは、好ましくは、特にユーザモードに対して、第1のゾーンZ1のアプリケーションプログラム及び第2のゾーンZ2のアプリケーションプログラム用の2つの異なる静的な構成データセットが使用され、これと並んで、好ましくは、他の動作モード、例えばスーパーバイザモード用の他の静的な構成データセットが使用される。他の好ましい実施形態においては、中央処理装置102cは、スーパーバイザモードの動作モードにおいて、2つのゾーンZ1,Z2のための2つの静的な構成データセットを切り換えるように構成されている。従って、他の好ましい実施形態においては、中央処理装置102cは、スーパーバイザモードにおいて、例えば、第1のゾーンZ1に割り当てられているアプリケーションプログラムAP1が実行されるべき場合には、第1のゾーンZ1に適合している構成データセットを自身の専用メモリ保護デバイスにおいてアクティブにし、例えば、第2のゾーンZ2に割り当てられているアプリケーションプログラムAP2が実行されるべき場合には、例えば、第2のゾーンZ2に適合している構成データセットを自身の専用メモリ保護デバイスにおいてアクティブにする。特にユーザモードにおけるアプリケーションプログラム用の、場合によっては残存している、未使用の構成データセット(ここでは、4つの総数が例示的に挙げられる構成データセット)が、他の好ましい実施形態においては、例えば、次のように構成されるものとしてよい。即ち、これらが、メモリ全体1030,1032への一般的な読取アクセス、書込アクセス及び遂行アクセスを阻止するように構成されるものとしてよく、これによって、セキュリティがさらに強化される。
【0078】
他の好ましい実施形態においては(
図2Gを参照されたい)、この方法がさらに、次のステップを含むことが想定されている。即ち、アプリケーションプログラムAP1の第1のインスタンスAP1_I1及びアプリケーションプログラムAP1の第2のインスタンスAP1_I2を提供するステップ260、アプリケーションプログラムAP1の第1のインスタンスAP1_I1を少なくとも2つのゾーンのうちの第1のゾーンZ1に割り当てるステップ262、アプリケーションプログラムAP1の第2のインスタンスAP_I2を少なくとも2つのゾーンのうちの第2のゾーンZ2に割り当てるステップ263を含むことが想定されている。これによって、有利には、アプリケーション又はアプリケーションプログラムAP1が複数のゾーンZ1,Z2にわたって「延在している」用途を包含することができる。従って、他の好ましい実施形態においては、このアプリケーションプログラムAP1に対して、ゾーンごとにそれぞれ1つのインスタンスAP1_I1,AP1_I2が存在するものとしてよく、そのようなインスタンスは、他の好ましい実施形態においてはプロキシとも称され得る。
【0079】
他の好ましい実施形態においては、そのようなプロキシAP1_I2は、関連する他のゾーンZ2に対して関連性のある(部分的な)機能性を包含することができる。他の好ましい実施形態においては、プロキシは、場合によっては、複数のサブコンポーネントも含むものとしてよい。
【0080】
他の好ましい実施形態においては、コンピューティングデバイス100,100aは、例えば、次のシナリオを実行することができる:第1のアプリケーションプログラムAP1が、例えば、信頼できない第1のゾーンZ1からデータを受信し(例えば、インタネットからのリモートサービス要求(「離隔した場所からのサービス要求」))、(例えば、相応のサービス(「リモートサービス」)を実施するために)このデータを相応に、信頼できるゾーンZ2内において処理する又は転送する場合、第1のゾーンZ1内において、アプリケーションプログラムAP1のZ1プロキシAP1_I1によって、データの受信が行われ、ここでは、対応するZ2プロキシAP1_I2が、例えば、次のステップを実行する。即ち、Z2プロキシAP1_I2によって、特に初期状態において、信頼できないと分類されたデータのデータ検証ステップと、データ検証ステップが成功した場合における、(データ検証ステップ後に)信頼できると分類されたデータの第2のゾーンZ2内における処理ステップ又は転送ステップとを実行する。
【0081】
他の好ましい実施形態においては(
図2Hを参照されたい)、この方法がさらに、次のステップを含むことが想定されている。即ち、少なくとも2つのゾーンZ1,Z2に応じて、コンピューティングデバイス100,100aに割り当てられているメモリ1030,1032の領域を分離するステップ270を含むことが想定されている。ここでは、コンピューティングデバイス100,100aに割り当てられているメモリは、次の要素、即ち、
a)特にメインメモリの形態のバッファメモリ、
b)スタックメモリ、
c)データメモリ、
d)プログラムメモリ、
e)レジスタメモリ、
のうちの少なくとも1つの要素を有しており、ここでは、少なくとも1つのメモリ保護デバイスが、この分離するステップ270のために使用される(任意選択的なステップ272を参照されたい)。
【0082】
他の好ましい実施形態においては(
図2Iを参照されたい)、この方法がさらに、バッファメモリ、特にメインメモリを介して、種々のゾーンの間において第1のデータを交換するステップ280を含むことが想定されている。ここでは、特に第1のゾーンZ1と第2のゾーンZ2との間における第1のデータの交換は、次のステップ、即ち、
第1のデータを、第1のゾーンに割り当てられている第1のバッファメモリ領域にコピーするステップ282と、
コピーされた第1のデータを検査するステップ283と、
特にこの検査するステップに応じて、第1のデータを、第1のゾーンZ1に割り当てられている第1のバッファメモリ領域から、第2のゾーンZ2に割り当てられている第2のバッファメモリ領域にコピーするステップ284と、
を含む。
【0083】
図4は、他の好ましい実施形態による、コンピューティングデバイス100,100aの態様の簡略化されたブロック図を概略的に示している。2つの中央処理装置102a,102bが示されており、これらは、既に上述したように、各ゾーンZ1,Z2に割り当てられている。メインメモリ1030(
図3)の領域1030aは、ここでは、特に異なるゾーンZ1,Z2又は関連する中央処理装置102a,102b又はその上において実行可能なアプリケーションプログラム(アプリケーションプログラムのインスタンス)間のデータ交換のために、バッファメモリ又は「分割されたメインメモリ」として利用可能である。ここでは、第1の部分領域TB1は、第1のゾーンZ1又は第2の中央処理装置102bに割り当てられており、第2の部分領域TB2は、第2のゾーンZ2又は第1の中央処理装置102aに割り当てられている。
【0084】
同様に、
図4には、複数のプロキシPXYが示されており、ここでは、例えば第1の数のプロキシ、即ち、Z1-プロキシ 1,Z1-プロキシ 2,…,Z1-プロキシ nが第1のゾーンZ1に、即ち、ここでは中央処理装置102bに割り当てられており、例えば第2の数のプロキシ、即ち、Z2-プロキシ 1,Z2-プロキシ 2,…,Z2-プロキシ nが第2のゾーンZ2に、即ち、ここでは中央処理装置102aに割り当てられている。参照符号SSEによって、ここでは、複数のメモリ保護デバイス又はその機能的なコンポーネントが示されており、これらは、
図4において象徴的に、部分領域TB1,TB2若しくはゾーンZ1,Z2の相互からの相応の分離、又は、部分領域TB1,TB2若しくはゾーンZ1,Z2同士の相応の分離を、好ましい実施形態による原理に対応して暗黙的に示している。
【0085】
他の好ましい実施形態においては、部分領域TB1,TB2の少なくとも1つの部分領域はそれ自体、異なる領域TB1a,TB1b又はTB2a,TB2bに細分化されるものとしてよく、ここでは例えば、領域TB1aは、第1の部分領域TB1の信頼できない領域に相当し、領域TB1bは、第1の部分領域TB1の信頼できる領域に相当し、領域TB2aは、第2の部分領域TB2の信頼できる領域に相当し、領域TB2bは、第2の部分領域TB2の信頼できない領域に相当する。他の好ましい実施形態においては、部分領域TB1,TB2又は異なる領域TB1a,TB1b若しくはTB2a,TB2bの分離は、少なくとも1つのメモリ保護デバイスによって設定されるものとしてよい。
【0086】
他の好ましい実施形態においては(
図2Jを参照されたい)、この方法がさらに、少なくとも2つのゾーンZ1,Z2に応じて、異なるアプリケーションプログラムAP1,AP2及び/又はアプリケーションプログラムのインスタンスに対して計算時間リソースを分離するステップ290、特に、異なるアプリケーションプログラム及び/又はアプリケーションプログラムのインスタンスに対して計算時間リソースを割り当てるステップを含むことが想定されている。
【0087】
他の好ましい実施形態においては、この方法がさらに、次のステップを含むことが想定されている。即ち、異なるアプリケーションプログラムAP1,AP2及び/又はアプリケーションプログラムのインスタンスAP1_I1,AP2_I2に対する計算時間リソースの割り当てのために、組込システム用のオペレーティングシステムBS、特に軽量組込オペレーティングシステムBSを使用するステップ292を含むことが想定されている。ここでは、特に、コンピューティングデバイス100,100aのそれぞれ1つの中央処理装置に1つのオペレーティングシステムBSが割り当てられている(
図4を参照されたい)。
【0088】
他の好ましい実施形態においては、この方法が、
図2Jのステップ292に対して選択的に又は付加的に、さらに、次のステップを含むことが想定されている。即ち、異なるアプリケーションプログラム及び/又はアプリケーションプログラムのインスタンスに対する計算時間リソースの割り当てのために、組込システム用のスーパーバイザSV(
図5を参照されたい)、特に軽量組込スーパーバイザSVを使用するステップ294を含むことが想定されている。ここでは特に、コンピューティングデバイスのそれぞれ1つの中央処理装置102c(
図5)に1つのスーパーバイザSVが割り当てられている。
【0089】
他の好ましい実施形態においては、オペレーティングシステムBS及び/又はスーパーバイザSVが、特に、静的な(変更不可能な)タスクリストを使用して、事前に規定されたタスク(アプリケーションプログラム及び/又はアプリケーションプログラムのインスタンス及び/又はその一部)に対して、好ましくは事前に規定されたタスクに対してのみ、計算時間リソースの割り当てを実行することが想定されている。言い換えれば、他の好ましい実施形態においては、事前に規定されたタスクのスケジューリングのみが可能であり、これはセキュリティをさらに強化する。
【0090】
他の好ましい実施形態においては、オペレーティングシステムBS(
図4)及び/又はスーパーバイザSV(
図5)が、計算時間リソースの割り当てを、a)繰り返される、特に定期的に繰り返される割り込み要求(例えば、タイマ割り込みのinterrupt requests)に応じて、及び/又は、b)イベント駆動方式の割り込み要求に応じて、実行することが想定されており、ここでは、特に、タスクは、少なくとも1つの割り込みルーチン(interrupt service routine ISR 割り込み要求の発生時に実行されるコンピュータプログラム)によってアクティブ化される。
【0091】
他の好ましい実施形態においては、割り込みルーチンに入ると、特にハードウェア駆動方式で、少なくとも1つのメモリ保護デバイスM1,M2,…,SSEに対する構成データが変更されることが想定されている。
【0092】
他の好ましい実施形態においては、軽量組込OS BS(
図4)又は軽量組込スーパーバイザSV(
図5)は、例えば、周期的に又はイベントに基づいて実行される、(プロキシ)機能性(タスク)のコーディネート及び/又は調整を行うことができる(「スケジューリング」)。
【0093】
他の好ましい実施形態においては、軽量組込OS BS及び軽量組込スーパーバイザは、特に、次の特性のうちの少なくとも1つの特性を有する。
a)複雑性(コードの範囲、機能性、柔軟性など)を必要最小限に抑制することによる侵入表面の最小化。
b)事前に規定されたタスク(静的なタスクリスト、動的なタスクリストは不可)のみのスケジューリング、例えば周期的な割り込み要求(IRQ)、例えばタイマIRQ及び/又はevent(イベント)に基づくIRQ、例えばRx(受信)IRQ、Tx(送信)IRQ、SW(ソフトウェア)IRQなどを伴うISRなどに基づくスケジューリングであり、タスクはISRによってアクティブ化される。
c)ISRに入ると、好ましくは、スーパーバイザモードへのハードウェア駆動方式の切換が行われる:例えば、スーパーバイザモードに対する静的な構成データセットへの切換、静的な構成データセット間の切換(例えば、ユーザモードに対する)は、好ましくは、スーパーバイザモードにおいてのみ可能である。
d)さらに好ましくは、タスクのアクティブ化の前に、スーパーバイザモードからユーザモードへの切換が行われ、ここでは、特に、タスク(例えば、アプリケーションプログラム(アプリケーションプログラムのインスタンス)の一部)がユーザモードにおいて実行され、さらに、特に、(静的な)構成データ間の切換は、ユーザモード又はタスクにおいて不可能である。
e)有利には、他の好ましい実施形態においては、メモリ保護デバイスの静的な(場合によっては特に完全かつ真正でもある)構成によって、例えば、開始サイクル中に、次のことが既に暗黙的に可能にされている。即ち、メモリ保護デバイスの動的な再構成が、(例えば、軽量組込OS BS/スーパーバイザSVによって)スーパーバイザモードに対して設定されている割り込みルーチン(ISR)を用いて行われることがないことが既に暗黙的に可能にされている。
【0094】
他の好ましい実施形態においては(
図2Kを参照されたい)、この方法がさらに、次のステップを含むことが想定されている。即ち、特にオペレーティングシステムBS(
図4)及び/又はスーパーバイザSV(
図5)を用いて、特に侵害の可能性があるかに関して、次の要素、即ち、
a)第1のゾーンZ1、
b)第1のゾーンZ1に割り当てられているアプリケーションプログラムAP1、
c)第1のゾーンZ1に割り当てられている、アプリケーションプログラムAP1のインスタンスAP1_I1
のうちの少なくとも1つの要素を監視するステップ300を含むことが想定されている。ここでは、特にこの監視するステップ300は、スタックメモリ(「stack」)を評価するステップ302(
図2K)及び/又はプログラムカウンタ(「program counter」 PC)を評価するステップ304を含み、ここで、好ましくは、スタックメモリを評価するステップ302及び/又はプログラムカウンタを評価するステップ304は、アプリケーションプログラムをアクティブ化するステップ及び/又はアプリケーションプログラムのインスタンスをアクティブ化するステップの前に行われる。
【0095】
他の好ましい実施形態においては(
図2Lを参照されたい)、この方法がさらに、次のステップを含むことが想定されている。即ち、監視するステップ300(上述の
図2Kに関する記述を参照されたい)及び特に監視するステップ300が侵害の可能性を示す場合に、この方法が、エラー応答を開始するステップ305を含むことが想定されている。
【0096】
他の好ましい実施形態においては(
図2Mを参照されたい)、エラー応答又はエラー応答を開始するステップ305が、次の要素、即ち、
a)特に、第1のゾーンZ1に割り当てられている中央処理装置102bの非アクティブ化305a及び/又は第1のゾーンZ1に割り当てられている中央処理装置102bのリセット305b及び/又はエラーモードへの移行305cを用いた、第1のゾーンZ1及び/又は第1のゾーンZ1に割り当てられている中央処理装置102b(
図1)の安全な状態への移行、
b)エラーエントリFEの生成305d、及び/又は、
c)あるエラーエントリ又は上述のエラーエントリの、侵入検知システム、特にIntrusion Detection Systemへの転送305e
のうちの少なくとも1つの要素を含むことが想定されている。他の好ましい実施形態においては、IDSは、例えば、コンピューティングデバイス100,100aの内部及び/又は外部に配置されるものとしてよい。
【0097】
他の好ましい実施形態においては、IDSが、例えば、分散された実装を有するものとしてもよく、ここでは、例えば第1の部分機能性(例えば、IDSセンサ及び場合によってはIDSマスタなど)が、あるコンピューティングデバイス又は上述のコンピューティングデバイス又はコンピューティングデバイスの少なくとも1つの中央処理装置上において実装されており又は実行され、ここでは特に他の部分又は他の部分機能性が、任意選択的に、他の装置、例えばバックエンドにおいて実装されている。他の好ましい実施形態においては、バックエンドは、例えば、次の態様、即ち、
a)詳細な専門家分析、
b)人工知能(AI)、
c)機械学習(ML)など
のうちの少なくとも1つの態様を実装するように構成されるものとしてもよい。
【0098】
他の好ましい実施形態においては(
図2Nを参照されたい)、コンピューティングデバイス100,100aが少なくとも一時的にコールドスタート310を実行することが想定されており、特にコールドスタート310中に、データ及び/又はプログラムコードが不揮発性メモリ1032(
図3)からロードされ、コンピューティングデバイス100,100aが少なくとも一時的にウォームスタート312(
図2N)を実行し、ここでは、特にウォームスタート312中に、データ及び/又はプログラムコードが、少なくとも一時的に通電される揮発性メモリ1030(
図3)からロードされ、特にコールドスタート310(
図2N)中に、少なくとも1つのメモリ保護デバイス若しくは上述の少なくとも1つのメモリ保護デバイスが構成され(
図2Nのステップ311を参照されたい)、及び/又は、特にウォームスタート312中に(特にウォームスタート312中にも)、上述の少なくとも1つのメモリ保護デバイスが構成される(
図2Nのステップ313を参照されたい)。
【0099】
他の好ましい実施形態においては、専用メモリ保護デバイスM1,M2,M3,M4が提供されている(
図2Dのステップ231を参照されたい)中央処理装置102a,102b,102c,102nのみが、この専用メモリ保護デバイスM1,M2,M3,M4を構成することが想定されている(
図2Dのステップ231aを参照されたい)。
【0100】
他の好ましい実施形態においては(
図2Pを参照されたい)、この方法がさらに、特に、次の要素、即ち、
a)少なくとも1つのメモリ保護デバイスの構成に使用可能なプログラムコードの検証322、
b)構成データの検証324、
c)少なくとも1つのメモリ保護デバイスの構成に使用可能な、あるプログラムコード又は上述のプログラムコードの永続化326、
d)構成データの永続化328
のうちの少なくとも1つの要素を用いて、少なくとも1つのメモリ保護デバイスの動作を制御する構成データKDの完全性及び/又は真正性を検査するステップ320を含むことが想定されている。
【0101】
他の好ましい実施形態においては、永続化326,328は、例えば、少なくとも1つのメモリ保護デバイスの構成に使用可能なプログラムコード又は構成データを、固定記憶装置、例えばROM又はOTP(ワンタイムプログラマブル、1回だけプログラミング可能なメモリ)内に設定することを含むものとしてよい。
【0102】
他の好ましい実施形態においては(
図2Qを参照されたい)、この方法がさらに、特に、コンピューティングデバイス100,100aの少なくとも1つの中央処理装置によって、少なくとも一時的に、セキュアブート方法を実行するステップ330及び/又は少なくとも一時的に、ランタイム中に改ざんを識別する方法(RTMD runtime manipulation detection)を実行するステップ332を含むことが想定されている。方法330,332は、例えば、メモリ1030,1032の少なくとも一部の実際に存在するメモリコンテンツを、設定可能な基準メモリコンテンツと比較することを含むものとしてよく、ここで、この比較は、例えば、ハッシュ値形成及び/又はCMAC(cipher-based message authentication code)方法の利用及び/又は署名、又は、署名されたハッシュ値の利用も含むものとしてよい。
【0103】
他の好ましい実施形態においては(
図2Rを参照されたい)、この方法がさらに、少なくとも1つのゾーンZ1,Z2に応じて、次の要素、即ち、
a)コンピューティングデバイスの内部インタフェース、特にソフトウェアインタフェース、
b)コンピューティングデバイスの内部ハードウェアインタフェース及び/又は外部ハードウェアインタフェース、
c)暗号化機能を実行するためのハードウェアセキュリティモジュール及び/又は暗号化モジュール、
d)コンピューティングデバイスの周辺機器、特に少なくとも1つの周辺機器の特殊機能レジスタ、
e)コンピューティングデバイスのターゲットシステム、特に制御装置の内部インタフェース、
f)コンピューティングデバイスのターゲットシステム、特に制御装置の外部インタフェース、
g)特に、ISO/OSIレイヤモデルの少なくとも1つのレイヤ上の通信プロトコルに対するアドレス指定要素
のうちの少なくとも1つの要素へのアプリケーションプログラムAP1,AP2によるアクセスを制御するステップ340を含むことが想定されている。
図2Rに示された任意選択的なステップ342は、例示的に、自身に割り当てられているゾーンにおける関連するアプリケーションプログラムの(さらなる)実行を暗黙的に示している。
【0104】
他の好ましい実施形態においては(
図2Sを参照されたい)、この方法がさらに、次の要素、即ち、
a)少なくとも1つの付加的な、特にまだ存在していないゾーンの導入350、
b)第1の中央処理装置102aから、コンピューティングデバイス100,100aの少なくとも1つの他の中央処理装置102bへの機能性の移動352、
c)特にコンピューティングデバイス内に統合されているメインメモリを使用した、少なくとも2つのゾーン間の通信の実行354、
d)少なくとも1つの信頼できるゾーンの定義360(
図2Tを参照されたい)及び任意選択的に、信頼できるゾーンに割り当てられている少なくとも1つのアプリケーションプログラムによる、少なくとも1つの他の、特に信頼できないゾーンの監視362
のうちの少なくとも1つの要素を含むことが想定されている。
【0105】
以下においては、
図6乃至
図21を参照して、他の好ましい実施形態、態様及び実施形態による原理の利点を説明する。これらは、他の好ましい実施形態に従って、それぞれ個別に単独で、又は、上述した実施形態のうちの少なくとも1つの実施形態との相互の組合せにより、組み合わせることが可能である。
【0106】
図6は、例えば、コンピューティングデバイス100,100aの少なくとも1つの中央処理装置102a,102b,…によって少なくとも一時的に実行可能である、他の好ましい実施形態による割り込みルーチンISR1の態様を概略的に示している。
図6における雷マークIRQは、例えば周期的に(例えば、タイマモジュール(Timer)によって設定可能)及び/又はイベント駆動方式で(例えば、通信インタフェースへのメッセージの到着)生成され得る、割り込み要求(interrupt request)の発生を表す。従って、他の好ましい実施形態においては、次の要素、即ち、
e1)割り込み要求IRQによって割り込まれたタスク又はプログラムのコンテキストを、例えば、スタックメモリ上に少なくとも一時的に格納するステップ(例えば、RAM1030の設定可能な領域内において定義されるものとしてよい)、
e2)後に実行されるタスクを識別するステップ、
e3)現在の動作モード、例えばスーパーバイザモードから他の動作モード、例えばユーザモードへ切り換えるステップ、
e4)識別されたゾーンのタスクを復元するステップ
のうちの少なくとも1つの要素を含む割り込みルーチンISR1が実行される。
【0107】
他の好ましい実施形態においては、
図6による割り込みルーチンISR1は、特にコア-ゾーン間分離の場合に、例示的に、オペレーティングシステムBS(
図4)によって使用され得る。
【0108】
図7は、例えば、コンピューティングデバイス100,100aの少なくとも1つの中央処理装置102a,102b,…によって少なくとも一時的に実行可能である、他の好ましい実施形態による割り込みルーチンISR2の態様を概略的に示している。
【0109】
図7における雷マークIRQ’は、例えば、周期的に(例えば、タイマモジュール(Timer)によって設定可能)及び/又はイベント駆動方式で(例えば、通信インタフェースへのメッセージの到着)生成され得る、割り込み要求(interrupt request)の発生を表す。従って、他の好ましい実施形態においては、次の要素、即ち、
e1’)割り込み要求IRQ’によって割り込まれたタスク又はプログラムのコンテキストを、例えばスタックメモリ上に少なくとも一時的に格納するステップ、
任意選択的にe5)例えばスタックメモリの評価を実行するステップ(例えば、
図2Kのステップ302を参照されたい)及び/又はプログラムカウンタの評価を実行するステップ(例えば、
図2Kのステップ304を参照されたい)、
e6)後に実行されるタスクを識別するステップ、
e7)(例えば、先行するステップe6から)コンテキストを、識別されたゾーンへ切り換えるステップであり、ここでは、識別されたゾーンは、後に実行される識別されたタスクと関連付けられている(選択的に、他の好ましい実施形態においては、この切換は、例えばCAN ID,VLAN ID,MACアドレスなどを用いて、例えばアドレスに基づいて行われるものとしてもよい)、ステップ、
e8)現在の動作モード、例えばスーパーバイザモードから他の動作モード、例えばユーザモードへ切り換えるステップ、
e9)後続のタスクのコンテキストを復元するステップ
のうちの少なくとも1つの要素を含む割り込みルーチンISR2が実行される。
【0110】
他の好ましい実施形態においては、
図7による割り込みルーチンISR2は、特に、コア-ゾーン内分離の場合に、例示的に、スーパーバイザSV(
図5)によって使用され得る。
【0111】
図8は、他の好ましい実施形態によるフローチャートを概略的に示しており、参照符号310’は、例示的に、コンピューティングデバイス100,100aのコールドスタートの態様を示しており、ここでは参照符号312’は、例示的に、コンピューティングデバイス100,100aのウォームスタートの態様を示している。例えば、コールドスタート310’では、RAM1030(
図3)の内容を検証するためのテストパターンは利用可能ではない。例えば、ウォームスタート312’では、RAM1030(
図3)の内容を検証するためのテストパターンが利用可能である。
【0112】
他の好ましい実施形態においては、少なくとも1回実行されるべきコールドスタートの範囲において、特にパワーダウンモードにおいて給電される揮発性メモリに、テストパターン又はパターンの書込を行うことができる。従って、上述の給電に基づいて、上述のテストパターン又はパターンは、それ自体が揮発性であるメモリ内に保存される。他の好ましい実施形態においては、この(RAM)パターンは、システムステートマシン(例えば、システム状態を制御するために、他の好ましい実施形態において利用可能な状態機械)の少なくとも1つの開始サイクルの際に、特に各開始サイクルの際に検査され、特にテストパターンの存在に応じて、コールドスタート(例えば、(RAM)パターンが存在していない場合)又はウォームスタート(例えば、(RAM)パターンが存在する場合)が実行されるものとしてよい。
【0113】
従って、他の好ましい実施形態においては、パワーダウンモードにおいて給電される揮発性メモリの完全性及び真正性、又は、揮発性メモリに含まれている若しくは揮発性メモリ内に存在する揮発性メモリのデータ及び機能性(例えば、特に第1のゾーン及び/又は第2のゾーン及び/又はプログラムコードに対する中央処理装置102c及び/又はメモリ保護デバイスの構成データ)の完全性及び真正性が、少なくとも1回強制的に実行されるべき、先行するコールドスタート(セキュアブート及び/又はOTPメモリからの開始(上記を参照))の範囲において保証される。
【0114】
従って、他の好ましい実施形態においては、パワーダウンモードにおいて給電される揮発性メモリ内に存在するデータ及び機能性の無効な改ざん並びにRAMパターンの無効な改ざんは、少なくとも一時的な給電中断、ひいてはパワーダウンモードにおいて給電される揮発性メモリ(RAMパターンなど)の消去を暗黙的に示す。他の好ましい実施形態においては、システムステートマシンは、それに応じて、開始サイクルの範囲において、RAMパターンの欠如に基づいて、特に自動的に、コールドスタート(セキュアブート及び/又はOTPからの開始(上記を参照))をトリガすることとなる。これによって、パワーダウンモードにおいて給電される揮発性メモリ又は揮発性メモリのデータ及び機能性の完全性及び真正性が、揮発性メモリの利用又は実行前に保証される。
【0115】
他の好ましい実施形態においては、テストパターンが存在する場合、例えば、ウォームスタートの範囲において選択されたタイムクリティカルなSWインスタンスが、それらの実行前に検査されるのではなく(即ち、例えば、特にセキュアブートではなく)、場合によってはランタイムに/それらの実行後に、はじめて検査されることが想定されている。これによって、有利には、ウォームスタート時のタイムクリティカルなSWインスタンスの起動時間が短縮される。従って、他の好ましい実施形態においては、ウォームスタート中の完全性及び真正性は、有利には、テストパターンが利用可能であること(ひいては、先行するコールドスタート中の検査)によって、ウォームスタート中の明示的な検査がなくても暗黙的に保証される。他の好ましい実施形態においては、タイムクリティカルではないコンポーネントを、それらが遂行される前に、ウォームスタート中にも、(例えば、セキュアブートプロセスを用いて)明示的に検査することができる。
【0116】
ブロック102a_1は、例示的に、コンピューティングデバイスの第1の中央処理装置102a(
図3)を「root of trust」として、即ち、TPM(trusted platform module)又はハードウェアセキュリティモジュール(HSM)に類似したハードウェアセキュリティ基準に匹敵するものとして表し、ブロック102a_2は、中央処理装置102aに関連付けられたブートマネージャ(他のシステムプログラム及び/又はアプリケーションプログラムのロード及び/又は実行を制御するシステムプログラム)を表す。ブロック102a_3は、ゾーンZ2及び中央処理装置102aに関連付けられたプログラムコードの実行を表す。ブロック110は、ハードウェアセキュリティモジュールを表す。ブロック111は、中央処理装置102cに関連付けられたブートマネージャを表す。ブロック112は、ゾーンZ1,Z2及び中央処理装置102cに関連付けられたプログラムコードの実行を表す(これは、例示的に、既に数回上述したように、両方のゾーンZ1,Z2に割り当てられている)。ブロック113は、中央処理装置102bに関連付けられたブートマネージャを表す。ブロック114は、ゾーンZ1及び中央処理装置102bに関連付けられたプログラムコードの実行を表す。ブロック115は、中央処理装置102nに関連付けられたブートマネージャを表す。ブロック116は、ゾーンZ1,Z2及び中央処理装置102nに関連付けられたプログラムコードの実行を表す。
【0117】
矢印a1は、ブートプロセス(例えば、完全に非アクティブ化された状態からのコンピューティングデバイス100aの起動)を表す。矢印a2は、少なくとも1つのメモリ保護デバイス、特に中央の、又は、バスシステム101(
図3)に割り当てられているメモリ保護デバイスM5_1,M5_2,…,M5_8の構成を表す。矢印a3は、中央処理装置102cのブートマネージャの開始を表す(ブロック111も参照されたい)。
【0118】
矢印a4は、中央処理装置102c用の少なくとも1つの専用メモリ保護デバイスM3(
図3)の構成を表す。矢印a5は、中央処理装置102cによるプログラムコードの実行112の開始を表す。矢印a6は、例えばRTMDの形態における、中央処理装置102cの任意選択的な検証を表す。
【0119】
矢印a7は同様に、コールドスタート310’のコンテキストにおける、中央処理装置102cの任意選択的な検証を表す。他の好ましい実施形態においては、任意選択的な検証a7は、例えば、CMAC及び/又は署名されたハッシュ値に基づく暗号化方法を用いて実行されるものとしてよい。矢印a8は、矢印a3と同様に、中央処理装置102cのブートマネージャの開始を表す(ブロック111も参照されたい)。矢印a9は、特に矢印a4と同様に、中央処理装置102c用の少なくとも1つの専用メモリ保護デバイスM3(
図3)の構成を表す。矢印a10は、矢印a5と同様に、中央処理装置102cによるプログラムコードの実行112の開始を表す。
【0120】
矢印a11は、複数の、好ましくはすべての中央処理装置102a,102b,…,102nの任意選択的な検証を表す。矢印a12は、中央処理装置102nのブートマネージャの開始を表す(ブロック115も参照されたい)。矢印a13は、中央処理装置102n用の少なくとも1つの専用メモリ保護デバイスの構成を表す。矢印a14は、中央処理装置102nによるプログラムコードの実行116の開始を表す。
【0121】
矢印a15は、中央処理装置102bのブートマネージャの開始を表す。矢印a16は、中央処理装置102b用の少なくとも1つの専用メモリ保護デバイスの構成を表す。矢印a17は、中央処理装置102bによるプログラムコードの実行114の開始を表す。
【0122】
矢印a18は、中央処理装置102aのブートマネージャの開始を表す。矢印a19は、中央処理装置102a用の少なくとも1つの専用メモリ保護デバイスの構成を表す。矢印a20は、中央処理装置102aによるプログラムコードの実行102a_3の開始を表す。
【0123】
図9は、例えば、コンピューティングデバイス100,100aの少なくとも1つの中央処理装置102a,102b,…によって少なくとも一時的に実行可能である、他の好ましい実施形態による割り込みルーチンISR3の態様を概略的に示している。
図9における雷マークIRQ’’は、例えば、周期的に(例えば、タイマモジュール(Timer)によって設定可能)及び/又はソフトウェアに基づいて(例えば、アプリケーションプログラムによって呼び出されて)生成され得る、割り込み要求(interrupt request)の発生を表す。従って、他の好ましい実施形態においては、次の要素、即ち、
e1’)割り込み要求IRQ’’によって割り込まれたタスク又はプログラムのコンテキストを少なくとも一時的に格納するステップ、
任意選択的にe5’)例えば、スタックメモリの評価を実行するステップ(例えば、
図2Kのステップ302を参照されたい)及び/又はプログラムカウンタの評価を実行するステップ(例えば、
図2Kのステップ304を参照されたい)、
e10)(例えば、好ましくは静的なタスクリストに応じて)次のタスクへコンテキストを切り換えるステップ、
e11)現在の動作モード、例えばスーパーバイザモードから他の動作モード、例えばユーザモードへ切り換えるステップ、
e12)識別されたゾーンのタスクを復元するステップ
のうちの少なくとも1つの要素を含む割り込みルーチンISR3が実行される。
【0124】
図10は、オペレーティングシステムBS及び/又はスーパーバイザSV(
図5と同様であり、
図10には示されていない)が割り当てられており、かつ、2つのゾーンZ1,Z2にも割り当てられている、他の好ましい実施形態による中央処理装置102aを概略的に示している。中央処理装置102aは、例えば、ネットワークスイッチのために、例えば、イーサネットデータパケットを送信及び/又は受信するために使用されるものとしてよい。アプリケーションプログラムの相応のインスタンスには、参照符号AP3_I1(イーサネットパケットの受信、ゾーンZ1における実行)、AP3_I2(イーサネットパケットの受信、ゾーンZ2における実行)、AP4_I1(イーサネットパケットの送信、ゾーンZ1における実行)、AP4_I2(イーサネットパケットの送信、ゾーンZ2における実行)が付されている。例えば、ネットワークスイッチの管理タスクを実行する他のアプリケーションプログラムは、信頼できると定義されている第2のゾーンZ2においてのみ実行され、信頼できないと定義されている第1のゾーンZ1では実行されない。中央処理装置102aにはRAM1030が割り当てられており、これは、他の好ましい実施形態においては、例えば、
図5と同様に、分割されるものとしてよい。任意選択的に、スイッチングエンジン(例えば、結合ネットワーク)及び/又はTCAM(ternary content-adressable memory)モジュールが設定されている。
【0125】
図11は、他の好ましい実施形態による2つの中央処理装置102a,102bを概略的に示しており、第1の中央処理装置102aは第1のゾーンZ1に割り当てられており、第2の中央処理装置102bは第2のゾーンZ2に割り当てられている。2つの中央処理装置102a,102bにそれぞれ1つのオペレーティングシステムBSが割り当てられている。
【0126】
図11においては、見易くするために、まとめて参照符号I1が付されている、種々のアプリケーションプログラムの第1のインスタンスは、第1のゾーンZ1に割り当てられており、ひいては第1の中央処理装置102aに割り当てられている。他の好ましい実施形態においては、これらの種々のアプリケーションプログラムは、例えば、次の要素、即ち、
a)特にディープパケットインスペクション DPIのための、データパケットの検査を実行するためのプログラム、
b)診断のためのプログラム、
c)特にFOTA(firmware over the air)技術を用いた(例えば、
図22のデータインタフェース1008を用いた)、アップデートを実行するためのプログラム、
d)侵入検知及び侵入防止(Intrusion Detection and Prevention)のためのプログラム
のうちの少なくとも1つの要素を含む。他の好ましい実施形態においては、第2の中央処理装置102b及び第2のゾーンZ2に、ここでは、第1のゾーンZ1に関連して上述されたアプリケーションプログラムの相応の第2のインスタンスI2が割り当てられている。他の好ましい実施形態によれば、少なくとも1つのメモリ保護デバイスSSEが、種々のゾーンの相応のアプリケーションプログラム又はインスタンスの読取権及び/又は書込権及び/又は実行権の制御ために使用可能である。例示的に
図11を参照して上述された構成によって、例えば、電子制御装置及び/又は組込システム及び/又はIoTシステムなどのための、データパケットの検査のために、又は、侵入検知及び侵入防止のために、特に安全なシステムが効率的に提供され得る。ここでは、ゾーンZ1,Z2へのアプリケーションプログラムのインスタンスI1,I2の割り当てによって、特に有利には、例えば、実行(遂行)のための各コンテキストが、異なる信頼レベルで提供され得る。
【0127】
図12Aは、例えば、コンピューティングデバイス100,100aの少なくとも1つの中央処理装置102a,102b,…によって少なくとも一時的に実行可能である、他の好ましい実施形態による割り込みルーチンISR4の態様を概略的に示している。
図12Aにおける雷マークRxは、例えばイベント駆動方式で、ここでは例示的に、メッセージ、例えばCAN(Controller Area Network)メッセージの受信時に生成され得る、割り込み要求(interrupt request)の発生を表す。従って、他の好ましい実施形態においては、次の要素、即ち、
e20)例えば、メッセージ又はプログラムの送信のために、割り込み要求Rxによって割り込まれたタスク、特に送信タスク(「Tx task」)のコンテキストを少なくとも一時的に格納するステップ、
任意選択的にe21)例えば、スタックメモリの評価を実行するステップ(例えば、
図2Kのステップ302を参照されたい)及び/又はプログラムカウンタの評価を実行するステップ(例えば、
図2Kのステップ304を参照されたい)、
e22)受信したデータフレーム(例えば、上述の受信したCANメッセージの受信したデータフレーム)と関連付けられているゾーンを特定するステップ、
e23)コンテキストを、ステップe22において特定されたゾーンへ切り換えるステップ、
e24)現在の動作モード、例えばスーパーバイザモードから他の動作モード、例えばユーザモードへ切り換えるステップ、
e25)メッセージ受信のための処理ルーチン(「Receive(Rx)handler」)を呼び出すステップ、即ち、例えば受信したメッセージを処理するアプリケーションプログラム又はアプリケーションプログラムの一部を呼び出すステップ、
e26)識別されたゾーンのタスク(例えば、送信タスク)を復元するステップ
のうちの少なくとも1つの要素を含む割り込みルーチンISR4が実行される。
【0128】
他の好ましい実施形態においては、送信タスク、即ち、メッセージを送信するためのタスク又はアプリケーションプログラム若しくはアプリケーションプログラムの一部が計画される(「スケジューリング」)。
【0129】
他の好ましい実施形態においては、メッセージの受信を特徴付ける割り込み要求(「RxIRQ」、receive interrupt request)は、例えば、タイマ(Timer)及び/又はアプリケーションプログラム若しくはソフトウェアによって一般的にトリガされる他の割り込み要求よりも高い優先度で処理される。
【0130】
他の好ましい実施形態においては、同時に又は設定可能な第1の時間範囲内において、到来した割り込み要求に、例えば割り込み要求のソース(到来したメッセージ,タイマ,ソフトウェア)に応じて、及び/又は、1つ又は複数の別の基準又は他の基準に応じて優先順位が付けられる。他の好ましい実施形態においては、このような優先順位付けは、例えば、割り込み要求のための制御デバイス(英語で、interrupt controller)によって実行されるものとしてよい。
【0131】
他の好ましい実施形態においては、コンテキストの切換(例えば、
図12Aのステップe23を参照されたい)は、事前に規定することが可能な動作モード、特にスーパーバイザモードにおいてのみ行われ得る。
【0132】
例示的に
図12Aを参照して上述された態様は、他の好ましい実施形態においては、例えば、軽量スーパーバイザ、特にCAN軽量スーパーバイザに対する到来したメッセージの処理を少なくとも一時的に制御するために利用されるものとしてよい。
【0133】
図12Bは、例えば、コンピューティングデバイス100,100aの少なくとも1つの中央処理装置102a,102b,…によって少なくとも一時的に実行可能である、他の好ましい実施形態による割り込みルーチンISR5の態様を概略的に示している。
図12Bにおける雷マークTIM_SWは、例えば、タイマ又はアプリケーションプログラム若しくは一般的にソフトウェアによって生成され得る、割り込み要求(interrupt request)の発生を表す。従って、他の好ましい実施形態においては、次の要素、即ち、
e30)例えば、メッセージ又はプログラムの送出のために、割り込み要求Rxによって割り込まれたタスク、特に送信タスク(「Tx task」)のコンテキストを少なくとも一時的に格納するステップ、
任意選択的にe31)例えば、スタックメモリの評価を実行するステップ(例えば、
図2Kのステップ302を参照されたい)及び/又はプログラムカウンタの評価を実行するステップ(例えば、
図2Kのステップ304を参照されたい)、
e32)(例えば、特に静的なタスクリストによって)コンテキストを次の送信タスクへ切り換えるステップ、
e33)現在の動作モード、例えばスーパーバイザモードから他の動作モード、例えばユーザモードへ切り換えるステップ、
e34)識別されたゾーンのタスク(例えば、送信タスク)を復元するステップ
のうちの少なくとも1つの要素を含む割り込みルーチンISR5が実行される。
【0134】
例示的に
図12Aを参照して上述された、これらのさらなる態様は、他の好ましい実施形態においては、
図12Bによる割り込みルーチンISR5に対して、相応に当てはまる。
【0135】
図13は、他の好ましい実施形態によるコンピューティングデバイス100bの態様の簡略化されたブロック図を概略的に示している。ここでは、コンピューティングデバイス100bは、例示的に、4つの中央処理装置K1,K2,K3,K4を有しており、これらの中央処理装置のうちの第1の中央処理装置K1は、通信メッセージ、特にCANメッセージを処理するように構成されている。従って、他の好ましい実施形態においては、
図13の第1の中央処理装置K1は、「CANコア」とも称され得る。他の中央処理装置K2,K3は、アプリケーションプログラム(場合によっては、アプリケーションプログラムの異なるインスタンス)を実行するために設けられており、従って、他の好ましい実施形態においては、「アプリケーションコア」又は英語で「Application Cores」K2,K3とも称され得る。
図13の第4の中央処理装置K4は、イーサネット通信メッセージを処理するように構成されており、従って、他の好ましい実施形態においては、イーサネットコア又はETHコア又は英語で「ETH Core」K4とも称され得る。第1の中央処理装置K1には第1のスーパーバイザSV1、特にCAN軽量スーパーバイザが割り当てられており、第4の中央処理装置K4には第2のスーパーバイザSV2、特にETH(イーサネット)軽量スーパーバイザが割り当てられている。
【0136】
他の好ましい実施形態においては、第1の中央処理装置K1は、2つのゾーンZ1,Z2に割り当てられている。他の好ましい実施形態においては、第4の中央処理装置K4も、2つのゾーンZ1,Z2に割り当てられている。
【0137】
他の好ましい実施形態においては、第1の中央処理装置K1に、CANメッセージを送信及び/又は受信するためのアプリケーションプログラムが割り当てられており、
図13の参照符号I1は、このアプリケーションプログラムの第1のインスタンスを示し、第1のインスタンスI1は第1のゾーンZ1に割り当てられており、CANメッセージを受信するように構成されている。これとは異なり、参照符号I2は、このアプリケーションプログラムの第2のインスタンスを示し、第2のインスタンスI2は第2のゾーンZ2に割り当てられており、CANメッセージを受信するように構成されている。参照符号I3、I4は、CANメッセージを送信又は受信するための相応のインスタンスを示し、これらは、それぞれ同様に、2つのゾーンZ1,Z2のうちの1つのゾーンに割り当てられている。
【0138】
他の好ましい実施形態においては、例示的に
図12A,12Bを参照して上述された割り込み要求Rx,TIM_SWが、例えば、相応の割り込みルーチンISR4(
図12A)又はISR5(
図12B)を実行することによって、第1の中央処理装置K1によって処理され得る。
【0139】
他の好ましい実施形態においては、第4の中央処理装置K4に、イーサネットメッセージを送信及び/又は受信するためのアプリケーションプログラムが割り当てられており、
図13の参照符号I1’は、このアプリケーションプログラムの第1のインスタンスを示し、第1のインスタンスI1’は第1のゾーンZ1に割り当てられており、イーサネットメッセージを受信するように構成されている。これとは異なり、参照符号I2’は、このアプリケーションプログラムの第2のインスタンスを示し、第2のインスタンスI2’は第2のゾーンZ2に割り当てられており、イーサネットメッセージを受信するように構成されている。参照符号I3’,I4’は、イーサネットメッセージを送信又は受信するための相応のインスタンスを示しており、これらはそれぞれ同様に、2つのゾーンZ1,Z2のうちの1つのゾーンに割り当てられている。
【0140】
他の好ましい実施形態においては、中央処理装置K1,K4内の2つのゾーンZ1,Z2の分離は、少なくとも1つのメモリ保護デバイスSSE1,SSE4を用いて行われる。
【0141】
既に上述したように、2つのアプリケーションコアK2,K3は、アプリケーションプログラムを実行するように構成されており、アプリケーションプログラム又はアプリケーションプログラムの個々のインスタンスは、
図13において、関連するアプリケーションコアK2,K3内の長方形として暗黙的に示されているが、見易くするために詳細には図示されていない。他の好ましい実施形態においては、第2の中央処理装置K2は第2のゾーンZ2に割り当てられており、第3の中央処理装置K3は第1のゾーンZ1に割り当てられている。
【0142】
他の好ましい実施形態においては、コンピューティングデバイス100bは、揮発性メモリ、特にメインメモリ(RAM)1030bを有しており、揮発性メモリは、例えば、
図4に示されているのと同様に、異なる領域に分割されており、これらの領域はそれぞれ、異なる中央処理装置K1,K2,K3,K4又はそれらのゾーンZ1,Z2に割り当てられている。
【0143】
例えば、
図13のコンピューティングデバイス100bのメインメモリ1030bの第1の領域B1は、第1の中央処理装置K1に割り当てられており、ここで第1の部分領域B1_1は第1のゾーンZ1に割り当てられており、第2の部分領域B1_2は第2のゾーンZ2に割り当てられている。他の好ましい実施形態においては、相応の領域又は部分領域B4,B4_1,B4_2への同様の分割が、第4の中央処理装置K4に対しても可能である。
【0144】
他の好ましい実施形態においては、メインメモリ1030bの他の領域B2,B3を、例えば、アプリケーションコアK2,K3に割り当てることができる。他の好ましい実施形態においては、領域B2を、例えば、信頼できる領域B2’と信頼できない領域B2’’とにさらに分割することができる。同様のことが、他の好ましい実施形態においては、第3のアプリケーションコアK3にも当てはまる(参照符号B3’,B3’’を参照されたい)。
【0145】
他の好ましい実施形態においては、
図13において参照符号SSE’によって集合的に示されている1つ又は複数のさらなるメモリ保護デバイスが設けられるものとしてよく、これによって、例えば、読取権及び/又は書込権及び/又は実行権に関する、好ましい実施形態による各分離を実現することができる。
【0146】
他の好ましい実施形態においては、
図13のコンピューティングデバイス100bは、例えば、ゲートウェイ、即ち、ネットワーク結合要素の機能性を提供するものとしてよく、これは、例えば、CANバス(CANコアK1を参照されたい)をイーサネットネットワーク(ETHコア K4を参照されたい)と結合することができる。他の好ましい実施形態においては、例えば、第1の中央処理装置K1は、CANメッセージ用のいわゆる高速ルーティングエンジンの機能を担うことができ、及び/又は、第4の中央処理装置K4は、イーサネットメッセージ用のいわゆる高速エンジンの機能を担うことができる。
【0147】
図14は、例えば、メッセージ、特にCANメッセージの受信時の割り込み要求の処理を例示的に示す、他の好ましい実施形態によるフローチャートを概略的に示している。
【0148】
ブロックISR6は、例えば、次の割り込み要求、即ち、
a)メッセージの受信(「Rx」)、
b)タイマ(「Timer」)の通知、
c)ソフトウェアを用いて生成された割り込み要求(「SW」)
のうちの少なくとも1つの割り込み要求の際に実行可能な割り込みルーチンを例示的に表している。ブロックT_RX_Z1は、ゾーンZ1に割り当てられており、メッセージの受信時(「Rx」)に実行されるタスク(例えば、アプリケーションプログラムの一部又はアプリケーションプログラムのインスタンス)を例示的に表している。これは、
図13のコンピューティングデバイス100bの第1の中央処理装置K1のインスタンスI1と比肩可能である。ブロックT_RX_Z2は、ゾーンZ2に割り当てられており、メッセージの受信時に実行されるタスクを例示的に表している。これは
図13のコンピューティングデバイス100bの第1の中央処理装置K1のインスタンスI2と比肩可能である。ブロックT_TX_Z1は、ゾーンZ1に割り当てられており、メッセージの送信時に実行されるタスクを例示的に表している。これは
図13のコンピューティングデバイス100bの第1の中央処理装置K1のインスタンスI3と比肩可能である。ブロックT_TX_Z2は、ゾーンZ2に割り当てられており、メッセージの送信時に実行されるタスクを例示的に表している。これは
図13のコンピューティングデバイス100bの第1の中央処理装置K1のインスタンスI4と比肩可能である。
【0149】
矢印a30は、(CAN)メッセージの受信によってトリガされる割り込み要求を表し、これは、特に現在実行中のタスク(送信タスクT_TX_Z2を参照されたい)の処理を中断する(矢印a30’を参照されたい)。この結果、他の好ましい実施形態においては、受信機タスクT_RX_Z1が、割り込みルーチンISR6によって呼び出される(矢印a31を参照されたい)。受信機タスクT_RX_Z1の実行後、これは、好ましくはソフトウェア割り込み要求(Software-Interrupt)a32によって、再び割り込みルーチンISR6に分岐し、その後、これは、以前に中断された送信タスクT_TX_Z2を続行する(矢印a33を参照されたい)。タイマによって生成される割り込み要求(Timer IRQ)が発生するとa34、割り込みルーチンISR6は送信タスクT_TX_Z1を呼び出す(矢印a35を参照されたい)。これによって、その前に実行されていた送信タスクT_TX_Z2の割り込みa34’が発生する。
【0150】
図14のダイヤグラム及び上述の説明から、実施形態による原理に従って、異なるゾーンZ1,Z2,…(他の好ましい実施形態においては、2つ以上のゾーンも可能である)に割り当て可能な、実施形態によるコンピューティングデバイスによって実行可能な異なるプログラム部分(タスク)が、どのように実行可能であるのかが明確に示され、又は、それらの実行が、オペレーティングシステムBS及び/又はスーパーバイザSVの例えば構成要素であり得る、例えば割り込みルーチンISR6によって、どのように制御可能であるのかが明確に示される。
【0151】
図15は、他の好ましい実施形態による態様の簡略化されたブロック図を概略的に示しており、ここでは、例示的なゾーン遷移ZT、即ち、好ましい実施形態による第1のゾーンから、好ましい実施形態による第2のゾーンへのデータの伝送を対象として有する用途が例示的に示されている。
【0152】
ここで、
図15の第1の中央処理装置K1は、既に
図13を参照して上述されたCANコアK1に相当し、
図15の他の中央処理装置K2,K3は、
図13のアプリケーションコアK2,K3に相当する。同様のことがメインメモリ1030bの領域B1,B2,B3又はそれらの部分領域にも当てはまる。
【0153】
矢印A1は、CANメッセージの受信を表し、これは、第1の中央処理装置K1の相応のアプリケーションプログラムのインスタンスI1による処理をトリガする。第1のゾーンZ1に割り当てられているインスタンスI1は、受信したCANメッセージのデータ又はそこから得られたデータを、メインメモリを介して、このようなデータを処理するためのアプリケーションプログラムのインスタンスI5に伝送する(矢印A2を参照されたい)。インスタンスI5は第1のゾーンZ1に割り当てられており、第3の中央処理装置K3によって実行可能である(矢印A3を参照されたい)。
図15の参照符号I6は、データパケットの検査、特にディープパケットインスペクション DPIのためのアプリケーションプログラムのインスタンスを示す。これは、受信したデータをより詳細に検査し、さらに、メインメモリ1030bの部分領域B3’’に書込を行う(矢印A5を参照されたい)。さらに、第2の中央処理装置K2で実行され、第2のゾーンZ2に割り当てられているDPIアプリケーションプログラムの他のインスタンスI6’が、部分領域B3’’からデータを読み取る。これは、既に上述されたゾーン遷移ZTに相当する(矢印A6を参照されたい)。
【0154】
他の好ましい実施形態においては、(DPIの意味における)特に詳細なペイロード分析が、例えば、インスタンスI6’(「Z2-DPI-プロキシ」、即ち、DPI方法を実行する、第2のゾーンZ2に割り当てられているプロキシ)によって実行され、ここではインスタンスI6(「Z1-DPI-プロキシ」、即ち、DPI方法を実行する、第1のゾーンZ1に割り当てられているプロキシ)は、好ましくは、B3’’におけるデータのコピーを担当する。
【0155】
第2の中央処理装置K2によるデータの任意選択的なさらなる処理の後(矢印A7を参照されたい)、データ又はそこから派生したデータは、インスタンスI5’によって、メインメモリ1030bのメモリ領域B1_2に書き込まれ(矢印A8を参照されたい)、ここから、インスタンスI4は、データを取り出し、例えば、再びCANバスに送出する(矢印A10を参照されたい)。インスタンスI4は、例えば、CANメッセージを送信するように構成されており、第2のゾーンZ2に割り当てられおり、CANコアK1によって実行可能である。
【0156】
例示的に
図15を参照して上述されたシナリオは、次の用途、即ち、
a)CANメッセージを使用した診断、
b)CANメッセージに適用されるDPI、
c)プロキシ、例えば通信プロトコル及び/又は診断プロトコルなどに対するプロキシの形成、
d)特にアプリケーションプログラムを取り入れた、例えば第1のCANバスから例えば第2のCANバスへのルーティング(これによって、例示的に、ルーティングされるCANメッセージ、特に分析及び/又は変更の処理が可能になる)
のうちの少なくとも1つの用途に対して使用可能である。
【0157】
図16は、
図13及び
図15の表示に基づいた、他の好ましい実施形態による態様の簡略化されたブロック図を概略的に示しており、ここでは、例示的なゾーン遷移ZT’、即ち、好ましい実施形態による第1のゾーンから、好ましい実施形態による第2のゾーンへのデータの伝送を対象として有する用途が例示的に示されている。
図15のシナリオとは異なり、
図16のシナリオにおけるゾーン遷移ZT’は、矢印A11~A20に従って、イーサネットコアK4から始まってCANコアK1へと行われる。
【0158】
図16から、イーサネットメッセージの受信A11の後に、相応のデータがメモリ領域B3’内に格納され(矢印A12)、このメモリ領域からデータが、第1のゾーンZ1に割り当てられているアプリケーションコアK3によって読み込まれ(矢印A13)、処理され(矢印A14)、さらに、相応に処理されたデータが他のメモリ領域B3’’内に書き込まれる(矢印A15)ことが見て取れる。
【0159】
さらに、このデータは、第2のゾーンZ2に割り当てられているアプリケーションコアK2によって読み込まれ(矢印A16を参照されたい)、処理され(矢印A17を参照されたい)、他のメモリ領域B1_2内に書き込まれる(矢印A18を参照されたい)。さらに、データはCANコアK1によって、この他のメモリ領域B1_2から読み込まれ(矢印A19)、インスタンスI4(CANメッセージを送出するためのアプリケーションプログラムの一部)によって処理され、CANバス(図示せず)に送出される(矢印A20を参照されたい)。
【0160】
図17は、
図16と比肩可能な構成を例示的に示しており、この構成においては、到来したイーサネットメッセージが中央処理装置K4によって受信され(A21)、メインメモリ1030b内にバッファされ(A22)、第1の中央処理装置K1のインスタンスI3を用いて読み取られ(A23)、CANバスに送信される(A24)。
【0161】
図18は、
図13及び
図15の表示に基づいた、他の好ましい実施形態による態様の簡略化されたブロック図を概略的に示している。ここでは、ハードウェアセキュリティモジュールHSMが使用される用途が例示的に示されている。ハードウェアセキュリティモジュールHSMは、ここでは例示的に、特に第2の中央処理装置K2’も有するコンピューティングデバイス(
図18には示されておらず、例えば、
図1の参照符号100を参照されたい)に統合されており、暗号化機能を実行するように構成されている。他の好ましい実施形態においては、暗号化機能は、例えば、(秘密)鍵の格納及び/又はハッシュ値の形成及び/又は署名などを含むものとしてよい。
【0162】
他の好ましい実施形態においては、ハードウェアセキュリティモジュールHSMは、好ましくは、コンピューティングデバイスと同一の半導体基板又はダイ(チップ)上に配置されている独立した(「on-chip」)モジュールを表す。ハードウェアセキュリティモジュールHSMは、好ましくは、固有の中央処理装置(図示されていない)を有しており、場合によっては固有のメモリなどを有する。
【0163】
他の好ましい実施形態においては、暗号スタックKSが設けられており、これは、コンピューティングデバイスの中央処理装置とハードウェアセキュリティモジュールHSMとの間の通信に利用可能である。他の好ましい実施形態においては、特にセキュリティ上の理由から、この暗号スタックKSは、中央処理装置K2’上においてのみ実現されている。なぜなら、中央処理装置K2’は、ここでは例示的に、信頼できるゾーンZ2にのみ割り当てられている、コンピューティングデバイスの単一の中央処理装置だからである。従って、他の好ましい実施形態においては、中央処理装置K2’は、「most secure core」、即ち、最も安全な中央処理装置とみなされ得る。矢印A31,A32,A33,A34,A35,A36は、例示的に次のステップを表している。即ち、イーサネットメッセージを受信するステップ(A31)、受信したメッセージを領域B3’内に格納するステップ(A32)、第3の中央処理装置K3のアプリケーションプログラムによってこのメッセージをロードするステップ(A33)、第3の中央処理装置K3によって、ロードされたメッセージを処理するステップ(A34)、処理時に得られたデータをメモリ領域B3’’内に書き込むステップ(A35)、第2の中央処理装置K2’上において実行可能なアプリケーションプログラムによって、メモリ領域B3’’から、書き込まれたデータをロードするステップ(A36)を表している。
【0164】
他の好ましい実施形態においては、第2の中央処理装置K2’は、特にハードウェアセキュリティモジュールHSMも使用して、ロードされたデータを処理する(矢印A37を参照されたい)。処理A37は、例えば、データの暗号化を含み得る。さらに、処理されたデータA38がメモリ領域B1_2内に書き込まれる(A38)。その後、CANコアK1のインスタンスによってメモリ領域B1_2から、このデータがロードされ(A39)、CANバスに送信される。
【0165】
図19は、
図18の表示に基づいた、他の好ましい実施形態による態様の簡略化されたブロック図を概略的に示しており、ここでは、例えば、特にFOTA(firmware over the air)タイプのファームウェアアップデートが実行可能な用途が例示的に示されている。例えば、好ましい実施形態においては、データの受信は、イーサネット接続を介して、例えば第4の中央処理装置K4を用いて行われるものとしてよい(矢印A41を参照されたい)。受信プログラムのインスタンスI1’は、受信したデータをメモリ領域B3’内に書き込む(矢印A42を参照されたい)。アプリケーション中央処理装置K3上のアプリケーションプログラムのインスタンスは、メモリ領域B3’からデータをロードし(A43)、処理する(A44)。例えば第1のFOTAプロキシI7である他のインスタンスI7は、処理されたデータからFOTAプロセスに必要なデータを抽出し、抽出されたデータを、例えば、(特に第2のゾーンZ2の観点から)信頼できないものとしてみなされているメモリ領域B3’’内に書き込む(A45)。例えば第2のFOTAプロキシであり、中央処理装置K2’’上において実行可能なアプリケーションプログラムのインスタンスI8は、メモリ領域B3’’からデータをロードする(矢印A46)。任意選択的に、次に、中央処理装置K2’’によって、ロードされたデータに対して暗号化方法が実行されるものとしてよく、これは、例えば、有利にはハードウェアセキュリティモジュールHSMを利用するCMAC形成である(矢印A47を参照されたい)。他の好ましい実施形態においては、任意選択的に処理されるデータ又はCMAC値が外部メモリに格納されるものとしてよい(矢印A48を参照されたい)。このような格納は、他の好ましい実施形態においては、FOTAプロキシI8によって制御される。
【0166】
他の好ましい実施形態においては、第2のゾーンZ2は、メモリ領域B3’’に対する読取権のみを有しており、特に書込権及び/又は遂行権は有していない。このことは、他の好ましい実施形態において、例えば、例示的に
図4,
図5を参照して上述された構成においても相応に当てはまり得る。
【0167】
他の好ましい実施形態においては、例えば、少なくとも1つの中央処理装置若しくはコンピューティングデバイス全体及び/又は相応の制御装置に対する完全なメモリ画像(「ECU 画像」)1033aも、外部メモリ1033に一時的に格納されるものとしてよい。
【0168】
他の好ましい実施形態においては、第2の中央処理装置K2’’によって実行可能なアプリケーションプログラム又はその相応のインスタンスが、例えば、外部メモリ1033内に格納されているデータの内容を検査又は確認することができる。
【0169】
他の好ましい実施形態においては、例えば、外部メモリ1033内に含まれているデータの確認が成功した後に、相応のメモリ画像1033aが1つ又は複数の外部装置(図示せず)に分配されるものとしてよく(矢印A49,A50,A51,A52を参照されたい)、これらは特に、例えばブロックごとに、外部メモリ1033aからメインメモリ1030bのメモリ領域B1_2へメモリ画像1033aをコピーし(A50)、そこからインスタンスI4へコピーすること(例えば、CAN送信タスク)を対象として有する。
【0170】
他の好ましい実施形態においては、この確認は、好ましくは、デジタル署名及び/又は署名されたハッシュ値に基づいて実行されるものとしてよい。例えば、他の好ましい実施形態においては、署名されたハッシュ値が各ECU画像に対して存在するものとしてよい。他の好ましい実施形態においては、署名検証は、好ましくは、ハードウェアセキュリティモジュールHSMを介して実行されるものとしてよい。
【0171】
他の好ましい実施形態においては、例えば、メモリ画像1033aの分配又はコピー中にも、好ましくは同様にブロックごとに、関連するブロックの完全性及び/又は真正性を検査することを可能にするCMAC値及び/又は他の値の検査が行われるものとしてよい。これは例えば、ハードウェアセキュリティモジュールHSMによって任意選択的にサポートされて、例えば第2の中央処理装置K2’’上において実行されるアプリケーションプログラムの相応のインスタンスによって制御されて行われる。
【0172】
他の好ましい実施形態においては、例えば、CMAC値の形成及び検証は、特に、例えば、署名検証のための補足的な完全性保護及び真正性保護として機能し得る。他の好ましい実施形態においては、例えば、バッファB3’’からの個々のデータパケット又は各個々のデータパケットに、CMAC値又は切り捨てられた(「truncated」)CMAC値が設けられるものとしてよい。他の好ましい実施形態においては、これ又はこれらは、例えば、バッファB1_2への伝送の前に検証され、これによって、特に、完全かつ真正のデータパケットのみがバッファB1_2に到達することが保証される。他の好ましい実施形態においては、バッファごとのCMAC生成及びCMAC検証は任意選択的である。
図20,
図21は、例えば、メッセージ、特にCANメッセージの受信時の割り込み要求の処理を例示的に示す、他の好ましい実施形態による概略的なフローチャートを示している。
【0173】
ブロックISR7は、例えば、メッセージの受信(「Rx」)を通知する(「RxISR」)割り込み要求時に実行可能な割り込みルーチンを例示的に表している。
【0174】
ブロックISR8は、例えば、次の割り込み要求、即ち、
a)タイマ(「Timer」)の通知、
b)ソフトウェアによって生成される割り込み要求(「SW ISR」)
のうちの少なくとも1つの割り込み要求時に実行可能な割り込みルーチンを例示的に表している。
【0175】
ブロックRX_H_Z1は、ゾーンZ1に割り当てられており、メッセージの受信(「Rx」)時に実行される受信ハンドラ(例えば、メッセージの受信を制御するアプリケーションプログラムの一部又はインスタンス)を例示的に表す。これは、
図13のコンピューティングデバイス100bの第1の中央処理装置K1のインスタンスI1と比肩可能である。
【0176】
ブロックRX_H_Z2は、ゾーンZ2に割り当てられており、メッセージの受信(「Rx」)時に実行される受信ハンドラ(例えば、メッセージの受信を制御するアプリケーションプログラムの一部又はインスタンス)を例示的に表す。これは、
図13のコンピューティングデバイス100bの第1の中央処理装置K1のインスタンスI2と比肩可能である。
【0177】
ブロックT_TX_Z1’は、ゾーンZ1に割り当てられており、メッセージの送信時に実行されるタスクを例示的に表す。これは、
図13のコンピューティングデバイス100bの第1の中央処理装置K1のインスタンスI3と比肩可能である。ブロックT_TX_Z2’は、ゾーンZ2に割り当てられており、メッセージの送信時に実行されるタスクを例示的に表す。これは、
図13のコンピューティングデバイス100bの第1の中央処理装置K1のインスタンスI4と比肩可能である。
【0178】
矢印a40は、(CAN)メッセージの受信によってトリガされる割り込み要求を表し、これは、特に現在実行中のタスク(送信タスクT_TX_Z2’を参照されたい)の処理を中断する(矢印a40’を参照されたい)。この結果、他の好ましい実施形態においては、受信ハンドラRX_H_Z1が、割り込みルーチンISR7によって呼び出される(矢印a41を参照されたい)。受信ハンドラRX_H_Z1の実行後、これは(例えば、好ましくは、ソフトウェアを用いて生成された割り込み要求によって)割り込みルーチンISR7に戻る(矢印a42)。
【0179】
図20の例においては、さらに、送信タスクT_TX_Z1’が実行される(矢印a43を参照されたい)。これは、他の好ましい実施形態においては、次のような特定の利点を有し得る。即ち、タスクRX_H_Z1によって、いずれにせよ、既に、第1のゾーンZ1に対するメモリ保護デバイスの静的な構成(例えば、相応の構成データセット)がアクティブにされているという利点である。この静的な構成は、好ましくは送信タスクT_TX_Z1’にも適用される。これによって、特にパフォーマンスの観点から、送信タスクT_TX_Z1’を実行する前の、メモリ保護デバイスの関連する静的な構成の切換を省略することができる。
【0180】
タイマによって生成された割り込み要求(Timer IRQ)が発生すると(a44)、割り込みルーチンISR7は送信タスクT_TX_Z2’を呼び出す(矢印a45を参照されたい)。これによって、その前に実行されていた送信タスクT_TX_Z1’の割り込み(a44’)が発生する。ゾーンZ2の静的な構成(例えば、相応の構成データセット)への切換が、好ましくは、送信タスクT_TX_Z2’が実行される前に行われる。その後、このフローは、例えば、ソフトウェア割り込み(a46)を用いて、割り込みルーチンISR7に戻り、次に送信タスクT_TX_Z1’が続行される(矢印a47を参照されたい)。
【0181】
他の好ましい実施形態においては、
図20,
図21による割り込みルーチンISR7は、例えば、
図12Aによる構成ISR4と比肩し得る又は同一の構成を有するものとしてよい。
【0182】
以下においては、他の好ましい実施形態、態様及び実施形態による原理の利点を説明する。これらは、他の好ましい実施形態に従って、それぞれ個別に単独で、又は、上述した実施形態のうちの少なくとも1つの実施形態との相互の組合せにより、組み合わせることが可能である。
【0183】
他の好ましい実施形態においては、コンピューティングデバイスへの侵入表面を制限するための措置として、例えば、
図4,
図5のメモリ1030aへのアクセス権の制限が利用可能であり、これによって、ゾーンごとのメモリ分離が、例えば、それ自体公知のメモリ保護デバイスのメカニズムを利用して可能になる。特に好ましくは、他の実施形態においては、ゾーンごとのメモリ分離を、以下において例示的に挙げるメモリ形式、即ち、例えば、信頼できるバッファメモリ((例えば、共有RAM1030における)信頼できるバッファ)の形態及び/又は信頼できないバッファメモリ((例えば、共有RAM1030における)信頼できないバッファ)の形態のバッファ(バッファメモリ)、スタック(スタックメモリ)、データメモリ(例えば、データフラッシュ EEPROMなど)、プログラムメモリ(例えば、プログラムフラッシュ ROMなど)、SFR(特殊機能レジスタ)のもとで行うことができる。
【0184】
他の好ましい実施形態においては、種々のゾーンの間におけるデータ交換(「ゾーン内データ交換及び/又はゾーン間データ交換」)を、例えば、共有RAM(分割されたメインメモリ,
図4の参照符号1030aを参照されたい)内に位置するバッファを介して実現することができる。
【0185】
他の好ましい実施形態においては、例えば、少なくともそれぞれ1つの信頼できるバッファ及び信頼できないバッファ(用途によってはバッファを省略することもできる)が、アプリケーションプログラムのインスタンスI1,I2,I3(「プロキシ」)ごとにかつゾーンごとに設けられるものとしてよい(例えば、
図4の部分領域TB1a,TB1bを参照されたい)。
【0186】
他の好ましい実施形態においては、ゾーン内のデータ交換又はゾーン内通信が、特に、このゾーンの信頼できるバッファTB2a(
図4)を介してのみ行われる。
【0187】
他の好ましい実施形態においては、ゾーン間のデータ交換又はゾーン間通信は、好ましくは、共有RAM1030aに配置された信頼できないバッファTB1aを介して行われる。例えば、他の好ましい実施形態においては、データがゾーンZ1からゾーンZ2に転送される際に、データは、好ましくは、最初に、Z1プロキシによって、関連するZ1の信頼できないバッファにコピーされ、関連するZ2プロキシによって、その有効性に関して内容が検証され、妥当又は正しい内容、信頼できるデータの場合は、Z2プロキシからZ2の信頼できるバッファにコピーされる。他の好ましい実施形態においては、Z1の信頼できないバッファからZ2の信頼できるバッファへのデータ検証が成功した後のコピープロセスが、ゾーン遷移と称される。他の好ましい実施形態においては、Z2の信頼できるバッファに位置する検証済みの信頼できるデータは、Z2内においてそれに応じて処理又は転送されるものとしてよく、即ち、他の好ましい実施形態においては、データ検証は、ゾーン遷移及び場合によってはデータ利用の前に行われる。
【0188】
実施形態によるコンピューティングデバイスの侵入表面を制限するためのさらなる措置は、他の好ましい実施形態によるランタイムへのアクセス権の制限であり、これは、他の好ましい実施形態においては、例えば、相応のオペレーティングシステムBS又はスーパーバイザSVの制御下において行われるものとしてよい。
【0189】
他の好ましい実施形態においては、例えば、
図4の例示的に上述した軽量組込オペレーティングシステムBSに対して、ベースとして、例えば、他の好ましい実施形態においては、(例えば、構成などを介して)その複雑性が最小化されているAUTomotive Open System ARchitecture (AUTOSAR) BSが機能する。
【0190】
他の好ましい実施形態においては、侵害された中央処理装置102a(
図3)によって発生する特権昇格(例えば、軽量組込OS ISRにおけるスーパーバイザモードの誤用)の場合でさえ、無効なゾーン遷移、又は、Z1によるZ2メモリ若しくはZ2ランタイムへの無効なアクセスは行われ得ない。なぜなら、これによって、軽量組込BSの静的で大幅に削減された機能性(他の好ましい実施形態においては、特にスーパーバイザモードにおける部分的な機能性)が、スーパーバイザモードにおける特権の乱用を許可しないからである。
【0191】
他の好ましい実施形態においては、スーパーバイザモードにおいて実行されるISR(割り込みルーチン)は、関連する中央処理装置の専用メモリ保護デバイスの静的な構成データセット間の切換のみを行うことができる→中央処理装置のスーパーバイザモード及びユーザモードに対する同一の静的な構成データセットは、他の好ましい実施形態においては、関連するゾーン、例えば第1のゾーンZ1に割り当てられているメモリ及び/又はランタイムへのアクセスのみを可能にする。
【0192】
他の好ましい実施形態においては、スーパーバイザモードにおいて実行されるISRは、メモリ保護デバイスの動的な再構成を行うことができず、これは、特に、開始サイクル中の、例えば、コールドスタート中及び/又はウォームスタート中のメモリ保護デバイスの静的な、完全かつ真正の構成によって暗黙的に達成可能である。
【0193】
他の好ましい実施形態においては、例えば、第1のゾーンZ1に割り当てられている、ユーザモードにおいて実行されるタスクは、特定の中央処理装置に対する専用メモリ保護デバイスの静的な構成データセット間の切換を行うことができない。なぜなら、他の好ましい実施形態においては、この切換は、スーパーバイザモードにおいてのみ可能だからである。
【0194】
他の好ましい実施形態においては、例えば、第1のゾーンZ1に割り当てられている、ユーザモードにおいて実行されるタスクは、メモリ保護デバイスの動的な再構成を行うことができず、これは、有利には同様に、他の好ましい実施形態において設けられている、開始サイクル中の、即ち、例えば、コールドスタート中及び/又はウォームスタート中のメモリ保護デバイスの静的な、完全かつ真正の構成によって暗黙的に達成可能である。
【0195】
他の好ましい実施形態においては、スーパーバイザSV、特に軽量組込スーパーバイザは、オペレーティングシステムBS、特に軽量組込オペレーティングシステムに対して、追加の監視機能性を有するものとしてよい。好ましくは、コア-ゾーン内分離(
図5)の場合、異なる信頼レベルを有する2つのゾーンZ1及びZ2のタスクPXYは、専用中央処理装置102c上において実行され、ここでは、好ましくは、Z1タスク(第1のゾーンZ1に割り当てられているタスク又はインスタンス)及びZ2タスクに対する2つの異なる静的な構成データセットが、ユーザモードにおいて使用され、また、場合によっては、スーパーバイザモードに対する他の静的な構成データセットが使用され、これは例えば、Z1タスク及びZ2タスクに対する2つの静的な構成データセット間の切換を制御する。他の好ましい実施形態においては、場合によっては残存している、未使用の、ユーザモードにおけるタスクに対する静的な構成データセットは(例えば、コールドスタート中及び/又はウォームスタート中)、これが、例えば、メモリ全体への一般的な読取アクセス、書込アクセス及び遂行アクセスを阻止するように構成されるものとしてよく、これによって、セキュリティがさらに強化される。
【0196】
他の好ましい実施形態においては、スーパーバイザモードが、特にコア-ゾーン内分離のコンテキストにおいて、信頼できないゾーンZ1の監視を制御することが想定されるものとしてよい(例えば、
図2Mのフローを参照されたい)。
【0197】
他の好ましい実施形態においては、例えば、3つ以上のゾーンZ1,Z2,Z3(図示せず)が設けられるものとしてよく、第1のゾーンZ1は、例えば非常に信頼できるゾーン/機密性の高いゾーンであり、第2のゾーンZ2は、例えば信頼できるゾーンであり、第3のゾーンZ3は、例えば信頼できないゾーンである。
【0198】
他の好ましい実施形態においては、コンピューティングデバイスは、例えば、マイクロコントローラを有するものとしてよく、又は、相応の数の中央処理装置を備えたマイクロコントローラによって構成されるものとしてよい。
【0199】
本発明者らの調べによると、高度にネットワーク化された近年の車両の事情において、特に、多様な外部インタフェースが原因で、例えば、制御装置及び/又は組込システムのコンピューティングデバイス上の侵入表面が著しく増加している。特に、いわゆる遠隔侵入のリスク、即ち、例えばインタネットを介した、車両又はコンピューティングデバイスへの物理的なアクセスを伴わない侵害が存在する。好ましい実施形態による原理は、有利には、コンピューティングデバイスへのこのような遠隔侵入及び/又は他の侵入の効率的な軽減のために使用され得る。
【0200】
他の好ましい実施形態は、実施形態による方法を実行する装置1000に関する(
図22の概略的なブロック図を参照されたい)。装置1000は、少なくとも1つの中央処理装置1002aを備えたコンピューティングデバイス1002を有しており、中央処理装置1002aには、任意選択的に、少なくとも1つのメモリ保護デバイス1002a’が割り当てられるものとしてよい。
【0201】
装置1000はさらに、メモリデバイス1004を有しており、これは好ましくは揮発性メモリ1004a、例えばメインメモリ(RAM)及び/又は不揮発性メモリ1004b、例えばフラッシュEEPROM及び/又はROM及び/又はOTPメモリを有する。好ましくは、ROM1004b内にコンピュータプログラムPRGが格納されており、これは、プログラムPRGがコンピュータ1002によって実行されるときに、コンピュータ1002に、実施形態による方法を実施させるための命令を含む。
【0202】
他の好ましい実施形態においては、装置1000の動作のための構成データCFGも、ROM1004b内に格納されている。この構成データCFGは、例えば、少なくとも1つのメモリ保護デバイス1002a’のための1つ又は複数の構成データ(セット)KD、KD’,KD1,KD2,KD3,KD4も有することができる。
【0203】
他の好ましい実施形態においては、装置1000が、コンピューティングデバイス1002とメモリデバイス1004との間のデータを交換することを可能にする少なくとも1つのデータバス1006を有することが想定されている。
【0204】
他の好ましい実施形態は、コンピュータ1002によって実行されるときに、コンピュータ1002に、実施形態による方法を実施させるための、特にコンピュータプログラムPRGの形態の命令を含むコンピュータ可読記憶媒体SMに関する。
【0205】
他の好ましい実施形態は、実施形態によるコンピュータプログラムPRGを伝送するデータキャリア信号DSに関する。好ましくは、装置1000は、データキャリア信号DSを受信するための、好ましくは双方向のデータインタフェース1008を有するものとしてよい。
【0206】
他の好ましい実施形態においては、コンピューティングデバイス1002は、特に例示的に
図1,
図3を参照して上述されたように、コンピューティングデバイス100,100aによる構成も有することができる。特に、他の好ましい実施形態においては、
図22による装置1000の上述の中央処理装置又はある中央処理装置1002aが、実施形態による方法の少なくともいくつかのステップを少なくとも一時的に実行することも可能である。この点において、装置1000は例示的に、実施形態による、コンピューティングデバイス100,100aの可能なターゲットシステムとしても理解され得る。
【0207】
他の好ましい実施形態においては、装置1000は、例えば、暗号化機能を実行するためのハードウェアセキュリティモジュールHSM’又は暗号化モジュールHSM’も有する。
【0208】
他の好ましい実施形態においては、装置1000が、マイクロコントローラ(英語で、Microcontroller若しくはMicrocontroller Unit(MCU))として、特に単一のマイクロコントローラ(single MCU)として、又は、シングルチップシステム(英語で、SoC system-on-chip)として、特に単一のSoC(single-SoC)として構成されていることが想定されている。
【0209】
他の好ましい実施形態においては、装置1000が、1つの、特に共通の半導体基板1001(英語で、die)を有することが想定されており、ここでは、この、特に共通の半導体基板1001上に、次の要素、即ち、
a)少なくとも1つの中央処理装置を有するコンピューティングデバイス1002、
b)メモリデバイス1004、
c)データバス1006、
d)少なくとも1つのメモリ保護デバイス1002a、
e)(任意選択的な)ハードウェアセキュリティモジュールHSM’
のうちの少なくとも1つの要素が配置されている。
【0210】
従って、好ましい実施形態による原理は、有利には、2つ以上のゾーンZ1,Z2への分離と同時に、シングルMCUシステム1又はシングルSoCシステム1の提供を可能にする。
【0211】
他の好ましい実施形態においては、種々のゾーンの間におけるデータ交換(「ゾーン内データ交換及び/又はゾーン間データ交換」)を、例えば、共有RAM(分割されたメインメモリ,
図4の参照符号1030aを参照されたい)内に位置するバッファを介して実現することができ、ここでは、共有RAMは、有利には同様に、コンピューティングデバイス1002又はその中央処理装置1002a及び好ましくはシングルSoCシステム1の他のコンポーネント1006,HSM’,1002aと同一の共通の半導体基板1001上に配置されている。これによって、有利には、種々のゾーンZ1,Z2間の高性能(MCU内部又はSoC内部のため)かつ確実な(MCU内部又はSoC内部のため)通信チャネルが得られ、これは、他の好ましい実施形態においては、効率的にスケーリング可能でもある(例えば、場合によっては、他の(付加的な)ゾーンにおける複数のバッファ)。
【0212】
有利には、好ましい実施形態は、異なるゾーンZ1,Z2の「配置」、例えば信頼できるゾーン(TZ)及び信頼できないゾーン(NTZ)の「配置」、及び/又は、同一の、好ましくはシングルMCUシステム又はシングルSoCシステム1上の異なるゾーンZ1,Z2のデータに関するデータ処理を可能にする。
【0213】
他の好ましい実施形態においては、実施形態による方法及び/又は装置100,100a,1000は、制御装置において、例えば自動車用の制御装置において、特に自動車の内燃機関用の制御装置において使用されるものとしてよく、これは例えば、次の用途、即ち、
a)制御装置の動作又は動作状態遷移の制御、
b)制御装置及び/又は他のコンポーネント及び/又は例えば自動車の1つ又は複数の機能の有効化又は非有効化、
c)エラーモード及び/又は緊急動作への切換、
d)エラーメモリエントリの実行、
e)外部ユニット及び/又はユーザへの動作状態の通知、
f)アクチュエータの駆動制御
のうちの少なくとも1つの用途に対する使用である。
【0214】
他の好ましい実施形態は、特に、メモリデバイス及び/又はメモリデバイスにアクセスするコンピューティングデバイス100,100a,1002を第1の動作状態から第2の動作状態に切り換える前又は切り換える間又は切り換えた後に、メモリデバイス1030,1032,1004の少なくとも1つの部分領域を変更又は改ざんに関して検査するために、かつ、この検査に応じて、例えば自動車の内燃機関の制御装置の動作を制御するために、実施形態による方法及び/又は実施形態による装置100,100a,1000及び/又は実施形態によるコンピュータプログラムPRGを使用することに関する。
【0215】
他の好ましい実施形態(
図2Uを参照されたい)は、次の要素、即ち、
a)コンピューティングデバイス100,100a(
図1)における、特にコンピューティングデバイスの中央処理装置102c内における信頼境界(「Trust Boundaries」)の提供370、
b)コンピューティングデバイス及び/又はコンピューティングデバイスのコンポーネントのうちの1つのコンポーネントに対する侵入の侵入表面の低減371(
図2U)、
c)メモリ1030,1032へのアクセス権の制限372、
d)周辺機器1034(
図3)へのアクセス権の制限373、
e)(例えば、計算時間、中央処理装置のデータによって特徴付け可能な)計算リソースへのアクセス権の制限374(
図2U)、
f)変造されたコンポーネントの影響の最小化375、
g)特に車両用の、特に自動車用の制御装置の動作376、
h)組込システム、特にモノのインタネットの組込システム、即ち、IoTシステムの動作377、
i)特定用途向け集積回路即ちASICの動作378
j)変造されたゾーンの検出、
k)特に侵害が検出された場合のエラー応答の開始
のうちの少なくとも1つの要素に対する、実施形態による方法の使用及び/又は実施形態による装置の使用及び/又は実施形態によるコンピュータプログラムの使用に関する。
【手続補正書】
【提出日】2022-05-25
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
車両用
の組込システム及び/又は制御装置用の、少なくとも1つの中央処理装置(102a,102b,102c,…,102n;K1,K2,K3,K4)を有するコンピューティングデバイス(100;100a;100b)の動作方法であって、
前記コンピューティングデバイス(100;100a;100b)によって実行可能な1つ又は複数のアプリケーションプログラム(AP1,AP2)を少なくとも2つのゾーン(Z1,Z2)のうちの1つのゾーンに割り当てるステップ(200)であって、前記ゾーン(Z1,Z2)は、関連するアプリケーションプログラム(AP1,AP2)を実行するために利用可能な、前記コンピューティングデバイス(100;100a;100b)のリソースを特徴付ける、ステップ(200)と、
自身に割り当てられている前記ゾーン(Z1,Z2)に応じて、複数の前記アプリケーションプログラム(AP1,AP2)のうちの少なくとも1つのアプリケーションプログラムを実行するステップ(210)と、
を含
み、
少なくとも1つのゾーン(Z1,Z2)に応じて、次の要素、即ち、
a)前記コンピューティングデバイス(100;100a;100b)に割り当てられているメモリ(1030,1032)に対する読取権、
b)前記コンピューティングデバイス(100;100a;100b)に割り当てられているメモリ(1030,1032)に対する書込権、
c)前記コンピューティングデバイス(100;100a;100b)に割り当てられているメモリ(1030,1032)に対する実行権
のうちの少なくとも1つの要素を制御するステップ(230)、特に制限するステップをさらに含み、
前記読取権及び/又は前記書込権及び/又は前記実行権を制御するために、少なくとも一時的に、少なくとも1つのメモリ保護デバイス(M1,M2,M3,M4,M5_1,M5_2,M5_3,M5_4,M5_5,M5_6,M5_7,M5_8)を使用するステップ(232;232’)をさらに含み、
前記少なくとも1つのメモリ保護デバイス(M1,M2,M3,M4,M5_1,M5_2,M5_3,M5_4,M5_5,M5_6,M5_7,M5_8)に対して構成データ(KD)の複数のセットを提供するステップ(250)をさらに含み、
前記構成データ(KD)の前記複数のセットのうちの少なくとも1つの第1のセットを前記少なくとも2つのゾーン(Z1,Z2)のうちの第1のゾーン(Z1)に割り当て、
前記構成データ(KD)の前記複数のセットのうちの少なくとも1つの第2のセットを前記少なくとも2つのゾーン(Z1,Z2)のうちの第2のゾーン(Z2)に割り当てる(252)、
方法。
【請求項2】
前記コンピューティングデバイス(100;100a;100b)は、複数の中央処理装置(102a,102b,102c,…,102n;K1,K2,K3,K4)を有しており、
前記方法はさらに、
a)少なくとも1つの中央処理装置(102a,102b)を厳密に1つのゾーンに割り当てるステップ(220)、及び/又は、
b)少なくとも1つの中央処理装置(102a,102b)を1つ以上のゾーン、特に2つのゾーン(Z1,Z2)に割り当てるステップ(222)
を含む、
請求項1に記載の方法。
【請求項3】
少なくとも1つの中央処理装置(102a)に対して少なくとも1つの専用メモリ保護デバイス(M1)を提供するステップ(231)をさらに含み、
特に複数の、好ましくはすべての中央処理装置(102a)に対してそれぞれ1つの専用メモリ保護デバイスを提供する、
請求項
1又は2に記載の方法。
【請求項4】
少なくとも1つの中央処理装置(102a)は、少なくとも一時的に第1の動作モードを取り(240)、特に前記少なくとも1つの中央処理装置(102a)は、前記第1の動作モードにおいて、少なくとも1つのメモリ保護デバイスの動作を制御する構成データ(1036)の設定及び/又は書込(242)を行い、
特に前記少なくとも1つの中央処理装置(102a)は、少なくとも一時的に第2の動作モードを取り(243)、前記少なくとも1つの中央処理装置(102a)は、前記第2の動作モードにおいて、前記少なくとも1つのメモリ保護デバイスに対する前記構成データ(1036)の書込及び/又は変更を行うことができない、
請求項1乃至
3の
いずれか一項に記載の方法。
【請求項5】
前記少なくとも1つの中央処理装置(102a)は、イベント駆動方式で、特に少なくとも1つの割り込み要求に応じて、前記第1の動作モードを取る(240)、
請求項
4に記載の方法。
【請求項6】
前記アプリケーションプログラム(AP1)の第1のインスタンス(AP1_I1)及び前記アプリケーションプログラム(AP1)の第2のインスタンス(AP1_I2)を提供するステップ(260)と、
前記アプリケーションプログラム(AP1)の前記第1のインスタンス(AP1_I1)を前記少なくとも2つのゾーンのうちの第1のゾーン(Z1)に割り当てるステップ(262)と、
前記アプリケーションプログラム(AP1)の前記第2のインスタンス(AP1_I2)を前記少なくとも2つのゾーンのうちの第2のゾーン(Z2)に割り当てるステップ(263)と、
をさらに含む、
請求項1乃至
5の
いずれか一項に記載の方法。
【請求項7】
前記少なくとも2つのゾーン(Z1,Z2)に応じて前記コンピューティングデバイス(100)に割り当てられているメモリの領域を分離するステップ(270)をさらに含み、
前記コンピューティングデバイス(100)に割り当てられている前記メモリは、次の要素、即ち、
a)特にメインメモリの形態のバッファメモリ、
b)スタックメモリ、
c)データメモリ、
d)プログラムメモリ、
e)レジスタメモリ
のうちの少なくとも1つの要素を有しており、
前記分離するステップ(270)のために少なくとも1つのメモリ保護デバイス(M1,M2,M3,M4,M5_1,M5_2,M5_3,M5_4,M5_5,M5_6,M5_7,M5_8)を使用する(272)、
請求項1乃至
6の
いずれか一項に記載の方法。
【請求項8】
バッファメモリ、特にメインメモリを介して、種々のゾーン(Z1,Z2)の間において第1のデータを交換するステップ(280)をさらに含み、
特に、前記第1のゾーン(Z1)と前記第2のゾーン(Z2)との間における前記第1のデータの前記交換は、次のステップ、即ち、
前記第1のデータを、前記第1のゾーン(Z1)に割り当てられている第1のバッファメモリ領域にコピーするステップ(282)と、
コピーされた前記第1のデータを検査するステップ(283)と、
特に前記検査するステップ(283)に応じて、前記第1のデータを、前記第1のゾーン(Z1)に割り当てられている前記第1のバッファメモリ領域から、前記第2のゾーン(Z2)に割り当てられている第2のバッファメモリ領域にコピーするステップ(284)と、
を含む、
請求項1乃至
7の
いずれか一項に記載の方法。
【請求項9】
前記少なくとも2つのゾーン(Z1,Z2)に応じて、異なるアプリケーションプログラム及び/又はアプリケーションプログラムのインスタンスに対して計算時間リソースを分離するステップ(290)、特に、異なるアプリケーションプログラム及び/又はアプリケーションプログラムのインスタンスに対して計算時間リソースを割り当てるステップをさらに含む、
請求項1乃至
8の
いずれか一項に記載の方法。
【請求項10】
a)異なるアプリケーションプログラム及び/又はアプリケーションプログラムのインスタンスに対して計算時間リソースを割り当てるために、組込システム用のオペレーティングシステム(BS)、特に軽量組込オペレーティングシステムを使用するステップ(292)であって、特に前記コンピューティングデバイス(100)のそれぞれ1つの中央処理装置(102a,102b)に1つのオペレーティングシステム(BS)を割り当てる、ステップ(292)、及び/又は、
b)異なるアプリケーションプログラム及び/又はアプリケーションプログラムのインスタンスに対して計算時間リソースを割り当てるために、組込システム用のスーパーバイザ(SV)、特に軽量組込スーパーバイザを使用するステップ(294)であって、特に前記コンピューティングデバイス(100)のそれぞれ1つの中央処理装置(102a,102b)に1つのスーパーバイザ(SV)を割り当てる、ステップ(294)
をさらに含む、
請求項
9に記載の方法。
【請求項11】
前記オペレーティングシステム(BS)及び/又は前記スーパーバイザ(SV)は、特に静的なタスクリストを使用して、事前に規定されたタスクに対して、好ましくは事前に規定されたタスクに対してのみ、計算時間リソースの割り当てを実行する、
請求項
10に記載の方法。
【請求項12】
前記オペレーティングシステム(BS)及び/又は前記スーパーバイザ(SV)は、計算時間リソースの割り当てを、a)繰り返される、特に定期的に繰り返される割り込み要求に応じて、及び/又は、b)イベント駆動方式の割り込み要求に応じて、実行し、
特に、タスクは、少なくとも1つの割り込みルーチンによってアクティブ化される、
請求項
10に記載の方法。
【請求項13】
割り込みルーチンに入ると、特にハードウェア駆動方式で、少なくとも1つのメモリ保護デバイスに対する構成データ(1036)又は前記少なくとも1つのメモリ保護デバイスを変更する、
請求項1乃至
12の
いずれか一項に記載の方法。
【請求項14】
特に前記オペレーティングシステム(BS)及び/又は前記スーパーバイザ(SV)を用いて、特に侵害の可能性があるかに関して、次の要素、即ち、
a)第1のゾーン(Z1)、
b)前記第1のゾーン(Z1)に割り当てられているアプリケーションプログラム、
c)前記第1のゾーン(Z1)に割り当てられている、アプリケーションプログラム(AP1)のインスタンス(AP1_I1)、
のうちの少なくとも1つの要素を監視するステップ(300)をさらに含み、
特に前記監視するステップ(300)は、スタックメモリを評価するステップ(302)、及び/又は、プログラムカウンタを評価するステップ(304)を含み、
好ましくは、前記スタックメモリを評価する前記ステップ(302)及び/又は前記プログラムカウンタを評価する前記ステップ(304)を、前記アプリケーションプログラム(AP1)をアクティブ化するステップ及び/又は前記アプリケーションプログラム(AP1)の前記インスタンス(AP1_I1)をアクティブ化するステップの前に行う、
請求項
10乃至
13の
いずれか一項に記載の方法。
【請求項15】
特に、前記監視するステップ(300)が侵害の可能性を示す場合に、エラー応答を開始するステップ(305)をさらに含み、
前記エラー応答(305)は、次の要素、即ち、
a)特に、前記第1のゾーン(Z1)に割り当てられている前記中央処理装置の非アクティブ化(305a)及び/又は前記第1のゾーン(Z1)に割り当てられている前記中央処理装置のリセット(305b)及び/又はエラーモードへの移行(305c)を用いた、前記第1のゾーン(Z1)及び/又は前記第1のゾーン(Z1)に割り当てられている前記中央処理装置の安全な状態への移行、
b)エラーエントリ(FE)の生成(305d)、及び/又は、
c)あるエラーエントリ又は前記エラーエントリの、侵入検知システム、特にIntrusion Detection Systemへの転送(305e)
のうちの少なくとも1つの要素を含む、
請求項
14に記載の方法。
【請求項16】
前記コンピューティングデバイス(100)は、少なくとも一時的にコールドスタート(310)を実行し、特に前記コールドスタート(310)中に、データ及び/又はプログラムコードが不揮発性メモリ(1032)からロードされ、
前記コンピューティングデバイス(100)は、少なくとも一時的にウォームスタート(312)を実行し、特に前記ウォームスタート(312)中に、データ及び/又はプログラムコードが、少なくとも一時的に通電される揮発性メモリ(1030)からロードされ、
特に前記コールドスタート(310)中に、少なくとも1つのメモリ保護デバイス(M1,M2,M3,M4,M5_1,M5_2,M5_3,M5_4,M5_5,M5_6,M5_7,M5_8)若しくは前記少なくとも1つのメモリ保護デバイス(M1,M2,M3,M4,M5_1,M5_2,M5_3,M5_4,M5_5,M5_6,M5_7,M5_8)を構成し(311)、及び/又は、特に前記ウォームスタート(312)中に、前記少なくとも1つのメモリ保護デバイス(M1,M2,M3,M4,M5_1,M5_2,M5_3,M5_4,M5_5,M5_6,M5_7,M5_8)を構成する(313)、
請求項1乃至
15の
いずれか一項に記載の方法。
【請求項17】
専用メモリ保護デバイス(M1)が提供されている(231)中央処理装置(102a)のみが、前記専用メモリ保護デバイス(M1)を構成する(231a)、
請求項
3乃至
16の
いずれか一項に記載の方法。
【請求項18】
少なくとも1つのメモリ保護デバイスの動作を制御する構成データ(1036)の完全性及び/又は真正性、又は、前記構成データ(1036)を、特に、次の要素、即ち、
a)前記少なくとも1つのメモリ保護デバイスの前記構成に使用可能なプログラムコードの検証(322)、
b)前記構成データ(1036)の検証(324)、
c)前記少なくとも1つのメモリ保護デバイスの前記構成に使用可能な、あるプログラムコード又は前記プログラムコードの永続化(326)、
d)前記構成データ(1036)の永続化(328)、
のうちの少なくとも1つの要素を用いて検査するステップ(320)をさらに含む、
請求項1乃至
17の
いずれか一項に記載の方法。
【請求項19】
特に少なくとも1つの中央処理装置(102a)によって、少なくとも一時的に、セキュアブート方法を実行するステップ(330)、及び/又は、少なくとも一時的に、ランタイム中に改ざんを識別する方法を実行するステップ(332)をさらに含む、
請求項1乃至
18の
いずれか一項に記載の方法。
【請求項20】
少なくとも1つのゾーン(Z1)に応じて、次の要素、即ち、
a)前記コンピューティングデバイス(100)の内部インタフェース、特にソフトウェアインタフェース、
b)前記コンピューティングデバイス(100)の内部ハードウェアインタフェース及び/又は外部ハードウェアインタフェース、
c)暗号化機能を実行するためのハードウェアセキュリティモジュール(HSM)及び/又は暗号化モジュール、
d)前記コンピューティングデバイス(100)の周辺機器、特に少なくとも1つの周辺機器の特殊機能レジスタ、
e)前記コンピューティングデバイス(100)のターゲットシステム、特に制御装置の内部インタフェース、
f)前記コンピューティングデバイス(100)のターゲットシステム、特に制御装置の外部インタフェース、
g)特に、ISO/OSIレイヤモデルの少なくとも1つのレイヤ上の通信プロトコルに対するアドレス指定要素、
のうちの少なくとも1つの要素へのアプリケーションプログラム(AP1)によるアクセスを制御するステップ(340)をさらに含む、
請求項1乃至
19の
いずれか一項に記載の方法。
【請求項21】
次の要素、即ち、
a)少なくとも1つの付加的な、特にまだ存在していないゾーンの導入(350)、
b)第1の中央処理装置(102a)から、前記コンピューティングデバイスの少なくとも1つの他の中央処理装置(102b)への機能性の移動(352)、
c)特に前記コンピューティングデバイス(100)内に統合されているメインメモリ(1030)を使用した、少なくとも2つのゾーン(Z1,Z2)間の通信の実行(354)、
d)少なくとも1つの信頼できるゾーン(Z2)の定義(360)、及び、任意選択的に、前記信頼できるゾーン(Z2)に割り当てられている少なくとも1つのアプリケーションプログラムによる、少なくとも1つの他の、特に信頼できないゾーン(Z1)の監視(362)
のうちの少なくとも1つの要素をさらに含む、
請求項1乃至
20の
いずれか一項に記載の方法。
【請求項22】
請求項1乃至
21の
いずれか一項に記載の方法を実施するための装置(100;100a;100b;1000)。
【請求項23】
次の要素、即ち、
a)少なくとも1つの中央処理装置(1002a)を有するコンピューティングデバイス(1002)、
b)メモリデバイス(1004)、
c)データバス(1006)、
d)メモリ保護デバイス(1002a’)、
e)ハードウェアセキュリティモジュール(HSM;HSM’)
のうちの少なくとも1つの要素を有する、
請求項
22に記載の装置(100;100a;100b;1000)。
【請求項24】
前記装置(100;100a;100b;1000)は、特に単一のマイクロコントローラとして又は単一のシングルチップシステム(1)として構成されている、
請求項
22乃至
23の
いずれか一項に記載の装置(100;100a;100b;1000)。
【請求項25】
前記装置(100;100a;100b;1000)は、1つの、特に共通の半導体基板(1001)を有しており、
特に共通の前記半導体基板(1001)上に、次の要素、即ち、
a)少なくとも1つの中央処理装置(1002a)を有する前記コンピューティングデバイス(1002)、
b)メモリデバイス(1004)、
c)データバス(1006)、
d)メモリ保護デバイス(1002a’)、
e)ハードウェアセキュリティモジュール(HSM;HSM’)
のうちの少なくとも1つの要素が配置されている、
請求項
23又は24に記載の装置(100;100a;100b;1000)。
【請求項26】
請求項1乃至
21の
いずれか一項に記載の方法を実施するマイクロコントローラシステム(1)又はシングルチップシステム(1)であって、
前記システム(1)は、特に単一の、請求項
22乃至
25までの
いずれか一項に記載の装置(1000)を有する、
マイクロコントローラシステム(1)又はシングルチップシステム(1)。
【請求項27】
コンピュータ(1002a)により実行されるときに、前記コンピュータ(1002a)に、請求項1乃至
21の
いずれか一項に記載の方法を実施させるための命令(PRG)を含むコンピュータ可読記憶媒体(SM)。
【請求項28】
コンピュータ(1002a)によりプログラムが実行されるときに、前記コンピュータ(1002a)に、請求項1乃至
21の
いずれか一項に記載の方法を実施させるための命令を含むコンピュータプログラム(PRG)。
【請求項29】
次の要素、即ち、
a)前記コンピューティングデバイス(100)における、特に前記コンピューティングデバイス(100)の中央処理装置(102a)内における信頼境界の提供(370)、
b)前記コンピューティングデバイス(100)及び/又は前記コンピューティングデバイス(100)のコンポーネントのうちの1つのコンポーネントに対する侵入の侵入表面の低減(371)、
c)メモリへのアクセス権の制限(372)、
d)周辺機器へのアクセス権の制限(373)、
e)計算リソースへのアクセス権の制限(374)、
f)変造されたコンポーネントの影響の最小化(375)、
g)特に車両用の、特に自動車用の制御装置の動作(376)、
h)組込システム、特にモノのインタネットの組込システム、即ち、IoTシステムの動作(377)、
i)特定用途向け集積回路即ちASICの動作(378)、
j)変造されたゾーンの検出、
k)特に侵害が検出された場合のエラー応答の開始
のうちの少なくとも1つの要素に対する、請求項1乃至
21の
いずれか一項に記載の方法の使用及び/又は請求項
22乃至
25の
いずれか一項に記載の装置(100;100a;100b;1000)の使用及び/又は請求項
26に記載のシステム(1)の使用及び/又は請求項
28に記載のコンピュータプログラム(PRG)の使用。
【国際調査報告】