(57)【要約】【課題】  データを処理するための方法および装置を提供する。【解決手段】  複数の処理ステップでデータを処理するための方法が、複数の処理ユニットを第１のコンフィグレーションで構成するステップであって、複数の処理ユニットのうちの第１および第２のユニットが複数の処理ステップのうちの第１の処理ステップを実施する、ステップと、複数の処理ユニットを第２のコンフィグレーションで構成するステップであって、第１の処理ユニットが第２の処理ステップを実施し、第２の処理ユニットが、第２の処理ステップとは異なる第３の処理ステップを実施する、ステップとを含む。この方法を実施するための装置が設けられている。【選択図】      なし【特許請求の範囲】
【請求項１】
複数の処理ステップでデータを処理するための方法であって、
複数の処理ユニットを第１のコンフィグレーションで構成するステップであって、前記複数の処理ユニットのうちの第１および第２のユニットが前記複数の処理ステップのうちの第１の処理ステップを実施する、ステップと、
前記複数の処理ユニットを第２のコンフィグレーションで構成するステップであって、前記第１の処理ユニットが第２の処理ステップを実施し、前記第２の処理ユニットが、前記第２の処理ステップとは異なる第３の処理ステップを実施する、ステップと
を含む方法。
【請求項２】
前記第１のコンフィグレーションを第１のセキュリティレベルに割り当てるステップと、
前記第２のコンフィグレーションを第２のセキュリティレベルに割り当てるステップと
をさらに含み、
前記第１のセキュリティレベルが、前記第２のセキュリティレベルよりも高い
請求項１記載の方法。
【請求項３】
前記第１の処理ユニットからの第１の処理結果と前記第２の処理ユニットからの第２の処理結果とを比較するステップと、
前記第２の処理結果が前記第１の処理結果と異なる場合に、エラーを通知するステップと
を含む請求項１または２に記載の方法。
【請求項４】
少なくとも前記第１の処理ユニットを、第三者による攻撃、および／または環境の影響による障害から保護するステップ
をさらに含む請求項１から３のいずれか一項に記載の方法。
【請求項５】
少なくとも第３の処理ユニットを提供するステップと、
少なくとも第３のコンフィグレーションを第３のセキュリティレベルに割り当てるステップと
をさらに含み、
前記第３のコンフィグレーションに従って、前記第３のセキュリティレベルが前記第１および前記第２のセキュリティレベルを上回っている場合には、前記第３の処理ユニットが同様に前記第１の処理ステップを実施する
請求項４に記載の方法。
【請求項６】
少なくとも第４のコンフィグレーションを第４のセキュリティレベルに割り当てるステップ
を含み、
前記第４のコンフィグレーションに従って、前記第４のセキュリティレベルが前記第１のセキュリティレベルと前記第２のセキュリティレベルとの間にある場合、前記第３の処理ユニットが同様に前記第２または前記第３の処理ステップを実施する
請求項４に記載の方法。
【請求項７】
少なくとも第５のコンフィグレーションを前記第２のセキュリティレベルに割り当てるステップ
を含み、
前記第５のコンフィグレーションに従って、前記第３の処理ユニットが、前記第１の処理ステップ、前記第２の処理ステップ、および前記第３の処理ステップとは異なる第４の処理ステップを実施する
請求項４に記載の方法。
【請求項８】
いくつかの処理ステップを実施するステップ
を含む、請求項１から７のいずれか一項に記載の方法。
【請求項９】
前記複数の処理ステップを実施する前に、および互いに異なる２つの処理ステップを実施する合間に前記構成することが行われる、請求項８に記載の方法。
【請求項１０】
プログラムコードを記憶し、前記プログラムコードが、データ処理デバイス上での実行時に、前記データ処理デバイスに請求項１から９のいずれか一項に記載の方法の処理ステップを実施するように指示する記憶媒体。
【請求項１１】
データを処理するための装置であって、
複数のコンフィグレーションで動作するように構成可能な複数の処理ユニットと、
前記複数の処理ユニットを選択的に第１のコンフィグレーションで構成し、前記複数の処理ユニットのうちの第１および第２のユニットが第１の処理ステップを実施し、また、第２のコンフィグレーションで構成し、前記第１の処理ユニットが第２の処理ステップを実施し、前記第２の処理ユニットが、前記第２の処理ステップとは異なる第３の処理ステップを実施するように適合されている構成ユニットと
を備える装置。
【請求項１２】
前記構成ユニットが、前記第１のコンフィグレーションを第１のセキュリティレベルに割り当て、前記第２のコンフィグレーションを第２のセキュリティレベルに割り当てるように適合され、前記第１のセキュリティレベルが前記第２のセキュリティレベルよりも高い、請求項１１に記載の装置。
【請求項１３】
前記構成ユニットが、前記複数の処理ステップの実施前に、および／または処理ステップの実施中に動的に、または互いに異なる２つの処理ステップの実施の合間に前記構成することを行うように適合されている、請求項１２に記載の装置。
【請求項１４】
複数の処理ユニットからの重み付けされた処理結果に基づいて多数決を表す信号を出力するように適合されている通知デバイス
をさらに含む請求項１１から１３のいずれか一項に記載の装置。
【請求項１５】
前記通知デバイスが比較デバイスを含み、前記比較デバイスが、前記第１の処理ユニットからの第１の処理結果を前記第２の処理ユニットからの第２の処理結果と比較し、前記第２の処理結果が前記第１の処理結果と異なる場合を検出して通知するように適合されている、請求項１４に記載の装置。
【請求項１６】
第三者による攻撃および／または環境の影響による障害に対して前記装置の他の領域よりも強固に保護されているセキュリティ領域をさらに含み、少なくとも第１の処理ユニットが前記セキュリティ領域に配置されている、請求項１１から１５のいずれか一項に記載の装置。
【請求項１７】
前記セキュリティ領域が、前記構成ユニットの（特にすべての）レジスタを含み、前記レジスタが、前記複数のコンフィグレーションの構成データを記憶するように適合されている、請求項１６に記載の装置。
【請求項１８】
請求項１から９のいずれか一項に記載の方法を実施するように適合されている、請求項１１から１７のいずれか一項に記載の装置。
【請求項１９】
プログラムコードを実行しながら前記方法の複数の処理ステップを実施するために、請求項１０に記載の記憶媒体からプログラムコードを受信するように適合されている結合デバイスをさらに含む請求項１８に記載の装置。
【請求項２０】
前記複数の処理ステップでの処理のための入力データを、前記コンフィグレーションに応じて前記複数の処理ユニットに分配するように適合されているデマルチプレクサ、および／または
処理ユニットからの出力データをマージするように適合されているマルチプレクサ
をさらに含む請求項１１から１９のいずれか一項に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、データを処理するための装置および方法に関する。この装置は、複数の処理ユニットを含む。この方法は、複数の処理ユニットを構成することを含む。
【発明の概要】
【０００２】
データの処理に関して高いスループットを実現するために、複数の処理ユニットを並列に使用することができる。
【０００３】
できるだけ適切にデータの処理を行うために、処理ユニットは、異なるタスクに対応して互いに異なる様式で形成されてもよい。例えば、プリント回路基板またはチップ上のモジュールの回路システムに、それぞれ異なるタスクを達成するように形成されているいくつかの異なる特定用途向け集積回路（ＡＳＩＣ）を含むことができる。
【０００４】
独立クレームは、様々な態様で一般的な実施形態を指定する。従属クレームは、様々な態様で実施形態の特徴を指定する。
【０００５】
以下、１つまたは複数の態様で本発明の基本的な理解を提供するために簡単な要旨を述べる。この要旨は、本発明の概要を示すものであり、本発明の本質的または重要な特徴を特徴付けることも、本発明の範囲を導き出すことも意図されていない。むしろ、この要旨は、主に、以下に続くより詳細な説明に先立って、本発明のいくつかの概念を簡単に提供することを意図している。
【０００６】
一態様では、本開示は、複数の処理ステップでデータを処理するための方法に関する。この方法は、複数の処理ユニットを第１のコンフィグレーションで構成するステップであって、複数の処理ユニットのうちの第１および第２のユニットが複数の処理ステップのうちの第１の処理ステップを実施する、ステップを含む。この方法は、複数の処理ユニットを第２のコンフィグレーションで構成するステップであって、第１の処理ユニットが第２の処理ステップを実施し、第２の処理ユニットが、第２の処理ステップとは異なる第３の処理ステップを実施する、ステップをさらに含む。
【０００７】
一態様では、本開示は、複数のコンフィグレーションで動作するように構成可能な複数の処理ユニットのデータを処理するための装置に関する。いくつかの実施形態では、本装置は実行時間中に構成可能に形成されている。本装置は、複数の処理ユニットを選択的に第１のコンフィグレーションで構成し、複数の処理ユニットのうちの第１および第２のユニットが第１の処理ステップを実施し、また、第２のコンフィグレーションで構成し、第１の処理ユニットが第２の処理ステップを実施し、第２の処理ユニットが第２の処理ステップとは異なる第３の処理ステップを実施するように適合されている構成ユニットを含む。
【０００８】
さらに良く理解できるように、添付図面を本開示の一部とする。図面は、実施形態を図示し、明細書と共に本開示の基本的な考えを説明するのに役立つ。
【図面の簡単な説明】
【０００９】
【図１】いくつかの実施形態によるプロセッサを概略的に示すブロック図である。
【図２】いくつかの実施形態による方法を概略的に示す流れ図である。
【発明を実施するための形態】
【００１０】
本願で特許請求する主題を深く理解できるように、説明の目的でいくつかの特定の詳細を述べる。しかし、これらの特定の詳細を伴わなくても本願で特許請求する主題を実現することができることは明らかであろう。
【００１１】
図面の特徴は、必ずしも縮尺通りには描かれていない。同様の参照符号は、対応する同様の部分を示す。最初の数字は、その符号を付された部分が最初に示されている図面の番号を示す。以下の詳細な説明を読めば、他の実施形態および意図される利点のいくつかが容易に理解されよう。他の実施形態を使用することもでき、例示的実施形態に構造的および／または論理的な変更を施すこともできることを理解されたい。以下、添付図面を参照して、例示的実施形態、実施形態、およびそれらに関連する効果について述べる。
【００１２】
図１は、いくつかの実施形態によるデータ処理装置（ＤＶＡ装置）を概略的に示すブロック図である。例えば、ＤＶＡ装置は、以下でマイクロコントローラユニット（ＭＣＵ）１００と呼ぶマイクロコントローラモジュールの構成部分として形成されている。マイクロコントローラユニット１００は、例えばプリント回路基板（ＰＣＢ）などの支持体上に配置されている複数のコンフィグレーション要素を含むことができる。いくつかの実施形態では、複数のコンフィグレーション要素がシステムオンチップとして集積されている。
【００１３】
マイクロコントローラユニット１００は、いくつかの実施形態では、複数の処理ユニット１０１、１０２、１０３を含み、これらの処理ユニット１０１、１０２、１０３は、複数のコンフィグレーションで動作するように構成可能である。一実施形態では、マイクロコントローラユニット１００は、プロセッサコア（図示せず）を有する集積回路として形成されている。いくつかの実施形態では、マイクロコントローラユニット１００の処理ユニット１０１、１０２、１０３は、算術論理ユニット（ＡＬＵ）の一部として形成されている。
【００１４】
別の実施形態では、マイクロコントローラユニット１００は、複数のプロセッサコア「ＰＲＯＣ＿１」、「ＰＲＯＣ＿２」、および「ＰＲＯＣ＿３」を有し、これらのプロセッサコアはそれぞれ、例えば処理ユニット１０１、１０２、１０３の１つを含む。いくつかの実施形態では、処理ユニット１０１、１０２、１０３は、空間的に互いに離間されている。例えば、処理ユニット１０１、１０２、１０３は、異なるチップハウジング内で同じプリント回路基板上で互いに離して配置されており、または例えば自動車での使用時には互いにできるだけ離れた場所に収容されている異なるモジュール内に配置されている。ここで、生じ得る距離の制限は、自動車の寸法のみから生じるか、または様々なモジュールによって互いに通信される信号の許容できるランタイムの差に関する制限に基づいて生じる。いくつかの実施形態では、装置は、処理ユニットが様々な電圧源から電圧を供給されるように適合されている。１つの効果は、処理ステップの実施が、それぞれ２つの処理ユニット１０１、１０２によってできるだけ互いに独立して行われることであり、それにより、例えば第１の処理ユニット１０１に影響を及ぼす外乱が第２の処理ユニット１０２にも同時に作用することがない。
【００１５】
マイクロコントローラユニット１００は、セキュリティ領域１２０をさらに備え、セキュリティ領域１２０は、攻撃および／または環境の影響による障害に対して、マイクロコントローラユニット１００の他の領域よりも強固に保護されている。セキュリティ領域は、例えば、特に放射線に対する特別な安全対策によって遮蔽する、または別の形で保護することができる。例えば、いくつかの実施形態では、セキュリティ領域は、ファラデーケージ内に配置することによって、電場および／または磁場の放射、および／または外部からのそのような場の作用から防護される。
【００１６】
いくつかの実施形態では、セキュリティ領域１２０は、差分電力解析および／または実行時間解析に耐性があるように形成されている。いくつかの実施形態では、セキュリティ領域は、攻撃者が引き起こすハードウェアエラーに対して耐性があるように形成されている。例えば、セキュリティ領域１２０は、安全な領域における電力消費をランダム化するように適合されている。少なくとも１つの効果は、差分電力解析が困難になることであり得る。これは、実行された暗号操作に関する観察される電力消費が、場合によっては、統計的に証明しにくい推論を実現するからである。例えば、セキュリティ領域１２０は、マイクロコントローラユニットの内部にトラストアンカを形成するハードウェアセキュリティモジュール（ＨＳＭ）として形成されている。このハードウェアセキュリティモジュールは、様々なハードウェアメカニズムによって防護することができ、特定のハードウェアアクセラレータを含み、例えばハッシュ関数を受け取り、また対称および非対称暗号関数を受け取る。このハードウェアセキュリティモジュールは、特別に保護されたキーストアも含むことが多い。
【００１７】
本マイクロコントローラユニットは、１つまたは複数のバス（図示せず）を含むことができる。いくつかの実施形態では、バスは制御バスを含み、制御バスは、制御コマンド、制御信号、および／または制御データを、マイクロコントローラユニット１００の１つの構成要素からマイクロコントローラユニット１００の別の構成要素に伝送するように適合されている。いくつかの実施形態では、バスはデータバスを含む。データバスは、データをマイクロコントローラユニット１００の１つの構成要素からマイクロコントローラユニット１００の別の構成要素に伝送するように適合されている。いくつかの実施形態では、バスは、制御およびデータバスとして形成されている。バスは、パラレルバスを含むことができる。バスは、データのシリアル伝送用に形成することができる。
【００１８】
マイクロコントローラユニット１００は、デマルチプレクサ１１０を含み、デマルチプレクサ１１０は、複数の処理ステップで処理するための入力データ（「ＩＮＰＵＴ  ＤＡＴＡ」）を、コンフィグレーションに応じて複数の処理ユニットに分配するように適合されている。
【００１９】
マイクロコントローラユニット１００は、マルチプレクサ１３０をさらに含み、マルチプレクサ１３０は、処理ユニット１０１、１０２、１０３からの出力データをマージするように適合されている。この実施形態では、出力データは、例えば出力データストリームにバンドルすることができ、出力データストリームは、例えばバス（図示せず）上でのさらなる処理のために他のデバイスに伝送する、またはマイクロコントローラユニット１００から出力することができる。マルチプレクサ１３０については、以下でより詳細に述べる。
【００２０】
さらに、本装置は、構成ユニット１４０（「ＣＯＮＦＩＧ」）を含み、構成ユニット１４０は、複数の処理ユニット１０１、１０２、１０３を構成するように適合されている。さらに、いくつかの実施形態では、マイクロコントローラユニット１００は、特殊目的レジスタ１４２を含む。特殊目的レジスタ１４２は、例えば、構成ユニット１４０に含めることができ、または構成ユニット１４０の一部として埋め込んで形成することもできる。いくつかの実施形態では、特殊目的レジスタ１４２は、セキュリティ領域１２０内にある構成ユニット１４０の回路部分内に配置されている。いくつかの実施形態では、構成ユニット１４０は、制御信号をデマルチプレクサ１１０に伝送するように適合されている。この実施形態では、デマルチプレクサ１１０は、受信した制御信号に基づいて入力データを分配することができる。
【００２１】
構成ユニット１４０は、いくつかの実施形態では、複数の処理ユニット１０１、１０２、１０３を選択的に第１のコンフィグレーションおよび第２のコンフィグレーションで構成するように適合されている。第１のコンフィグレーションでは、複数の処理ユニット１０１、１０２、１０３のうちの第１の処理ユニット１０１および第２の処理ユニット１０２が第１の処理ステップを実施する。第２のコンフィグレーションでは、第１の処理ユニット１０１が第２の処理ステップを実施し、第２の処理ユニット１０２が、第２の処理ステップとは異なる第３の処理ステップを実施する。構成ユニット１４０は、いくつかの実施形態では、第１のコンフィグレーションを第１のセキュリティレベルに割り当て、第２のコンフィグレーションを第２のセキュリティレベルに割り当てるように適合されている。ここで、第１のセキュリティレベルは第２のセキュリティレベルよりも高い。
【００２２】
構成ユニット１４０は、いくつかの実施形態では、複数の処理ステップの実施前に構成することを行うように適合されている。しかし、構成ユニット１４０は、動的に構成することを行うように適合することもできる。例えば、いくつかの実施形態では、構成ユニット１４０は、処理ステップの実施中に構成することを行うように適合されている。いくつかの実施形態では、構成ユニット１４０は、互いに異なる２つの処理ステップの実施の合間に構成することを行うように適合されている。
【００２３】
いくつかの実施形態では、複数のコンフィグレーションの構成データを記憶するように適合されている構成ユニット１４０の特殊タスクレジスタ１４２が、セキュリティ領域１２０に配置されている。特に、セキュリティ領域１２０は、複数のコンフィグレーションの構成データを記憶するように適合されている構成ユニット１４０のすべての特殊タスクレジスタ１４２を含むことができる。
【００２４】
装置は、少なくとも１つの評価デバイス１３２（「ＥＶＡＬ」）をさらに含み、評価デバイス１３２は、例えば評定の過程で、その評価デバイス１３２が処理ユニット１０１、１０２、１０３から受信したデータを組み合わせるように一般に適合されている。いくつかの実施形態では、評価デバイス１３２は、図２に示されるように、マルチプレクサ１３０の一部として形成されている。評価デバイス１３２は、図１に示される例では、例えば、組合せ結果（「ＯＵＴＰＵＴ」）を出力するようにマルチプレクサ１３０を制御するように適合されており、組合せ結果は、組合せの結果または評定の結果、したがって処理ユニット１０１、１０２、１０３の処理結果を表す。例えば、いくつかの実施形態では、評価デバイス１３２は、複数の処理ユニット１０１、１０２、１０３からの重み付けされた処理結果に基づいて、多数決を表す判定信号を出力するように構成されている。組合せ結果は、判定信号を含むことができる。別の実施形態では、評価デバイスは、マルチプレクサ１３０とは別個に形成されてもよい。例えば、いくつかの実施形態では、さらなる処理ユニット（図示せず）が設けられており、これらの処理ユニットは、二重、三重、またはさらに多重に冗長に構成可能である。この例では、評価デバイスを分配または分散して形成することができ、各部がそれぞれ、二重、三重、またはさらに多重の処理ユニットに割り当てられており、それらの処理ユニットに関して、評価デバイスの各部が処理結果を評定するように適合されている。
【００２５】
いくつかの実装形態では、マルチプレクサ１３０または評価ユニット１３２は、組合せ結果の信憑性を例えばフラグとして示すように適合されている。フラグは、上述した第１の処理ユニット１０１の実行の場合のように少なくとも第１の処理ユニット１０１および第２の処理ユニット１０２によって冗長処理が行われているときに立てられる。一実施形態では、処理結果のデジタル表現において少なくとも１つの固定ビットがフラグのために確保される。一実施形態では、フラグは判定信号を表す。
【００２６】
いくつかの実施形態では、評価デバイス１３２は比較デバイスを含み、比較デバイスは、第１の処理ユニット１０１からの第１の処理結果を第２の処理ユニット１０２からの第２の処理結果と比較するように適合されている。比較デバイスは、第２の処理結果が第１の処理結果と異なる場合にエラーを通知するように適合されている。
【００２７】
処理ユニット１０１、１０２、１０３の処理結果は、同じ重み付けをされていてもよい。いくつかの実施形態では、処理結果は、異なる重み付けをされている。例えば、セキュリティ領域１２０に配置されている第１の処理ユニット１０１の処理結果は、第２の処理ユニット１０２または第３の処理ユニット１０３の処理結果の２倍として査定することができる。各場合の状況に応じて適切な重み付けを当業者が設定することを理解されたい。この信号は、複数のデータ処理ユニット１０１、１０２、１０３の処理結果がエラー公差内で許されるよりも大きく互いに逸脱している旨のエラー通知として形成することができる。
【００２８】
いくつかの実施形態では、マイクロコントローラユニット１００は、メモリ１６０をさらに有する。メモリ１６０は、例えばバス（図示せず）を介して複数の処理ユニット１０１、１０２、１０３に結合することができ、複数の処理ユニット１０１、１０２、１０３がデータをメモリ１６０に書き込む、またはメモリ１６０から読み出すことができるようにする。いくつかの実施形態では、マイクロコントローラユニット１００およびメモリ１６０は、回路内に集積されている。メモリ１６０は、例えば内蔵メモリとして形成されている。これは、例示的実施形態では、メモリ１６０のメモリセルが、複数の処理ユニット１０１、１０２、１０３も含むプロセッサコアの同じ集積回路の一部であることを意味する。例えば、メモリ１６０は、マイクロコントローラユニット１００を含む集積回路の空間的に分離されたブロックとして形成されており、マイクロコントローラユニット１００は、ラインによってメモリ１６０と接続されている。別の実施形態では、メモリは、マイクロコントローラユニット１００に結合されており、しかしマイクロコントローラユニット１００の一部ではない。例えば、メモリ１６０は、処理ユニット１０１、１０２、１０３を含む集積回路の空間的に分離されたブロックとして形成されており、処理ユニット１０１、１０２、１０３は、例えばバス（図示せず）のラインによってメモリ１６０と接続されている。いくつかの実施形態では、メモリ１６０は不揮発性に形成されている。特に、メモリ１６０は、不揮発性メモリセルを含む。
【００２９】
マイクロコントローラユニット１００が他の構成要素も含むことができることを理解されたい。それらの説明は、例示的実施形態の根底にある概念を理解しやすくするためにここでは省略する。したがって、いくつかの実施形態では、本装置は結合デバイス１７０を含み、結合デバイス１７０は、記憶媒体からプログラムコードを受信するように適合されている。いくつかの実施形態では、結合デバイスは、バス接続として形成されている。例えば、結合デバイス１７０は、スタティックランダムアクセスメモリ（ＳＲＡＭメモリ）またはフラッシュメモリへのインターフェース（「Ｉ／ＦＣ」）でよい。いくつかの実施形態では、結合デバイス１７０は、イーサネットインターフェースとして形成されている。別の実施形態では、結合デバイス１７０は、ユニバーサルシリアルバス規格（ＵＳＢ）に従って動作するように適合されているバス接続として形成されている。例えば、結合デバイス１７０によってメモリをプロセッサに結合することができる。例えば、マイクロコントローラユニット１００は、記憶媒体（図示せず）に結合するための結合デバイスによってプログラムコードを記憶するように適合することができる。プログラムコードは、マイクロコントローラユニット１００上での実行時に、本願で開示する概念による方法の処理ステップを実施するようマイクロコントローラユニット１００に指示する。そのような方法の一例およびその方法の変形形態を、図１および図２を参照して以下でより詳細に述べる。
【００３０】
図２は、いくつかの実施形態による複数の処理ステップでデータを処理するための方法を概略的に表す流れ図を示す。
【００３１】
この方法は、少なくとも第１の処理ユニット１０１を第三者による攻撃および／または環境の影響による障害から保護することを含む。一般に、ステップＳ２１０で、複数の処理ユニット１０１、１０２、１０３が、異なるセキュリティの領域に提供される。いくつかの実施形態では、例えば、マイクロコントローラユニット１００内のセキュリティ領域１２０は、差分電力解析に対して耐性を持つように形成される。例えば、セキュリティ領域１２０は、安全な領域における電力消費をランダム化するように適合されている。したがって、第１の処理ユニット１０１は、少なくともセキュリティ領域１２０に配置されている回路部分に関して、第２の処理ユニット１０２および第３の処理ユニット１０３よりも安全である。
【００３２】
この方法のいくつかの実施形態は、ステップＳ２２０で、少なくとも第１のセキュリティレベル（Ａ）および第２のセキュリティレベル（Ｂ）を設定することを含み、ここで、第１のセキュリティレベル（Ａ）は第２のセキュリティレベル（Ｂ）よりも高い。この方法は、第１のコンフィグレーション「Ｃ１１」を第１のセキュリティレベル（Ａ）に割り当て、第２のコンフィグレーション「Ｃ２３」を第２のセキュリティレベル（Ｂ）に割り当てることをさらに含む。第１のコンフィグレーションＣ１１によれば、複数の処理ユニット１０１、１０２、１０３のうちの第１の処理ユニット１０１および第２の処理ユニット１０２が、複数の処理ステップのうちの第１の処理ステップを実施する。一方、第２のコンフィグレーションＣ２３によれば、第１の処理ユニット１０１が第２の処理ステップを実施し、第２の処理ユニット１０２が、第２の処理ステップとは異なる第３の処理ステップを実施する。対応するデータは、安全に記憶することができる。例えば、構成ユニット１４０は、セキュリティレベルへのコンフィグレーションの割当てを表す割当てデータ、および／または第１のコンフィグレーションＣ１１および／または第２のコンフィグレーションＣ２３を表す構成データを、構成ユニット１４０の特殊目的レジスタ１４２に記憶することができ、これらの特殊目的レジスタ１４２は、マイクロコントローラユニット１００のセキュリティ領域１２０に形成されている構成ユニット１４０の回路部分に配置されている。構成ユニット１４０は、選択された第１のコンフィグレーションＣ１１または場合によっては選択された第２のコンフィグレーションＣ２３に関する情報データを、少なくともマイクロコントローラユニット１００の当該の構成要素、すなわちこの例では第１の処理ユニット１０１および第２の処理ユニット１０２、ならびにマルチプレクサ１３０、より正確にはマルチプレクサ１３０の評価デバイス１３２に伝送する。
【００３３】
ステップＳ２４０で、デマルチプレクサ１１０は、処理対象のデータを第１の処理ユニット１０１および第２の処理ユニット１０２に割り振る。一実施形態では、第１のコンフィグレーションＣ１１に従って第１の処理ユニット１０１に割り振られるデータと、第２の処理ユニット１０２に割り振られるデータとは同一である。処理ユニット１０１、１０２はそれぞれ、第１のコンフィグレーションＣ１１に従って第１の処理ステップを実施し、それにより、割り振られたデータを処理して、第１の処理結果Ｒ１および第２の処理結果Ｒ２を生成する。
【００３４】
いくつかの実施形態では、この方法は、第１の処理ユニット１０１からの第１の処理結果を第２の処理ユニット１０２からの第２の処理結果と組み合わせることを含む。したがって、例示的な方法は、ステップＳ２５０において、マルチプレクサ１３０が処理結果Ｒ１、Ｒ２を受信して組み合わせることを含む。例えば、評価デバイス１３２は、第１の処理結果Ｒ１と第２の処理結果Ｒ２を互いに比較して、２つの結果Ｒ１、Ｒ２の一致または相違を断定することができる。したがって、この方法は、第２の処理結果Ｒ２が第１の処理結果Ｒ１と異なる場合にエラーを通知することを含むことができる。
【００３５】
いくつかの実施形態では、第１の処理結果Ｒ１は、第２の処理結果Ｒ２よりも高く重み付けすることができる。特に、評価デバイス１３２は、マルチプレクサ１３０による複数の処理ユニット１０１、１０２、１０３の処理結果Ｒ１、Ｒ２、Ｒ３の組合せ時に、処理結果の重み付けを、それぞれの処理ユニット１０１、１０２、または１０３によるデータの処理に割り当てられたセキュリティレベルと正に相関させることができる。例えば、第１の処理ユニット１０１によるデータの処理に関して、セキュリティレベルを高くすることができ、それにより、例えば、第１の処理ユニット１０１の第１の処理結果Ｒ１は、第２の処理ユニット１０２の第２の処理結果Ｒ２または第３の処理ユニット１０３の第３の処理結果Ｒ３よりも高く重み付けされる。
【００３６】
いくつかの実施形態では、上述したように、複数の処理ステップを実施する前に構成することが行われる。特に、第１の方法ステップを実施する前に構成することを行うことができる。しかし、この方法は、複数の処理ユニット１０１、１０２、１０３を第１のコンフィグレーションＣ１１だけでなく第２のコンフィグレーションＣ２３でも構成することを含む。したがって、構成することは、一般に、互いに異なる２つの処理ステップの実施の合間に行うことができる。例えば、構成ユニット１４０は、例えばステップＳ２６０で第１の処理ステップを実施した後、処理ユニット１０１、１０２を再構成して、データのさらなる処理に関して処理ユニット１０１、１０２をセキュリティ要件に適合させる。セキュリティ要件は、例えば、第２の処理ステップおよび第３の処理ステップに関しては第１の処理ステップよりも低く下がることがある。そのような場合、第１のコンフィグレーションＣ１１は以下のように企図することができる。上述したように、構成ユニット１４０において、まず、第１の処理ユニット１０１および第２の処理ユニット１０２が第１のコンフィグレーションＣ１１で構成され、それらが同じ第１の処理ステップを実施し、次いで第２のコンフィグレーションＣ２３で構成され、それらが互いに異なる第２の処理ステップおよび第３の処理ステップを実施する。
【００３７】
例として前述した方法の少なくとも１つの効果は、マイクロコントローラユニット１００を、各場合の要件に応じて、特にセキュリティレベルに関して適合させることができることであり、所要の安全性で処理すると共に、できるだけ高い処理速度を実現する。セキュリティという概念は、ここでは、実施形態に応じて、故障防止または信頼性の意味だけでなく、攻撃に対するセキュリティまたは信憑性の意味でも理解することができる。これは、それによって攻撃者が密かに複数の領域を攻撃して、例えば２つの領域で同じエラーを誘発することがより難しくなるからである。同時に、冗長性は、処理に関して、エラーにつながる可能性がある他の外乱に対するセキュリティも高める。
【００３８】
エラーが断定された場合、または様々な処理ステップを含む処理プロセスの信頼性が欠けていることが認められた場合、処理プロセスを早期に中断し、その処理プロセスの実施のために提供されているリソースを解放することができる。上記の例では、例えば第１の処理ステップの実施後、第１の処理結果と第２の処理結果とが一致しない場合には、処理結果の信頼性の低下を断定することができる。この場合、マイクロコントローラユニット１００は、処理を中断することができ、したがって第２の処理ステップ１０２および第３の処理ステップ１０３の実施には至らず、マイクロコントローラユニット１００は、例えば他の処理ステップの実施に進むことができる。
【００３９】
図２に示される流れ図は、単に、その実施に第３の処理ユニット１０３が必要ない場合を示すが、この方法の変形形態では、例えばさらに第３の処理ユニット１０３もこの方法の実施に参加することができる。したがって、例えば、２つの処理ユニット１０１、１０２を含む例に基づいて一般に上述した方法の変形形態（図示せず）は、少なくとも第３の処理ユニット１０３を提供することを含む。一実施形態では、この方法は、少なくとも第３のコンフィグレーション「Ｃ１１１」を第３のセキュリティレベルに割り当てることを含む。例えば、第３のセキュリティレベルは、第１のセキュリティレベルおよび第２のセキュリティレベルよりも高くなるように設定される。この場合、第３のコンフィグレーションＣ１１１は、第３の処理ユニット１０３が同様に第１の処理ステップを実施することを含む。少なくとも１つの効果は、処理ユニット１０１、１０２、１０３からの処理結果の評定時に、同じ処理ステップを実施した３つの処理ユニット１０１、１０２、１０３の処理結果の組合せが、特に第３の処理ユニット１０３からの第３の処理結果Ｒ３を考慮に入れて３つの処理結果が一致した場合に、単に第１の処理ユニット１０１の第１の処理結果Ｒ１と第２の処理ユニット１０２の第２の処理結果Ｒ２とが組み合わされる上述のより簡単な場合よりも、一致の結果について高い信憑性を生じることであり得る。
【００４０】
前述の方法の一変形形態では、第４のセキュリティレベルが、第１のセキュリティレベルと第２のセキュリティレベルとの間にあるように設定される。ここで、この方法は、少なくとも、３つの処理ユニット１０１、１０２、１０３の第４のコンフィグレーション「Ｃ２３４」を第４のセキュリティレベルに割り当てることを含む。この構成によれば、例えば、第１の処理ユニット１０１が第２の処理ステップを実施し、第２の処理ユニット１０２および第３の処理ユニット１０３が第３の処理ステップを実施するように設定することができる。
【００４１】
さらなる実施形態では、この方法は、第４のコンフィグレーションを第２のセキュリティレベルに割り当てることを含む。この場合、第４のコンフィグレーションによる第３の処理ユニット１０３は、第１の処理ステップ、第２の処理ステップ、および第３の処理ステップとは異なる第４の処理ステップを実施する。少なくとも１つの効果は、各処理ユニット１０１、１０２、１０３が別の処理ステップを実施するので、処理ユニット１０１、１０２、１０３によって実施される処理ステップに関する冗長性の解消により、処理速度が最大化されていることであり得る。
【００４２】
本明細書に例として述べる教示の文脈では、構成要素とシーケンスステップの他の組合せも可能である。例えば、さらなる処理ユニットを提供することができ、それらの処理ユニットは、コンフィグレーションに応じて、追加の冗長性を保証することができ、したがって、自然の外乱および攻撃者によって恣意的に導入されたエラーに対する処理安全性を保証することができ、異なる処理ステップの実施時に大きな並列性を提供し、それにより、マイクロコントローラユニットによるデータの処理中に特に高いスループットが可能であるか、または、さらなる処理ユニットがマイクロコントローラユニットの安全な領域に完全にまたは部分的に配置されているときに攻撃に対する特別なセキュリティが保証されている。
【００４３】
本明細書での例示的実施形態はマイクロコントローラユニットを使用して述べているが、一般に、上述した方法の一実施形態を実施するように適合されている任意の装置を使用することができる。処理ユニットは、互いに空間的に分離された回路ブロックとして実装することができる。一実施形態では、処理ユニットは、同一のプロセッサによるデータ処理における時間的に互いにずれたフェーズとして形成されている。第１のコンフィグレーションに関して、例えば遅延回路を設けることができ、ノードからプロセッサに既に直接渡されており、プロセッサによって処理されたデータを、遅延ラインを介して再び同じプロセッサに送り、それにより、プロセッサが再びデータを処理する。
【００４４】
上述した技法による処理ユニットおよび／または他の構成要素は、例えば仮想マシン、仮想プロセッサ、またはスレッドとして、ソフトウェアで実装することもできる。例えば第１の仮想マシンによるデータの処理に関して、暗号化、処理ステップのノイズ付加、または同様の安全手段などの特別な手段が個別にまたは組み合わせて実装されている場合、様々なセキュリティ領域を仮想的に実装することができる。同様に、ハイブリッド実装も可能である。例として、ある処理ユニットは、外乱および／または攻撃に対して物理的に特に保護された回路領域内に形成することができ、他の処理ユニットは、例えば、特に保護された領域外のプロセッサ回路上で実行される仮想マシンとして実装されている。
【００４５】
本明細書で述べる技法の例示的な用途は、自動車の内部におけるデータの通信の分野にあり得る。自動車の動作時、環境からおよび自動車の電気設備自体から外乱が発するので、通信は脆弱である。一実施形態では、上述した技法を使用して、いわゆるメッセージ認証コード（ＭＡＣ）に基づいて、より高い信頼性でメッセージを認証する。複数の処理ユニットによって処理ステップ「ＭＡＣの認証」が行われることにより、処理結果の評定によって決定された組合せ結果のより高い信頼性を達成することができる。例えば、３つの処理ユニットが冗長で使用される場合、多数決を行うことができ、最も高い可能性で適切な認証コードを決定することができる。したがって、認証されていないものとして却下されるはずのメッセージを誤って認証する可能性が低減される。同様に、例えばブートプロセス時の保全性チェック、ファイアウォール、侵入検知システム、およびセキュリティプロトコルも、用途として考えられる。
【００４６】
本明細書で述べた方法、または方法を実施するために提供される装置の特定の効果は、データ改竄のリスクの低減にあり得る。これは、実施すべき処理ステップの冗長性が、暗号化されたデータの無許可の復号化を困難にするからである。
【００４７】
本明細書で使用されるとき、単語「例示的」、および単語「例えば」、ならびに語句「例として」は、例が与えられる、または実施形態が表されることを意味する。例として挙げた態様は、必ずしも有利または好適なものと解釈すべきではない。そうではなく、この例は、具体的な可能な実施に基づいて概念または技法を説明するためのものである。ここで、概念「技法」は、自然の力を利用した計画的な活動によって得られたものを含み、文脈に応じて特に、「機器」、「装置」、「デバイス」、「システム」、「製造品」、「コンピュータ可読媒体」、「コンピュータプログラム製品」、および「方法」を含む。
【００４８】
本明細書で使用するとき、「第１」や「第２」のような数え上げる概念は、異なる要素、領域、またはステップに名前を付けるために使用される。数え上げる概念は、特に数に関して、限定と解釈すべきではない。
【００４９】
本明細書で使用するとき、概念「決定する」および「計算する」、ならびにそれらの変化形は交換可能に使用され、開始データに基づき、その評定によって結果を得る方法を表す。
【符号の説明】
【００５０】
１００  マイクロコントローラユニット
１０１、１０２、１０３  処理ユニット
１１０  デマルチプレクサ
１２０  セキュリティ領域
１３０  マルチプレクサ
１３２  評価デバイス
１４０  構成ユニット
１４２  特殊目的レジスタ
１６０  メモリ
１７０  結合デバイス
【図１】
2019075786.tif 000002
【図２】
2019075786.tif 000003
【外国語明細書】
2019075786000001.pdf
2019075786000002.pdf
2019075786000003.pdf
2019075786000004.pdf