【手続補正書】
【提出日】平成26年6月30日(2014.6.30)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
画面描画命令を描画するための操作および表示装置との対話を実行するプログラムを含むコンピュータ可読記憶装置であって、
前記操作は、
仮想マシン・アプリケーションが発行した画面描画命令をフックするために、第１の描画命令フック部を第１のモードにセットすることと、
仮想マシン・アプリケーションが発行した命令をフックするために、前記第１の描画命令フック部を前記第１のモードにセットした後に、第２の描画命令フック部を第２のモードにセットすることと、
前記第１のモードのセットに応答して、フックされた前記仮想マシン・アプリケーションが発行した画面描画命令を暗号化することであって、暗号化された画面描画命令の前記表示装置への出力が判読不能な出力となる、ことと、
前記第２のモードのセットに応答して、フックされた前記仮想マシン・アプリケーションが発行した画面描画命令を暗号化することと、
前記第２のモードでフックされ暗号化された前記仮想マシン・アプリケーションが発行した画面描画命令を復号するためにホストオペレーティングシステムに発行することと、
含む、記憶装置。
【請求項２】
前記操作は、さらに、
前記ホストオペレーティングシステムにおいて前記第２のモードでフックされ暗号化された画面描画命令を受信することと、
受信したフックされ暗号化された前記画面描画命令を復号して、前記仮想マシンからのフックされ復号された画面描画命令を生成することと、
フックされ復号された画面を表示装置に平文でレンダリングして出力すること、
含む、請求項１に記載の記憶装置。
【請求項３】
前記操作は、さらに、
前記プログラムがホストオペレーティングシステムまたは前記仮想マシン上のゲストオペレーティングシステムのいずれにインストールされているかを判定することであって、
前記プログラムが前記ホストオペレーティングシステムにインストールされていると判定したことに応答して、前記第１の描画命令フック部を前記第１のモードにセットし、
前記プログラムが前記ゲストオペレーティングシステムにインストールされていると判定したことに応答して、前記第２の描画命令フック部を前記第２のモードにセットする、
こと、
を含む、請求項１に記載の記憶装置。
【請求項４】
前記操作は、さらに、
前記第１のモードと前記第２のモードにおいてフックされた画面描画命令の暗号化のために使用する秘密鍵を管理すること、
含む、請求項１に記載の記憶装置。
【請求項５】
前記秘密鍵を管理することは、
前記秘密鍵としてランダム鍵を生成すること、
暗号処理に使用するために別のプロセスに生成された秘密鍵を送信すること、
暗号処理に使用するために別のプロセスから生成された秘密鍵を受信すること、
含む、請求項４に記載の記憶装置。
【請求項６】
第１のモードがセットされているときに前記秘密鍵が送信され、第２のモードがセットされているときに前記秘密鍵が受信される、
請求項５に記載の記憶装置。
【請求項７】
前記秘密鍵は、名前付きパイプを介して送受信される、
請求項５に記載の記憶装置。
【請求項８】
前記秘密鍵は、共有フォルダの機構を介して送受信される、
請求項５に記載の記憶装置。
【請求項９】
前記プログラムの第１のインスタンスは、前記ホストオペレーティングシステム上にインストールされ、
前記操作は、さらに、
前記ホストオペレーティングシステム上にプログラムの前記第１のインスタンスをインストールした後に、前記仮想マシン上に前記プログラムの第２のインスタンスをインストールすること、を含む、
請求項１に記載の記憶装置。
【請求項１０】
前記操作は、さらに、
前記プログラムの前記第１のインスタンスの前記第１の描画命令フック部をセットアップモードにセットすること、
を含み、
前記セットアップモードでは、画面描画命令は、前記仮想マシン上に前記プログラムの第２のインスタンスのインストールを可能にするためにフックされない、
請求項９に記載の記憶装置。
【請求項１１】
コンピュータ装置であって、
ハードウェアと、
前記ハードウェアにインストールされたホストオペレーティングシステムと、
前記ホストオペレーティングシステム内に仮想マシンとして実装される仮想化環境と、
前記ホストオペレーティングシステム上に実装される第１のセキュリティ・エージェントと、
前記仮想マシンのゲストオペレーティングシステム上に実装される第２のセキュリティ・エージェントと、
を含み、
前記第１のセキュリティ・エージェントは、
仮想マシン・アプリケーションが発行した画面描画命令をフックするために第１の描画命令フック部を第１のモードにセットすることと、
前記第１のモードのセットに応答して、フックされた仮想マシン・アプリケーションが発行した画面描画命令を暗号化することであって、暗号化された画面描画命令の前記表示装置への出力が判読不能な出力となる、ことと、
を実行し、
第２のセキュリティ・エージェントは、
前記第１の描画命令フック部を、前記仮想マシン・アプリケーションが発行した画面描画命令をフックするために前記第１のモードにセットした後に、第２の描画命令フック部を第２のモードにセットすることと、
前記第２のモードにセットしたことに応答して、フックされた前記仮想マシン・アプリケーションが発行した画面描画命令を暗号化することと、
前記第２のモードでフックされ暗号化された前記仮想マシン・アプリケーションが発行した画面描画命令を復号するためにホストオペレーティングシステムに発行することと、
を実行する、
コンピュータ装置。
【請求項１２】
前記第１のセキュリティ・エージェントは、さらに、
前記ホストオペレーティングシステムにおいて、フックされ暗号化された画面描画命令で受信することと、
受信したフックされ暗号化された画面描画命令を復号して、前記仮想マシンからのフックされ復号された画面描画命令を生成することと、
フックされ復号された画面を表示装置に平文でレンダリングして出力することと、
を実行する、
請求項１１に記載のコンピュータ装置。
【請求項１３】
前記第１および第２のセキュリティ・エージェントは、さらに、
前記プログラムがホストオペレーティングシステムまたは仮想マシン上のゲスト・オペレーティング・システムのいずれにインストールされているかを判定することであって、
前記プログラムがホストオペレーティングシステムにインストールされていると判定したことに応答して、前記第１の描画命令フック部を前記第１のモードにセットし、
前記プログラムがゲストオペレーティングシステムにインストールされていると判定したことに応答して、前記第２の描画命令フック部を前記第２のモードにセットする、
こと、を実行する、
請求項１１に記載のコンピュータ装置。
【請求項１４】
前記第１および第２のセキュリティ・エージェントは、さらに、
前記第１のモードと前記第２のモードにおいてフックされた画面描画命令の暗号化のために使用する秘密鍵を管理すること、
を実行する、
請求項１１に記載のコンピュータ装置。
【請求項１５】
前記秘密鍵を管理することは、
前記秘密鍵としてランダム鍵を生成することと、
暗号処理に使用するために別のプロセスに生成された秘密鍵を送信することと、
暗号処理に使用するために別のプロセスから生成された秘密鍵を受信することと、
を含む、
請求項１４に記載のコンピュータ装置。
【請求項１６】
前記第２のセキュリティ・エージェントは、前記ホストオペレーティングシステム上に前記第１のセキュリティ・エージェントがインストールされた後に前記仮想マシンにインストールされる、
請求項１１に記載のコンピュータ装置。
【請求項１７】
前記第１のセキュリティ・エージェントは、さらに、
前記第１の描画命令フック部をセットアップモードにセットすること、
を実行し、
前記セットアップモードでは、画面描画命令は、前記第２のセキュリティ・エージェントのインストールを可能にするためにフックされない、
請求項１１に記載のコンピュータ装置。
【請求項１８】
ハードウェアによって、
仮想マシン・アプリケーションが発行した画面描画命令をフックするために第１の描画命令フック部を第１のモードにセットすることと、
前記第１の描画命令フック部を仮想マシン・アプリケーションが発行した画面描画命令をフックするために前記第１のモードにセットした後に、第２の描画命令フック部を第２のモードにセットすることと、
前記第１のモードのセットに応答して、フックされた前記仮想マシン・アプリケーションが発行した画面描画命令を暗号化することであって、暗号化された画面描画命令の前記表示装置への出力が判読不能な出力となる、ことと、
前記第２のモードのセットに応答して、フックされた前記仮想マシン・アプリケーションが発行した画面描画命令を暗号化することと、
前記第２のモードでフックされ暗号化された前記仮想マシン・アプリケーションが発行した画面描画命令を復号するためにホストオペレーティングシステムに発行することと、
を含む、方法。
【請求項１９】
さらに、
前記ホストオペレーティングシステムにおいて前記第２のモードでフックされ暗号化された画面描画命令で受信することと、
受信したフックされ暗号化された前記画面描画命令を復号して、前記仮想マシンからのフックされ復号された画面描画命令を生成することと、
フックされ復号された画面を表示装置に平文でレンダリングして出力することと、
を含む、
請求項１８に記載の方法。
【請求項２０】
さらに、
前記プログラムが前記ホストオペレーティングシステムまたは前記仮想マシン上のゲスト・オペレーティング・システムのいずれにインストールされているかを判定することであって、
前記プログラムがホストオペレーティングシステムにインストールされていると判定したことに応答して、前記第１の描画命令フック部を前記第１のモードにセットし、
前記プログラムが前記ゲストオペレーティングシステムにインストールされていると判定したことに応答して、前記第２の描画命令フック部を前記第２のモードにセットする、
こと、を含む、
請求項１８に記載の方法。
【請求項２１】
さらに、
前記第１のモードと前記第２のモードにおいてフックされた画面描画命令の暗号化のために使用する秘密鍵を管理すること、
を含む、
請求項１８に記載の方法。
【請求項２２】
前記秘密鍵を管理することは、
前記秘密鍵としてランダム鍵を生成することと、
暗号処理に使用するために別のプロセスに生成された秘密鍵を送信することと、
暗号処理に使用するために別のプロセスから生成された秘密鍵を受信することと、
を含む、
請求項２１に記載の方法。
【請求項２３】
前記プログラムの前記第１のインスタンスは、前記ホストオペレーティングシステム上にインストールされ、
前記操作は、さらに、
前記ホストオペレーティングシステムにプログラムの第１のインスタンスをインストールした後に、前記仮想マシンに前記プログラムの第２のインスタンスをインストールすること、を含む、
請求項１８に記載の方法。
【請求項２４】
さらに、
前記プログラムの前記第１のインスタンス内の前記第１の描画命令フック部をセットアップモードにセットすることを含み、
前記セットアップモードでは、画面描画命令は、プログラムの第２のインスタンスのインストールを可能にするためにフックされない、
請求項２３に記載の方法。