(57)【特許請求の範囲】
【請求項１】
方法であって、
第１の仮想マシンと第２の仮想マシンとの間の通信を暗号化することおよび復号することのうちの１つまたは複数に対するリクエストを取得するステップと、
前記第１および第２の仮想マシンが前記方法を実現するハイパーバイザとしての同一のホスト上で動作するかを決定するステップと、
前記第１および第２の仮想マシンが前記同一のホスト上で動作するなら、前記通信を暗号化することまたは復号することなしに前記通信を処理するステップと
を備える、方法。
【請求項２】
前記第１および第２の仮想マシンが前記同一のホスト上で動作するかを決定する前記ステップが、前記通信のコンテキストを評価するステップを備える、請求項１に記載の方法。
【請求項３】
前記第１および第２の仮想マシンの両者が、前記同一のホスト上で動作しないなら、前記通信の前記暗号化および前記復号のうちの１つまたは複数を実施するステップを更に備える、請求項１に記載の方法。
【請求項４】
前記通信が、前記第１の仮想マシンと前記第２の仮想マシンとの間の少なくとも１つのスイッチおよび少なくとも１つのルータのうちの１つまたは複数を横断し、前記方法が、暗号化されていないバージョンの前記通信を前記ハイパーバイザおよび送信先仮想マシンのうちの１つまたは複数のバッファ内の待ち行列に置くステップと、ランダム値およびオールゼロ値のうちの１つまたは複数を前記少なくとも１つのスイッチおよび少なくとも１つのルータのうちの１つまたは複数に返すステップとを更に備える、請求項１に記載の方法。
【請求項５】
前記第１の仮想マシンおよび前記第２の仮想マシンのうちの１つが前記同一のホストから移動されたなら、前記第１の仮想マシンと前記第２の仮想マシンとの間の更なる通信の暗号化を要求するステップを更に備える、請求項１に記載の方法。
【請求項６】
装置であって、
メモリと、
メモリに動作可能に結合された少なくとも１つのハードウェアデバイスであって、以下の、
第１の仮想マシンと第２の仮想マシンとの間の通信を暗号化することおよび復号することのうちの１つまたは複数のリクエストを取得するステップと、
前記第１および第２の仮想マシンが前記少なくとも１つのハードウェアデバイスによって使用されるハイパーバイザとしての同一のホスト上で動作するかを決定するステップと、
前記第１および第２の仮想マシンが前記同一のホスト上で動作するなら、前記通信を暗号化することまたは復号することなしに前記通信を処理するステップと
を実施するように構成された少なくとも１つのハードウェアデバイスと
を備える、装置。
【請求項７】
前記第１および第２の仮想マシンが前記同一のホスト上で動作するかを決定する前記ステップが、前記通信のコンテキストを評価するステップを備える、請求項６に記載の装置。
【請求項８】
前記少なくとも１つのハードウェアデバイスが、前記第１の仮想マシンと前記第２の仮想マシンとの間での移送のために、前記ハイパーバイザのバッファに前記通信を格納するように更に構成される、請求項６に記載の装置。
【請求項９】
前記少なくとも１つのハードウェアデバイスが、前記第１および第２の仮想マシンの両者が、前記同一のホスト上で動作しないなら、前記通信の前記暗号化および前記復号のうちの１つまたは複数を実施するように更に構成される、請求項６に記載の装置。
【請求項１０】
前記少なくとも１つのハードウェアデバイスが、前記第１の仮想マシンおよび前記第２の仮想マシンのうちの１つが前記同一のホストから移動されたなら、前記第１の仮想マシンと前記第２の仮想マシンとの間の更なる通信の暗号化を要求するように更に構成される、請求項６に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、概して、安全なデータ通信に関し、より具体的には、そのような安全なデータ通信の性能を向上させる技術に関する。
【背景技術】
【０００２】
本項目では、本発明のより良い理解を促進するために役に立ち得る態様を紹介する。従って、本項目の記載は、この観点から読まれるべきであり、何が従来技術に含まれているか、または何が従来技術に含まれていないかについての承認として理解されるべきではない。
【０００３】
ネットワーク機能仮想化（ＮＦＶ）は、ネットワークノード機能のクラスを、通信サービスを生成するために接続され得る構成単位へと仮想化するために、情報技術（ＩＴ）仮想化に関する技術を使用する。ＮＦＶデザインを実現するサービスプロバイダは、１つまたは複数の仮想化ネットワーク機能（ＶＮＦ）（すなわち、ネットワーク機能のソフトウェアによる実現）を実現する。多数のＶＮＦが、典型的には、所与のサービスを配信するシーケンスにおいて用いられる。
【０００４】
合法的傍受（ＬＩ）は、ネットワーク管理情報または通信内容などの通信データを、分析するためまたは証拠とするために、合法的に取得するタスクである。合法的傍受は、法執行機関（ＬＥＡ）、行政機関、諜報機関または他の公認機関（ａｕｔｈｏｒｉｚｅｄ  ａｇｅｎｃｙ）のために遠隔通信を傍受することを含み得る。
【０００５】
汎用性の標準的ハードウェアにおいて配備されたネットワーク機能の仮想化は、配備および維持のコストを著しく減少すること、および製品の開発期間も減少することが期待される。それにもかかわらず、暗号化などの不必要な機能を無効にすることによる向上した性能を達成するＮＦＶ環境の必要性はいまだ残されている。加えて、仮想化環境における合法的傍受（ＬＩ）を実施するための向上した技術の必要性が存在する。
【発明の概要】
【課題を解決するための手段】
【０００６】
本発明の説明的実施形態は、不必要な暗号化および復号動作などの不必要な機能を無効にすることによる向上した仮想化アプリケーション性能のための技術および装置を提供する。例えば、１つの実施形態において、ハイパーバイザによって実施される方法は、第１の仮想マシンと第２の仮想マシンとの間の通信を暗号化することおよび復号することのうちの１つまたは複数に対するリクエストを取得するステップと、第１および第２の仮想マシンがハイパーバイザとしての同一のホスト上で動作するかを（例えば、通信のコンテキストを評価することによって）決定するステップと、第１および第２の仮想マシンが同一のホスト上で動作するなら、通信を暗号化することまたは復号することなしに通信を処理するステップと、を含む。合法的傍受は、暗号化されていないバージョンの通信を公認機関に転送することによって実施され得る。
【０００７】
１つの例示的実施形態において、通信が、第１の仮想マシンと第２の仮想マシンとの間のスイッチおよび／またはルータを横断しているときは、暗号化されていないバージョンの通信が、ハイパーバイザおよび送信先仮想マシンのうちの１つまたは複数のバッファ内の待ち行列に置かれ、ランダム値およびオールゼロ値のうちの１つまたは複数がコーラーに返される。次いで、暗号化されていないバージョンの通信は、待ち行列に配置され、送信先仮想マシンに返される。
【０００８】
別の実施形態において、１つまたは複数のソフトウェアプログラムの符号化された実行可能コードを内部に有する有体のプロセッサ可読記憶媒体を備えた製品が提供される。１つまたは複数のソフトウェアプログラムは、少なくとも１つの処理デバイスによって実行されたとき、上述の方法のステップを実施する。
【０００９】
更に別の実施形態において、装置は、メモリと、上述の方法のステップを実施するように構成された少なくとも１つのハードウェアデバイスとを備える。
【００１０】
本発明のこれらのおよび他の特徴および利点は、添付の図面および以下の詳細な説明から、より明らかになるであろう。
【図面の簡単な説明】
【００１１】
【図１】本発明の１つまたは複数の実施形態が実現される例示的仮想化環境を示した図である。
【図２】図１の所与の暗号化パイプのコンテキストに関する例示的擬似コードを示した図である。
【図３】本発明の１つの実施形態による、暗号化システムコールのための例示的擬似コードを示した図である。
【図４】本発明の１つの実施形態による、復号システムコールのための例示的擬似コードを示した図である。
【図５】本発明の１つまたは複数の実施形態が実現され得る、１つまたは複数の仮想スイッチおよび／またはルータを有する代替的な例示的仮想化環境を示した図である。
【図６】図５の例示的仮想化環境における使用のための、暗号化システムコールのための例示的擬似コードを示した図である。
【図７】図５の例示的仮想化環境における使用のための、復号システムコールのための例示的擬似コードを示した図である。
【図８】本発明の１つまたは複数の実施形態が実現される処理プラットフォームを図示した図である。
【発明を実施するための形態】
【００１２】
本明細書において、例示的仮想化環境、コンピューティングシステム、通信システム、処理プラットフォーム、ネットワーク、ネットワークノード、ネットワーク要素、および関連する通信プロトコルを参照して、本発明の説明的実施形態が説明される。しかしながら、本発明の実施形態は、説明される特定の構成とともに使用されることに限定されず、むしろより一般的に、不必要な暗号化および復号機能などの不必要な機能を無効にすることによる向上した性能を提供することが望ましい、任意の仮想化環境に適用可能であることが理解されるべきである。
【００１３】
本発明の態様は、仮想化環境において、しばしば、共通のホストを共有し、従って同一のハイパーバイザの制御下にある２つの仮想マシンの間のトラフィックに対して実施される冗長な暗号化および復号動作である。本発明の１つの実施形態によれば、冗長な暗号化および復号動作は、共通のホストを共有する２つの仮想マシンの間のトラフィックに対して無効にされる。例えば、１つの例示的実施形態において、ハイパーバイザは、暗号化および／または復号動作が所与の通信に対して必要であるかを決定するために動作時の通信のコンテキストを調べるために、イントロスペクション技術（ｉｎｔｒｏｓｐｅｃｔｉｏｎ  ｔｅｃｈｎｉｑｕｅ）を用いる。
【００１４】
図１は、本発明の１つまたは複数の実施形態が実現され得る例示的仮想化環境１００を示す。図１に図示されるように、少なくとも２つの例示的仮想マシン１１０−１および１１０−２は、同一のホスト１５０上に配置されている。２つの例示的仮想マシン１１０−１および１１０−２は、ハイパーバイザ１２０を使用して実現され、暗号化パイプ１３５を介して通信する。ハイパーバイザ１２０は、ホスト１５０の物理的な基礎構造の上で動作する。暗号化パイプ１３５のパラメータはコンテキスト１４０を備える。暗号化パイプ１３５は、例えば、暗号化パイプ１３５を介したインターネットプロトコル（ＩＰ）通信を、通信セッションの各ＩＰパケットを認証および暗号化することによって安全なものにするためにインターネットプロトコルセキュリティ（ＩＰｓｅｃ）を用い得る。更なる変形形態においては、暗号化パイプ１３５は、暗号化パイプ１３５を安全なものにするために、例えば、トランスポートレイヤーセキュリティ（ＴＬＳ：Ｔｒａｎｓｐｏｒｔ  Ｌａｙｅｒ  Ｓｅｃｕｒｉｔｙ）を用い得る。しかしながら、当業者には明らかであろうが、本発明は、端点間の全ての可能なトンネリングプロトコルに適用可能であることに留意されたい。
【００１５】
本発明の１つまたは複数の実施形態においてハイパーバイザ１２０および場合によってはシステムの他の部分を実現するために使用され得る市販のハイパーバイザプラットフォームの例は、ＫＶＭ（カーネルベースの仮想マシン）ハイパーバイザまたはＸＥＮハイパーバイザである。加えて、図５に関連して更に後述されるように、例示的ハイパーバイザ１２０は、任意選択的に、クラウドオーケストレーションおよび管理システム（例えば、Ａｌｃａｔｅｌ−Ｌｕｃｅｎｔ  ｏｆ  Ｂｏｕｌｏｇｎｅ−Ｂｉｌｌａｎｃｏｕｒｔ、ＦｒａｎｃｅからのＣｌｏｕｄＢａｎｄ  ＮＦＶプラットフォーム）またはオペレーションサポートシステム（Ａｌｃａｔｅｌ−Ｌｕｃｅｎｔ  ｏｆ  Ｂｏｕｌｏｇｎｅ−Ｂｉｌｌａｎｃｏｕｒｔ、ＦｒａｎｃｅからのＳｅｒｖｉｃｅ  Ａｗａｒｅ  Ｍａｎａｇｅｒ（ＳＡＭ）など）などの関連する仮想基礎構造管理システムを有し得る。基礎をなす物理的マシン（例えば、ホスト１５０）は、記憶製品を含む１つまたは複数の分散処理プラットフォームを備え得る。
【００１６】
例示的仮想化環境１００は、ハイパーバイザ１２０の制御下で、仮想マシン１１０−１、１１０−２上で動作する１つまたは複数のアプリケーション（不図示）を更に備える。
【００１７】
図２に関連して更に後述されるように、暗号化パイプ１３５の例示的コンテキスト１４０は、２つの例示的仮想マシン１１０−１および１１０−２のＩＰアドレス、暗号化パイプ１３５のために必要となる暗号化キーマテリアル、ポート番号（例えば、ＴＬＳの場合）、および他のトンネルパラメータを備える。
【００１８】
しかしながら、２つの仮想マシン１１０−１および１１０−２が共通のホスト１５０を共有している図１の実施形態において、「メッセージ」はハイパーバイザ１２０のメモリのセグメントであるので、暗号化パイプ１３５上には実際のネットワーキングは関わらない。１つの例示的実施態様において、２つの例示的仮想マシン１１０−１および１１０−２の間の通信は、移送のために一時的にメッセージバッファ１３０に格納される。従来の技術によると、仮想マシン１１０−１などの送信元仮想マシンから受信された各プロトコルデータユニット（すなわち、各メッセージ）は、ハイパーバイザ１２０に渡され、ハイパーバイザ１２０は受信したメッセージを暗号化し、暗号化されたメッセージをメッセージバッファ１３０に格納する。次いで、ハイパーバイザ１２０は、メッセージバッファ１３０の内容をコピーし、仮想マシン１１０−２などの送信先仮想マシンへの配信のために、暗号化されたメッセージを復号する。
【００１９】
上に記したように、本発明の態様は、共通のホストを有する２つの仮想マシン１１０−１および１１０−２の間の暗号化パイプ１３５上のトラフィックに対して所与の暗号化動作および関連する復号動作を無効にすることによって、１つまたは複数の冗長な暗号化および復号動作を減少させる。１つの例示的実施形態において、ハイパーバイザは、暗号化および／または復号動作が所与の通信に対して必要であるかを決定するために動作時の通信のコンテキスト１４０を調べるために、イントロスペクション技術を用いる。
【００２０】
１つの例示的な実施態様において、ハイパーバイザ１２０は、暗号化パイプ１３５（例えば、トンネル）を確立するためにＴＬＳまたはＩＰｓｅｃなどの暗号的なトンネリングプロトコルの呼び出しをブレークポイントにすることによって、同一のホスト１５０上で仮想マシン１１０−１などの１つの仮想マシンが、仮想マシン１１０−２などの別の仮想マシンとの間に暗号的に保護されたトンネルを確立しようと試みていることを検知する。暗号化パイプ１３５が確立されると、ハイパーバイザ１２０は、コンテキスト１４０を学習し、図２に関連して更に後述される、両方の仮想マシン１１０を関連付けるデータ構造内にコンテキスト１４０を格納する。
【００２１】
図３および図４に関連して更に後述されるように、ハイパーバイザ１２０は、暗号化呼び出しを伴う（仮想マシン１１０−１または１１０−２のいずれかからの）各後続のシステムコールにおいてコンテキスト１４０を評価する。しかしながら、仮想マシン１１０が同一のホスト１２０上にあるとき、ハイパーバイザ１２０は、暗号化／復号動作を実施しない。それどころか、暗号化コールにおいて、例示的ハイパーバイザ１２０は、暗号化が行われたかのようにシステムコール（例えば、肯定応答）を返し、暗号化されていないメッセージバッファ１３０を送信先仮想マシンに渡す。同様に、ハイパーバイザ１２０は、メッセージバッファ１３０の内容を復号するための後のコールを無視する。
【００２２】
加えて、図１に図示されるように、例示的ハイパーバイザ１２０は、いくつかの命令の実行を仮想化するために、１つまたは複数のシステムコールトラップ１６０を用いる。このようにして、命令は、発見され、知られた方法により、ソフトウェアによってエミュレートされるべき仮想マシン環境へとトラップ１６０によって置き換えられる。
【００２３】
図２−図４は、本発明の例示的ＩＰＳｓｅｃ実施態様のための、例示的擬似コードを示す。ＴＬＳ実施態様などの本発明の代替的な実施態様のための適切な擬似コードは、本開示に基づき、当業者には明らかであろう。例えば、ＴＬＳ実施態様のためには、当業者には明らかであるように、コンテキスト１４０は、送信元−送信先ポートを備える。
【００２４】
図２は、所与の暗号化パイプ１３５のコンテキスト１４０に関する例示的擬似コード２００を示す。図２に図示されるように、例示的擬似コード２００は、コンテキスト１４０を格納するデータ構造を生成するためのコード２１０を備える。例示的コンテキスト１４０は、暗号化パイプ１３５のために必要となる暗号化キーマテリアルが格納される例示的ＩＰｓｅｃプロトコルスイートのインターネットキーエクスチェンジ（ＩＫＥ）コンテキストに対するポインタを備える。加えて、コンテキスト１４０のための例示的データ構造は、暗号化パイプ１３５に関連する２つの例示的仮想マシン１１０−１および１１０−２のＩＰアドレスを備える。
【００２５】
加えて、コンテキストデータ構造を生成する例示的コード２１０は、仮想化環境１００において合法的傍受（ＬＩ）を可能にするための部分を含む。
【００２６】
例示的擬似コード２００は、ＩＰｓｅｃキーエクスチェンジシステムコール呼び出しを取り扱うためのハンドラルーティン２２０を更に含む。図２に図示されるように、送信先アドレスがローカルな仮想マシン１００に属するなら、ＩＰｓｅｃキーエクスチェンジシステムコール上に、ＩＫＥコンテキストが確立される。
【００２７】
図３は、本発明の１つの実施形態による暗号化システムコール３００のための例示的擬似コードを示す。図３に図示されるように、暗号化システムコール３００上で、現在のホスト１５０上での通信のためのコンテキスト（図２の擬似コード２００によって生成されたＩＫＥ＿ｃｏｎｔｅｘｔ）があるかを最初に決定することによって、ハンドラは着信するメッセージを取り扱う。コンテキストがあるなら（すなわち、通信に関わる２つの仮想マシンが同一のホスト上にあるなら）、例示的暗号化システムコール３００は、通信を暗号化しない。コンテキストがないなら（すなわち、通信に関わる２つの仮想マシンが同一のホスト上にないなら）、例示的暗号化システムコール３００は、従来のやり方でＩＰｓｅｃ暗号化を続ける。
【００２８】
図４は、本発明の１つの実施形態による復号システムコール４００のための例示的擬似コードを示す。図４に図示されるように、復号システムコール４００上で、現在のホスト１５０上での通信のためのコンテキスト（図２の擬似コード２００によって生成されたＩＫＥ＿ｃｏｎｔｅｘｔ）があるかを最初に決定することによって、ハンドラは着信するメッセージを取り扱う。コンテキストがあるなら（すなわち、通信に関わる２つの仮想マシンが同一のホスト上にあるなら）、例示的復号システムコール４００は、通信を復号しない。コンテキストがないなら（すなわち、通信に関わる２つの仮想マシンが同一のホスト上にないなら）、例示的復号システムコール４００は、従来のやり方でＩＰｓｅｃ復号を続ける。
【００２９】
図５は、本発明の１つまたは複数の実施形態が実現され得る、１つまたは複数の仮想スイッチおよびルータを有する代替的な例示的仮想化環境５００を示す。図５に図示されるように、少なくとも２つの例示的仮想マシン５１０−１および５１０−２は、同一のホスト５５０上に配置されている。２つの例示的仮想マシン５１０−１および５１０−２は、ハイパーバイザ５２０を使用して実現され、暗号化パイプ５３５を介して通信する。ハイパーバイザ５２０は、ホスト５５０の物理的な基礎構造の上で、図１の実施形態と同様に動作する。暗号化パイプ５３５および関連するコンテキスト５４０は、図１の実施形態と同様に実現され得る。例示的仮想化環境５００は、ハイパーバイザ５２０の制御下で、仮想マシン５１０−１、５１０−２上で動作する１つまたは複数のアプリケーション（不図示）を更に備える。
【００３０】
図５に図示されるように、例示的仮想化環境５００は、１つまたは複数の仮想スイッチ５３７および／または１つまたは複数のルータ５３９を備える。仮想スイッチ５３７および／またはルータ５３９の存在下においては、メッセージは他の仮想マシンによって傍受され得ないことに注意しなければならない。合法的傍受を行う場合には、これらの機構が傍受の助けとなるであろう。
【００３１】
図５の実施形態において、図１の実施形態と同様に、２つの仮想マシン５１０−１および５１０−２は共通のホスト５５０を共有している。１つの例示的実施態様において、２つの例示的仮想マシン５１０−１および５１０−２の間の通信は、移送のために一時的にメッセージバッファ５３０に格納される。上に記したように、本発明の態様は、共通のホストを有する２つの仮想マシン５１０−１および５１０−２の間の暗号化パイプ５３５上のトラフィックに対して所与の暗号化動作および関連する復号動作を無効にすることによって、１つまたは複数の冗長な暗号化および復号動作を減少させる。１つの例示的実施形態において、ハイパーバイザ５２０は、暗号化および／または復号動作が所与の通信に対して必要であるかを決定するために動作時の通信のコンテキスト５４０を調べるために、イントロスペクション技術を用いる。
【００３２】
１つの例示的な実施態様において、ハイパーバイザ５２０は、同一のホスト５５０上で仮想マシン５１０−１などの１つの仮想マシンが、仮想マシン５１０−２などの別の仮想マシンとの間に暗号的に保護されたトンネルを確立しようと試みていることを検知し、コンテキスト５４０を認識する。その後、ハイパーバイザ５２０は、メッセージバッファ５３０をコピーすることによって、実際のメッセージを仮想マシン５１０−１と仮想マシン５１０−２との間で直接的に搬送する。スイッチ５３７およびルータ５３９は、受信したときには無視されるダミーメッセージ（例えば、ランダムまたはオールゼロペイロードによって）を供給される。
【００３３】
オペレーションサポートシステム（ＯＳＳ）５６０は、集中されたＩＰネットワークの全てのドメインにわたってエンドツーエンドネットワークおよびサービス管理を可能にする。例示的なオペレーションサポートシステム５６０は、ネットワークサービスが仮想化環境で動作しているか、または専用のハードウェアプラットフォーム上で動作しているかに関わらず、統一化された動作を配信する。例示的オペレーションサポートシステム５６０は、例えば、Ａｌｃａｔｅｌ−ＬｕｃｅｎｔのＳｅｒｖｉｃｅ  Ａｗａｒｅ  Ｍａｎａｇｅｒ（ＳＡＭ）を使用して具現化され得る。
【００３４】
クラウド管理システム５７０は、任意選択的に、サービスプロバイダの分散ネットワークおよびデータセンタにわたる仮想ネットワーク機能を編成し、自動化し、および向上させる。クラウド管理システム５７０は、例えば、Ａｌｃａｔｅｌ−ＬｕｃｅｎｔのＣｌｏｕｄＢａｎｄ管理システムを使用して具現化され得る。概して、クラウド管理システム５７０は、任意選択的に、分散したクラウドノードを集約し、ＮＦＶ基礎構造の全体図を単一のキャリアグレードプール（ｃａｒｒｉｅｒ−ｇｒａｄｅ  ｐｏｏｌ）として提供する。
【００３５】
例示的オペレーションサポートシステム５６０および／または例示的クラウド管理システム５７０は、所与のコンテキストの生成および／または消去の直接的な命令を発行し得る。
【００３６】
図６は、図５の例示的仮想化環境５００において使用されるための暗号化システムコール６００のための例示的擬似コードを示す。図６に図示されるように、暗号化システムコール６００上で、現在のホスト５５０上での通信のためのコンテキスト（図２の擬似コード２００によって生成されたＩＫＥ＿ｃｏｎｔｅｘｔ）があるかを最初に決定することによって、ハンドラは着信するメッセージを取り扱う。コンテキストがあるなら（すなわち、通信に関わる２つの仮想マシンが同一のホスト上にあるなら）、例示的暗号化システムコール６００は、暗号化されていないメッセージをバッファ５３０または送信先仮想マシン５１０内の待ち行列に置き、オールゼロ（またはランダム）エントリをコーラーに返す。コンテキストがないなら（すなわち、通信に関わる２つの仮想マシンが同一のホスト上にないなら）、例示的暗号化システムコール６００は、従来のやり方でＩＰｓｅｃ暗号化を続ける。
【００３７】
図７は、図５の例示的仮想化環境５００において使用されるための復号システムコール７００のための例示的擬似コードを示す。図７に図示されるように、復号システムコール７００上で、現在のホスト５５０上での通信のためのコンテキスト（図２の擬似コード２００によって生成されたＩＫＥ＿ｃｏｎｔｅｘｔ）があるかを最初に決定することによって、ハンドラは着信するメッセージを取り扱う。コンテキストがあるなら（すなわち、通信に関わる２つの仮想マシンが同一のホスト上にあるなら）、例示的復号システムコール７００は、オリジナルの（暗号化されていない）メッセージをメッセージバッファ５３０内の適切な待ち行列に配置し、オリジナルのメッセージを返す（そして、入力の内容を廃棄する）。コンテキストがないなら（すなわち、通信に関わる２つの仮想マシンが同一のホスト上にないなら）、例示的復号システムコール７００は、従来のやり方でＩＰｓｅｃ復号を続ける。
【００３８】
本明細書において説明された仮想マシン１１０、５１０のうちの１つが別のホスト１５０、５５０に移動されるときは、もはや同一のホスト上にない２つの仮想マシンの間の通信の暗号化へと立ち戻ることが重要である。この場合、暗号化を無効にしたハイパーバイザ１２０、５２０は、仮想マシンが移動されたことを検知すると暗号化を復元させる。この検知は、いくつかの手段（例えば、仮想マシン５１０−２などの仮想マシンの停止、またはオペレーションサポートシステム５６０もしくはクラウドオーケストレーション管理システム５７０からの動作）によって知らされるコンテキスト１４０、５４０における変化によってトリガされ得る。
【００３９】
合法的傍受を行う場合には、上記の機構によって、問題の通信ストリームは、傍受のために暗号化されないまま転送され得る。通信ストリーム選択における粒度は、特定の（ＩＰアドレス、ポート）のペアに任意選択的に狭められ得る。この構成は、性能の最適化の必要性とは独立して働く。このようにして、傍受された通信データは、公認機関に提供され得る。
【００４０】
図８は、本発明の１つまたは複数の実施形態が実現される処理プラットフォーム８００を図示する。この実施形態における処理プラットフォーム８００は、所与のシステムの少なくとも一部をなし、ネットワーク８０４を介して互いに通信する８０２−１、８０２−２、８０２−３、．．．、８０２−Ｄという符号によって表される複数の処理デバイスを含む。ネットワーク８０４は、無線エリアネットワーク（ＷＡＮ）、ローカルエリアネットワーク（ＬＡＮ）、衛星ネットワーク、電話またはケーブルネットワーク、セルラーネットワーク、ＷｉＦｉまたはＷｉＭＡＸなどの無線ネットワーク、またはこれらのおよび他の種類のネットワークの様々な部分もしくは組み合わせなどの、任意の種類のネットワークを備え得る。
【００４１】
処理プラットフォーム８００の処理デバイス８０２−１は、メモリ８１２に結合されたプロセッサ８１０を備える。プロセッサ８１０は、マイクロプロセッサ、マイクロコントローラ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）または他の種類の処理回路、およびそのような回路要素の部分または組み合わせを備えてよく、実行可能なコンピュータプログラムコードが内部に具現化された「コンピュータプログラム製品」の一例としてみなされ得るメモリ８１２は、ランダムアクセスメモリ（ＲＡＭ）、リードオンリーメモリ（ＲＯＭ）または他の種類のメモリを任意の組み合わせにおいて備えてよい。
【００４２】
処理デバイスをネットワーク８０４および他のシステムコンポーネントとインターフェースするために使用され、従来の送受信機を備え得るネットワークインターフェース回路８１４もまた、処理デバイス８０２−１に含まれる。
【００４３】
処理プラットフォーム８００の他の処理デバイス８０２は、図中の処理デバイス８０２−１について図示されたものと同様に構成されるものと想定される。
【００４４】
更にまた、図に示された具体的な処理プラットフォーム８００は、単に例として提示されたものに過ぎず、所与のシステムは、追加的なまたは代替的な処理プラットフォームおよび多くの別個の処理プラットフォームを任意の組み合わせにおいて含んでよく、そのようなプラットフォームの各々は、１つまたは複数のコンピュータ、記憶デバイスまたは他の処理デバイスを備える。
【００４５】
システムの複数の要素は、図１、図５または図８に図示された種類の共通の処理プラットフォーム上に集合的に実装されてよく、またはそのような要素の各々が別々の処理プラットフォーム上に実装されてもよい。
【００４６】
当技術分野において知られているように、本明細書において論じられる方法および装置は、コンピュータ可読コード手段がその上に具現化されたコンピュータ可読媒体をそれ自身が備える製品として配布され得る。コンピュータ可読プログラムコード手段は、コンピュータシステムとともに、本明細書において論じられる方法を実施するため、または本明細書において論じられる装置を生成するために、全てのまたはいくつかのステップを実行するように動作可能である。コンピュータ可読媒体は、有体の記録可能媒体（例えば、フロッピーディスク、ハードドライブ、コンパクトディスク、メモリカード、半導体デバイス、チップ、特定用途向け集積回路（ＡＳＩＣ））であってよく、または、送信媒体（例えば、時分割多元接続、符号分割多元接続または他の無線周波数チャネルを使用した光ファイバ、ワールドワイドウェブ、ケーブルまたは無線チャネルを備えるネットワーク）であってよい。コンピュータシステムとともに使用するために適した情報を格納可能な、知られているまたは開発される任意の媒体が使用され得る。コンピュータ可読コード手段は、コンピュータが、磁気媒体の磁気変化またはコンパクトディスクの表面の高さの変化などの、命令およびデータを読み取ることを可能にするための任意の機構である。
【００４７】
本明細書において、いくつかの説明的実施形態が、特定の通信プロトコルを利用する通信ネットワークおよびシステムの文脈で説明されたが、他の実施形態において、他の種類のネットワークおよびシステムが使用されてよい。従って、上述したように、本明細書において使用されるとき、「ネットワーク」または「システム」という用語は、広範に解釈されることを意図される。更に、上述の実施形態は例示のみを目的としたものであり、いかなる形でも限定と解釈されるべきではないことが強調されるべきである。他の実施形態は、異なる種類のネットワーク、システム、デバイス、およびモジュール構成、ならびにセキュリティ機能を実現するための代替的な通信プロトコル、プロセスのステップ、動作を使用してよい。ユーザデバイスおよびネットワークノードが通信する具体的なやり方は、他の実施形態においては異なってよい。また、説明的実施形態を説明する文脈でなされた具体的な仮定は、本発明に必須のものと解釈されるべきではないことが理解されるべきである。本発明は、これらの具体的な仮定が適用されない他の実施形態において実現され得る。添付の特許請求の範囲内にあるこれらのおよび多くの他の代替的実施形態は、当業者には直ちに明らかであろう。
【図１】
0006537630.tif 000002
【図２】
0006537630.tif 000003
【図３】
0006537630.tif 000004
【図４】
0006537630.tif 000005
【図５】
0006537630.tif 000006
【図６】
0006537630.tif 000007
【図７】
0006537630.tif 000008
【図８】
0006537630.tif 000009