(57)【要約】  ここに記載されている複数のシングルレベルセキュリティ（ＭＳＬＳ）ドメイン用の装置及び方法は、セキュアカーネルハイパーバイザ（ＳＫＨ）を含むが、これに限定されない。ＳＫＨは、ＭＳＬＳドメインをホストするように単一のマルチテナントクラウドを構成する。クラウドオーケストレーションシステム（ＣＯＳ）は、ＭＳＬＳドメインに対し複数の個別の仮想ワークパッケージ（ＶＷＰ）をセットアップするよう単一のマルチテナントクラウドを構成する。キーマネジメントシステム（ＫＭＳ）は、ＭＳＬＳドメインに関連付けられたセキュリティオブジェクトを管理するように構成されている。【選択図】図１
2020506494.tif 000002
【特許請求の範囲】
【請求項１】
複数のシングルレベルセキュリティ（ＭＳＬＳ）ドメイン用のセキュリティシステムであって、
前記ＭＳＬＳドメインをホストするように単一のマルチテナントクラウドを構成するセキュアカーネルハイパーバイザ（ＳＫＨ）と、
前記ＭＳＬＳドメインに対し複数の個別の仮想ワークパッケージ（ＶＷＰ）をセットアップするように、前記単一のマルチテナントクラウドを構成するクラウドオーケストレーションシステム（ＣＯＳ）と、
前記ＭＳＬＳドメインと関連するセキュリティオブジェクトを管理するように構成されたキーマネジメントシステム（ＫＭＳ）と、
を含む
セキュリティシステム。
【請求項２】
前記ＳＫＨは、分離カーネルと、ハイパーバイザと、を含む、
請求項１記載のセキュリティシステム。
【請求項３】
前記分離カーネルは、ＡＰＩ、割り込み、及び、入力／出力ポートを有しないカーネルである、
請求項２に記載のセキュリティシステム。
【請求項４】
前記分離カーネルは、インストール後にインストールされた構成を変更する機能を備えずにインストール時に構成されている、
請求項２に記載のセキュリティシステム。
【請求項５】
前記ハイパーバイザは、
複数の異なるオペレーティングシステム又はアプリケーションを実行するため前記単一のマルチテナントクラウドのハードウェアを仮想化することにより、前記ＭＳＬＳドメインをホストするように前記単一のマルチテナントクラウドを構成し、
前記複数の異なるオペレーティングシステム又はアプリケーションのそれぞれが、前記ＭＳＬＳドメインの１つに対応する、
請求項２に記載のセキュリティシステム。
【請求項６】
前記ＣＯＳは、前記ＭＳＬＳドメインに、動的にリソースを割り当て又は割り当て解除し、
前記リソースは、１又は２以上の処理リソース、ネットワークリソース、ストレージリソース、前記単一のマルチテナントクラウドの周辺機器を含む、
請求項１に記載のセキュリティシステム。
【請求項７】
前記ＣＯＳは、ＶＷＰスロットを割り当てる、
請求項１に記載のセキュリティシステム。
【請求項８】
各前記ＶＷＰスロットは、１又は２以上の仮想マシン又は特殊なアプリケーションをサポートする、
請求項１に記載のセキュリティシステム。
【請求項９】
前記ＫＭＳは、ＶＷＰの生成に応答して前記セキュリティオブジェクトを決定することにより、前記ＭＳＬＳドメインに関連付けられた前記セキュリティオブジェクトを管理する、
請求項１に記載のセキュリティシステム。
【請求項１０】
前記ＣＯＳは、ＶＷＰに割り当てられたリソースと前記ＶＷＰに関連付けられたセキュリティオブジェクトを無効にすることにより、前記ＶＷＰを破棄するようにさらに構成されている、
請求項１に記載のセキュリティシステム。
【請求項１１】
前記ＫＭＳは、固有のセキュリティオブジェクトを用いて、各ドメイン内のネットワークトラフィックを暗号化する、
請求項１に記載のセキュリティシステム。
【請求項１２】
複数のシングルレベルセキュリティ（ＭＳＬＳ）ドメインをホストするように単一のマルチテナントクラウドを構成すること、
前記ＭＳＬＳドメインに対し複数の個別の仮想ワークパッケージ（ＶＷＰ）をセットアップするよう前記単一のマルチテナントクラウドを構成すること、及び、
前記ＭＳＬＳドメインに関連するセキュリティオブジェクトを管理すること
を含む、
方法。
【請求項１３】
前記ＭＳＬＳドメインに対し複数の個別のＶＷＰをセットアップするよう前記単一のマルチテナントクラウドを構成することは、前記ＭＳＬＳに動的に前記リソースを割り当てること又は割り当て解除することを含み、
前記リソースは、１又は２以上の処理リソース、ネットワークリソース、ストレージリソース、前記単一のマルチテナントクラウドの周辺機器を含む、
請求項１２に記載の方法。
【請求項１４】
前記ＭＳＬＳドメインに対し前記複数の個別のＶＷＰをセットアップするように前記単一のマルチテナントクラウドを構成することは、ＶＷＰスロットを割り当てることを含む、
請求項１２に記載の方法。
【請求項１５】
各前記ＶＷＰスロットは、１又は２以上の仮想マシン又は特殊なアプリケーションをサポートする、
請求項１２に記載の方法。
【請求項１６】
前記ＭＳＬＳドメインに関連する前記セキュリティオブジェクトを管理することは、ＶＷＰの生成に応答して前記セキュリティオブジェクトを決定することを含む、
請求項１２に記載の方法。
【請求項１７】
前記ＭＳＬＳドメインに対し前記複数の個別のＶＷＰをセットアップするよう前記単一のマルチテナントクラウドを構成することは、ＶＷＰに割り当てられたリソースと前記ＶＷＰに関連付けられたセキュリティオブジェクトを無効にすることにより、前記ＶＷＰを破棄することを含む、
請求項１２に記載の方法。
【請求項１８】
前記ＭＳＬＳドメインに関連付けられたセキュリティオブジェクトを管理することは、固有のセキュリティオブジェクトを用いて、各ドメイン内のネットワークトラフィックを暗号化することを含む、
請求項１２に記載の方法。
【請求項１９】
複数のシングルレベルセキュリティ（ＭＳＬＳ）ドメイン用のセキュリティシステムであって、
前記ＭＳＬＳドメインをホストするように単一のマルチテナントクラウドを構成する手段と、
前記ＭＳＬＳドメインに対し複数の個別のワークパッケージ（ＶＷＰ）をセットアップするよう前記単一のマルチテナントクラウドを構成する手段と、
前記ＭＳＬＳドメインに関連付けられたセキュリティオブジェクトを管理するように構成された手段と、
を含む、
セキュリティシステム。
【請求項２０】
実行されると１又は２以上のプロセッサに、
複数のシンブルレベルセキュリティ（ＭＳＬＳ）ドメインをホストするように単一のマルチテナントクラウドを構成させ、
前記ＭＳＬＳドメインに対し複数の個別の仮想ワークパッケージ（ＶＷＰ）をセットアップするよう前記単一のマルチテナントクラウドを構成させ、及び、
前記ＭＳＬＳドメインに関連付けられたセキュリティオブジェクトを管理させる、
プロセッサ可読命令を含む
非一時的なプロセッサ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
［関連特許出願の相互参照］
この出願は、２０１７年１月２６日に出願された米国仮特許出願第６２／４５０，９８４号の優先権を主張し、その全体が参照により本明細書に組み込まれる。
【背景技術】
【０００２】
単一のハードウェアプラットホームは、単一のオペレーティングシステム（ＯＳ）及びアプリケーションのローカルセットのみを物理的にホストすることができる。プロセッサの仮想化により、単一のハードウェアプラットホームを細分化して仮想マシン（ＶＭ）を提供することができる。各ＶＭは、スタンドアローンコンピュータとして出現するように設定することができる。各ＶＭは、ＶＭをサポートする単一のハードウェアプラットホームによって利用可能になるコンピューティング、ストレージ、及びネットワーキングリソースの制限内で一連のアプリケーションを実行することができる。
【０００３】
一般的に、これらのＶＭのセキュリティは、ターゲットの仮想化システムにより使用されるＯＳとネットワークで利用可能なセキュリティに制限されている。これは、ＯＳに見られるすべての最高のセキュリティ手段を用いても、重大な脆弱性が依然として存在することを意味する。
【０００４】
従来のＯＳは、何百万行というコード、何千というアプリケーションプログラムインターフェース（ＡＰＩ）、及び、何千という割り込みと入出力ポートを有している。これらの属性は、サイバー攻撃者、侵入者、マルウェア、ワームおよびウイルスに多数の攻撃面をもたらす。その結果、これらのＯＳの上に構築された安全なシステムは、常に複数の攻撃と脅威に直面する。
【発明の概要】
【０００５】
いくつかの例では、複数のシングルレベルセキュリティ（ＭＳＬＳ）ドメイン用のセキュリティシステムは、セキュアカーネルハイパーバイザ（ＳＫＨ）を含む。ＳＫＨは、ＭＳＬＳドメインをホストするように単一のマルチテナントクラウドを構成する。セキュリティシステムは、クラウドオーケストレーションシステム（ＣＯＳ）をさらに含む。ＣＯＳは、ＭＳＬＳドメイン用に複数の個別の仮想ワークパッケージ（ＶＷＰ）をセットアップするために単一のマルチテナントクラウドを構成する。セキュリティシステムは、キーマネジメントシステム（ＫＭＳ）を含む。ＫＭＳは、ＭＳＬＳドメインに関連付けられているセキュリティオブジェクトを管理するように構成されている。
【０００６】
いくつかの例では、ＳＫＨは、分離カーネルとハイパーバイザとを含む。
【０００７】
いくつかの例では、分離カーネルは、ＡＰＩ、割り込み、及び、入力／出力ポートを有しないカーネルである。
【０００８】
いくつかの例では、分離カーネルは、インストール後にインストールされた構成を変更できないようにインストール時に構成されている。
【０００９】
いくつかの例では、ハイパーバイザは、複数の異なるＯＳ又はアプリケーションを実行するため単一のマルチテナントクラウドのハードウェアを仮想化することにより、ＭＳＬＳドメインをホストするように単一のマルチテナントクラウドを構成し、複数の異なるＯＳ又はアプリケーションのそれぞれは、ＭＳＬＳドメインの１つに対応する。
【００１０】
いくつかの例では、ＣＯＳは、ＭＳＬＳドメインに、動的にリソースを割り当て又は割り当て解除する。リソースは、１又は２以上の処理リソース、ネットワークリソース、ストレージリソース、単一のマルチテナントクラウドの周辺機器を含む。
【００１１】
いくつかの例では、ＣＯＳは、ＶＷＰスロットを割り当てる。
【００１２】
いくつかの例では、各ＶＷＰスロットは、１又は２以上の仮想マシン又は特殊なアプリケーションをサポートする。
【００１３】
いくつかの例では、ＫＭＳは、作成されているＶＷＰに応答してセキュリティオブジェクトを決定することにより、ＭＳＬＳドメインに関連するセキュリティオブジェクトを管理する。
【００１４】
いくつかの例では、ＣＯＳは、さらに、ＶＷＰに割り当てられたリソースとＶＷＰに関連付けられたセキュリティオブジェクトを無効にすることにより、ＶＷＰを破棄するように構成されている。
【００１５】
いくつかの例では、ＫＭＳは、固有のセキュリティオブジェクトを用いて、各ドメイン内のネットワークトラフィックを暗号化する。
【００１６】
様々な例では、方法は、ＭＳＬＳドメインをホストするように単一のマルチテナントクラウドを構成すること、ＭＳＬＳドメインに対し複数の個別のＶＷＰをセットアップするために単一のマルチテナントクラウドを構成すること、及び、ＭＳＬＳドメインに関連するセキュリティオブジェクトを管理することを含む。
【００１７】
いくつかの例では、ＭＳＬＳドメインのために複数の個別のＶＷＰをセットアップするように単一のマルチテナントクラウドを構成することは、ＭＳＬＳドメインに動的にリソースを割り当てること又は割り当て解除することを含む。リソースは、１又は２以上の処理リソース、ネットワークリソース、ストレージリソース、単一のマルチテナントクラウドの周辺機器を含む。
【００１８】
いくつかの例では、複数の個別のＶＷＰをセットアップするように単一のマルチテナントクラウドを構成することは、ＶＷＰスロットを割り当てることを含む。
【００１９】
いくつかの例では、各ＶＷＰスロット、１又は２以上の仮想マシン又は特殊アプリケーションをサポートする。
【００２０】
いくつかの例では、ＭＳＬＳドメインに関連するセキュリティオブジェクトを管理することは、作成されているＶＷＰに応答してセキュリティオブジェクトを決定することを含む。
【００２１】
いくつかの例では、ＭＳＬＳドメインに対して複数の個別のＶＷＰをセットアップするよう単一のマルチテナントクラウドを構成することは、ＶＷＰに割り当てられたリソースとＶＷＰに関連付けられたセキュリティオブジェクトを無効にすることにより、ＶＷＰを破棄することを含む。
【００２２】
いくつかの例では、ＭＳＬＳドメインに関連付けられたセキュリティオブジェクトを管理することは、固有のセキュリティオブジェクトを用いて、各ドメイン内のネットワークトラフィックを暗号化することを含む。
【００２３】
様々な例によれば、ＭＳＬＳドメイン用のセキュリティシステムは、ＭＳＬＳドメインをホストするように単一部のマルチテナントクラウドを構成する手段、ＭＳＬＳドメインに対し複数の個別のＶＷＰをセットアップするように単一のマルチテナントクラウドを構成する手段、及びＭＳＬＳドメインに関連付けられたセキュリティオブジェクトを管理するように構成された手段を含む。
【００２４】
様々な例では、非一時的プロセッサ可読媒体は、実行されると、１又は２以上のプロセッサに、ＭＳＬＳドメインに対し複数の個別のＶＷＰをセットアップするよう単一のマルチテナントクラウドを構成し、ＭＳＬＳドメインに関連付けられたセキュリティオブジェクトを管理することにより、ＭＳＬＳドメインをホストするための単一のマルチテナントクラウドを構成させるプロセッサ可読命令を含む。
【００２５】
ここに組み込まれてこの明細書の一部を構成する添付の図面は、本開示の例示的な実施形態を示し、上記の一般的な説明と下記の詳細な説明とともに、様々な実施形態の特徴を説明するのに役立つ。
【図面の簡単な説明】
【００２６】
【図１】図１は、いくつかの例によるハードウェアの単一スタック上のＭＳＬＳを示す図である。
【図２】図２は、いくつかの例による単一ドメインに対するＶＭＰアーキテクチャを示す図である。
【図３】図３は、いくつかの例によるタイプ１のハイパーバイザを示す図である。
【図４】図４は、いくつかの例によるタイプ２のハイパーバイザを示す図である。
【図５】図５は、いくつかの例によるクラウド（分離カーネル）ホストを示す図である。
【図６】図６は、いくつかの例によるマルチドメインクラウドを示す図である。
【図７】図７は、いくつかの例によるガードを介したドメイン間ネットワークトラフィックを示す図である。
【図８】図８は、いくつかの例によるマルチドメインクラウドトラストパスを示す図である。
【図９】図９は、いくつかの例によるマルチドメインクラウドトラストエージェントＶＭＰ生成過程を示す図である。
【発明を実施するための形態】
【００２７】
様々な例が添付の図面を参照して詳細に説明される。可能な限り、同じ又は類似の部分を指すために図面全体を通して同じ参照番号が使用されうる。異なる参照番号は、異なる、同じ又は類似の部分を指すために使用されうる。特定の例および実施に対する参照は例示の目的のためであり、本開示又は特許請求の範囲を限定することを意図するものではない。
【００２８】
ここに表された例は、ＳＫＨ、ＫＭＳ、及びＣＯＳの実施に基づいたソフトウェアプリケーションの方法と装置に関連する。いくつかの例では、ＳＫＨは、クラウドオーケストレーションシステムが本明細書で説明されるＭＳＬＳを有効にすることを可能にするためにスタック上で実行することができる。これにより、マルチテナントクラウド環境下の複数のドメインが、個別の単一レベルのドメインで動作している仮想ネットワークを用いて、個別のＶＭ間の情報漏洩のリスクを回避して使用可能になる。
【００２９】
実施は、機密扱いを受けていない、極秘、機密及びそれらのバリエーションなどのハードウェアの単一のスタック内の異なるセキュリティドメインがマルチテナントクラウド内で安全かつしっかりと動作することを可能にする政府クラウドシステムにおけるアプリケーションを含みうるが、これに限定されない。用途には、また、医療及びヘルスケア環境を保護することを含まれうる。その環境において、いくつかの情報は、医療保険の携行性と責任に関する法律（ＨＩＰＡＡ）に準拠したクラウドシステム内のドメインにおいて、保護される必要がある。一方、他の情報は、クラウドシステム内の、よりアクセスしやすいが、まだ適切に保護されたドメインで保存される。他の用途は、法的情報、企業秘密、モノのインターネット（ＩｏＴ）デバイスなどの保護を含みうる。本明細書に記載されている技術的解決策は、情報の別々のドメイン間のクラウド環境における具体的な分離の提供を可能にする。
【００３０】
図１は、単一のハードウェアスタック上のＭＳＬＳの例を示す図である。図１は、ＭＳＬＳに対応するクラウド環境１００を示す。クラウド環境は、ＶＭ（例えば、少なくともＶＭ１３０ａ〜１３０ｃ）をサポートするデータセンターラック１０２に関連付けられたコンピュータ、ストレージ、ネットワーキング機能を使用する。伝統的に、別々のドメインを実行することは、各ドメインに対して別々のコンピュータハードウェア、ネットワーク、及びストレージスタックを必要とするが、ＭＳＬＳは、単一のハードウェア（例えば、データセンターラック１０２）スタックが複数の独立した安全性及びセキュリティレベル（ＭＩＬＳ）を使ってＭＳＬＳを実行可能にするソフトウェアアプローチに対応する。ＭＩＬＳは、分離カーネルに基づいて設定することができる。分離カーネルは、リアルタイムカーネル、ごくわずかな行のコード、制限された又は全くないＡＰＩ、メモリアドレス以外の制限された又は全くないＩ／Ｏアドレスを使用し、インストール後に全く変更できない特殊なＯＳである。いくつかの実施形態では、分離カーネルはまた、ＶＭを提供するためにハイパーバイザとして動作する。それゆえ、分離カーネルとハイパーバイザとの組み合わせは、本明細書では、分離カーネルハイパーバイザと呼ぶことができる。
【００３１】
データセンターラック１０は、複数のレベルを含むように示されており、そのうちの１つがレベル１０６である。このレベル１０６は、データセンターラック１０２のラックレベル１０４によってサポートされている。ラックレベル１０４は、ＣＰＵ、ＧＰＵ、高処理能力を提供する同様な物のようなハードウェアを参照する。レベル１０６は、分離カーネルにより使用可能になった複数のＭＩＬＳセパレーション１０８、１１０、１１２をサポートする。データセンターラック１０２は、パーティション１０８〜１１２に対応するスロットを含む。示されるように、パーティション１０８は、ＶＭ１３０ａのための暗号化を可能にし管理する。パーティション１１０は、ＶＭ１３０ｂのための暗号化を可能にし管理する。パーティション１１２は、ＶＭ１３０ｃのための暗号化を可能にし管理する。
【００３２】
いくつかの実施形態では、クラウド環境１００は、仮想ローカルエリアネットワーク（ｖＬＡＮ）を介して仮想ルータ（ｖルータ）に接続されたＶＭを含む。ｖルータは、実質的にＩＰトラフィックをルーティングすることができる。例えば、ＶＭ１２０ａ、１３０ａは、ｖＬＡＮ１２２ａを介してｖルータ１２４ａと接続されている。ｖＬＡＮ１２２ａを介したＶＭ１２０ａ、１３０ａ間の通信の暗号化は、パーティション１０８によって管理することができる。言い換えると、パーティション１０８は、ＶＭ１２０ａ、１３０ａ、ｖルータ１２４ａに対する暗号化を管理することができる。さらに示されるように、ＶＭ１２０ｂ、１３０ｂは、ｖＬＡＮ１２２ｂを介してｖルータ１２４ｂと接続されている。ｖＬＡＮ１２２ｂを介したＶＭ１２０ｂ、１３０ｂ間の通信の暗号化は、パーティション１１０によって管理することができる。言い換えると、パーティション１０８は、ＶＭ１２０ｂ、１３０ｂ、ｖルータ１２４ｂに対する暗号化を管理することができる。ＶＭ１２０ｃ、１３０ｃは、ｖＬＡＮ１２２ｃを介してｖルータ１２４ｃと接続されている。ｖＬＡＮ１２２ｃを介したＶＭ１２０ｃ、１３０ｃ間の通信の暗号化は、パーティション１１２によって管理することができる。言い換えると、パーティション１１２は、ＶＭ１２０ｃ、１３０ｃ、ｖルータ１２４ｃに対する暗号化を管理することができる。
【００３３】
示されるように、ｖルータは、ＶＭ１２０ａ〜１２０ｃ及びＶＭ１３０ａ〜１３０ｃから生じたデータを交換するために接続されてもよい。例えば、ｖルータ１２４ａ、１２４ｂは、ソフトウェア定義（ＳＤ）ガード１２６を介して接続されうる。ＳＤガード１２６は、パーティション１０８、１１２の両方によって提供される暗号化の詳細についての情報を有する。ＳＤガードは、潜在的に悪意のあるトラフィックをリダイレクトし、トラフィックフローとタイムアウトを調整することができる。同様に、ｖルータ１２４ｂ、１２４ｃは、ＳＤガード１２８を介して接続されうる。ＳＤガード１２８は、パーティション１１０、１１２の両方によって提供される暗号化の詳細についての情報を有する。さらに、ｖルータ１２４ａ、１２４ｃは、ＳＤガード１３０を介して接続されうる。ＳＤガード１３０は、パーティション１０８、１１２の両方によって提供された暗号化の詳細についての情報を有する。
【００３４】
ｖルータ１２４ａ〜１２４ｃは、動作可能なようにＳＤネットワーク（ＳＤＮ）スイッチバックボーン１３２と結合されうる。ＳＤＮスイッチバックボーン１３２は、クラウド環境１００と、公共のネットワーク又はワイドエリアネットワーク（ＷＡＮ）のような他のネットワークとの間のＩＰトラフィックをルーティングするためにゲートウェイ１３４と動作可能に結合される。
【００３５】
ゲートウェイ１３４とＳＤＮスイッチバックボーン１３２との間の接続は、管理サーバ１３６、ストレージデータベース１３８、及びキーオーケストレーションサーバ１４０によって監視されうる。いくつかの構成では、管理サーバ１３６は、図８に示すＣＯＳに対応する。ストレージデータベース１３８は、図８に示すストレージデータベース８５０に対応する。管理サーバ１３６は、図８に示すセキュリティポリシーマネージャ８４０に対応する。
【００３６】
本開示は、ＭＩＬＳアプローチを利用する。このＭＩＬＳアプローチは、単一のマルチテナントクラウドが複数の単一レベルのセキュリティドメインをホストするように、ハイパーバイザを加えて分離カーネル（本明細書ではまとめて分離カーネルハイパーバイザと称する）を用いる。分離カーネルハイパーバイザは、示されるようにコンピューティング、ネットワーク、及びストレージハードウェアのひとつのセット上ですべて作動し、単一のセキュリティドメインで動作する複数の個別のＶＷＰを、単一のクラウド環境にセットアップさせるように、ＣＯＳ内に統合される。ＣＯＳは、限定はしないが、「Ａｐａｃｈｅ  Ｃｌｏｕｄ  Ｓｔａｃｋ」又はクラウドマネジメントソフトウェアの他の同様なシステムである。この統合は、すべて、ネットワーク、ストレージ、ＭＳＬＳ環境に対して必要とされるその他の暗号化をセキュアにするために必要な複数の暗号化キーと他のセキュリティオブジェクトを管理することのできるＳＫＨ技術とＫＭＳ技術の可用性によって実用的に実現されている。
【００３７】
図２は、いくつかの例による単一ドメインに対するＶＷＰアーキテクチャ２００を示す図である。図１、２を参照すると、ＭＳＬＳクラウドアプローチは、そのＭＳＬＳ環境を構築するため、複数のＶＷＰ（それぞれＶＷＰ２１０でありうる）を実装する。ＶＷＰ２１０は、１又は２以上のクライアントＶＭ、キーマネジメントコーディネータ（又はクライアント）２１４、ディスク暗号化ドライバ２１８、及びネットワーク暗号化ドライバ２１６を含む。キーマネジメントコーディネータ２１４は、ＫＭＳ２２４と接続し、ＫＭＳ２２４とＶＷＰ２１０との間のインターフェースの役割を果たす。ディスク暗号化ドライバ２１８は、ディスク（例えばネットワークストレージ２２０）に保存されているコンテンツを暗号化する。そのコンテンツは暗号され得、また、例えばＶＭ画像およびデータドライブを含みうる。ネットワーク暗号化ドライバ２１６は、限定されないがインターネットプロトコルセキュリティ及びＩＰＳｅｃのような適切なプロトコルを介してネットワーク２２２を伝って送信されているコンテンツを暗号化する。
【００３８】
分離カーネルは、数万行のコードのみを有し、ＡＰＩ、割り込み、及び入出力ポートのないＯＳである。本質的に、分離カーネルは、攻撃面を提示しない。分離カーネルに存在しうる脆弱性は、評価され、排除され、又は少なくとも軽減することができる。分離カーネルは、インストール時に構成される。メモリアドレッシングを含むリソースは、その時点で設定することができる。そのようなアプローチは、ハードウェアを別々の物理的な対象に分割するためのＣＰＵ内蔵のハードウェア仮想化機能を使って、コンピュータのハードウェアを物理的に細かく分割する。
【００３９】
ハイパーバイザの追加は、ハードウェアを複数の異なるＯＳ又はアプリケーションを実行する（遂行する）ために仮想化しうることを意味している。本明細書に記載のいくつかの例は、スケジューラが完全にプログラム可能なリアルタイムＯＳである分離カーネルに基づく。
【００４０】
ＣＯＳは、クラウドのコンピューティング、ストレージ、及びネットワークコンポーネントを管理する手段を提供することができる。ＣＯＳは、各クラウド又は各クラウドアプリケーションが必要とする時期とリソースの量を動的に決定するアルゴリズムを使用できる。そのリソースの例は、処理リソース、ネットワークリソース、ストレージリソース、その他周辺のコンピューティングリソースを含むが、これらに限定されない。ＣＯＳがサポートするアプリケーションの動的に変化するリソースニーズをＣＯＳが評価すると、ＣＯＳは自動的に融通の利く方法でリソースを割り当て又は割り当て解除する。従来、これらのシステムは、単一のドメイン内のＶＭを使用して、単一レベルのセキュリティ（すなわち、単一ドメイン又は単一のパーティション）内のリソースを供与し管理する概念をサポートするだけである。
【００４１】
ＣＯＳは、ハイパーバイザ又は仮想マシンモニタと呼ばれるコンポーネントを使用してコンピューティング、ネットワーク、及びストレージのリソースを割り当てる。ほとんどの従来のＣＯＳとこれに関連するハイパーバイザは、前述の脆弱性を有するＭｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ又はＬｉｎｕｘ上に構築される。
【００４２】
ほとんどのハイパーバイザは、図３及び図４に示すように、タイプ１かタイプ２のどちらかに分類される。タイプ１のハイパーバイザの例（例えば、ハイパーバイザ３２０）は、図３に示される。ハイパーバイザ３２０は、ネイティブに（直接に）コンピュータハードウェア３１０にインストールされる。ハイパーバイザ３２０は、ＯＳ３３２、３３４、３３６に対してリソースを割り当てることができる。ハイパーバイザ３２０は、ＯＳ（例えば、Ｍｉｃｒｏｓｏｆｔ  ＷｉｎｄｏｗｓおよびＬｉｎｕｘ）の実装上に構築することができる。その実装の例は、ＨｙｐｅｒＶ、Ｘｅｎ、ＫＶＭ、ＶＭＷａｒｅ／ＥＳＸｉを含むが、これらに限定されない。Ｉｎｔｅｌ  ｘ８６  Ｘｅｏｎ，Ａｔｏｍ及びＣｏｒｅ  ｉ５，ｉ７ファミリーのプロセッサは、ドライバの仮想化（Ｖｔ−Ｄ）とメモリの仮想化（Ｖｔ−Ｘ）を使用する。ハイパースレッディング及びマルチプロセッサコアを用いるこのような機能によれば、単一のＣＰＵでＯＳを実行している複数のＶＭをサポートすることができる。
【００４３】
タイプ２のハイパーバイザ（例えば、ハイパーバイザ４３２、４３４）の例は、図４に示されている。ハードウェア４１０は、１又は２以上のＯＳ４２２〜４２６をサポートすることができる。少なくともＯＳ４２２〜４２６のうちの少なくとも１つ（例えば、ＯＳ４２４）は、少なくとも１つのハイパーバイザ（例えば、ハイパーバイザ４３２、４３４）を実行することができる。ハイパーバイザ４３２、４３４は、ＯＳ４４２〜４５２を使えるように設定する。したがって、ハイパーバイザ４３２、４３４は、他のコンピュータアプリケーションのようにハイパーバイザ４３２、４３４が実行するよう、最初にインストールされる基礎を成すＯＳ（例えばＯＳ４２４）を必要としうる。
【００４４】
本開示は、ＯＳ上に構築されたハイパーバイザを使用する代わりに、ＶＭを供給するためにセキュアカーネルハイパーバイザアプローチを使用してＣＯＳを修正することに関する。開示された実施形態は、単にＶＭを割り当てるのではない。むしろ、ＶＷＰは、ターゲットの単一のドメイン内に供給される。このアプローチは、支援する企業のＫＭＳを用いて暗号化を使用して有効にされる。ＫＭＳは、潜在的な仮想ネットワーキングとストレージの暗号化のニーズとともに、何百又は何千ものＶＷＰが管理されている大容量環境に実装することができる。ＫＭＳにより、適切なポリシー、文書化、ログ記録、及び個々のセキュリティを用いて、高度にセキュアで迅速な方法で、日々の暗号化キーを管理するニーズを管理することができる。
【００４５】
いくつかの構成では、ＣＯＳ（これに限定されないがＡｐａｃｈ  Ｃｌｏｕｄ  Ｓｔａｃｋのような）は、通常ＶＭを使用可能にするルーチンが、代わりにＶＷＰスロットを使用可能にすることができるように修正される。その後、与えられたＶＷＰ内に、１又は２以上のＶＭ又は特殊なアプリケーションを実装することができる。
【００４６】
その観点において、図５は、いくつかの例によるクラウド（分離カーネル）ホスト５００を示す図である。図１〜５を参照すると、ＣＯＳは、リソースを割り当てるために、クラウドホストマネージャ（ＣＨＭ）５１０、クラウドオーケストレーションエージェント（ＣＯＡ）５２０、及びクラウドホストネットワークマネージャ５３０と連携することができる。ＣＯＳは、通常のＶＭの代わりにＶＷＰ２１０用のスロットを使用可能にするようにクラウドホスト５００を構成することができる。開示された実施形態に関連する長所の１つは、各ターゲットドメインに対して別々のハードウェアスタックよりむしろ単一のハードウェアスタックを使って複数のＶＷＰの提供が実行されることである。
【００４７】
図６は、いくつかの例によるマルチドメインクラウド６００を示す図である。図１〜６を参照すると、マルチドメインクラウド６００は、コンピューティング、ネットワーキング、ストレージリソースを含む単一のコンピュータハードウェアスタックによってサポートされうる。マルチドメインクラウド６００は、複数のクラウドホスト５００とその関連するネットワークストレージ６４０を含む。クラウドホスト５００からのすべてのストレージオブジェクトは、暗号化することができる。クラウドホスト５００は、ＳＤＮと接続することができる。すべてのネットワークトラフィックは、ＩＰＳｅｃのような適切なセキュリティプロトコルを介して暗号化することができる。各物理ハードウェアデバイスは、ホスト毎に複数のＶＷＰを配置することができる。ＶＭビルダ（ＶＭＢ）６２０は、与えられたハードウェアホストにスロットを割り当てるために使用されるソフトウェアモジュールでありうる。例えば、ＶＭＢ６２０は、クラウドホスト５００のＶＷＰによってサポートされるＶＭのためのＣＰＵ、ＧＰＵ、ネットワーク、ストレージリソースを提供することができる。Ｃｌｏｕｄ  Ｓｔａｃｋのような修正されたＣＯＳは、そのようなリソースを割り当てるために、ＶＭＢとＣＯＡを使用する。
【００４８】
本明細書に記載されるように、ＶＷＰは、ＳＫＨ及び暗号化を使用して生成される。生成されているＶＷＰに応答して、新たに生成されたＶＷＰを有効にするために一連の暗号化キーがＫＭＳ６３０から検索される。ひとたび有効にされると、ＶＷＰは、「パーソナリティ」を呈することができる。「パーソナリティ」とは、ＶＭをＶＷＰに割り当てることができることを意味する。ＶＭは、各ＶＷＰ内で特定のＯＳ又は特殊なアプリケーションを実行することができる。ＶＷＰを破棄するため、ＣＯＳ（例えば、クラウドマネージャ６１０）は、ＶＷＰに割り当てられたリソースと、関連のある暗号化キーとを無効にすることができる。したがって、ＶＷＰは、動作不能になる。ＶＷＰを無効にしたリソースは、その後ＣＯＳによって新たなＶＷＰに再度割り当てることができる。それゆえ、クラウドホスト５００、クラウドマネージャ６１０、及びＶＭビルダ６２０は、暗号化オブジェクトにアクセスするためにＫＭＳ６３０に動作可能に結合することができる。クラウドマネージャ６１０とＶＭビルダ６２０は、格納されているストレージオブジェクトにアクセスするために、ネットワークストレージ６４０に動作可能に結合することができる。クラウドマネージャ６１０は、クラウドホストを生成、管理、破棄するためにクラウドホスト５００それぞれと動作可能に結合することができる。
【００４９】
図７は、いくつかの例によるガードを介したドメイン間ネットワーキングスキーム７００を示す図である。図１〜７を参照すると、セキュアネットワーキングは、ＭＳＬＳマルチドメインクラウドネットワーキング環境において別々のドメイン間でセキュアな通信を保証する重要な要素である。いくつかの例では、暗号化とキーマネジメントシステムは、すべてのドメイン内ネットワークトラフィックは唯一のキーを用いて暗号化されることを保証する。単一のクラウド内のネットワークは、ＩＰＳｅｃセキュリティプロトコルに基づく仮想プライベートネットワーキング（ＶＰＮ）機能を使って分離される。ドメイン間（例えば、ドメイン間通信）で所定のネットワークトラフィック（１つでも許可されている場合には）を許可するには、１又は２以上のガードを信頼されたコンピューティングベース（ＴＣＢ）の一部として配置することができる。ガードは、ドメイン間ネットワークトラフィックの復号化、フィルタリング、暗号化を許可する正しい認証情報と暗号化キーが存在する場合のみトラフィックの通過を許可することができる。
【００５０】
例えば、第１のドメインネットワーク管理モジュール７０２は、第１のドメインに対するネットワーキング（例えば、ドメインネームシステム（ＤＮＳ）、動的ホスト構成プロトコル（ＤＨＣＰ）、ＩＰルーティングなど）を管理しうる。第２のドメインネットワーク管理モジュール７０４は、第２のドメインに対するネットワーキングを管理しうる。ドメインネットワーク管理モジュール７０２、７０４は、適切なデータを交換するために互いに動作可能に結合されてもよい。第１のドメインネットワーク管理モジュール７０２に関連するガード７１２は、正しい認識情報と暗号化キーが存在する場合、第１のドメインネットワーク管理モジュール７０２からのトラフィックが通過できるように使用しうる。第２のネットワーク管理モジュール７０４に関連するガード７１４は、正しい認識情報と暗号化キーが存在する場合、第２のドメインネットワーク管理モジュール７０４からのトラフィックを通過できるように使用しうる。クラウドマネージャ７０５は、ガード７１２、７１４により実行されたチェックの後、通信経路を動的に結合しうる。
【００５１】
いくつかの実施形態では、第１のドメインネットワーク管理モジュール７０２は、ＶＷＰ７３２、７３４の通信を管理することができる。その関連で、第１のドメインネットワーク管理モジュール７０２は、ＶＷＰ７３２、７３４と通信するための第１ネットワーク７２２と接続しうる。第１ネットワーク７２２は、ドメイン内ネットワークでありうる。いくつかの実施形態では、第２のドメインネットワーク管理モジュール７０４は、ＶＷＰ７３６、７３８の通信を管理することができる。その関連で、第２のドメインネットワーク管理モジュール７０４は、ＶＷＰ７３６、７３８と通信するための第２ネットワーク７２４と接続しうる。第２ネットワーク７２４は、ドメイン内ネットワークでありうる。
【００５２】
ＶＷＰ７３２、７３６は、ドメイン間ネットワークでありうる第３ネットワーク７２６を介して互いに通信しうる。ＶＷＰ７３２に含まれ、又は、ＶＷＰ７３２に関連付けられたガード７４２は、正しい認証情報と暗号化キーが存在する場合、ＶＷＰ７３６からのトラフィックを通過できるように使用しうる。ＶＷＰ７３４、７３８は、第３ネットワーク７２６を介して互いに通信しうる。ＶＷＰ７３４に含まれ、又は、ＶＷＰ７３４に関連付けられたガード７４４は、正しい認証情報と暗号化キーが存在する場合、ＶＷＰ７３４からのトラフィックを通過できるように使用しうる。ＶＷＰ７３８に含まれ、又は、ＶＷＰ７３８に関連付けられたガード７４８は、正しい認証情報と暗号化キーが存在する場合、ＶＷＰ７３８からのトラフィックを通過できるように使用しうる。ＫＭＳ７５０は、暗号化オブジェクトをＶＷＰ７３２〜７３８に提供するため第３ネットワーク７２６と動作可能に結合しうる。
【００５３】
ＶＷＰを発行するプロセスは、マルチドメインクラウドトラストパスの一部である。トラストエージェントは、ＶＷＰの発行プロセスを管理する責任がある。クラウド内でマルチドメイン機能を構築するには、クロスドメインアクセス（例えば、極秘から機密への政府ネットワークの移行）から分離する必要のある情報を適切に分離するマルチドメインクラウドの機能を確認する独立の認証されたサードパーティによる認証評価を必要としてもよい。ソフトウェアコンポーネント又はモジュールは、ＴＣＢの一部でありうるマルチドメインクラウドトラストパス内でそのような分離機能を実行する。複雑さを軽減し、認証評価プロセスを簡略化するために、ＴＣＢの一部でなければならない個別のコンポーネントの数を最小限にすることができる。
【００５４】
図８は、いくつかの例によるマルチドメインクラウドトラストパス８００を示す図である。図１〜８を参照すると、マルチドメインクラウドトラストパス８００は、ＣＯＳ８０１がＶＷＰの生成を管理する例示的なプロセスを示している。マルチドメインクラウドトラストパス８００は、ＣＯＳ８０１、ＳＫＨ８０２、ＫＭＳクライアント８２０、セキュリティポリシーマネージャ（ＳＰＭ）８４０、及びストレージデータベース８５０を含むが、これらに限定されない。ＣＯＳ８０１、ＳＫＨ８０２の少なくとも一部、ＫＭＳクライアント８２０、ストレージデータベース８５０は、マネジメントドメインと関連付けられている。ＳＰＭ８４０、トラストエージェント８０８、ネットガード８１０、及びディスクガード８１４は、ＴＣＢと関連付けられている。ストレージデータベース８５０及びクライアントＶＭ８１２に蓄積されたＶＭデータおよびオブジェクトは、クライアントドメインと関連付けられている。
【００５５】
いくつかの構成では、ＳＰＭ８４０は、８６０でＶＷＰを初期化することを含むプロセスのため、ＣＯＳ８０１とインターフェースで接続することができる。８６２で、ＳＰＭ８４０とＣＯｓ８０１は、ドメイン識別子（ＩＤ）を識別し、ドメインラベルを生成することができる。８６４で、ＳＰＭ８４０とＣＯＳ８０１は、空のディスクストレージ、その他の関連するパラメータを要求することができる。８６６で、ＳＰＭ８４０とＣＯＳ８０１は、ブートルートデバイスを含むＶＷＰを生成することができる。
【００５６】
いくつかの構成では、ＳＰＭ８４０は、ＶＷＰ及びＶＷＰに関連付けられたドメイン定義に対する適切な暗号化キーを取得するため、ＫＭＳクライアント８２０を介して、ＫＭＳとインターフェースで接続することができる。その点に関し、ＫＭＳクライアント８２０は、ＶＭＰ定義８２２とドメイン定義８２４とを記憶する。ＶＷＰ定義８２２とドメイン定義８２４は、ＫＭＳクライアント８２０で記憶されたときに暗号化されうる。ＳＰＭ８４０は、データ及びオブジェクトを記憶し、クライアントＶＭ８１２に対応する暗号化されたストレージディスクを設定するために、ストレージデータベース８５０とインターフェースで接続することができる。ＣＯＳ８０１は、暗号化トラストエージェント（例えば、トラストエージェント８０８）、ネットワークガード（例えば、ネットガード８１０）、及びディスクガード（例えば、ディスクガード８１４）を生成するために、ＳＫＨ８０２を介してクラウドオーケストレーションエージェント８０４とインターフェースで接続することができる。構成要素８０８、８１０、８１４が生成されると、ネットガード８１０及びディスクガード８１４を利用して、１又は２以上のクライアントＶＭ８１２を作成することができる。
【００５７】
図９は、いくつかの例によるマルチドメイントラストエージェントＶＷＰを生成する方法９００を示す図である。図１〜９を参照すると、方法９００は、マルチドメインクラウドトラストパス８００に対応する。いくつかの構成では、方法９００は、ＶＷＰの生成と配信を円滑に進める少なくともトラストエージェント８０８により実行することができる。
【００５８】
９１０で、方法９００は、任意の適切な方法でＶＷＰを識別するＶＷＰ識別子（例えば、ＷＰ（ＩＤ）、ＶＷＰＩＤ、Ｗ＿ＩＤなど）を取得することから始まる。一例では、ＶＷＰ識別子は、ＣＯＳ８０１によって割り当てられ、ＣＯＳ８０１から受信することができる。９２０で、トラストエージェント８０８は、例えば、ＫＭＳクライアント８２０から暗号化キーを取得することにより、暗号化されたＶＷＰ定義８２２を受信する。
【００５９】
９３０で、トラストエージェント８０８は、ＶＷＰのインテグリティを検証する。いくつかの実施形態では、トラストエージェント８０８は、適切な信頼されたコンピューティングモジュール（ＴＰＭ）によりＶＷＰの署名を検証することができる。９４０で、トラストエージェント８０８は、マスターキーを使って暗号化されたＶＷＰ定義８２２を復号することができる。マスターキーは、ＴＰＭから受信することができる。いくつかの実施形態では、トラストエージェント８０８は、ネットワークドメインキー、ディスク暗号化キー、及びブート命令／定義を抽出することができる。９５０で、トラストエージェント８０８は、ＶＷＰに関連する構成と、ＳＫＨ８０２のワークスロットに関連する構成とに互換性があるかを検証する。
【００６０】
９６０で、トラストエージェント８０８は、ＶＷＰとワークスロットをリセットすることができる。例えば、トラストエージェント８０８は、ネットガード８１０、ディスクガード８１４、及びクライアントＶＭ８１２が保持するデータのリセット及び消去を引き起こすことができる。トラストエージェント８０８は、ＳＫＨ８０２に関連するすべてのリソースの初期化を引き起こすことができる。９７０で、トラストエージェント８０８は、初期化メッセージを送信することができる。例えば、トラストエージェント８０８は、ネットワークドメインキーをネットガード８１０に送信することができるトラストエージェント８０８は、ディスク暗号化キーをディスクガード８１４に送信することができる。さらに、トラストエージェント８０８は、クライアントＶＭ８１２の起動を開始するために、ブート命令／定義をクライアントＶＭ８１２に送信することができる。ネットガード８１０は、エミュレートされたネットワークインターフェース（ＮＩＣ）をクライアントＶＭ８１２に送信することができる。
【００６１】
いくつかの例では、ＳＫＨ、ＫＭＳ、及びＣＯＳを用いて本明細書で説明する構成を実装する。ＭＳＬＳを備えたマルチテナントクラウドとして提供されるマルチドメインクラウドの他の構成を実装することができる。
【００６２】
全体で使用される様々な頭字語は、以下の表１に示される。
【００６３】
【表１】
2020506494.tif 000003
【００６４】
例示及び説明されている様々な例は、特許請求の範囲の様々な特徴を示すための例としてのみ提供される。しかし、任意の与えられた例に関して示され、説明された特徴は、必ずしも関連する例に限定されず、示され説明された他の例に使用し、又は組み合わせてもよい。さらに、特許請求の範囲は、いずれかの例によって限定されることを意図しない。
【００６５】
前述の方法の説明及びプロセスフロー図は、単に理解を助ける例として提供されており、様々な例のステップが提示された順序で実行されなければならないことを要求又は暗示することを意図していない。当業者によって理解されるように、前述の例におけるステップの順序は、任意の順序で実行されうる。「その後」、「その後」、「次に」などといった単語は、ステップの順序を限定することを意図していない。これらの単語は、単に方法の説明を通じて読み手をガイドするために使用されるものである。さらに、単数形の特許請求の範囲の要素への言及、例えば、「ａ」、「ａｎ」、又は「ｔｈｅ」の冠詞の使用は、当該要素を単数に限定するものとして解釈されるべきではない。
【００６６】
本明細書で開示された例に関連して説明された、様々な例示的な論理ブロック、モジュール、回路、アルゴリズムステップは、電子機器、コンピュータソフトウェア、又はその両方の組み合わせとして実装することができる。ハードウェアとソフトウェアのこの互換性を明確に示すために、様々な例示された要素であるブロック、モジュール、回路、及びステップは、それらの機能の観点から一般的に上記で説明した。そのような機能がハードウェア又はソフトウェアとして実装されるかは、特定のアプリケーションとシステム全体に課される設計上の制約に依る。当業者は、説明された機能を、各個別のアプリケーションに対して、様々な手法で実装することができるが、そのような実装の決定は、本開示の範囲からの逸脱を引き起こすと解釈されるべきではない。
【００６７】
本明細書に開示される例に関連して説明される様々な例示的な論理回路、論理ブロック、モジュール、及び回路を実装するために使用されるハードウェアは、汎用プロセッサ、デジタルシグナルプロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）若しくは他のプログラム可能論理回路、ディスクリートゲート（discrete gate）若しくはトランジスタ論理回路、離散ハードウェア要素、又は、本明細書に開示された機能を実行するために設計されたそれらの組み合わせを用いて、実装又は実行することができる。汎用プロセッサは、マイクロプロセッサであってもよいが、別の方法では、プロセッサは、任意の従来のプロセッサ、コントローラ、マイクロコントローラ、又は状態機械であってもよい。プロセッサは、また、コンピューティングデバイスの組み合わせ、例えば、ＤＳＰの組み合わせ、マイクロプロセッサ、複数のマイクロプロセッサ、ＤＳＰコアと組み合わせた１又は２以上のマイクロプロセッサ、又は他のそのような構成として実装してもよい。その代わりに、いくつかのステップ又は方法は、与えられた機能に固有の回路によって実行されてもよい。
【００６８】
いくつかの典型的な例では、説明された機能は、ハードウェア、ソフトウェア、ファームウェア、又はそれらの任意の組み合わせで実装することができる。ソフトウェアとして実装される場合、その機能は、非一時的なコンピュータ可読記録媒体又は非一時的なプロセッサ可読記録媒体上に、１又は２以上の命令又はコードとして保存されてもよい。本明細書で開示される方法又はアルゴリズムのステップは、非一時的なコンピュータ可読記録媒体又はプロセッサ可読記録媒体上に存在しうる、プロセッサが実行可能なソフトウェアモジュールで具現化することができる。非一時的なコンピュータ可読又はプロセッサ可読記録媒体は、コンピュータ又はプロセッサによりアクセス可能な任意の記録媒体としてもよい。限定ではなく例の目的として、そのような非一時的なコンピュータ可読又はプロセッサ可読記録媒体は、ＲＡＭ、ＲＯＭ、ＥＥＲＯＭ、フラッシュメモリ、ＣＤ−ＲＯＭ、若しくは他の光学ディスク記録装置、磁気ディスク記録装置、他の磁気記録装置、又は、コンピュータによりアクセス可能なその他の媒体を含むことができる。ここで使用されるディスク（ｄｉｓｋ）とディスク（ｄｉｓｃ）には、コンパクトディスク（ＣＤ）、レーザーディスク、光学ディスク、デジタル多用途ディスク（ＤＶＤ）、フロッピーディスク、ブルーレイディスクが含まれる。ディスク（ｄｉｓｋ）は、通常磁気でデータを再生し、一方、ディスク（ｄｉｓｃ）は、レーザを用いて光学的にデータを再生する。上記の組み合わせも非一時的なコンピュータ可読媒体、プロセッサ可読媒体の範囲内に含まれる。加えて、方法又はアルゴリズムの動作は、コンピュータプログラム製品に組み込まれうる非一時的なプロセッサ可読記録媒体、及び／又はコンピュータ可読記録媒体上のコード及び／又は命令の１つ又は任意の組み合わせ又はセットとして存在してもよい。
【００６９】
開示された例の前述の記述は、当業者が本開示を作成又は使用できるように提供される。これらの例に対する様々な修正は、当業者に容易に明らかであり、本明細書で定義される包括的な原理は、本開示の精神又は範囲から逸脱することなく、いくつかの例に適用することができる。したがって、本開示は、本明細書に示された例に限定されることを意図するものではなく、添付の特許請求の範囲とその原理と本明細書に開示された新規な特徴と一致する最も広い範囲を与えられる。
【図１】
2020506494.tif 000004
【図２】
2020506494.tif 000005
【図３】
2020506494.tif 000006
【図４】
2020506494.tif 000007
【図５】
2020506494.tif 000008
【図６】
2020506494.tif 000009
【図７】
2020506494.tif 000010
【図８】
2020506494.tif 000011
【図９】
2020506494.tif 000012
【国際調査報告】
2020506494.tif 000013
2020506494.tif 000014
2020506494.tif 000015
2020506494.tif 000016
2020506494.tif 000017
2020506494.tif 000018
2020506494.tif 000019
2020506494.tif 000020