(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022171564
(43)【公開日】2022-11-11
(54)【発明の名称】物理暗号化キーの仮想化と変換による安全な復号化装置および復号化方法
(51)【国際特許分類】
H04L 9/08 20060101AFI20221104BHJP
G06F 21/62 20130101ALI20221104BHJP
【FI】
H04L9/08 A
G06F21/62 309
【審査請求】未請求
【請求項の数】20
【出願形態】OL
(21)【出願番号】P 2022046670
(22)【出願日】2022-03-23
(31)【優先権主張番号】63/181,783
(32)【優先日】2021-04-29
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】17/404,543
(32)【優先日】2021-08-17
(33)【優先権主張国・地域又は機関】US
(71)【出願人】
【識別番号】302062931
【氏名又は名称】ルネサスエレクトロニクス株式会社
(74)【代理人】
【識別番号】110002066
【氏名又は名称】弁理士法人筒井国際特許事務所
(72)【発明者】
【氏名】ナッサー・アーマッド
(72)【発明者】
【氏名】ワインダー・エリック
(57)【要約】
【課題】物理暗号化キーの仮想化と変換による安全な復号化のための技術的ソリューションを提供する。
【解決手段】本開示は、物理暗号キーの仮想化および変換によるセキュア復号化のシステムが含まれ、このシステムは、少なくとも1つの仮想キーアドレスに対応するキー変換メモリと、その物理メモリアドレスの少なくとも1つの物理暗号化キーを格納するように動作可能な物理キーメモリと、キー変換メモリから、キーアドレス変換インデックスおよび仮想キーアドレスに基づいて物理マッピングアドレスを取得し、物理メモリアドレスに格納された物理暗号キーを物理キーメモリから取得する、少なくとも1つのキーアドレス変換インデックスを生成するキーセキュリティエンジンが含まれる。
【選択図】
図1
【特許請求の範囲】
【請求項1】
キーセキュリティエンジンによって、少なくとも1つのキーアドレス変換インデックスを生成するステップと、
キー変換メモリから、前記キーアドレス変換インデックスと少なくとも1つの仮想キーアドレスに基づく少なくとも1つの物理マッピングアドレスを取得するステップと、
物理キーメモリから、物理メモリアドレスに格納された少なくとも1つの物理暗号化キーを取得するステップと、を有する、
物理暗号化キーの仮想化と変換によるセキュアな復号化方法。
【請求項2】
前記物理暗号化キーを使用して、パーティションレジスタに対応するフレームを復号化するステップをさらに有する、請求項1に記載の復号化方法。
【請求項3】
前記パーティションレジスタは前記仮想キーアドレスを含む、請求項2に記載の復号化方法。
【請求項4】
セキュアレジスタから少なくとも1つのキーインデックスアドレスマップを取得するステップをさらに有し、
前記キーインデックスアドレスマップは前記パーティションレジスタに対応している、請求項2に記載の復号化方法。
【請求項5】
前記キーインデックスアドレスマップを取得するステップは、さらに、キー変換メモリに関連する開始アドレスの取得するステップと、前記パーティションレジスタに対応するパーティションキーカウントを取得するステップとを有する、
請求項4に記載の復号化方法。
【請求項6】
前記キーアドレス変換インデックスを生成するステップは、さらに、前記開始アドレスに基づいてオフセットを生成するステップと、前記開始アドレスと前記パーティションキーカウントに基づいて仮想アドレスブロックを生成するステップとを有する、
請求項5に記載の復号化方法。
【請求項7】
前記キー変換メモリは、前記仮想キーアドレスを含み、前記パーティションレジスタにのみ関連付けられた複数の連続した仮想キーアドレスを含む、請求項2に記載の復号化方法。
【請求項8】
前記物理マッピングアドレスは、前記物理キーメモリにおける前記物理メモリアドレスへのポインタを含む、請求項1に記載の復号化方法。
【請求項9】
少なくとも1つの仮想キーアドレスに対応する少なくとも1つの物理マッピングアドレスを格納するように動作可能なキー変換メモリと、
物理メモリアドレスに少なくとも1つの物理暗号化キーを格納するように動作可能な物理キーメモリと、
キーセキュリティエンジンが動作可能なキーアドレス変換インデックスと、
キー変換メモリから、前記キーアドレス変換インデックスと仮想キーアドレスに基づいて物理マッピングアドレスを取得し、前記物理キーメモリから、前記物理メモリアドレスに格納されている物理暗号化キーを取得する、少なくとも1つの前記キーアドレス変換インデックスとを生成する、物理暗号化キーの仮想化と変換によるセキュアな復号化システム。
【請求項10】
少なくとも1つのキーインデックスアドレスマップを格納するように動作可能なセキュアレジスタを有する、請求項9に記載の復号化システム。
【請求項11】
前記キーセキュリティエンジンは、さらに、セキュアレジスタから前記キーインデックスアドレスマップを取得するように動作可能である、請求項10に記載の復号化システム。
【請求項12】
前記キーセキュリティエンジンは、さらに、前記セキュアレジスタから、前記キー変換メモリに関連付けられた開始アドレスを取得し、
前記セキュアレジスタから、パーティションレジスタに対応するパーティションキーカウントを取得するように動作可能である、請求項11に記載の復号化システム。
【請求項13】
前記キーセキュリティエンジンは、さらに、前記開始アドレスに基づいてオフセットを生成し、
前記開始アドレスとパーティションキー数に基づいて仮想アドレスブロックを生成するように動作可能である、
請求項12に記載の復号化システム。
【請求項14】
前記キーインデックスアドレスマップは、パーティションレジスタに対応する、請求項11に記載の復号化システム。
【請求項15】
前記パーティションレジスタは、前記仮想キーアドレスを含む、請求項14に記載の復号化システム。
【請求項16】
前記キーセキュリティエンジンは、さらに、前記物理暗号化キーを使用して、パーティションレジスタに対応するフレームを復号化するように動作可能である、請求項9に記載の復号化システム。
【請求項17】
前記物理マッピングアドレスは、前記物理キーメモリにおける前記物理メモリアドレスへのポインタを含む、請求項9に記載の復号化システム。
【請求項18】
前記キー変換メモリは、前記仮想キーアドレスを含み、パーティションレジスタにのみ関連付けられた複数の連続した前記仮想キーアドレスを含む、請求項9に記載の復号化システム。
【請求項19】
コンピュータ可読命令を格納する非一時的なコンピュータ可読媒体であって、処理回路が前記コンピュータ可読命令により、
セキュアレジスタから、少なくとも1つのキーインデックスアドレスマップ、パーティションレジスタに対応するキーインデックスアドレスマップを取得するステップと、
キーセキュリティエンジンによって、少なくとも1つのキーアドレス変換インデックスを生成するステップと、
キーアドレス変換メモリから、前記キーアドレス変換インデックスと少なくとも1つの仮想キーアドレスに基づく少なくとも1つの物理マッピングアドレスを取得するステップと、
物理キーメモリから、物理メモリアドレスに保存されている少なくとも1つの物理暗号化キーを取得するステップと、
物理暗号化キーを使用して、パーティションレジスタに対応するフレームを復号化するステップと、を実行する、コンピュータ可読媒体。
【請求項20】
前記処理回路が、さらに、前記セキュアレジスタから、前記キーアドレス変換メモリに関連する開始アドレスを取得するステップと、
前記セキュアレジスタから、前記パーティションレジスタに対応するパーティションキーカウントを取得するステップと、
前記開始アドレスに基づいてオフセットを生成するステップと、
前記開始アドレスとパーティションキー数に基づいて仮想アドレスブロックを生成するステップと、を実行する、請求項19に記載のコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、一般に、暗号化装置に関するものであり、より詳細には、物理暗号化キーの仮想化および変換による安全な復号化に関する。
【背景技術】
【0002】
電子およびデジタルネットワークは、多くの機器においてますます一般的になっている。これらの機器中心のネットワークは、ますます複雑でセンシティブな内容を制御する複雑な命令を実行するようになっている。このような増大する複雑さは、結果として、悪意のある外部システムからのネットワークに対する脆弱性およびリスクを増大させる。従って、これらのネットワーク内およびネットワークとの通信は、セキュリティの脅威が増大し、これらのシステムを危険にさらして、これらのネットワーク上の安全な情報を取得し、これらのネットワークを所有および制御する機器の不正な制御を奪う可能性がある。セキュリティプロトコル自体でさえ、悪意のある外部干渉による破損の危険に晒されている。
【発明の概要】
【発明が解決しようとする課題】
【0003】
従って、本開示の目的は、物理暗号化キーの仮想化と変換による安全な復号化のための技術的ソリューションを提供することである。
【課題を解決するための手段】
【0004】
本開示は、少なくとも、ネットワーク全体の機密通信へのアクセスを提供する暗号化キーの複数レベルの保護を含む、安全なネットワーク通信を提供することを目的とする。
本開示により提供される保護には、直接アドレス指定に関する制限付きでセキュアメモリデバイス上に物理暗号化キーを提供すること、セキュアメモリデバイス外の任意のデバイスからセキュアメモリデバイスにアクセスするための物理暗号化キーのための仮想アドレスを作成すること、および仮想暗号化キーへのアクセスをパーティション単位で制限することが含まれるが、これらに限定されない。ネットワーク上の特定のコンポーネントおよびデバイスがアクセスできる安全なアクセスアドレスブロックを決定するパーティションは、ネットワーク上またはネットワークと通信している特定の仮想マシンのIDに基づく。ネットワークは、例えば、車両、自動車、機関車、航空機、船舶、または宇宙船上で動作する組み込みシステムを含むことができるが、これらに限定されない。従って、本開示は、物理キーメモリおよびそこに記憶されたキーへのアクセス、およびそれらの物理キーへのアドレスへのアクセスに関する制限を含む複数のセキュリティ層を提供する。物理キーと物理キーアドレスの両方へのアクセスを制限すると、物理暗号化キーの場所が難読化され、それらの暗号化キーへのアクセスが制限されるため、複数の保護レイヤが提供され、ネットワークへの潜在的な侵入ポイントの数が減少する。このように、物理暗号化キーの仮想化と翻訳による安全な復号化のための技術的ソリューションが提供される。
本開示の実施形態は、物理暗号化キーの仮想化および翻訳によるセキュア復号化の方法を含み、キーセキュリティエンジンによって、少なくとも1つのキーアドレス翻訳インデックスを生成し、キーアドレス翻訳メモリから、キーアドレス翻訳インデックスおよび少なくとも1つの仮想キーアドレスに基づいて少なくとも1つの物理マッピングアドレスを取得し、物理キーメモリから、物理メモリアドレスに格納された少なくとも1つの物理暗号化キーを取得することによって、物理暗号化キーを生成する。
本開示の実施形態は、物理暗号化キーを用いて、パーティションレジスタに対応するフレームをさらに復号化する方法を含む。
本開示の実施形態は、パーティションレジスタが仮想キーアドレスを含む方法を含む。
本開示の実施形態は、セキュアレジスタから、少なくとも1つのキーインデックスアドレスマップをさらに取得する方法を含み、ここで、キーインデックスアドレスマップは、パーティションレジスタに対応する。
本開示の実施形態は、キー変換メモリに関連する開始アドレスを取得することによってキーインデックスアドレスマップを取得し、パーティションレジスタに対応するパーティションキーカウントを取得する方法を含む。
本開示の実施形態は、開始アドレスに基づいてオフセットを生成することによってキーアドレス変換インデックスを生成し、開始アドレスとパーティションキーカウントに基づいて仮想アドレスブロックを生成する方法を含む。
本開示の実施形態は、キー変換メモリが、仮想キーアドレスを含み、パーティションレジスタのみに関連する複数の連続した仮想キーアドレスを含む方法を含む。
本開示の実施形態は、物理マッピングアドレスが物理キーメモリにおける物理メモリアドレスへのポインタを含む方法を含む。
本開示の実施形態は、物理暗号化キーの仮想化および変換による安全な復号化システムを含み、このシステムは、少なくとも1つの仮想キーアドレスに対応する少なくとも1つの物理マッピングアドレスと、その物理メモリアドレスの少なくとも1つの物理暗号化キーを記憶するように動作可能な物理キーメモリと、少なくとも1つのキーアドレス変換インデックスを生成し、キー変換メモリから、キーアドレス変換インデックスおよび仮想キーアドレスに基づいて物理マッピングアドレスを取得し、物理キーメモリから、物理メモリアドレスに記憶された物理暗号化キーを取得するように動作可能なキーセキュリティエンジンと、を有する。
本開示の実施形態は、少なくとも1つのキーインデックスアドレスマップを記憶するように動作可能なセキュアレジスタを有するシステムを含む。
本開示の実施形態は、キーセキュリティエンジンが、セキュアレジスタから、キーインデックスアドレスマップを得ることができるシステムを含む。
本開示の実施形態は、キーセキュリティエンジンが、セキュアレジスタから、キー変換メモリに関連する開始アドレスを取得し、セキュアレジスタから、パーティションレジスタに対応するパーティションキーカウントを取得することができるシステムを含む。
本開示の実施形態は、キーセキュリティエンジンが開始アドレスに基づいてオフセットを生成し、開始アドレスとパーティションキーカウントに基づいて仮想アドレスブロックを生成できるシステムを含む。
本開示の実施形態は、キーインデックスアドレスマップがパーティションレジスタに対応するシステムを含む。
本開示の実施形態は、パーティションレジスタが仮想キーアドレスを含むシステムを含む。
本開示の実施形態は、キーセキュリティエンジンが、物理暗号化キーと共に、パーティションレジスタに対応するフレームを復号できるシステムを含む。
本開示の実施形態は、物理マッピングアドレスが物理キーメモリにおける物理メモリアドレスへのポインタを含むシステムを含む。
本開示の実施形態は、キー変換メモリが、仮想キーアドレスを含み、パーティションレジスタのみに関連する複数の連続した仮想キーアドレスを含むシステムを含む。
本開示の実施形態はコンピュータ読み取り可能な命令を記憶する一時的ではないコンピュータ読み取り可能な媒体を含む。処理回路は命令により以下の処理を実行する。(1)セキュアレジスタからパーティションレジスタに関連付けられた、少なくとも1つのキーインデックスアドレスマップを取得する。(2)キーセキュリティエンジンにより、少なくとも一つのキーアドレス変換インデックスを生成する。(3)キー変換メモリから、キーアドレス変換インデックスと少なくとも一つの仮想キーアドレスに基づいて、少なくとも一つの物理マッピングアドレスを取得する。(4)物理キーメモリから 物理メモリアドレスに記憶された少なくとも一つの物理仮想化キーを取得する 物理暗号化キーでパーティションレジスタに関連付いたフレームを復号化する。
本開示の実施形態は、コンピュータ読み取り可能な命令を記憶する一時的ではないコンピュータ読み取り可能な媒体を含む。処理回路は、セキュアレジスタから、キー変換メモリに関連する開始アドレスを取得し、セキュアレジスタから、パーティションレジスタに対応するパーティションキーカウントを取得し、開始アドレスに基づいてオフセットを生成し、開始アドレスとパーティションキーカウントに基づいて仮想アドレスブロックを生成する、一時的でないコンピュータ読み取り可能媒体を含む。
以下において、本開示は、添付の図に示される実施形態に関してさらに説明される。
【図面の簡単な説明】
【0005】
【
図1】本開示による復号化システムの実施形態の構成図である。
【
図2】本開示による復号化システムにおけるパーティションレジスタメモリの構成図である。
【
図3】本開示による復号化システムにおけるセキュアレジスタメモリの構成図である。
【
図4】本開示による復号化システムにおけるキーセキュリティエンジンの構成図である。
【
図5】本開示による復号化システムにおける物理キーアドレスマッピング構造の構成図である。
【
図6】本開示による物理暗号化キーの仮想化および変換によるセキュア復号化方法のフロー図である。
【発明を実施するための形態】
【0006】
ここで、当業者が当業者に明らかな実装および代替を実施することを可能にするために、実装の例示的な例として提供される図面を参照して、本実装を詳細に説明する。特に、以下の図および例は、本実施形態の範囲を単一の実施形態に限定することを意図したものではないが、他の実施形態は、記載または図示された素子の一部または全部を交換することによって可能である。さらに、本実装のある要素が、既知の構成要素を使用して部分的にまたは完全に実装され得る場合、本実装を理解するために必要なそのような既知の構成要素の部分のみが説明され、そのような既知の構成要素の他の部分の詳細な説明は、本実装を曖昧にしないように省略される。ソフトウェアで実装されるものとして説明される実装形態は、それに限定されるべきではなく、本明細書で特に指定されない限り、当業者には明らかなように、ハードウェアで実装される実装形態、またはソフトウェアとハードウェアの組合せを含むことができ、その逆も同様である。本明細書では、単数の構成要素を示す実装は、限定的であると見なされるべきではなく、むしろ、本開示は、本明細書で特に明記しない限り、複数の同じ構成要素を含む他の実装を包含することが意図され、その逆もまた同様である。さらに、出願人は、明細書又はクレーム中のいかなる用語についても、そのように明示的に記載されない限り、一般的でない又は特別な意味とされることを意図していない。さらに、本実施は、例示として本明細書で言及される既知の構成要素に対する現在および将来の既知の同等物を包含する。
【0007】
本開示の実施形態は、様々なマシンのために少なくとも埋め込まれた通信システム上に展開可能な多層暗号化システムを提供するために、複数のセキュアメモリハードウェア領域を含むことができる。上述したように、本開示の実施形態は、自動車システムの制御及び監視ネットワークのための安全な通信を提供することができるが、これに限定されない。複数のセキュアメモリハードウェア領域は、一つ以上の通信プロトコルと統合して、セキュリティプロトコルの暗号化を提供できる。セキュリティプロトコルは、CANsec(Control Area Network Security)、またはその任意の変形、派生物などを含むことができるが、これらに限定されない。本開示の実施形態によるネットワーク通信セキュリティハードウェアは、ネットワーク上の様々なアプリケーション装置のためのメモリアドレスの制限されたアドレス範囲、制限されたアドレス範囲によってアクセス可能なメモリアドレスの仮想アドレス指定、およびセキュアメモリにおける物理暗号化キーの記憶を含み、仮想メモリアドレスによってセキュアにアドレス指定可能である。従って、本開示の実施形態は、ネットワーク通信を暗号化し、復号化するための暗号化キーの検索に対する多重アクセス制限を実施することによって、耐タンパネットワーク通信を提供するための多段セキュリティハードウェア構造を提供する。
【0008】
図1は、本開示の実施形態による復号化システム100の一例を示す。
図1の例によって示されるように、復号化システム100は、システムプロセッサ102、ルーティングエンジン110、暗号化エンジン120、フレームマネージャ130、プロトコルエンジン140、パーティションレジスタメモリ200、セキュアレジスタメモリ300、およびキーセキュリティエンジン400を含む。復号化システム100およびその構成要素のうちの1つまたは複数は、集積回路、論理ゲート、フリップフロップ、ゲートアレイ、プログラマブルゲートアレイなどを含むが、これらに限定されない1つまたは複数の論理デバイスまたは電子装置を含むことができる。
【0009】
システムプロセッサ102は、復号化システム100に関連する1つ以上の命令を実行することができる。システムプロセッサ102は、デジタル論理回路、アナログロジック、デジタルセンサ、アナログセンサ、通信バス、揮発性メモリ、不揮発性メモリなどのうちの1つまたは複数を含む電子プロセッサ、集積回路などを含むことができる。システムプロセッサ102は、少なくとも1つのマイクロコントローラユニット(MCU:Micro Controller Unit)、マイクロプロセッサユニット(MPU:Micro Processing Unit)、中央処理ユニット(CPU:Central Processing Unit)、グラフィックス処理ユニット(GPU:Graphics Processing Unit)、物理処理ユニット(PPU:Physical Processing Unit)、埋め込みコントローラ(EC:Embedded Controller)などを含むことができるが、これらに限定されない。システムプロセッサ102は、システムプロセッサ102の動作部品およびシステムプロセッサ102に動作可能に結合された動作部品のための1つ以上の命令を記憶している、または、記憶するように動作可能なメモリを含むことができる。1つ以上の命令は、ファームウェア、ソフトウェア、ハードウェア、オペレーティング・システム、組み込みオペレーティング・システムなどのうち、少なくとも1つを含むことができる。システムプロセッサ102または復号化システム100は、一般に、システムプロセッサ102と復号化システム100の他の素子との間の通信を行うために、少なくとも1つの通信バスコントローラを含むことができる。
【0010】
ルーティングエンジン110は、暗号化エンジン120、フレームマネージャ130、プロトコルエンジン140、パーティションレジスタメモリ200、セキュアレジスタメモリ300、およびキーセキュリティエンジン400のうち、1つ以上との間の通信をルーティングすることができる。ルーティングエンジン110は、送信バス、チャネルなどを含む通信バス、チャネルなどと動作可能に結合することができる。一例として、通信バスは、ルーティングエンジン110をプロトコルエンジン140に動作可能に結合することができる。キーセキュリティエンジン400および暗号化エンジン120は、少なくとも通信バスによってルーティングエンジン110に動作可能に結合することもできる。通信バスは、ルーティングエンジン110で終端することができ、例えば、スケジューリング、順序付け、および優先順位付けを制御するために、1つ以上のキュー、レジスタ、またはバッファ装置を含むことができる。一例として、ルーティングエンジン110は、通信バスの送信チャネルに動作可能に結合された第1のキューデバイスと、通信バスの受信チャネルに動作可能に結合された第2のキューデバイスとを含むことができる。キューデバイスは、例えば、先入れ先出し(FIFO)キューを含むことができるが、これに限定されない。
【0011】
暗号化エンジン120は、少なくとも通信バスによって暗号化エンジン120にまたはそれを介して送信される1つ以上のオブジェクトを暗号化および復号化することができる。暗号化エンジン120は、暗号化されていない通信を送信チャネルによって暗号化された通信に変換し、受信チャネルによって暗号化された通信を暗号化されていない通信に変換するように動作可能な1つ以上の暗号化装置を含むことができる。一例として、暗号化エンジン120は、AES暗号化および復号化スキームに従って暗号化および復号化することができる。暗号化エンジン120は、集積回路、論理ゲート、フリップフロップ、ゲートアレイ、プログラマブルゲートアレイなどを含むが、これらに限定されない、1つまたは複数の論理デバイスまたは電子装置を含むことができる。暗号化エンジン120に関連する任意の電気的、電子的、または同様の装置、またはコンポーネントは、キーセキュリティエンジン400、またはその任意のコンポーネントに関連付けられ、統合され、統合可能であり、置き換えられ、追加され、補足され、または同様のものとすることもできることを理解されたい。
【0012】
フレームマネージャ130は、例えば、プロトコルエンジン140によってプロトコルエンジンから受信された通信を制御または制限することができる。フレームマネージャ130は、例えば、復号化システムに対する1つまたは複数の受け入れ基準に基づいてプロトコルエンジン140から受信したコミュニケーションをフィルタリングすることができる。一例として、少なくとも1つの受け入れ基準を満たさない任意の通信は、受信バスに沿って継続し、暗号化エンジン120およびルーティングエンジン110のうちの1つまたは複数に到達することからフィルタリングまたはブロックすることができる。許容基準には、たとえば、オリジンスタンプ、タイムスタンプ、ハッシュ、またはセキュリティトークンを含めることができる。フレームマネージャ130は、さらにフィルタリングされた、またはブロックされた通信を記憶するフィルタメモリデバイスを含むことができる。フィルタメモリデバイスは、1つまたは複数のレジスタ、アレイ、フリップフロップなどを含むことができる。
【0013】
プロトコルエンジン140は、1つ以上の特定のプロトコルに従って通信を受信し、送信することができる。プロトコルエンジン140は、復号化システム100を、プロトコルエンジン140と互換性のある少なくとも1つのプロトコルに従って動作可能なネットワークに動作可能に結合するネットワークインターフェースを含むことができる。一例として、プロトコルエンジン140は、少なくともCAN-XLプロトコル、CANsecプロトコル、またはそれらの任意の変形や派生と互換性があり得る。別の例として、プロトコルエンジン140は、例えば、任意の車両ネットワークまたは埋め込みネットワークと互換性があり得る。
【0014】
パーティションレジスタメモリ200は、復号化システム100と動作可能に結合された記憶システムの1つ以上のパーティションに関連する1つ以上のブロックを記憶することができる。パーティションレジスタメモリ200は、1つ以上のパーティションに関連する1つ以上の識別子、暗号化キー、および伝送制御命令を含むことができる。パーティションレジスタメモリ200は、複数のパーティションレジスタを含むことができ、各パーティションは、複数のパーティションの対応するパーティションに関連するブロックを含む。一例として、パーティションは、0からNまでの数によって、1の増分で数値的に識別することができる。パーティションレジスタメモリ200の各パーティションレジスタは、1つ以上の暗号化キーに対応する1つ以上の仮想アドレスを含むことができる。従って、パーティションレジスタメモリ200は、特定のパーティションに対応する1つ以上の暗号化キーを参照することができる。各パーティションは、パーティションレジスタメモリ200および復号化システム100と通信して実行可能な1つ以上の特定の仮想マシンに関連付けることもできる。各パーティションに関連付けられた仮想マシンは、そのパーティション内での実行を制限でき、そのパーティション内の仮想アドレスによって示される暗号化キーのみにアクセスするようにさらに制限できる。従って、パーティションレジスタメモリ200は、特定のパーティション上で実行可能な1つ以上の仮想マシンに関して、1つ以上の暗号化キーへの制限付きアクセスを提供することができる。
【0015】
セキュアレジスタメモリ300は、各パーティションに関連する仮想キーのための1つ以上の仮想アドレス範囲を記憶することができる。一例として、セキュアレジスタメモリ300は、1つの対応するパーティションに関連する1つ以上のアドレス範囲を記憶することができる。各パーティションは、キーセキュリティエンジン400に保存されているさまざまな物理暗号化キーに対応する1つ以上の仮想キーアドレスの特定のセットに関連付けることができる。セキュアレジスタメモリ300は、バイナリデータ、デジタルデータなどを格納する1つ以上のハードウェアメモリデバイスを含むことができる。セキュアレジスタメモリ300は、1つまたは複数の電気コンポーネント、電子コンポーネント、プログラマブル電子コンポーネント、再プログラマブル電子コンポーネント、集積回路、半導体デバイス、フリップフロップ、演算ユニットなどを含むことができる。
【0016】
キーセキュリティエンジン400は、仮想アドレスを物理キーアドレスに変換するために、1つ以上のメモリデバイスを含むことができる。キーセキュリティエンジン400は、例えば、システムの外部の装置からのアクセスを制御、制限、またはブロックすることができ、キーセキュリティエンジン400の特定の仮想アドレス範囲にアクセスするために、それらの対応するパーティションレジスタによって許可された特定の仮想マシンにのみ直接アドレス指定を提供することができる。キーセキュリティエンジン400は、仮想アドレスと物理アドレスとの間のマッピング構造を含むこともできる。マッピング構造は、特定のメモリアレイ位置に格納されたポインタを含むことができる。ポインタには、特定の物理暗号化キーの物理メモリアドレスを含めることができる。仮想アドレスによってアクセス可能な特定の物理暗号化キーのそれぞれは、特定の仮想マシンによって取得され、その仮想マシンに関連付けられた、または、たとえば、その仮想マシンによって関連付けられた通信の任意のコンポーネントを復号化できる。通信は、仮想マシンによって送信され、プロトコルエンジン140で受信されるフレームを含むことができる。キーセキュリティエンジン400は、バイナリデータ、デジタルデータなどを格納する1つ以上のハードウェアメモリデバイスを含むことができる。キーセキュリティエンジン400は、1つまたは複数の電気コンポーネント、電子コンポーネント、プログラマブル電子コンポーネント、再プログラマブル電子コンポーネント、集積回路、半導体デバイス、フリップフロップ、演算ユニットなどを含むことができる。
【0017】
復号化システム100は、その構成要素のうちの1つまたは複数を動作可能に結合する通信インターフェースを含むことができる。通信インターフェースは、復号化システム100の1つまたは複数の構成要素と、それと動作可能に結合または結合可能な構成要素、装置、ブロックとの間で、1つまたは複数の命令、信号、条件、状態などを通信することができる。通信インターフェースは、1つまたは複数のデジタル、アナログ、または同様の通信チャネル、回線、トレースなどを含むことができる。一例として、通信インターフェースは、通信インターフェースの複数の通信回線のうち、少なくとも1つのシリアルまたはパラレル通信回線を含むことができる。通信インターフェースは、一つ以上の無線通信装置、システム、プロトコル、インターフェース等を含むことができる。通信インターフェースは、集積回路、論理ゲート、フリップフロップ、ゲートアレイ、プログラマブルゲートアレイなどを含むが、これらに限定されない、1つまたは複数の論理デバイスまたは電子装置を含むことができる。通信インターフェースは、アンテナ、トランシーバ、パケッタイザ、および有線インターフェースポートを含むが、これらに限定されない、1つまたは複数の電気通信デバイスを含むことができる。
【0018】
図2は、
図1の復号化システム例における、パーティションレジスタメモリ200の一例を示す。
図2の例によって示されるように、パーティションレジスタメモリ200は、第1のパーティションに関連する1つ以上の送信レジスタ(TX0)210と、第1のパーティションに関連する1つ以上の受信レジスタ(RX0)240とを含む、第1のパーティションに関連する1つ以上のパーティションレジスタ202を含む。パーティションレジスタメモリ200は、さらに、任意の数の1つ以上のパーティションレジスタ204、206、208を含むことができる。この場合、追加のパーティションレジスタのそれぞれは、後述するように、1つ以上の構造および動作において、パーティションレジスタ202に対応することができる。各レジスタは、1つまたは複数のメモリアレイ、フリップフロップ、ゲートアレイ、アキュムレータなどを含むことができ、1つまたは複数のデジタルビット、ニブル、バイト、ワードなどを記憶するように動作可能であることができる。
【0019】
送信レジスタ(TX0)210は、例えば特定のパーティションに関連する仮想マシンまたはアプリケーションによる送信通信に関連する1つ以上のパラメータを制御することができる。送信レジスタ(TX0)210は、データ長ブロック220、優先順位ブロック222、フレームソースポインタブロック224、ラベルブロック226、および仮想キーインデックスブロック230を含むことができる。各ブロックは、別個のレジスタまたはレジスタの一部を含むことができる。レジスタの一部は、レジスタの特定のアドレス範囲を含むことができる。
【0020】
データ長ブロック220は、例えば、仮想マシンによって復号化システム100と通信される特定のフレームの全長またはサイズの指示を格納する物理メモリ位置を含むことができる。優先順位ブロック222は、例えば、仮想マシンによって復号化システム100と通信される特定のフレームの優先順位、ランキング、または順序の指示を格納する物理メモリ位置を含むことができる。ラベルブロック226は、例えば、仮想マシンによって復号化システム100と通信される特定のフレームの識別子または一意の識別子を記憶する物理メモリ位置を含むことができる。
【0021】
仮想キーインデックスブロック230は、パーティションレジスタのためのパーティションに関連する物理暗号化キーに対応する少なくとも1つの仮想アドレスの指示を記憶する物理メモリ位置を含むことができる。仮想キーインデックスブロック230は、パーティションに関連する多数の仮想キーアドレス位置と、仮想キーの特定の順序および仮想キーの識別子、例えば、順序に対応するものとを含むことができる。従って、仮想キーインデックスブロック230内の各仮想キーに対する番号付き順序を検索して、仮想キーインデックスブロック230内の個々の仮想キーアドレスに対するパーティション内のオフセットを生成することができる。仮想キー位置の数を示すことにより、仮想キーインデックスブロック230は、仮想アドレスを格納するために必要な格納領域を必要とせず、また物理暗号化キーのメモリ位置を直接的に安全に格納することなく、任意の数の物理暗号化キーへの対応を有利に示すことができる。
【0022】
受信レジスタ(RX0)240は、例えば、特定のパーティションに関連する仮想マシンまたはアプリケーションによる受信通信に関連する1つ以上のパラメータを制御することができる。受信レジスタ(RX0)240は、1つ以上の構造および動作において、送信レジスタ(TX0)210に対応することができる。受信レジスタ(RX0)240は、仮想キーインデックスブロック230に対応する少なくとも1つの仮想キーインデックスを示すことができ、そこでは、例えば、特定のフレームまたは仮想マシンに関して、個別のキーがそれぞれ暗号化および復号化操作を行うことができる。受信レジスタ(RX0)240は、仮想キーインデックスブロック230にアクセスすることができ、追加キーを記憶する必要性を回避することができ、ここで、同一キーは、パーティションレジスタに対応するプロトコルに従って、暗号化と復号化の両方を実行することができる。
【0023】
図3は、
図1の例示的なシステムに加えて、例示的なセキュアレジスタメモリを示す。
図3の例によって示されるように、例のセキュアレジスタメモリ300は、少なくとも1つのキーインデックス開始アドレスレジスタ310と、1つ以上の対応するパーティションに関連する1つ以上のパーティションキーカウントレジスタ320、322、324、326とを含む。パーティションキーカウントレジスタ320、322、324、326の各々は、以下に説明するように、構造および動作のうちの1つまたは複数において互いに対応することができる。
【0024】
キーインデックス開始アドレスレジスタ310は、物理暗号化キーに対応する1つ以上の仮想アドレスの連続ブロックの開始を示す物理アドレスを記憶する物理メモリ位置を含むことができる。アドレスは、アドレスを格納するために必要なアドレス空間を最小化するために、連続的に格納することができる。これは、小型化及び現場展開のために低消費電力及び低容量デバイスが有利である組み込みシステムにおいて特に有利である。従って、キーインデックス開始アドレスレジスタ310は、完全な物理アドレスを含むことができ、パーティションキーカウントレジスタ320、322、324が、対応する完全な物理アドレスを記憶し、そのようにするために必要なビットを予約する必要をなくすことができる。
【0025】
パーティションキーカウントレジスタ320、322、324、326は、1つ以上のパーティションレジスタに関連する1つ以上の仮想キーのカウントを記憶する物理メモリ位置を含むことができる。一例として、パーティションキーカウントレジスタ320、322、324は、それぞれ、2個のキーが第1のパーティション(パーティション0)に関連付けられ、5個のキーが第2のパーティション(パーティション1)に関連付けられ、10個のキーが第3のパーティション(パーティション1)に関連付けられていることを示す、2、5および10のキーカウントを記憶することができる。従って、キーセキュリティエンジン400は、パーティション範囲内の順序およびキースタートアドレスレジスタのスタートアドレスによって、各仮想キーのアドレスを生成することができる。具体的には、キーセキュリティエンジン400は、パーティションキーカウントレジスタ320、322、324、326のすべてにわたるカウントに基づいて、スタートアドレスおよびスタートアドレスから特定の仮想キーのアドレスへのオフセットに基づいて、特定の仮想キーのオフセットを生成することができる。
【0026】
セキュアレジスタメモリ300は、バイナリデータ、デジタルデータなどを格納する1つ以上のハードウェアメモリデバイスを含むことができる。セキュアレジスタメモリ300は、1つまたは複数の電気コンポーネント、電子コンポーネント、プログラマブル電子コンポーネント、再プログラマブル電子コンポーネント、集積回路、半導体デバイス、フリップフロップ、演算ユニットなどを含むことができる。セキュアレジスタメモリ300は、不揮発性メモリデバイス、ソリッドステートメモリデバイス、フラッシュメモリデバイス、およびNANDメモリデバイスの少なくとも1つを含むことができる。セキュアレジスタメモリ300は、1つ以上の物理メモリアレイ上に配置された1つ以上のアドレス可能メモリ領域を含むことができる。物理メモリアレイは、例えば、特定の半導体デバイス、半導体集積回路装置、およびプリント回路基板デバイスのうちの少なくとも1つ上に配置されるNANDゲートアレイを含むことができる。
【0027】
図4は、
図1の例示的なシステムに加えて、例示的なキーセキュリティエンジンを示す。
図4の例によって示されるように、キーセキュリティエンジン400の例は、キー変換メモリ410と物理キーメモリ420とを含む。キーセキュリティエンジン400は、システムプロセッサ102に対する1つ以上の構造および動作に対応するシステムプロセッサを含むことができ、キー変換メモリ410および物理キーメモリ420の1つ以上に関連する1つ以上の動作をそれによって実行することができることを理解されたい。従って、キーセキュリティエンジン400は、有利には、システムプロセッサ102の少なくとも1つおよびキーセキュリティエンジン400のシステムプロセッサ102の制御下で、安全な暗号化キー操作を実行することができる。
【0028】
キー変換メモリ410は、少なくとも1つの仮想キーアドレスを、少なくとも1つの対応する物理キーアドレスにリンクすることができる。キー変換メモリ410は、キーセキュリティエンジン400に関連するデータを記憶することができる。キー変換メモリ410は、バイナリデータ、デジタルデータ等を格納する1つ以上のハードウェアメモリデバイスを含むことができる。キー変換メモリ410は、1つまたは複数の電気コンポーネント、電子コンポーネント、プログラマブル電子コンポーネント、再プログラマブル電子コンポーネント、集積回路、半導体デバイス、フリップフロップ、演算ユニット等を含むことができる。キー変換メモリ410は、不揮発性メモリデバイス、半導体メモリデバイス、フラッシュメモリデバイス、およびNANDメモリデバイスの少なくとも1つを含むことができる。キー変換メモリ410は、1つ以上の物理メモリアレイ上に配置された1つ以上のアドレス可能メモリ領域を含むことができる。物理メモリアレイは、例えば、特定の半導体デバイス、半導体集積回路装置、およびプリント回路基板デバイスのうちの少なくとも1つ上に配置されるNANDゲートアレイを含むことができる。キー変換メモリ410は、1つ以上のキー変換インデックス430、432、434、436と、1つ以上の物理キーアドレス440、442、444、446とを含むことができる。
【0029】
キー変換インデックス430、432、434、436は、セキュアレジスタメモリ300の仮想キーアドレスへの対応するインデックスを記憶する1つ以上の物理メモリ位置を含むことができる。従って、セキュアレジスタメモリ300は、様々なパーティションレジスタに対応するキー変換インデックス430、432、434、436の様々な範囲を指すことができる。キー変換インデックスは、キー変換メモリの物理メモリアドレスに対応できる。
【0030】
物理キーアドレス440、442、444、446は、キー変換インデックス430、432、434、436のそれぞれのものに対応する物理キーアドレスを記憶する1つ以上の物理メモリ位置を含むことができる。物理キーアドレスは、その特定のアドレスの物理キーメモリのメモリ位置に格納された特定の物理暗号化キーに対するポインタを格納することができる。従って、キー変換インデックス430、432、434、436は、有利には、物理的な暗号化キーの位置、アドレス、または順序に関係なく、任意の物理暗号化キーを、例えば、物理キーメモリ内でアドレス指定することができる。キー変換インデックス430、432、434、436はまた、有利には、任意のキー、複数のキー、または特定のアプリケーションまたはセキュリティ要件のために必要とされるキーを一切取り扱うことができる。一例として、複数の物理キーアドレス440、442、444、446は、同一の物理暗号化キーへのポインタを記憶することができる。別の例として、1つ以上の物理暗号化キーのアドレスは、すべての物理キーアドレス440、442、444、446に存在しない可能性がある。従って、キー変換インデックス430、432、434、436は、物理キーアドレス440、442、444、446との1対1のマッピング対応を有することができるが、これらに限定されない。
【0031】
物理キーメモリセル450、452、454、456は、物理キーアドレス440、442、444、446の各々に対応する暗号化キーを記憶する1つ以上の物理メモリーロケーションを含むことができる。各暗号化キーは、例えば、対称または非対称キーであるか、またはそれらを含むことができ、物理キーメモリ420の対応するセルに格納することができる。一例として、暗号化キーは、AES(Advanced Encryption Standard)暗号化プロトコルなどに対応することができるが、これに限定されない。キーセキュリティエンジンは、物理キーメモリセル450、452、454、456に記憶された暗号化キーを検索することができ、復号化システム100またはそれと動作的に結合された任意の装置またはシステムに関連するフレームまたは通信に関連する1つ以上の暗号化および復号化操作を実行することができる。
【0032】
物理キーメモリ420は、キーセキュリティエンジン400に関連するデータを記憶することができ、1つ以上の物理キーメモリセル450、452、454、456を含むことができる。物理キーメモリ420は、バイナリデータ、デジタルデータなどを格納する1つ以上のハードウェアメモリデバイスを含むことができる。物理キーメモリ420は、1つまたは複数の電気コンポーネント、電子コンポーネント、プログラマブル電子コンポーネント、再プログラマブル電子コンポーネント、集積回路、半導体デバイス、フリップフロップ、演算ユニットなどを含むことができる。物理キーメモリ420は、不揮発性メモリデバイス、半導体メモリデバイス、フラッシュメモリデバイス、およびNANDメモリデバイスの少なくとも1つを含むことができる。物理キーメモリ420は、1つ以上の物理メモリアレイ上に配置された1つ以上のアドレス可能メモリ領域を含むことができる。物理メモリアレイは、例えば、特定の半導体デバイス、半導体集積回路装置、およびプリント回路基板デバイスのうちの少なくとも1つ以上に配置されるNANDゲートアレイを含むことができる。
【0033】
図5は、本実施形態による物理キーアドレスマッピング構造500の一例を示す。
図5の例に示されるように、物理キーアドレスマッピング構造500の例は、キー変換メモリ410、物理キーメモリ420、およびそれらの間のマッピング構造530を含む。
キー変換メモリ410は、1つまたは複数のキー変換アドレスブロック510、512、514、516、518を含むことができ、それぞれがパーティションキーカウントレジスタ320、322、324、326のうちの対応する1つに関連付けられているか、または関連付けられていないものであり、1つまたは複数の物理キーアドレスブロック520、522、524、526、528を含むことができ、それぞれがパーティションキーカウントレジスタ320、322、324、326のうちの対応する1つに関連付けられているか、または関連付けられていないものである。
【0034】
キー変換アドレスブロック510、512、514、516、518は、構造および動作のうちの1つまたは複数において、キー変換インデックス430、432、434、436に対応することができる。一部の実装では、キー変換アドレスブロック510、512、514、516、518は、キー変換インデックス430、432、434、436の1つ以上を含む。キー変換アドレスブロック510は、キーインデックス開始アドレスレジスタ310によって示されるスタートアドレスの前であってもよく、従って、パーティションキーカウントレジスタ320、322、324、326に利用可能な仮想キーのアドレス範囲から除外することができる。キー変換アドレスブロック512、514、516、518は、上述したように、対応するキーカウント数に従って、パーティションキーカウントレジスタ320、322、324、326、328にそれぞれ関連付けることができる。一例として、パーティションキーカウントレジスタ320、322、324、326の仮想キーインデックスのキーカウントは、それぞれ3、2、2、3とすることができる。本実装による実装は、任意の数の仮想キーインデックスを有利にサポートすることができる。
【0035】
物理キーアドレスブロック520、522、524、526、528は、構造および動作のうちの1つまたは複数において、物理キーアドレス440、442、444、446に対応することができる。いくつかの実装では、物理キーアドレスブロック520、522、524、526、528は、物理キーアドレス440、442、444、446の1つ以上を含む。物理キーアドレスブロック520、522、524、526、528は、マッピング構造530間のマッピング構造を、物理キーメモリの1つ以上の物理マッピングアドレスブロック550に識別することができる。キー変換アドレスブロック510、512、514、516、518および物理キーアドレスブロック520、522、524、526、528の各々は、対応するメモリ位置間の直接マッピング相関を提供するために、対応するアドレスを有するそれぞれのメモリアレイを含むことができる。一例として、キー変換アドレスブロック512は、キー変換メモリ410の第1メモリアレイで「0x1000」のメモリアドレスを有することができ、物理キーアドレスブロック522は、キー変換メモリ410の第2のメモリアレイで「0x1000」の対応するメモリアドレスを有することができる。本実施形態は、上述したように、アドレスを共有する複数のメモリアレイに限定されない。
【0036】
マッピング構造530は、物理キーアドレスブロック520、522、524、526、528に基づいて、物理マッピングアドレスブロック540への1つ以上のトラバース可能リンクを含むことができる。各物理キーアドレスブロック520、522、524、526、528は、それぞれのパーティションに基づいてポインタ532、534、536、538として構造化され、動作可能なアドレスを含むことができる。各ポインタ532、534、536、538は、パーティションキーカウントレジスタ320、322、324、326によって第1、第2、第3、および第4のパーティションに関連付けることができる。任意のポインタは、物理キーアドレスブロック520、522、524、526、528の任意のものを指すことができ、物理キーアドレスブロック520、522、524、526、528の任意のものは、それに関連するゼロポインタを含むが、それに限定されない任意の数のポインタを持つことができる。割り当てを指し示す際のこの自由度は、物理キーストレージブロック550に記憶された任意の暗号化キーの使用を有利に提供し、例えば任意のパーティションに関連する任意の仮想マシンまたはアプリケーションに関してキーセキュリティエンジン400によるアクセスに利用可能である。
【0037】
物理マッピングアドレスブロック540は、物理キーアドレス440、442、444、446に対して、1つ以上の構造および動作において対応することができる。一部の実装では、物理マッピングアドレスブロック540は、物理キーアドレス440、442、444、446のうちの1つ以上を含む。物理マッピングアドレスブロック540は、物理キーメモリ420のメモリアレイの物理アドレスに対応することができる。物理キーストレージブロック550は、構造および動作のうちの1つまたは複数において、物理キーメモリセル450、452、454、456に対応することができる。一部の実装では、物理キーストレージブロック550は、物理キーメモリセル450、452、454、456のうちの1つ以上を含む。物理キーストレージブロック550は、物理キーメモリ420のメモリアレイの物理アドレスに対応することができる。物理マッピングアドレスブロック540および物理キーストレージブロック550のそれぞれは、対応するメモリ位置間の直接マッピング相関を提供するために、対応するアドレスを有するそれぞれのメモリアレイを含むことができる。本実施形態は、上述したように、アドレスを共有する複数のメモリアレイに限定されない。
【0038】
図6は、本実施形態による、物理暗号化キーの仮想化および変換によるセキュア復号化方法の一例を示す。一部の実装では、復号化システム100は、本実施形態においてセキュア復号化方法600を実行する。一部の実装では、セキュア復号化方法600はステップ610から始まる。
【0039】
ステップ610で、復号化システムは、1つ以上のパーティションレジスタに対応する1つ以上の仮想キーアドレスを取得する。復号化システムは、パーティションレジスタに関連付けられたパーティションを識別することによって、仮想キーアドレスを取得できる。次に、セキュア復号化方法600はステップ620に進む。
【0040】
ステップ620で、復号化システムは、少なくとも1つのセキュアレジスタから少なくとも1つのキーインデックスアドレスマップを取得する。キーインデックスマップは、暗号化キーエンジン400において、1つ以上の暗号化キーに対応する1つ以上の仮想アドレスを含むことができる。一部の実装では、ステップ620は、ステップ622およびステップ624のうちの少なくとも1つを含む。ステップ622では、復号化システムは、キー変換メモリ410に対応する少なくとも1つの開始アドレスを取得する。ステップ624では、復号化システムは、少なくとも1つのパーティションレジスタに対応する少なくとも1つのパーティションキーカウントを取得する。復号化システムは、たとえば、特定のパーティションまたはパーティションレジスタに関連付けられた仮想マシンなどから発信された復号化の要求に応答して、パーティションキーカウントを取得することができる。次に、セキュア復号化方法600はステップ630に進む。
【0041】
ステップ630では、復号化システムは、少なくとも1つのキーアドレス変換インデックスを生成する。キーアドレス変換インデックスは、復号化要求に含まれる特定の暗号化キーに対応する特定の仮想アドレスを示すことができる。復号化要求は、特定のパーティションに関連するフレーム、通信などを識別することに応答して、キーセキュリティエンジン400または暗号化エンジン120から発信することができる。フレームを発信する仮想マシンはパーティションに関連付けることができ、特定のパーティションまたは仮想マシンを識別するフレームの受信は復号化要求をトリガーとすることができる。一部の実装では、ステップ630は、ステップ632およびステップ634のうちの少なくとも1つを含む。ステップ632では、復号化システムは、少なくとも1つのキーインデックスレジスタ開始アドレスから少なくとも1つのオフセットを生成する。オフセットは、パーティションオフセットを生成する要求に関連するパーティションに先行するすべてのパーティションのオフセットを加算し、仮想キーアドレスを生成するために、パーティションレジスタの仮想キーインデックスから要求された仮想キーのインデックス番号をパーティションオフセットに加算することによって、キーセキュリティエンジン400によって生成することができる。ステップ634では、復号化システムは、開始アドレスとパーティションキーカウントに基づいて、少なくとも1つの仮想アドレスブロックを生成する。仮想アドレスブロックには、パーティションの仮想キーインデックスに対応する仮想アドレスの範囲全体を含めることができる。一例として、仮想アドレスブロックは、仮想キーアドレスから始まり、パーティションに関連するキーの数に対応する仮想キーアドレスへのオフセットで終わることができる。次に、セキュア復号化方法600はステップ640に進む。
【0042】
ステップ640では、例示の復号化システムは、キーアドレス変換インデックスと仮想キーアドレスから少なくとも1つの物理マッピングアドレスを取得する。復号化システムは、前述のように、キー変換メモリのメモリ位置におけるアドレスを得ることによって、物理マッピングアドレスを取得することができる。一部の実装では、ステップ640は、ステップ642を含む。ステップ642では、例示のシステムは、物理キーメモリの物理マッピングアドレスを指す物理マッピングアドレスを取得する。物理マッピングアドレスは、ポインタ532、534、536、538の間のポインタに対応することができる。次に、セキュア復号化方法600はステップ650に進む。
【0043】
ステップ650では、例示のシステムは、物理マッピングアドレスに記憶された少なくとも1つの物理暗号化キーを検索する。キーセキュリティエンジン400は、取得された物理マッピングアドレスに対応する物理キーストレージブロック550のうち、物理キーストレージブロックから1つの物理暗号化キーを取得することができる。一部の実装では、ステップ650は、ステップ652を含む。ステップ652では、例示のシステムは、物理マッピングアドレスに対応する物理暗号化キーを検索する。物理暗号化キーは、AES暗号化キー、AES暗号プロトコルに従った復号化キー等を含むことができる。次に、セキュア復号化方法600はステップ660に進む。
【0044】
ステップ660では、例示のシステムは、取得された物理暗号化キーによって、元の要求に関連付けられたパーティションまたはパーティションレジスタに対応するフレームを復号化する。暗号化エンジン120は、特定のパーティションに関連付けられた任意の通信の任意の部分を復号化することができ、特定のパーティションに関連付けられた仮想マシンから発信されたフレームを復号化することに限定されない。暗号化エンジン120は、キーセキュリティエンジン400内に統合されて、キーセキュリティエンジン400の安全な境界内で暗号化および復号化操作を有利に提供することができる。いくつかの実装形態では、セキュア復号化方法600は、ステップ660で終了する。
【0045】
本明細書で説明される主題は、異なる他の成分内に含まれるか、または異なる他の成分と接続された異なる構成要素を示すことがある。このように描かれたアーキテクチャは例示的なものであり、実際には、同じ機能を実現する多くの他のアーキテクチャを実装できることが理解されるべきである。概念的な意味では、同じ機能性を達成するための部品の任意の配置は、所望の機能性が達成されるように、効果的に「関連付けられる」。従って、特定の機能を達成するために本明細書で組み合わされる任意の2つの構成要素は、アーキテクチャまたは中間構成要素に関係なく、所望の機能が達成されるように、互いに「関連付けられる」と見なすことができる。同様に、そのように関連付けられた任意の2つの構成要素は、所望の機能を達成するために互いに「動作可能に接続されている」または「動作可能に結合されている」と見なすこともでき、そのように関連付けられることができる任意の2つの構成要素は、所望の機能を達成するために互いに「動作可能に結合可能である」と見なすこともできる。動作可能に結合可能な特定の例には、物理的に結合可能および/または物理的に相互作用する構成要素、および/または無線で相互作用可能および/または無線で相互作用する構成要素、および/または論理的に相互作用可能および/または論理的に相互作用可能な構成要素が含まれるが、これらに限定されない。
【0046】
本明細書における複数および/または単数の用語の使用に関して、当業者は、文脈および/または用途に適切であるように、複数から単数へ、および/または単数から複数へと翻訳することができる。種々単数/複数の置換は、明確にするために、本明細書に明確に記載されてもよい。
【0047】
当業者であれば、一般に、本明細書で使用される項、特に添付の特許請求の範囲(例えば、添付の特許請求の範囲の本体)は、一般に、「開いた」項として意図されることを理解するであろう(例えば、「含む」という項は、「含むがこれに限定されない」と解釈されるべきであり、「有する」という項は、「少なくとも有する」と解釈されるべきであり、「含む」という項は、「含むがこれに限定されない」などと解釈されるべきである)。
【0048】
図および説明は、方法におけるステップは特定の順序を示すことができるが、このようなステップの順序は、上で異なるように指定されない限り、示され、説明されるものとは異なることができる。また、2以上の工程は、上記で異なるように指定されない限り、同時に、または部分的に同時に実行されてもよい。このような変形例は、例えば、選択されたソフトウェア及びハードウェアシステム、並びに設計者の選択に依存し得る。すべてのこのような変形は、本開示の範囲内である。同様に、記述された方法のソフトウェア実装は、様々な接続ステップ、処理工程、比較ステップ、および決定ステップを達成するために、ルールベースの論理および他の論理をもつ標準プログラミング技術によって達成することができる。
【0049】
特定の数の導入されたクレームの列挙が意図される場合、そのような意図はクレームに明示的に列挙され、そのような列挙がない場合、そのような意図は存在しないことが、当業者によってさらに理解されるであろう。例えば、理解を助けるために、以下の添付の特許請求の範囲は、特許請求の範囲の記載を導入するために、「少なくとも1つ」および「1つまたは複数」という導入語句の使用を含むことができる。さらに、たとえ導入された請求項列挙の特定の数が明示的に列挙されたとしても、当業者は、そのような列挙が、典型的には、少なくとも列挙された数を意味すると解釈されるべきであることを認識するであろう(例えば、他の修飾語なしの「2つの列挙」の裸の列挙は、典型的には、少なくとも2つの列挙、または2つ以上の列挙を意味する)。
【0050】
さらに、「A、B、およびCなどのうちの少なくとも1つ」に類似する規約が使用される場合、一般に、そのような構造は、当業者がその規約を理解することを意図する(例えば、「A、B、およびCのうちの少なくとも1つを有するシステム」は、A単独、B単独、C単独、AおよびB単独、AおよびB単独、AおよびC単独、AおよびC単独、BおよびC単独、ならびに/またはA、BおよびC単独などを有するシステムを含むが、それらに限定されない)。「A、B、またはCなどのうちの少なくとも1つ」に類似する規約が使用される場合、一般に、そのような構造は、当業者がその規約を理解するであろうという意味で意図される(例えば、「A、B、またはCのうちの少なくとも1つを有するシステム」は、A単独、B単独、C単独、AおよびB同士、AおよびC同士、BおよびC同士、および/またはA、BおよびC同士などを有するシステムを含むが、それらに限定されない)。さらに、説明、特許請求の範囲、または図面のいずれかにおいて、2つ以上の代替用語を提示する実質的に任意の離接的な単語および/または句は、用語のうちの1つ、用語のうちのいずれか、または用語の両方を含む可能性を企図すると理解されるべきであることが、当業者によってさらに理解されるであろう。例えば、語句「AまたはB」は、「A」または「B」または「AおよびB」の可能性を含むと理解される。
【0051】
さらに、特に断らない限り、「おおよそ」、「約」、「略」、「実質的に」などの用語の使用は、プラスまたはマイナス10パーセントを意味する。
【0052】
例示的な実施形態の前述の説明は、例示および説明の目的で提示されている。これは、開示された正確な形態に関して網羅的または限定的であることを意図するものではなく、上記の教示に照らして修正および変形が可能であり、または開示された実装の実施から獲得され得る。本発明の範囲は、添付の特許請求の範囲およびその均等物によって定義されることが意図される。
【符号の説明】
【0053】
100 復号化システム
102 システムプロセッサ
110 ルーティングエンジン
120 暗号化エンジン
130 フレームマネージャ
140 プロトコルエンジン
200 パーティションレジスタメモリ
202、204、206、208 パーティションレジスタ
210 送信レジスタ(TX0)
220 データ長
222 優先順位
226 ラベル
230 仮想キーインデックス
240 受信レジスタ(RX0)
300 セキュアレジスタメモリ
310 キーインデックス開始アドレス
320、322、324、326 パーティションキーカウントレジスタ
400 キーセキュリティエンジン
410 キー変換メモリ
420 物理キーメモリ
430、432、434、436 変換インデックス
440、442、444、446 物理キーアドレス
450、452、454、456 暗号化キー
500 物理キーアドレスマッピング構造
510、512、514、516、518 キー変換アドレスブロック
520、522、524、526、528 物理キーアドレスブロック
530 マッピング構造
532、534、536、538 ポインタ