(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-01-20
(54)【発明の名称】セキュアハードウェアプログラマブルアーキテクチャ
(51)【国際特許分類】
G06F 21/53 20130101AFI20230113BHJP
G06F 21/57 20130101ALI20230113BHJP
【FI】
G06F21/53
G06F21/57
【審査請求】未請求
【予備審査請求】有
(21)【出願番号】P 2022525270
(86)(22)【出願日】2020-10-28
(85)【翻訳文提出日】2022-05-27
(86)【国際出願番号】 EP2020080325
(87)【国際公開番号】W WO2021083978
(87)【国際公開日】2021-05-06
(32)【優先日】2019-10-29
(33)【優先権主張国・地域又は機関】EP
(81)【指定国・地域】
(71)【出願人】
【識別番号】520154117
【氏名又は名称】シリコン モビリティ エスアエス
(74)【代理人】
【識別番号】100088904
【氏名又は名称】庄司 隆
(74)【代理人】
【識別番号】100124453
【氏名又は名称】資延 由利子
(74)【代理人】
【識別番号】100135208
【氏名又は名称】大杉 卓也
(74)【代理人】
【識別番号】100183656
【氏名又は名称】庄司 晃
(74)【代理人】
【識別番号】100224786
【氏名又は名称】大島 卓之
(74)【代理人】
【識別番号】100225015
【氏名又は名称】中島 彩夏
(72)【発明者】
【氏名】ドゥザヌ,ハレド
(72)【発明者】
【氏名】チル,セドリック
(72)【発明者】
【氏名】ルブラン,アンセルム
(57)【要約】
本発明は、電気装置であって、(a)トランザクションイニシエーター又はトランザクションターゲットの両方の役割を果たすことのできる機能モジュールであって、トランザクション開始機能モジュールが、自身に代わって機能を実行するトランザクションターゲット機能モジュールを必要とし得る、機能モジュールと、(b)機能モジュールを接続し、それらの機能モジュール間の通信を提供する第1の相互接続構造とを備え、(電気)装置は、選択されたトランザクション開始機能モジュールが、自身に代わって機能を実行するトランザクションターゲット機能モジュール(複数の場合もある)への排他的アクセスを一時的に有することにより、選択されたトランザクション開始機能モジュール以外のトランザクション開始機能モジュールがトランザクションターゲット機能モジュールに非制御下でアクセスしないことを保証するように構成され、上記選択されたトランザクション開始機能モジュールはハードウェアセキュアモジュールである、電気装置に関する。
【選択図】
図6
【特許請求の範囲】
【請求項1】
電気装置であって、(1)トランザクションイニシエーター又はトランザクションターゲットの両方としての役割を果たすことのできる機能モジュール(0101、0102、0103、0104)であって、トランザクション開始機能モジュールが、該トランザクション開始機能モジュールに代わって機能を実行するトランザクションターゲット機能モジュールを必要とし得る、機能モジュール(0101、0102、0103、0104)と、(2)前記機能モジュールを接続して、それらの機能モジュール間の通信を提供する第1の相互接続構造(0106)とを備え、該電気装置は、選択されたトランザクション開始機能モジュールが、該選択されたトランザクション開始機能モジュールに代わって機能を実行する1つ以上のトランザクションターゲット機能モジュールに一時的に排他的にアクセスすることにより、前記選択されたトランザクション開始機能モジュール以外のトランザクション開始機能モジュールが前記トランザクションターゲット機能モジュールに非制御下でアクセスしないことを保証するように構成され、前記選択されたトランザクション開始機能モジュールはハードウェアセキュアモジュール(0105)である、電気装置は、
選択されたトランザクション開始機能モジュールが、該選択されたトランザクション開始機能モジュールに代わって機能を実行する1つ以上の複数のトランザクションターゲット機能モジュールへの排他的なアクセスを一時的に有することを保証するために、前記選択されたトランザクション開始機能モジュール以外のトランザクション開始機能モジュールが前記トランザクションターゲット機能モジュールに非制御下でアクセスしないことを保証する保護手段(0601、0602)が設けられ、
前記保護手段が、前記トランザクションターゲット機能モジュールのそれぞれに対する、前記モジュールと前記第1の相互接続構造の一部との間に設けられた1つ以上の保護ユニットを備え、前記保護ユニットの構成が、前記選択されたトランザクション開始機能モジュールによって制御される、
ことを特徴とする、電気装置。
【請求項2】
前記保護ユニットは、トランザクションフィルタリングを提供する、請求項1に記載の電気装置。
【請求項3】
前記選択されたトランザクション開始機能モジュール以外のトランザクション開始機能モジュールが、前記選択されたトランザクション開始機能モジュールの承認に従って、そのような他のトランザクション開始機能モジュールに接続された保護ユニットを適宜構成するための、前記選択されたトランザクション開始機能モジュールへのサービス要求を、前記他のトランザクション開始機能モジュールによって開始した後に、前記第1の相互接続構造を介したアクセスのみを行う、請求項1又は2に記載の電気装置。
【請求項4】
1つ以上の保護ユニットが、それらの保護ユニットを構成するために1つ以上の第2の相互接続構造(0603)によって更に接続され、これによって、前記第1の相互接続構造と前記第2の相互接続構造との間に、更なる1つ以上の保護ユニットが設けられ、該更なる保護ユニットの構成が、前記選択されたトランザクション開始機能モジュールによって制御される、請求項1に記載の電気装置。
【請求項5】
前記機能モジュールを接続し、それらの機能モジュール間の通信を提供する前記第1の相互接続構造は、機能モジュール間でタスク固有のトリガー信号を交換するための第3の相互接続構造を備え、該第3の相互接続構造は、任意の入力トリガーを任意の出力トリガーにルーティングすることのできるトリガールーターモジュール(0303)を備え、該トリガールーターモジュールは、前記選択されたトランザクション開始機能モジュール以外のトランザクション開始機能モジュールが前記第3の相互接続構造を介して前記トリガールーターモジュールに非制御下でアクセスしないことを保証するように構成される、請求項1~4のいずれか1項に記載の電気装置。
【請求項6】
前記トリガールーターモジュールが、前記第2の相互接続構造を介して構成可能である、請求項5に記載の電気装置。
【請求項7】
前記機能モジュールを接続し、それらの機能モジュール間の通信を提供する前記第1の相互接続構造は、前記機能モジュールの一部の間の直接接続を備える第4の相互接続構造を備え、これによって、前記保護手段は、前記選択されたトランザクション開始機能モジュール以外のトランザクション開始機能モジュールが、選択されたトランザクション開始機能モジュールに代わって機能を実行する前記1つ以上のモジュールに前記第4の相互接続構造を介して非制御下でアクセスしないように保証する、請求項1~6のいずれか1項に記載の電気装置。
【請求項8】
トランザクションターゲット機能モジュールへのトランザクション開始機能モジュールのアクセスが、トランザクションアクション特性に基づいて前記アクセスをフィルタリングするために、好ましくはメモリマッピングをサポートするシステムバス及びアクセスユニットを介して部分的に編成される、請求項1~7のいずれか1項に記載の電気装置。
【請求項9】
前記アクセスユニットは前記保護ユニットとして機能する、請求項8に記載の電気装置。
【請求項10】
プログラマブルロジックマトリクスであるハードウェアプログラマブルユニット(0202)である前記機能モジュールの1つ以上が、好ましくは、少なくとも2つのタスクを順次実行するように構成される、及び/又は、好ましくは、隣り合って配置され且つ物理的に接続又は分離されるように構成された複数のフレキシブル論理ユニット構造を備える、請求項1~9のいずれか1項に記載の電気装置。
【請求項11】
前記機能モジュールの1つ以上が、任意選択として電気制御ユニットハードウェア機能又は数学的アクセラレータ機能に専用である周辺ハードウェアユニット(0203)である、請求項1~10のいずれか1項に記載の電気装置。
【請求項12】
前記機能モジュールの1つ以上が、ソフトウェアプログラマブルユニット(0101)、好ましくはマイクロプロセッサコア又はグラフィックプロセッサコアである、請求項1~11のいずれか1項に記載の電気装置。
【請求項13】
異種ハードウェアシステムである、請求項10及び請求項11、又は請求項10及び請求項12、又は請求項10、請求項11、及び請求項12に記載の電気装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、電気システムのデジタル制御領域に関し、詳細には、ハードリアルタイム及び安全管理を必要とする純電気自動車又はハイブリッド自動車の電気システム(モーターのみならずDC/DCコンバーター等)のパワートレインの制御を対象としている(ただしこれらに限定されない)。本発明は、上記の応用分野に適用される現在及び将来のセキュリティ課題を対象とする最高レベルのセキュリティ機能を、最高レベルの機能安全性基準で提供することに関する。本発明は、現行技術水準の暗号機能及びハッキング防止機能と、オンチップのプログラマブルなハードウェア及びアクセラレータとを組み合わせる。
【背景技術】
【0002】
本発明は、複数の機能モジュールと、機能モジュールを接続し、それらの機能モジュール間の通信を提供する相互接続構造と、を備える電気装置(FPCUとも表す)であって、特に、上記機能モジュールの1つ以上が、プログラマブルロジックマトリクスであるハードウェアプログラマブルユニットである、電気装置に適している。
【0003】
本発明は、基本的に以下を(他の機能モジュールとして)特徴とするそのようなFPCUタイプのコンポーネント内で、現行技術水準の暗号機能及びハッキング防止機能を特徴とする特定のセキュアサブシステムを(機能モジュールとして)(長期的に)使用できるようにすることによって、セキュリティを提供することに関する。
・従来のオンチップのプログラム及びデータメモリを備えた幾つかのCPUコア
・1つ又は複数のフレキシブルロジックユニットを中心に複数の周辺機器を特徴とし、オプションとしてタスク切替え及び空間分離が可能なサブシステム。
【0004】
コネクテッドビークルの出現により、この種類の用途は、以下に関連するセキュリティの懸念にますますさらされるようになっている。
・車両を制御するハッカーからの保護
・「無線」アップデートシナリオを使用するときのファームウェアアップデート手順の保護
・FPCU上で実行されるソフトウェアIPの保護
・(電気的破損のハッキングに対する)ファームウェアの完全性のチェック
【0005】
最近まで、セキュリティ管理は、外部と直接接触する(例:クラウドに接続される)唯一のシステムである中央の「ブリッジ」によって管理されてきた。このブリッジは、あらゆるセキュアシナリオの責務を担っていた。そのため、他の全ての電子システムはブリッジの背後に隠されていた。
【0006】
現在、車両のネットワークアーキテクチャは、より非中央制御型の方式に移行しつつある。すなわち場合によっては、車両のあらゆるコンピューティングリソースが、外部のネットワークに(したがってパワートレインコントローラのようなより重要なネットワークとも)多かれ少なかれ直接的に接触できる可能性がある。
【0007】
したがって、あらゆるコンピューティングコンポーネントにおいて、セキュリティシナリオを扱うことが必須となっている。
【0008】
前述したように、自動車のアプリケーションでは、セキュリティがますます重要になっている。したがって次世代の電子部品及び電子装置は、セキュアシナリオ及びセキュア攻撃対策にも対応することのできる必要な機能を提供しなければならない。
【0009】
これらの要素は、現在知られているセキュリティ機能を適切に処理する多くの商用製品によって十分にカバーされている。
【0010】
しかしながら、セキュリティの領域は急速に進化している。ハッカーの技術はますます複雑になり、暗号の標準も進化している。一例として、広く使われている暗号アルゴリズムの中には、現在のコンピュータではハッキングするのに理論的に数千年分の計算が必要なものもあるが、将来の量子コンピュータでは数分でハッキングされる可能性がある。このことは、コンポーネントの寿命が他の分野(民生機器等)よりはるかに長い自動車分野では、重大な問題である。すなわち、セキュアサブシステムは、10年以上にわたって新たなセキュリティ課題に対処できなければならない。
【0011】
本発明は、特にFPCUに焦点を当て、機能安全性要求レベルが最も高いハードリアルタイムアプリケーションを主な対象として(ASIC-D)、リアルタイムと安全領域との両方でクラス最高のレベルを提供するように設計されている。
【0012】
現行技術水準の解決策
セキュリティ機能の柔軟性に関連して、これまでの課題に対する典型的な回答は、CPUコアをセキュアサブシステムに統合することである。したがって、ソフトウェアのアップデートによってセキュア機能をアップグレードすることができる。
【0013】
しかしながら、この方法は以下のような制限があり、ターゲットとなる自動車用途では受け入れがたい。
・この方法は、寿命の長い製品では有効ではなく、なぜなら必要なCPUパワーを事前に正しく予測できないためである。したがって、必要以上のCPUパワーを搭載することになり、デバイスのコストに大きな影響を与える。
・暗号アルゴリズムは多くの処理リソースを必要とし(ハードウェアSHA処理時間はハードウェア処理時間より10倍長い)、最悪の場合、将来の暗号アルゴリズムは実装された処理リソースでは実行できないかもしれない。
・このアプローチは対策の実装には非常に限定的であり、なぜなら対策の実装はハードウェアリソースに依存することが多いためである。
【0014】
安全性及びリアルタイム性とセキュリティとのバランスをとることに関連して、従来のアプローチは、リアルタイムシステムとセキュリティシステムとの両方の動作を同期させることのできる何らかのソフトウェアスタックを追加し、機能安全性動作を保証しながらセキュア対策を可能にするアービトレーションポリシー(arbitration policy)を実装することにある。
【0015】
ここでも応答時間が問題になる。
【0016】
実際、必要なソフトウェアは、適切なタイミングで適切な判断を下せるように、システムの現在のリアルタイム状態を把握している必要がある。
【0017】
しかしながら、対象となるクラス最高のFPCUシステムでは、ハードリアルタイムアルゴリズムはリアルタイム処理サブシステム(幾つかのプログラマブルでフレキシブルなハードウェアロジックユニットを特徴とする)内で実行され、CPUコアと細かい同期をとることはない。いずれにせよ、CPUはハードウェアの動作に同期するほど高速ではない。
【発明の概要】
【発明が解決しようとする課題】
【0018】
本発明の目的は、上述したアーキテクチャに将来性のあるセキュリティサブシステムを追加し、その一方で、セキュアサブシステムが何らかの安全性に関連する障害(例:クロック又は電源のアーチファクト)をセキュリティ攻撃と解釈してしまう場合に、このセキュア機能が(クラス最高の)リアルタイム及び/又は安全性の要件と競合し得る状況を回避することである。したがって、セキュアサブシステムはハッキングを防ぐために何らかの対抗策を講じることがある(例:CANポート経由の通信を遮断する)。これは明らかに非常に危険な判断となりうる。
【0019】
本発明は、このようなFPCUタイプのコンポーネントの中で特別に適合したアーキテクチャを定義することにより、最高レベルの機能安全性基準で、現在及び将来のセキュリティ課題を対象とする最高レベルのセキュリティ機能を提供することに関する。
【課題を解決するための手段】
【0020】
したがって、本発明は、そのようなFPCUタイプのコンポーネント内で現行技術水準の暗号機能及びハッキング防止機能を特徴とする特定のセキュアサブシステムを(機能モジュールとして)(長期的に)使用できるようにすることによって、セキュリティ、特に、FPCUコンポーネントが長期的なセキュリティ課題に対応できるようにセキュアサブシステムの能力を効率的に拡張する手段を提供する。
【0021】
第1の態様においては、本発明は、電気装置であって、(a)トランザクションイニシエーター(transaction initiators)又はトランザクションターゲット(transactiontarget)の両方の役割を果たすことのできる機能モジュールであって、トランザクション開始機能モジュールが、自身に代わって機能を実行するトランザクションターゲット機能モジュールを必要とし得る、機能モジュールと、(b)機能モジュールを接続し、それらの機能モジュール間の通信を提供する第1の相互接続構造(interconnectfabric)とを備え、(電気)装置は、選択されたトランザクション開始機能モジュールが、自身に代わって機能を実行するトランザクションターゲット機能モジュール(複数の場合もある)への排他的アクセスを一時的に有することにより、選択されたトランザクション開始機能モジュール以外のトランザクション開始機能モジュールがトランザクションターゲット機能モジュールに非制御下でアクセスしないことを保証するように構成され、上記選択されたトランザクション開始機能モジュールはハードウェアセキュアモジュールである、電気装置を提供する。
【0022】
第2の態様においては、本発明は、セキュアトランザクションメカニズムであって、選択されたトランザクション開始機能モジュール以外のトランザクション開始機能モジュールが、選択されたトランザクション開始機能モジュールの承認に従って、そのような別のトランザクション開始機能モジュールに接続された保護ユニットを適宜構成するための、上記選択されたトランザクション開始機能モジュールへのサービス要求を、上記別のトランザクション開始機能モジュールによって開始した後に、第1の相互接続構造を介したアクセスのみを行う、セキュアトランザクションメカニズムを提供する。
【0023】
第3の態様においては、本発明は、様々な相互接続構造と、上記に関連する考慮すべき事項とを提供する。
【図面の簡単な説明】
【0024】
【
図1】従来のFPCUアーキテクチャ(フレキシブルハードウェアセキュアモジュールなし)を示している図である(0100)。
【
図2】本発明の概念の例示的な使用を示している図である(0200)。
【
図3】FPCUコンポーネント内のトリガーハードウェア管理アーキテクチャを、本発明に従って安全性を確保するために行うべき特定の考慮事項に関連して説明している図である。
【
図4】
図3(0300)に関連するユースケースを説明している図である(0400)。
【
図5】
図3(0300)及び
図4(0400)に関連して、仮想境界の概念を説明している図である(0500)。
【
図6】FPCUにおける一般的な相互接続構造を、本発明に従って安全性を確保するために行うべき特定の考慮事項に関連して説明している図である。(0600)
【
図7】周辺リソースを利用するハードウェアセキュアモジュールに関連する更なるユースケースを説明している図である(0700)。
【
図8】
図7(0700)に関連して、仮想境界の概念を導入している図である(0800)。
【
図9】マトリクススイッチングと、セキュリティを実現するための適切なメカニズムとの関連において本発明を説明している図である(0900)。
【発明を実施するための形態】
【0025】
本発明は、(電気)装置であって、(a)トランザクションイニシエーター又はトランザクションターゲットの両方の役割を果たすことのできる機能モジュールであって、トランザクション開始機能モジュールが、自身に代わって機能を実行するトランザクションターゲット機能モジュールを必要とし得る、機能モジュールと、(b)機能モジュールを接続し、これらの機能モジュール間の通信を提供する第1の相互接続構造とを備え、(電気)装置は、選択されたトランザクション開始機能モジュール以外のトランザクション開始機能モジュールが(相互接続構造を介して)トランザクションターゲット機能モジュールに非制御下でアクセスしないことを保証するために、選択されたトランザクション開始機能モジュールが、自身に代わって機能を実行するトランザクションターゲット機能モジュール(複数の場合もある)への排他的アクセスを(一時的に)有するように構成される、(電気)装置に関する。
【0026】
一般的に、上記選択されたトランザクション開始機能モジュールは、(例えば暗号機能を有する)ハードウェアセキュアモジュールである。
【0027】
本発明は、特に、(電気)装置であって、(a)トランザクションイニシエーター又はトランザクションターゲットの両方の役割を果たすことのできる機能モジュールであって、トランザクション開始機能モジュールが、自身に代わって機能を実行するトランザクションターゲット機能モジュールを必要とし得る、機能モジュールと、(b)機能モジュールを接続し、それらの機能モジュール間の通信を提供する第1の相互接続構造とを備え、選択されたトランザクション開始機能モジュールが、自身に代わって機能を実行するトランザクションターゲット機能モジュール(複数の場合もある)への排他的アクセスを(一時的に)有することを保証するために、選択されたトランザクション開始機能モジュール以外のトランザクション開始機能モジュールが(相互接続構造を介して)トランザクションターゲット機能モジュールに非制御下でアクセスしないことを保証する保護手段が設けられることを特徴とする、電気装置に関する。
【0028】
本発明の一実施形態においては、上記保護手段は、上記トランザクションターゲット機能モジュールのそれぞれに対して(上記モジュールと上記第1の相互接続構造の一部との間に)設けられた1つ以上の保護ユニットを備え、これにより、上記保護ユニットの構成が、上記選択されたトランザクション開始機能モジュールによって(直接的又は間接的に)制御される(上記保護ユニットがトランザクションフィルタリングを提供する)。
【0029】
本発明の一実施形態においては、選択されたトランザクション開始機能モジュール以外のトランザクション開始機能モジュールは、選択されたトランザクション開始機能モジュールの承認に従って関連する保護ユニットを適宜構成するための、上記選択されたトランザクション開始機能モジュールへのサービス要求が上記他のトランザクション開始機能モジュールによって開始された後に、第1の相互接続構造を介したアクセスのみを行う(したがってアクセスが制御される)。
【0030】
本発明の一実施形態において、(電気)装置において、1つ以上の保護ユニットは、それらの保護ユニットを構成するための第2の相互接続構造によって更に接続され、これによって、上記第1の相互接続構造と上記第2の相互接続構造との間に、更なる保護ユニットが設けられ、上記更なる保護ユニットの構成は、上記選択されたトランザクション開始機能モジュールによって(直接的又は間接的に)制御される。
【0031】
(電気)装置における本発明の代替実施形態において、1つ以上の保護ユニットが、それらの保護ユニットを構成するための1つ以上の第2の相互接続構造によって更に接続され、これによって、上記第1の相互接続構造と上記第2の相互接続構造との間に、更なる1つ以上の保護ユニットが設けられ、上記更なる保護ユニットの構成が、上記選択されたトランザクション開始機能モジュールによって(直接的又は間接的に)制御される。
【0032】
本発明の一実施形態においては、(電気)装置であって、機能モジュールを接続し、それらの機能モジュール間の通信を提供する上記第1の相互接続構造が、機能モジュール間でタスク固有のトリガー信号を交換するための第3の相互接続構造を備え、上記第3の相互接続構造が、任意の入力トリガーを任意の出力トリガーにルーティングすることのできるトリガールーターモジュールを備え、当該トリガールーターモジュールが、選択されたトランザクション開始機能モジュール以外のトランザクション開始機能モジュールが第3の相互接続構造を介してトリガールーターモジュールに非制御下でアクセスしないことを保証するように構成され、好ましくは、上記トリガールーターモジュールは、上記第2の相互接続構造を介して構成可能である(一方、上記第1の相互接続構造の他の残りの部分については、上記他の残りの部分と機能モジュールとの間に保護ユニットが設けられる)、(電気)装置が提供される。
【0033】
本発明の一実施形態においては、(電気)装置であって、機能モジュールを接続し、それらの機能モジュール間の通信を提供する上記第1の相互接続構造が、機能モジュール(の一部)の間の直接接続を備える第4の相互接続構造を備え、これによって、上記保護手段は、選択されたトランザクション開始機能モジュール以外のトランザクション開始機能モジュールが、選択されたトランザクション開始機能モジュールに代わって機能を実行するモジュール(複数の場合もある)に第4の相互接続構造を介して非制御下でアクセスしないことを、(それらのトランザクション開始機能モジュールに関連する保護ユニットを適宜構成することによって)保証する、(電気)装置が提供される。
【0034】
次に、
図1(0100)に示した、以下を備える従来のFPCUアーキテクチャ(フレキシブルハードウェアセキュアモジュールなし)に基づいて、本発明について説明する。
・(0101):1つ又は複数の従来のプロセッサコア。このようなFPCUコンポーネントでは、プロセッサコアは、ハードリアルタイム処理を必要としないアプリケーションの部分に専用とされる。
・(0102):1つ又は複数のフレキシブルロジックユニットマトリクス。これらのそれぞれは、オプションとして、タスク切替え対応とすることができる。
・(0103):複数のセンサー/アクチュエーター及びハードウェアアクセラレータ周辺機器。
・(0104):「ハードウェアセキュリティモジュール」(Evitaの用語による)。これは、以下を特徴とする従来のセキュリティサブシステムである。
○ローカルプロセッサコア及び関連するセキュアファームウェア
○複数の暗号ハードウェアアクセラレータ。
○ハッキング攻撃から保護するための複数のメカニズム
・(0105):これはセキュリティサブシステムの物理的な境界である。この概念は、セキュア領域とアプリケーション領域との間の通信チャネルを明確に指定するという意味で重要である。この境界内では、全てのハードウェアコンテンツは、セキュアコンピューティングユニット(例えばCPU、ただしFLUも可能)に厳密に予約され、コンポーネントの他のコンピューティングユニット(CPU又はその他)からはアクセスすることができない。
・(0106):システムの要素間の様々な種類の通信(バス通信、割り込み、トリガー等)を可能にする任意の複雑な相互接続ネットワーク
【0035】
上述したように、ソフトウェアに基づく現在の解決策では、問題が適切に解決されない。
【0036】
したがって本発明の概念は、HSMモジュールの「境界」を拡張するために、(いわゆるAxEC)サブシステムに含まれるフレキシブル論理ユニット及び/又は数学的アクセラレータの存在を利用することに関する。このリソース割り当ては、AxECリソースの使用を実際の状況に適応させることができるように、実行時に動的に行われるように意図されている。
【0037】
図2(0200)は、この概念を一例において説明している。
【0038】
この例では:
・FLU(0202)の1パーティション及び/又は(好ましくは両方)ハードウェアアクセラレータ(0203)を使用することによって、従来のセキュリティモジュール(0201)の機能を拡張する。
・相互接続構造内の専用メカニズム(0204)(更に説明する)によって、上記の要素はHSMの使用専用とされる。すなわち、これらのリソースは、HSM自身以外のSOCのどのマスターからも「見えない」状態になる。
・したがって、セキュアサブシステムの有効な物理境界(0205)を拡張し、AxECの一部のリアルタイム計算能力を統合する。これが基本的なFHSMの概念である。
【0039】
より一般的に言えば、電気装置であって、(a)機能モジュール(HSM、CPU、FLU等)を備え、このような機能モジュールが、自身に代わって(セキュリティ)機能を(排他的に)実行する別の機能モジュール(FLU、周辺機器)を必要とし得る、電気装置が提供される。
【0040】
上に紹介したように、FHSMの概念は、セキュアサブシステムの境界を仮想的にAxECのコンピューティングリソース(FLU、周辺機器)にまで拡張することにある。
【0041】
更に定義されたハードウェアメカニズムは、HSMに割り当てられたリソースがSOCの他の部分からの影響を受け得ないことを厳密に保証する。すなわち、リソースが「スレーブ」である(通信のイニシエーターではない)通信チャネルは、FHSM境界の一部であるコンポーネントのみがこのチャネルで通信を開始できるように、制限される必要がある。すなわち、この目標を達成するためには、特定の「分離」ハードウェアが必要である。
【0042】
注:リソースが「マスター」である通信チャネルは、特別な注意は必要ない。
【0043】
通信チャネルの種類に応じて、更に説明するように分離のメカニズムが異なりうる。
【0044】
以下は、異なるタイプの通信チャネルである。
・システムバス:この種類のチャネルは、バス転送プロトコル(AXI、AHB、APB、OCP等)に依存する。この種類のチャネルは、事前に定義されたプロトコルに従って連携して動作する信号及びベクトルのセットである。
・ダイレクトデータバス:この種類のチャネルは、オプションとしてdataValid/dataAck検証プロトコルに関連付けられた、データの単純なベクトルである。
・トリガー:この種類のチャネルは1ビット線(single bit wire)である。
・クロック/リセット:この種類の信号は、半侵襲的なセキュリティ攻撃を避けるために適切に処理しなければならない。
【0045】
前述したように、本発明は、現行技術水準の暗号機能及びハッキング防止機能を特徴とするとともに、新しいセキュリティ課題を処理できる特定のセキュアサブシステムを、そのような種類のFPCUのコンポーネント内で特別に適合化されたアーキテクチャを定義することによって(機能モジュールとして)(長期的に)使用できるようにすることにより、セキュリティを提供することに関し、より具体的には、セキュアサブシステムが装置内の他のリソースに(排他的に)依存できるようにすることによって将来性を持たせることに関し、特に通信アーキテクチャは注意が必要である。
【0046】
本質的には、本発明は、(電気)装置であって、(a)機能モジュールと、(b)機能モジュールを接続し、それらの機能モジュール間の通信を提供する相互接続構造とを備える、(電気)装置に関することから、上記の目的のために、本(電気)装置は、選択された機能モジュールが、自身に代わって機能を実行する別の機能モジュール(複数の場合もある)に(一時的に)排他的にアクセスするが、(相互接続構造によって定義された通信アーキテクチャに取り付けられた)保護手段を介して、その別の機能モジュールへの(相互接続構造を介した)非制御下でのアクセスを回避するように構成されていなければならない。
【0047】
以下では、(通信アーキテクチャを定義する)利用可能な様々な通信メカニズムについて、更に詳しく説明する。
【0048】
トリガーメカニズム
図3(0300)は、FPCUコンポーネント内のトリガーハードウェア管理アーキテクチャを説明している。
・(0301)SOCモジュールのセットは、1つ又は複数のトリガーを駆動することができる。ここでいう「モジュール」は、FLUパーティション、AxEC周辺機器、又はAxECコンピューティングアクセラレータとすることができる。
・(0302)SOCモジュールのセットは、1つ又は複数のトリガーを入力として受け取ることができる。なおモジュールによっては、入力トリガー及び出力トリガーの両方を持つことができる。
・(0303)中央トリガールーティング機能は、システムバススレーブ構成インターフェース(0304)を介してアクセスされる構成レジスタのセットに基づいて、任意の入力トリガーを任意の出力トリガーにルーティングすることができる
【0049】
ここで、
図4(0400)に示したように、一部のモジュールがFHSM排他的アクセスのために選択されている以下の場合を考える。この場合に重要なのは、次のことを保証することである。
・ 右側のモジュール#1(0402)は、左側のモジュール#2(0401)からトリガーを受け取ることができる。両方のモジュールがFHSMの仮想境界内にあるため、これはセキュリティ違反ではない。
・ 右側のモジュール#1(0402)は、左側のモジュール#2(0401)以外のモジュールからトリガーを受け取ることができない。したがって、トリガー情報はFHSMの仮想境界を通過することができない。
【0050】
図3(0300)で述べたように、トリガールーターの構成は、システムバススレーブインターフェースを通じて行われる。結果として、
図5(0500)に概念的に示したように、ルーターもFHSMの仮想境界に含まれるとみなさなければならない。したがって、これが達成されるようにスレーブ構成インターフェースを管理しなければならない。これを実現するための特定の実施形態について更に説明する。
【0051】
この新しい仮想境界により、HSMモジュールは適切なトリガールーティングを決定し、上記の条件が満たされることを保証することができる。
【0052】
エッジ効果の結果として、HSMサブシステムは、セキュリティ動作の一部でないものも含めて、SOCの全てのトリガーを構成する責務を担うようになる。これは問題ではない。アプリケーションCPUが必要な非セキュアトリガーを構成することは、常に可能である。唯一の制約は、アプリケーションCPUがトリガールーターレジスタを書き込むことによって直接構成を行うことができないことである。代わりにアプリケーションCPUは、HSMに向かって特定の要求を送信しなければならない。その後、このHSMはこの要求のセキュア面をチェックし、それに応じてトリガールーティング要求を受け入れる、又は拒否することができる。
【0053】
一般的に言えば、(電気)装置であって、機能モジュールを接続し、それらの機能モジュール間の通信を提供する上記第1の相互接続構造が、機能モジュール間でタスク固有のトリガー信号を交換するための(更なる)第3の相互接続構造を備え、この第3の相互接続構造が、任意の入力トリガーを任意の出力トリガーにルーティングすることのできるトリガールーターモジュールを備える、(電気)装置は、トリガールーターモジュールが、選択された機能モジュール以外の機能モジュールが第3の相互接続構造を介してトリガールーターモジュールに非制御下でアクセスしないことを保証するように構成されるようにするべきである。
【0054】
クロック及びリセットの管理
前述したように、FPCUは利用可能な様々な通信メカニズムを有することができ、これらを組み合わせることができる。別のFPCU(内部)通信メカニズムは、クロック及びリセットメカニズムである。前述したように、セキュリティ機能を他のモジュールに拡張する結果として安全性の問題及びタイミングの問題が生じないことを保証するように、それぞれの通信メカニズムを適合させる必要がある。
【0055】
幸いなことに、FHSMのクロック及びリセット管理は、トリガー管理とよく似ている。
【0056】
したがって、クロック及びリセットを生成する責務を担うモジュール(複数の場合もある)は、(前節のトリガールーターのように)HSMモジュールの排他的な制御下に置かなければならない。
【0057】
したがって、クロック及びリセットマネージャー(複数の場合もある)の構成インターフェースは、更に説明するように管理される。また、メインCPUがクロック及びリセット動作を必要とする場合、メインCPUがHSMモジュールに要求を出し、HSMモジュールはその要求のセキュリティの有効性をチェックし、最終的に、要求された構成を実行する。
【0058】
したがって前と同様に、(電気)装置であって、機能モジュールを接続し、それらの機能モジュール間の通信を提供する第1の相互接続構造が、クロック及びリセットに関連する(更なる)第3の相互接続構造を備え、この第3の相互接続構造が、クロック及びリセット管理モジュールを備え、クロック及びリセット管理モジュールが、選択された機能モジュール以外の機能モジュールが第3の相互接続構造を介してクロック及びリセット管理モジュールに非制御下でアクセスしないことを保証するように構成される、(電気)装置が提供される。
【0059】
スレーブインターフェース
FPCUで使用されるような一般的なSOCアーキテクチャでは、全ての機能モジュールは、トランザクションのイニシエーターとターゲットとの間で双方向のデータ伝送を可能にする任意の複雑な相互接続構造に接続されている。
【0060】
最も一般的なケースでは、ターゲットリソースのメモリマッピングにより、全てのイニシエーターが任意のターゲットにアクセスする可能性がある。しかしながら、ソフトウェア実行の堅牢性及び機能安全性の理由から、本発明による好ましいアーキテクチャは、以下のトランザクションの特性に基づいて相互接続メモリマップのアクセス権を細かくフィルタリングすることのできる多層MPU(メモリ保護ユニット)構造を特徴とする。
・イニシエーターモジュールの識別子
・アクセス先アドレス
・アクセス方向(読み取り/書き込み)
・アクセスのセキュリティレベル等
【0061】
したがって、
図6(0600)に示したようなFPCUにおける一般的な相互接続構造を以下のようにまとめることができる。
・(0601):相互接続ソケットには、複数のMPUコンポーネントが挿入されている。
○イニシエーター側では、機能安全性要件としてMPUを無条件に挿入することを要求する。
○ターゲット側では、MPUはオプションである。イニシエーター側のMPUのメモリマップ領域の粒度が大きすぎる場合、いずれにせよMPUを含めることができる。ターゲット側のMPUを有することで、メモリマップの保護を非常にきめ細かく制御することができる。
・(0602):各MPUは、それ自体がSOC相互接続構造(0603)のサブパートにおけるターゲットソケットである構成ポートを特徴とする。
・相互接続のこの部分自体はMPU(0604)によって保護されている
【0062】
ここで、
図7(0700)に示したように、実行時にHSMモジュールが、AxEC内の何らかのコンピューティングリソースを使用する必要があると想定する(これは本発明によって導入される概念である)。
【0063】
上の例では、セキュリティ要件は、FLU#1及び周辺機器#2に、HSMサブシステム以外のイニシエーターから相互接続を介してアクセスできないことである。
【0064】
すなわち、これらのモジュールの相互接続ソケット上にある全てのMPUは、HSMモジュールによって構成されなければならない。
【0065】
すなわち、それらのMPUの構成インターフェースへのアクセスも、モジュールインターフェースと同様に保護されなければならない。
【0066】
すなわち、セキュア構成相互接続へのアクセスを制御するMPUも、HSMによって制御されなければならない。
【0067】
したがって、このアーキテクチャでは、SOCの全てのMPUをHSMサブシステムのみによって構成しなければならず、
図8(0800)に示したように仮想境界が拡大される。
【0068】
メインCPUは、セキュアでない理由で幾つかのMPUの構成を必要とする場合、HSMモジュールにサービス要求を発行する。このHSMモジュールはその要求のセキュリティの有効性を確認した後、それに応じてMPUを構成する。
【0069】
本質的には、上記アーキテクチャの場合、先に述べた(通信)保護手段は、(上記モジュールと上記第1の相互接続構造の一部との間に)設けられた1つ以上の保護ユニットを備え、これにより、上記保護ユニットの構成が、上記選択されたトランザクション開始機能モジュールによって(直接的又は間接的に)制御される。
【0070】
フレキシブルハードウェアセキュアメカニズムにおけるフレキシブルロジックユニットの使用
ここまで、SOCにおける通信メカニズムと、本発明によるフレキシブルハードウェアアプローチ(FHSM)のために必要な適合化について論じてきた。好ましくは、FHSMの概念は、セキュリティ目的のために、AxECのハードウェアコンピューティングリソースの利点を利用する。
【0071】
ここで、この概念を可能にするために必要なFLUの特性について説明する。
【0072】
最初に、FLUにおいて分離及びタスク切替え機能が予測されない、又は使用されない基本的なケースについて説明する。
【0073】
FPCUコンポーネントが、タスク切替え機能を提供しない1つのFLUマトリクスを備えている場合、次の2つのケースが考えられる。
・組み込まれたFPGAが、インフィールド部分再構成(in-field partial reconfiguration)をサポートできる。
○この場合、HSMはeFPGAの領域をFHSM目的に確保し、そこに専用ビットストリームを送り込むことが可能である。
○しかしながら、この解決策は、以下の理由で十分にセキュアではない。
■マトリクスのセキュアな部分とセキュアでない部分との間に相互作用の可能性がないことを実証するのは、ほとんど不可能である。
■サブパートのビットストリームの管理は、セキュリティレベルを証明できないソフトウェアアプリケーションによって処理される。
・或いは、FLUはどの時点でもFHSM又はアプリケーションのみに完全に専用である。
○セキュリティレベルの観点ではこれで問題ない
○しかしながら、リアルタイムの計算を中断することのできないターゲットアプリケーション領域では、FPCUコンポーネントがほとんど使用できなくなる。
【0074】
結論として、FHSMの概念を実施するためには、完全に専用の場合には技術的には可能であっても、1つのモノタスクFLUマトリクスを特徴とするFPCUは良い候補ではない。
【0075】
FPCUコンポーネントが、オプションとして1つの大きなマトリクスとして一緒に使用することのできる少なくとも2つのFLUマトリクスを含む概念が存在する。この場合、FHSMの概念は非常に重要である。
・アプリケーションは、リアルタイムアルゴリズム用にFLUマトリクスの一部を使用するものとする。
・HSMは、セキュリティ目的に残りの空きFLUマトリクスを使用することができる(前述のFHSM境界管理動作を適用する)
・HSM又はアプリケーションへのFLUマトリクスの割り当ては、必要な場合に実行時に行うことができる。
・これにより、FLUのセキュアな部分とセキュアでない部分との相互独立性を簡単に実証することができる。
【0076】
また、FPCUコンポーネントが、タスク切替えを実行することのできる少なくとも1つのFLUマトリクスを含む概念も存在する(上記の概念と組合せ可能)。
【0077】
この場合、FHSMの概念も関連するが、使用するには少し複雑になる。
・FLUマトリクスの使用は、2つの周期的な時間窓に時間的に分割されるものとする。
○1つの時間窓は、リアルタイムアプリケーションに確保される
○1つの時間窓は、HSMに確保される
・FLUは、両方のコンテキスト間でタスクを切り替えるように構成されている。
・マイクロアーキテクチャの原理により、FLUのセキュアな部分とセキュアでない部分との相互独立性を実証することが可能である。
【0078】
ここで難しいのは、マトリクスはセキュアな境界とセキュアでない境界との間で切り替えなければならないため、説明したようにFHSMの境界を適切に処理することである。このため、切替えの手順は、2つの適用タスク間での切替えよりも複雑になる。これを行うためのメカニズムを
図9(0900)に示す。当然ながら、セキュリティ上の理由から、全てのシーケンスはHSMモジュールによって排他的に管理されなければならない。前のシーケンスは技術的に可能である。ただし、リアルタイムアプリケーションの場合、MPUの構成の理由から、2つのFLU実行ウィンドウ間のレイテンシーを検証しなければならない。
【0079】
本質的には、プログラマブルロジックマトリクスであるハードウェアプログラマブルユニットである上記機能モジュールの1つ以上が、少なくとも2つのタスクを順次実行するように構成される、及び/又は、好ましくは隣り合って配置され且つ(実行時に)物理的に接続又は分離されて対になるように構成された複数のフレキシブルロジックユニット構造を備え、関係切替えメカニズムを記述する、上述した電気装置は、FHSM要件を適切に取り扱うように構成されていなければならない。
【0080】
FHSMのユースケース
ハードウェアアクセラレータ
FHSMの概念を使用すると、幾つかのeFPGAリソース及び数学アクセラレータをセキュアサブシステムに専用とすることが可能であるため、新しい暗号アルゴリズムを実装することができる。
【0081】
このようなアプローチは、アルゴリズムの単純なソフトウェア実装と比較して、以下のような利点がある。
・FPGAアーキテクチャは超並列計算機能を提供するため、暗号アルゴリズムの実行に特に適している。
・FPGA動作の電力変動シグネチャは、CPUコアのシグネチャよりもはるかにノイズが多い。したがってアルゴリズム演算は、非侵襲的なセキュリティ攻撃に対してより強いものとなる。
・暗号アルゴリズムの性能は、ハードウェアで実装された方が高い
【0082】
ここで、本質的に、本発明による電気装置は、プログラマブルロジックマトリクスであるハードウェアプログラマブルユニット(0202)である上記機能モジュールの1つ以上が、暗号化方法を少なくとも部分的に実行するように構成されることにおいて使用されている。
【0083】
セーフセキュリティ
ここで、2つのFLUマトリクスを特徴とする単純なFPCUアーキテクチャを考えてみる。
・1つはリアルタイムアプリケーションに割り当てられる
・2つ目はFHSMに割り当てられる
【0084】
第1のFLUコンテンツは第2のFLUコンテンツからの情報にアクセスできない(上述したFHSM境界)
【0085】
しかしながら、第2のFLU部が第1のFLU部の中の情報にアクセスすることは、セキュリティ上問題ない。したがって、セキュアFLUコンテンツは、実行中のアプリケーションの動作のリアルタイム情報を有することができる。
【0086】
この機能により、セキュアアクティビティとアプリケーションアクティビティとを厳密に同期させることができる。
【0087】
また、FLUマトリクスに暗号化アルゴリズムを実装し、FHSMのハード部分又はソフトウェアに実装された参照アルゴリズムを複製することも可能である。これにより、セキュリティアルゴリズムのロックステップ実装が可能となり、複製されたアルゴリズムの実行の正しさをチェックすることができる。
【0088】
ここでは幾つかの実装が可能である。
・FLUに複製されたアルゴリズムが、参照アルゴリズムと厳密に同じ(同じRTL)である。この場合、空間的及び時間的な冗長性が確保される
・FLUに複製されたアルゴリズムが、参照アルゴリズムと異なる(同じ機能で、異なるRTL)。この場合、空間的及び時間的な冗長性並びに結果の正しさが保証される(2つの異なるアルゴリズムが同じ結果を生む)
【0089】
セキュア攻撃検出(デジタルセンサー)
FLUのようなeFPGAマトリクスは、内部伝搬遅延に対する物理的影響に基づいて、侵入型攻撃及び準侵入型攻撃を検出することができるように構成することができる。
【0090】
対策
FLUマトリクスは、新しい暗号アルゴリズムの実装を目的としているが、同様に、FHSMのFLUマトリクスには、新しい攻撃手法に対処するコンポーネントのセキュリティレベルを向上させるために幾つかのハードウェア対策を実装することもできる。
【0091】
例えば、コンポーネントの電力プロファイルをシャッフルし、サイドチャネル攻撃に対するコンポーネントの耐性を高めるために、FLUによって何らかのランダムなノイズを生成することができる。
【0092】
図面訳
図1
0101 CPU core(s) CPUコア(複数の場合もある)
0102 FLU matrices FLUマトリクス
0103 AxEC Peripherals AxEC周辺機器
0105 HSM boundary HSM境界
図2
0203 Periph#2 周辺機器#2
0205 HSM boundary HSM境界
CPU core(s) CPUコア(複数の場合もある)
Periph#1 周辺機器#1
Periph#n 周辺機器#n
図3
0301 module#1 モジュール#1
0302 module#2 モジュール#2
0303 Trigger router module トリガールーターモジュール
System bus システムバス
module#n モジュール#n
図4
0401 module#1 モジュール#1
0402 module#2 モジュール#2
module#n モジュール#n
Trigger router module トリガールーターモジュール
図5
module#1 モジュール#1
module#2 モジュール#2
module#n モジュール#n
HSM boundary HSM境界
Trigger router module トリガールーターモジュール
System bus システムバス
図6
0603 Secure configuration interconnect セキュア構成相互接続
Others initiators 他のイニシエーター
System interconnect システム相互接続
Periph#1 周辺機器#1
図7
Others initiators 他のイニシエーター
System interconnect システム相互接続
Periph#1 周辺機器#1
Secure configuration interconnect セキュア構成相互接続
図8
HSM boundary HSM境界
Others initiators 他のイニシエーター
System interconnect システム相互接続
Periph#1 周辺機器#1
Secure configuration interconnect セキュア構成相互接続
図9
Task switching requested 要求されたタスク切替え
Stop FLU execution FLU実行を停止
Re-configure MPUs MPUを再構成
Perform configuration and data context switch 構成及びデータコンテキスト切替えを実行
Resume FLU execution FLU実行を再開
【国際調査報告】