(57)【特許請求の範囲】
【請求項１】
仮想マシン・モニタＶＭＭおよび暗号復号仮想マシンを備えた仮想化システムであって、前記ＶＭＭは制御モジュールを備え、前記暗号復号仮想マシンはハード・ディスク・イメージ識別子と鍵の間の第１の関連付け関係を記録し、前記鍵は暗号化鍵を含み、前記仮想化システムは前記ハード・ディスク・イメージ識別子とハード・ディスク・イメージ属性の間の第２の関連付け関係を記録し、
前記制御モジュールは、ユーザの仮想マシンの書き込むべきデータを取得し、前記第２の関連付け関係に従って、前記データが書き込まれるべき前記ユーザの仮想マシンのハード・ディスク・イメージのハード・ディスク・イメージ属性を決定し、前記決定されたハード・ディスク・イメージ属性が暗号化である場合、前記データが書き込まれるべき前記ハード・ディスク・イメージの識別子および前記書き込むべきデータを前記暗号復号仮想マシンに送信するように構成され、 
前記暗号復号仮想マシンは、前記第１の関連付け関係に従って、前記データが書き込まれるべき前記ハード・ディスク・イメージの前記識別子に対応する暗号化鍵を決定し、前記暗号化鍵を用いて前記書き込むべきデータを暗号化して暗号化されたデータを取得し、前記暗号化されたデータを前記制御モジュールに送信するように構成され、
前記制御モジュールはさらに、前記暗号化されたデータを前記データが書き込まれるべき前記ハード・ディスク・イメージに書き込むように構成される、
仮想化システム。
【請求項２】
前記第１の関連付け関係はさらに前記ユーザの仮想マシンの識別子を含み、
前記制御モジュールは特に、前記ユーザの仮想マシンの前記識別子、前記データが書き込まれるべき前記ハード・ディスク・イメージの前記識別子、および前記書き込むべきデータを前記暗号復号仮想マシンに送信するように構成され、
前記暗号復号仮想マシンは特に、前記ユーザの仮想マシンの前記識別子および前記データが書き込まれるべき前記ハード・ディスク・イメージの前記識別子を取得し、前記第１の関連付け関係が前記ユーザの仮想マシンの前記識別子と前記データが書き込まれるべき前記ハード・ディスク・イメージの前記識別子との間の対応関係を含むかどうかを判定し、前記第１の関連付け関係が前記ユーザの仮想マシンの前記識別子と前記データが書き込まれるべき前記ハード・ディスク・イメージの前記識別子との間の対応関係を含まない場合、暗号化失敗指示を前記制御モジュールに返し、または、前記第１の関連付け関係が前記ユーザの仮想マシンの前記識別子と前記データが書き込まれるべき前記ハード・ディスク・イメージの前記識別子との間の対応関係を含む場合、前記データが書き込まれるべき前記ハード・ディスク・イメージの前記識別子に対応する前記決定された暗号化鍵を用いることによって前記書き込むべきデータを暗号化するように構成される、
請求項１に記載のシステム。
【請求項３】
前記鍵はさらに復号化鍵を含み、
前記制御モジュールはさらに、前記ユーザの仮想マシンによりトリガされる読取り要求を取得し、データを前記データがそこから読み取られるべきハード・ディスク・イメージから読み取り、前記読み出されたデータが暗号化されたデータであると判定し、復号化要求を前記暗号復号仮想マシンに送信するように構成され、前記復号化要求は前記ユーザの仮想マシンの前記識別子、前記読み出された暗号化されたデータ、および前記ハード・ディスク・イメージの識別子を運搬し、
前記暗号復号仮想マシンはさらに、前記復号化要求を受信し、前記第１の関連付け関係が前記ハード・ディスク・イメージの前記識別子および前記読取り要求を送信した前記ユーザの仮想マシンの前記識別子の間の対応関係を含むかどうかを判定し、前記第１の関連付け関係が前記ハード・ディスク・イメージの前記識別子および前記読取り要求を送信した前記ユーザの仮想マシンの前記識別子の間の対応関係を含む場合、前記第１の関連付け関係から、前記ハード・ディスク・イメージの前記識別子に対応する復号化鍵を取得し、前記復号化鍵を用いることによって前記読み出された暗号化されたデータを復号化し、取得された復号化されたデータを前記制御モジュールに送信するように構成され、
前記制御モジュールはさらに、前記復号化されたデータを前記ユーザの仮想マシンに返すように構成される、
請求項２に記載のシステム。
【請求項４】
前記システムはさらにシステム管理モジュールと仮想マシン管理モジュールを備え、
前記システム管理モジュールは、仮想マシン開始要求を前記仮想マシン管理モジュールに送信するように構成され、前記仮想マシン開始要求は開始すべきユーザの仮想マシンの識別子を運搬し、
前記仮想マシン管理モジュールは、前記仮想マシン開始要求を受信し、前記開始すべきユーザの仮想マシンを前記仮想マシン開始要求に従って開始し、前記開始されたユーザの仮想マシンのハード・ディスク・イメージ識別子およびハード・ディスク・イメージ属性を前記制御モジュールに送信するように構成され、
前記制御モジュールはさらに、前記開始されたユーザの仮想マシンの前記ハード・ディスク・イメージ識別子および前記ハード・ディスク・イメージ属性を受信および記録し、前記第２の関連付け関係を確立するように構成される、
請求項２または３に記載のシステム。
【請求項５】
前記システムはさらに前記システム管理モジュールおよび前記仮想マシン管理モジュールを備え、
前記システム管理モジュールはさらに、仮想マシン生成要求を前記仮想マシン管理モジュールに送信するように構成され、前記仮想マシン生成要求は生成すべきユーザの仮想マシンのハード・ディスク・イメージ属性を運搬し、 
前記仮想マシン管理モジュールはさらに、前記仮想マシン生成要求を受信し、ユーザの仮想マシンを生成し、前記生成されたユーザの仮想マシンに対するハード・ディスク・イメージを生成し、ハード・ディスク・イメージ識別子を割り当て、前記仮想マシン生成要求に従って、前記割り当てられたハード・ディスク・イメージ識別子に対応するハード・ディスク・イメージ属性を決定し、仮想マシン生成指示メッセージを前記暗号復号仮想マシンに送信するように構成され、前記仮想マシン生成指示メッセージは前記生成されたユーザの仮想マシンの識別子、前記割り当てられたハード・ディスク・イメージ識別子、および前記割り当てられたハード・ディスク・イメージ識別子に対応する前記ハード・ディスク・イメージ属性を運搬し、
前記暗号復号仮想マシンはさらに、前記仮想マシン生成指示メッセージを受信し、鍵を前記生成されたハード・ディスク・イメージに割り当て、前記生成されたユーザの仮想マシンの前記識別子、前記割り当てられたハード・ディスク・イメージ識別子、および前記鍵の間の前記第１の関連付け関係を確立するように構成される、
請求項４に記載のシステム。
【請求項６】
前記暗号復号仮想マシンはさらに、仮想マシン生成応答メッセージを前記システム管理モジュールに送信するように構成され、前記仮想マシン生成応答メッセージは前記生成されたユーザの仮想マシンの前記識別子を含む、請求項５に記載のシステム。
【請求項７】
前記システム管理モジュールはさらにハード・ディスク・イメージ追加要求メッセージを前記仮想マシン管理モジュールに送信するように構成され、前記ハード・ディスク・イメージ追加要求メッセージは前記ユーザの仮想マシンの前記識別子および新たに追加されたハード・ディスク・イメージの属性を運搬し、
前記仮想マシン管理モジュールはさらに、前記ハード・ディスク・イメージ追加要求メッセージを受信し、前記ユーザの仮想マシンに対する新たなハード・ディスク・イメージを生成し、前記新たなハード・ディスク・イメージのハード・ディスク・イメージ属性を前記ハード・ディスク・イメージ追加要求メッセージに従って決定し、前記ユーザの仮想マシンの前記識別子、前記新たなハード・ディスク・イメージの識別子、および前記新たなハード・ディスク・イメージの前記ハード・ディスク・イメージ属性を前記暗号復号仮想マシンに送信するように構成され、
前記暗号復号仮想マシンはさらに、鍵を前記新たなハード・ディスク・イメージに割り当て、前記第１の関連付け関係を更新するように構成される、
請求項５に記載のシステム。
【請求項８】
仮想化システム内の暗号復号方法であって、前記方法は前記仮想化システムに適用され、前記仮想化システムは仮想マシン・モニタＶＭＭおよび暗号復号仮想マシンを備え、前記ＶＭＭは制御モジュールを備え、前記暗号復号仮想マシンはハード・ディスク・イメージ識別子と鍵の間の第１の関連付け関係を記録し、前記鍵は暗号化鍵を含み、前記仮想化システムは前記ハード・ディスク・イメージ識別子とハード・ディスク・イメージ属性の間の第２の関連付け関係を記録し、前記方法は、 
前記制御モジュールにより、ユーザの仮想マシンの書き込むべきデータを取得し、前記第２の関連付け関係に従って、前記データが書き込まれるべき前記ユーザの仮想マシンのハード・ディスク・イメージのハード・ディスク・イメージ属性を決定し、前記決定されたハード・ディスク・イメージ属性が暗号化である場合、前記データが書き込まれるべき前記ハード・ディスク・イメージの識別子および前記書き込むべきデータを前記暗号復号仮想マシンに送信するステップと、
前記制御モジュールにより、前記暗号復号仮想マシンが前記暗号化鍵を用いることによって前記書き込むべきデータを暗号化した後に取得された暗号化されたデータを受信するステップであって、前記暗号化鍵は、前記第１の関連付け関係に従って前記暗号復号仮想マシンにより決定された、前記データが書き込まれるべき前記ハード・ディスク・イメージの前記識別子に対応する暗号化鍵である、ステップと、
前記制御モジュールにより、前記暗号化されたデータを前記データが書き込まれるべき前記ハード・ディスク・イメージに書き込むステップと、
を含む、方法。
【請求項９】
前記第１の関連付け関係はさらに前記ユーザの仮想マシンの識別子を含み、前記鍵はさらに復号化鍵を含み、前記方法はさらに、
前記制御モジュールにより、前記ユーザの仮想マシンによりトリガされる読取り要求を取得し、データを前記データがそこから読み取られるべきハード・ディスク・イメージから読み出し、前記読み出されたデータが暗号化されたデータであると判定し、復号化要求を前記暗号復号仮想マシンに送信するステップであって、前記復号化要求は前記ユーザの仮想マシンの前記識別子、前記読み出された暗号化されたデータ、および前記ハード・ディスク・イメージの識別子を運搬する、ステップと、
前記制御モジュールにより、前記暗号復号仮想マシンにより返された復号化されたデータを受信するステップであって、前記第１の関連付け関係が前記ユーザの仮想マシンの前記識別子と前記ハード・ディスク・イメージの前記識別子の間の対応関係を含むと判定した後、前記暗号復号仮想マシンは、前記第１の関連付け関係に従って決定された、前記ハード・ディスク・イメージの前記識別子に対応する復号化鍵を用いて前記暗号化されたデータを復号化することによって前記復号化されたデータを取得する、ステップと、
前記制御モジュールにより、前記復号化されたデータを前記ユーザの仮想マシンに返すステップと、
を含む、請求項８に記載の方法。
【請求項１０】
前記システムはさらに仮想マシン管理モジュールを備え、前記方法はさらに、
前記制御モジュールにより、前記仮想マシン管理モジュールにより送信された仮想マシン開始指示メッセージを受信するステップであって、前記仮想マシン開始指示メッセージは開始されたユーザの仮想マシンの識別子、および前記開始されたユーザの仮想マシンのハード・ディスク・イメージ識別子およびハード・ディスク・イメージ属性を運搬する、ステップと、
前記制御モジュールにより、前記開始されたユーザの仮想マシンの前記ハード・ディスク・イメージ識別子および前記ハード・ディスク・イメージ属性を記録し、前記第２の関連付け関係を更新するステップと、
を含む、請求項８に記載の方法。
【請求項１１】
ユーザの仮想マシン生成方法であって、前記方法は仮想化システムに適用され、前記仮想化システムはＶＭＭ、システム管理モジュール、および暗号復号仮想マシンを備え、前記ＶＭＭは仮想マシン管理モジュールを備え、前記方法は、
前記暗号復号仮想マシンにより、前記仮想マシン管理モジュールにより送信された仮想マシン生成指示メッセージを受信するステップであって、前記仮想マシン生成指示メッセージは、生成されたユーザの仮想マシンの識別子、前記生成されたユーザの仮想マシンに割り当てられたハード・ディスク・イメージの識別子、および前記割り当てられたハード・ディスク・イメージ識別子に対応するハード・ディスク・イメージ属性を運搬し、前記仮想マシン生成指示メッセージは特に、前記仮想マシン管理モジュールが前記システム管理モジュールにより送信された仮想マシン生成要求に従って前記ユーザの仮想マシンおよびハード・ディスク・イメージを生成した後に送信される、ステップと、
前記暗号復号仮想マシンにより、鍵を前記生成されたハード・ディスク・イメージに割り当て、前記生成されたユーザの仮想マシンの前記識別子、前記割り当てられたハード・ディスク・イメージ識別子、および前記鍵の間の第１の関連付け関係を確立するステップと、
前記暗号復号仮想マシンにより、仮想マシン生成応答メッセージを前記システム管理モジュールに送信するステップであって、前記仮想マシン生成応答メッセージは前記生成されたユーザの仮想マシンの前記識別子を含む、ステップと、
を含む、方法。
【請求項１２】
前記暗号復号仮想マシンにより、前記仮想マシン管理モジュールにより送信されたハード・ディスク・イメージ追加指示メッセージを受信するステップであって、前記ハード・ディスク・イメージ追加指示メッセージは、前記ユーザの仮想マシンの前記識別子、および前記ユーザの仮想マシンに対して前記仮想マシン管理モジュールにより追加されたハード・ディスク・イメージの識別子およびハード・ディスク・イメージ属性を運搬し、前記ハード・ディスク・イメージ追加指示メッセージは特に、前記仮想マシン管理モジュールが、前記システム管理モジュールにより送信されたハード・ディスク・イメージ追加要求に従って前記ユーザの仮想マシンに対する新たに追加されたハード・ディスク・イメージを生成した後に送信される、ステップと、
前記暗号復号仮想マシンにより、鍵を前記新たに追加されたハード・ディスク・イメージに割り当て、前記第１の関連付け関係に対して、前記ユーザの仮想マシンの前記識別子、前記新たに追加されたハード・ディスク・イメージの前記識別子、および前記新たに追加されたハード・ディスク・イメージに割り当てられた前記鍵を更新するステップと、
をさらに含む、請求項１１に記載の方法。
【請求項１３】
前記ＶＭＭは制御モジュールを備え、前記方法はさらに、 
前記制御モジュールが暗号化されたデータを前記データが書き込まれるべき前記ハード・ディスク・イメージに書き込むように、前記暗号復号仮想マシンにより、前記制御モジュールにより送信された暗号化要求を受信し、前記第１の関連付け関係が前記ユーザの仮想マシンの前記識別子と前記データが書き込まれるべき前記ハード・ディスク・イメージの前記識別子との間の対応関係を含むかどうかを判定し、そうでない場合、暗号化失敗指示を前記制御モジュールに返し、またはそうである場合、前記第１の関連付け関係に従って、前記データが書き込まれるべき前記ハード・ディスク・イメージの前記識別子に対応する暗号化鍵を決定し、前記暗号化鍵を用いることによって前記書き込むべきデータを暗号化して暗号化されたデータを取得し、前記暗号化されたデータを前記制御モジュールに送信するステップであって、前記暗号化要求は前記ユーザの仮想マシンの前記識別子、データが書き込まれるべきハード・ディスク・イメージの識別子、および前記書き込むべきデータを運搬する、ステップ
を含む、請求項１１に記載の方法。
【請求項１４】
前記制御モジュールが復号化されたデータを前記ユーザの仮想マシンに返すように、前記暗号復号仮想マシンにより、前記制御モジュールにより送信された復号化要求を受信し、前記第１の関連付け関係が前記ユーザの仮想マシンの前記識別子と前記ハード・ディスク・イメージの前記識別子の間の対応関係を含むかどうかを判定し、そうである場合、前記第１の関連付け関係から、前記ハード・ディスク・イメージの前記識別子に対応する復号化鍵を取得し、前記復号化鍵を用いることによって読み出された暗号化されたデータを復号化し、取得された復号化されたデータを前記制御モジュールに送信するステップであって、前記復号化要求は前記ユーザの仮想マシンの前記識別子、読み出された前記暗号化されたデータ、および前記ハード・ディスク・イメージの前記識別子を運搬する、ステップをさらに含む、請求項１３に記載の方法。
【請求項１５】
仮想化システム内の制御装置であって、前記制御装置は前記仮想化システムのＶＭＭ内に配置され、前記仮想化システムはさらに暗号復号仮想マシンを備え、前記制御装置は、
ユーザの仮想マシンの書き込むべきデータを取得するように構成された取得ユニットと、
ハード・ディスク・イメージ識別子とハード・ディスク・イメージ属性の間の第２の関連付け関係に従って、前記データが書き込まれるべき前記ユーザの仮想マシンのハード・ディスク・イメージのハード・ディスク・イメージ属性を決定するように構成された処理ユニットと、
前記処理ユニットにより決定された前記ハード・ディスク・イメージ属性が暗号化であるとき、前記データが書き込まれるべき前記ハード・ディスク・イメージの識別子および前記書き込むべきデータを前記暗号復号仮想マシンに送信するように構成された送信ユニットと、
前記取得ユニットにより受信された前記暗号化されたデータを前記データが書き込まれるべき前記ハード・ディスク・イメージに書き込むように構成された書込みユニットと、
を備え、
前記取得ユニットはさらに、前記書き込むべきデータが暗号化鍵を用いることによって暗号化された後に取得された暗号化されたデータを受信するように構成され、前記暗号化鍵は、ハード・ディスク・イメージ・識別子と、暗号化鍵を含む鍵との間の第１の関連付け関係に従って決定された、前記データが書き込まれるべき前記ハード・ディスク・イメージの前記識別子に対応する暗号化鍵である、
制御装置。
【請求項１６】
前記鍵はさらに復号化鍵を含み、
前記取得ユニットはさらに、前記ユーザの仮想マシンによりトリガされる読取り要求を取得するように構成され、
前記処理ユニットはさらに、データを当該データがそこから読み出されるハード・ディスク・イメージから読み出し、前記読み出されたデータが暗号化されたデータであると判定するように構成され、
前記送信ユニットはさらに、前記読み出されたデータが前記暗号化されたデータであると前記処理ユニットが判定したとき、復号化要求を前記暗号復号仮想マシンに送信するように構成され、前記復号化要求は前記ユーザの仮想マシンの識別子、前記読み出された暗号化されたデータ、および前記ハード・ディスク・イメージの識別子を運搬し、
前記取得ユニットはさらに、前記暗号復号仮想マシンにより返された復号化されたデータを受信するように構成され、前記第１の関連付け関係が前記ユーザの仮想マシンの前記識別子と前記ハード・ディスク・イメージの前記識別子の間の対応関係を含むとき、前記復号化されたデータは、前記第１の関連付け関係に従って決定された、前記ハード・ディスク・イメージの前記識別子に対応する復号化鍵を用いて前記暗号化されたデータを復号化することによって取得され、
前記送信ユニットはさらに、前記取得ユニットにより受信された前記復号化されたデータを前記ユーザの仮想マシンに返すように構成される、
請求項１５に記載の装置。
【請求項１７】
前記取得ユニットはさらに、仮想マシン管理モジュールにより送信された仮想マシン開始指示メッセージを受信するように構成され、前記仮想マシン開始指示メッセージは開始されたユーザの仮想マシンの識別子、および前記開始されたユーザの仮想マシンのハード・ディスク・イメージ識別子およびハード・ディスク・イメージ属性を運搬し、 
前記処理ユニットはさらに、前記開始されたユーザの仮想マシンの前記ハード・ディスク・イメージ識別子および前記ハード・ディスク・イメージ属性を記録し、前記第２の関連付け関係を更新するように構成される、
請求項１５に記載の装置。
【請求項１８】
仮想化システム内の暗号復号装置であって、前記暗号復号装置は前記仮想化システムに適用され、前記仮想化システムは前記暗号復号装置、ＶＭＭ、およびシステム管理モジュールを備え、前記ＶＭＭは仮想マシン管理モジュールを備え、前記暗号復号装置は、
前記仮想マシン管理モジュールにより送信された仮想マシン生成指示メッセージを受信するように構成された受信ユニットであって、前記仮想マシン生成指示メッセージは、生成されたユーザの仮想マシンの識別子、前記生成されたユーザの仮想マシンに割り当てられたハード・ディスク・イメージ識別子、および前記割り当てられたハード・ディスク・イメージ識別子に対応するハード・ディスク・イメージ属性を運搬し、前記仮想マシン生成指示メッセージは特に、前記ユーザの仮想マシン及びハード・ディスク・イメージが、前記システム管理モジュールにより送信された仮想マシン生成要求に従って生成された後に送信される、受信ユニットと、
前記受信ユニットが前記仮想マシン生成指示メッセージを受信した後に、鍵を前記生成されたハード・ディスク・イメージに割り当て、前記生成されたユーザの仮想マシンの前記識別子、前記割り当てられたハード・ディスク・イメージ識別子、および前記鍵の間の第１の関連付け関係を確立するように構成された実行ユニットと、
仮想マシン生成応答メッセージを前記システム管理モジュールに送信するように構成されたメッセージ返却ユニットであって、前記仮想マシン生成応答メッセージは前記生成されたユーザの仮想マシンの前記識別子を含む、メッセージ返却ユニットと、
を備える、暗号復号装置。
【請求項１９】
前記受信ユニットはさらに、前記仮想マシン管理モジュールにより送信されたハード・ディスク・イメージ追加指示メッセージを受信するように構成され、前記ハード・ディスク・イメージ追加指示メッセージは、前記ユーザの仮想マシンの前記識別子、および前記ユーザの仮想マシンに対して前記仮想マシン管理モジュールにより追加されたハード・ディスク・イメージの識別子およびハード・ディスク・イメージ属性を運搬し、前記ハード・ディスク・イメージ追加指示メッセージは特に、前記ユーザの仮想マシンに対する新たに追加されたハード・ディスク・イメージが、前記システム管理モジュールにより送信されたハード・ディスク・イメージ追加要求に従って生成された後に送信され、
前記実行ユニットはさらに、前記受信ユニットが前記ハード・ディスク・イメージ追加指示メッセージを受信した後、鍵を前記新たに追加されたハード・ディスク・イメージに割り当て、前記第１の関連付け関係に対して、前記ユーザの仮想マシンの前記識別子、前記新たに追加されたハード・ディスク・イメージの前記識別子、および前記新たに追加されたハード・ディスク・イメージに割り当てられた前記鍵を更新するように構成される、
請求項１８に記載の装置。
【請求項２０】
前記ＶＭＭは制御モジュールを備え、
前記受信ユニットはさらに、前記制御モジュールにより送信された暗号化要求を受信するように構成され、前記暗号化要求は前記ユーザの仮想マシンの前記識別子、データが書き込まれるべきハード・ディスク・イメージの識別子、および前記書き込むべきデータを運搬し、 
前記実行ユニットはさらに、前記第１の関連付け関係が前記受信ユニットにより受信された前記ユーザの仮想マシンの前記識別子と前記データが書き込まれるべき前記ハード・ディスク・イメージの前記識別子との間の対応関係を含むかどうかを判定し、そうである場合、前記第１の関連付け関係に従って、前記データが書き込まれるべき前記ハード・ディスク・イメージの前記識別子に対応する暗号化鍵を決定し、前記暗号化鍵を用いて前記書き込むべきデータを暗号化して暗号化されたデータを取得するように構成され、
前記メッセージ返却ユニットはさらに、前記第１の関連付け関係が前記ユーザの仮想マシンの前記識別子と前記データが書き込まれるべき前記ハード・ディスク・イメージの前記識別子の間の対応関係を含まないと前記実行ユニットが判定したとき、暗号化失敗指示を前記制御モジュールに返し、前記第１の関連付け関係が、前記ユーザの仮想マシンの前記識別子と前記データが書き込まれるべき前記ハード・ディスク・イメージの前記識別子の間の対応関係を含むと前記実行ユニットが判定したとき、前記暗号化されたデータを前記制御モジュールに送信するように構成される、
請求項１８に記載の装置。
【請求項２１】
請求項８乃至１４の何れか１項に記載の方法をコンピュータに実行させる、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は通信分野に関し、特に、仮想化システムにおける暗号復号方法および装置、およびシステムに関する。
【背景技術】
【０００２】
クラウド・コンピューティング・プラットフォームは、効果的に様々な相互接続されたコンピューティング・リソースを統合し多レベルの仮想化および抽象化を実装することによって仮想マシン（Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ、ＶＭ）の形で、ユーザに大量のコンピューティング・リソースを効果的に提供することができる。特に、クラウド・コンピューティング・ホスト内に展開された仮想化ソフトウェアは仮想マシンが実行される環境を構成し、当該仮想マシンに対するネットワークおよび記憶のようなサービスを提供する。ユーザ・データは当該仮想マシンの仮想ハード・ディスクに格納され、当該仮想ハード・ディスクの実物理記憶空間は記憶サーバのハード・ディスクのアレイ内にあり、当該記憶サーバは当該仮想ハード・ディスクの記憶空間を大規模ファイルまたは大規模データ・ブロックに編成する。当該大規模ファイルまたは当該大規模データ・ブロックはハード・ディスク・イメージと称される。当該ハード・ディスク・イメージは当該仮想マシン内のデータの記憶エンティティであり、当該仮想マシンのディスクまたはハード・ディスクの内容がセクタの単位で編成される記憶状態を示す。ハード・ディスク・イメージ内のユーザ・データの安全性を保証し、企業秘密を含むユーザのプライベート・データの開示を回避するために、当該クラウド・コンピューティング・プラットフォームは信頼できる安全性保証技術を提供する必要がある。
【０００３】
図１に示すように、図１は、先行技術の仮想化システムにおける暗号復号技術を実装するための略構造図である。ユーザ・データの安全性を保証するために、デバイス・マッピング暗号化モジュールが仮想マシン・モニタ（Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ  Ｍｏｎｉｔｏｒ、ＶＭＭ）に含まれ、ハード・ディスク・イメージを仮想ブロック・デバイスとしてマップするように構成される。ハード・ディスク・イメージはユーザの仮想マシンに不可視であり、仮想化ソフトウェアは当該ブロック・デバイスをユーザの仮想マシンに接続し、当該デバイス・マッピング暗号化モジュールはユーザの仮想マシンによるブロック・デバイスへのアクセスを認識し、ハード・ディスク・イメージ内のアクセスされたデータに暗号化処理を実施でき、それによりユーザ・データに対する保護を実装する。しかし、何百ものハード・ディスク・イメージがクラウド・コンピューティング・ホスト内に存在しうる。これらのハード・ディスク・イメージは多くのタイプ、例えば、大規模ファイル、ローカル・ブロック・デバイス、およびネットワーク・ブロック・デバイスを含む。幾つかのハード・ディスク・イメージを暗号化する必要があり、幾つかは暗号化する必要がない。したがって、当該デバイス・マッピング暗号化モジュールは識別と処理を別々に実施する必要があり、これが、当該デバイス・マッピング暗号化モジュールの複雑な実装をもたらし、クラウド・コンピューティング・オペレーティング・システムの安全性に大きな影響を及ぼす。
【発明の概要】
【課題を解決するための手段】
【０００４】
本発明の目的は、仮想化システムにおける暗号復号方法および装置、およびシステムを提供して、ＶＭＭ内のデバイス・マッピング暗号化モジュールによる暗号化処理または復号化処理を実施することでもたらされる複雑な実装とシステムの危険性という先行技術における問題を解決することである。
【０００５】
第１の態様によれば、本発明の１実施形態では、仮想マシン・モニタＶＭＭおよび暗号復号仮想マシンを備えた仮想化システムを提供する。ＶＭＭは制御モジュールを備え、暗号復号仮想マシンはハード・ディスク・イメージ識別子と鍵の間の第１の関連付け関係を記録し、当該鍵は暗号化鍵を含み、当該仮想化システムはハード・ディスク・イメージ識別子とハード・ディスク・イメージ属性の間の第２の関連付け関係を記録し、
当該制御モジュールは、ユーザの仮想マシンの書き込むべきデータを取得し、第２の関連付け関係に従って、当該データが書き込まれるべきユーザの仮想マシンのハード・ディスク・イメージのハード・ディスク・イメージ属性を決定し、当該決定されたハード・ディスク・イメージ属性が暗号化である場合、当該データが書き込まれるべきハード・ディスク・イメージの識別子および当該書き込むべきデータを暗号復号仮想マシンに送信するように構成され、
暗号復号仮想マシンは、第１の関連付け関係に従って、当該データが書き込まれるべきハード・ディスク・イメージの識別子に対応する暗号化鍵を決定し、当該暗号化鍵を用いて当該書き込むべきデータを暗号化して暗号化されたデータを取得し、当該暗号化されたデータを当該制御モジュールに送信するように構成され、
当該制御モジュールはさらに、当該暗号化されたデータを当該データが書き込まれるべきハード・ディスク・イメージに書き込むように構成される。
【０００６】
第１の態様を参照して、第１の態様の第１の可能な実装方式では、第１の関連付け関係はさらにユーザの仮想マシンの識別子を含み、
当該制御モジュールは特に、ユーザの仮想マシンの識別子、当該データが書き込まれるべきハード・ディスク・イメージの識別子、および当該書き込むべきデータを暗号復号仮想マシンに送信するように構成され、
暗号復号仮想マシンは特に、ユーザの仮想マシンの識別子および当該データが書き込まれるべきハード・ディスク・イメージの識別子を取得し、第１の関連付け関係がユーザの仮想マシンの識別子と当該データが書き込まれるべきハード・ディスク・イメージの識別子との間の対応関係を含むかどうかを判定し、そうでない場合、暗号化失敗指示を当該制御モジュールに返し、またはそうである場合、当該データが書き込まれるべきハード・ディスク・イメージの識別子に対応する当該決定された暗号化鍵を用いることによって当該書き込むべきデータを暗号化するように構成される。
【０００７】
第１の態様の第１の可能な実装方式を参照して、第１の態様の第２の可能な実装方式では、当該鍵はさらに復号化鍵を含み、
当該制御モジュールはさらに、ユーザの仮想マシンによりトリガされる読取り要求を取得し、データを当該データがそこから読み取られるべきハード・ディスク・イメージから読み取り、当該読み出されたデータが暗号化されたデータであると判定し、復号化要求を暗号復号仮想マシンに送信するように構成され、当該復号化要求はユーザの仮想マシンの識別子、当該読み出された暗号化されたデータ、およびハード・ディスク・イメージの識別子を運搬し、
暗号復号仮想マシンはさらに、当該復号化要求を受信し、第１の関連付け関係がハード・ディスク・イメージの識別子と当該読取り要求を送信したユーザの仮想マシンの識別子との間の対応関係を含むかどうかを判定し、そうである場合、第１の関連付け関係からハード・ディスク・イメージの識別子に対応する復号化鍵を取得し、当該復号化鍵を用いることによって当該読み出された暗号化されたデータを復号化し、取得された復号化されたデータを当該制御モジュールに送信するように構成され、
当該制御モジュールはさらに、当該復号化されたデータをユーザの仮想マシンに返すように構成される。
【０００８】
第１の態様の第２の可能な実装方式を参照して、第１の態様の第３の可能な実装方式では、当該制御モジュールはさらに、当該読み出されたデータが暗号化されていないデータであると判定されたとき、当該読み出された暗号化されていないデータをユーザの仮想マシンに返すように構成される。
【０００９】
第１の態様の第１乃至第３の可能な実装方式の何れか１つを参照して、第１の態様の第４の可能な実装方式では、当該システムはさらにシステム管理モジュールと仮想マシン管理モジュールを備え、
当該システム管理モジュールは、仮想マシン開始要求を当該仮想マシン管理モジュールに送信するように構成され、当該仮想マシン開始要求は開始すべきユーザの仮想マシンの識別子を運搬し、
当該仮想マシン管理モジュールは、当該仮想マシン開始要求を受信し、当該開始すべきユーザの仮想マシンを当該仮想マシン開始要求に従って開始し、当該開始されたユーザの仮想マシンのハード・ディスク・イメージ識別子およびハード・ディスク・イメージ属性を当該制御モジュールに送信するように構成され、
当該制御モジュールはさらに、当該開始されたユーザの仮想マシンのハード・ディスク・イメージ識別子およびハード・ディスク・イメージ属性を受信および記録し、第２の関連付け関係を確立するように構成される。
【００１０】
第１の態様の第１乃至第４の可能な実装方式の何れか１つを参照して、第１の態様の第５の可能な実装方式では、当該システムはさらに、当該システム管理モジュールおよび当該仮想マシン管理モジュールを備え、
当該システム管理モジュールはさらに、仮想マシン生成要求を当該仮想マシン管理モジュールに送信するように構成され、当該仮想マシン生成要求は生成すべきユーザの仮想マシンのハード・ディスク・イメージ属性を運搬し、
当該仮想マシン管理モジュールはさらに、当該仮想マシン生成要求を受信し、ユーザの仮想マシンを生成し、当該生成されたユーザの仮想マシンに対するハード・ディスク・イメージを生成し、ハード・ディスク・イメージ識別子を割り当て、当該仮想マシン生成要求に従って、当該割り当てられたハード・ディスク・イメージ識別子に対応するハード・ディスク・イメージ属性を決定し、仮想マシン生成指示メッセージを暗号復号仮想マシンに送信するように構成され、当該仮想マシン生成指示メッセージは当該生成されたユーザの仮想マシンの識別子、当該割り当てられたハード・ディスク・イメージ識別子、および当該割り当てられたハード・ディスク・イメージ識別子に対応するハード・ディスク・イメージ属性を運搬し、
暗号復号仮想マシンはさらに、当該仮想マシン生成指示メッセージを受信し、鍵を当該生成されたハード・ディスク・イメージに割り当て、当該生成されたユーザの仮想マシンの識別子、当該割り当てられたハード・ディスク・イメージ識別子、および当該鍵の間の第１の関連付け関係を確立するように構成される。
【００１１】
第１の態様の第５の可能な実装方式を参照して、第１の態様の第６の可能な実装方式では、暗号復号仮想マシンはさらに、仮想マシン生成応答メッセージを当該システム管理モジュールに送信するように構成され、当該仮想マシン生成応答メッセージは当該生成されたユーザの仮想マシンの識別子を含む。
【００１２】
第１の態様の第５の可能な実装方式を参照して、第１の態様の第７の可能な実装方式では、
当該システム管理モジュールはさらにハード・ディスク・イメージ追加要求メッセージを当該仮想マシン管理モジュールに送信するように構成され、当該ハード・ディスク・イメージ追加要求メッセージはユーザの仮想マシンの識別子および新たに追加されたハード・ディスク・イメージの属性を運搬し、
当該仮想マシン管理モジュールはさらに、当該ハード・ディスク・イメージ追加要求メッセージを受信し、ユーザの仮想マシンに対する新たなハード・ディスク・イメージを生成し、当該新たなハード・ディスク・イメージのハード・ディスク・イメージ属性を当該ハード・ディスク・イメージ追加要求メッセージに従って決定し、ユーザの仮想マシンの識別子、当該新たなハード・ディスク・イメージの識別子、および当該新たなハード・ディスク・イメージのハード・ディスク・イメージ属性を暗号復号仮想マシンに送信するように構成され、
暗号復号仮想マシンはさらに、鍵を当該新たなハード・ディスク・イメージに割り当て、第１の関連付け関係を更新するように構成される。
【００１３】
第１の態様を参照して、第１の態様の第８の可能な実装方式では、当該制御モジュールは特に、デバイス・ドライバから、ユーザの仮想マシンによりトリガされた書込み要求を取得するように構成され、当該書込み要求は当該書き込むべきデータを運搬する。
【００１４】
第１の態様を参照して、第１の態様の第９の可能な実装方式では、当該鍵はさらに復号化鍵を含み、
当該制御モジュールはさらに、ユーザの仮想マシンによりトリガされる読取り要求を取得し、データを当該データがそこから読み取られるべきハード・ディスク・イメージから読み取り、当該読み出されたデータが暗号化されたデータであると判定し、復号化要求を暗号復号仮想マシンに送信するように構成され、当該復号化要求はユーザの仮想マシンの識別子、当該読み出された暗号化されたデータ、およびハード・ディスク・イメージの識別子を運搬し、
暗号復号仮想マシンはさらに、当該復号化要求を受信し、第１の関連付け関係に従って、ハード・ディスク・イメージの識別子に対応する復号化鍵を決定し、当該復号化鍵を用いることによって当該書き込むべきデータを復号化し、取得された復号化されたデータを当該制御モジュールに送信するように構成され、
当該制御モジュールはさらに、当該復号化されたデータをユーザの仮想マシンに返すように構成される。
【００１５】
第１の態様または第１の態様の第９の可能な実装方式を参照して、第１の態様の第１０の可能な実装方式では、当該システムはさらにシステム管理モジュールと仮想マシン管理モジュールを備え、
当該システム管理モジュールは、仮想マシン開始要求を当該仮想マシン管理モジュールに送信するように構成され、当該仮想マシン開始要求は開始すべきユーザの仮想マシンの識別子を運搬し、
当該仮想マシン管理モジュールは、当該仮想マシン開始要求を受信し、当該開始すべきユーザの仮想マシンを当該仮想マシン開始要求に従って開始し、当該開始されたユーザの仮想マシンのハード・ディスク・イメージ識別子およびハード・ディスク・イメージ属性を当該制御モジュールに送信するように構成され、
当該制御モジュールはさらに、当該開始されたユーザの仮想マシンのハード・ディスク・イメージ識別子およびハード・ディスク・イメージ属性を受信および記録し、第２の関連付け関係を確立するように構成される。
【００１６】
第１の態様、第１の態様の第９の可能な実装方式、または第１の態様の第１０の可能な実装方式を参照して、第１の態様の第１１の可能な実装方式では、当該システムはさらに当該システム管理モジュールと当該仮想マシン管理モジュールを備え、
当該システム管理モジュールはさらに、仮想マシン生成要求を当該仮想マシン管理モジュールに送信するように構成され、当該仮想マシン生成要求は生成すべきユーザの仮想マシンのハード・ディスク・イメージ属性を運搬し、
当該仮想マシン管理モジュールはさらに、当該仮想マシン生成要求を受信し、ユーザの仮想マシンを生成し、当該生成されたユーザの仮想マシンに対するハード・ディスク・イメージを生成し、ハード・ディスク・イメージ識別子を割り当て、当該仮想マシン生成要求に従って、当該割り当てられたハード・ディスク・イメージ識別子に対応するハード・ディスク・イメージ属性を決定し、仮想マシン生成指示メッセージを暗号復号仮想マシンに送信するように構成され、当該仮想マシン生成指示メッセージは、当該割り当てられたハード・ディスク・イメージ識別子、および当該割り当てられたハード・ディスク・イメージ識別子に対応するハード・ディスク・イメージ属性を運搬し、
暗号復号仮想マシンはさらに、当該仮想マシン生成指示メッセージを受信し、鍵をハード・ディスク・イメージに割り当て、ハード・ディスク・イメージ識別子および当該鍵の間の第１の関連付け関係を確立するように構成される。
【００１７】
第１の態様の第１１の可能な実装方式を参照して、第１の態様の第１２の可能な実装方式では、
当該システム管理モジュールはさらにハード・ディスク・イメージ追加要求メッセージを当該仮想マシン管理モジュールに送信するように構成され、ハード・ディスク・イメージ追加要求メッセージはユーザの仮想マシンの識別子および新たに追加されたハード・ディスク・イメージの属性を運搬し、
当該仮想マシン管理モジュールはさらに、ハード・ディスク・イメージ追加要求メッセージを受信し、ユーザの仮想マシンに対する新たなハード・ディスク・イメージを生成し、当該新たなハード・ディスク・イメージのハード・ディスク・イメージ属性を決定し、当該新たなハード・ディスク・イメージの識別子および当該新たなハード・ディスク・イメージのハード・ディスク・イメージ属性を暗号復号仮想マシンに送信するように構成され、
暗号復号仮想マシンはさらに、鍵を当該新たなハード・ディスク・イメージに割り当て、第１の関連付け関係を更新するように構成される。
【００１８】
第２の態様によれば、本発明の１実施形態では仮想化システム内の暗号復号方法を提供する。当該方法は当該仮想化システムに適用され、当該仮想化システムは仮想マシン・モニタＶＭＭおよび暗号復号仮想マシンを備え、ＶＭＭは制御モジュールを備え、暗号復号仮想マシンはハード・ディスク・イメージ識別子と鍵の間の第１の関連付け関係を記録し、当該鍵は暗号化鍵を含み、当該仮想化システムはハード・ディスク・イメージ識別子とハード・ディスク・イメージ属性の間の第２の関連付け関係を記録し、当該方法は、
当該制御モジュールにより、ユーザの仮想マシンの書き込むべきデータを取得し、第２の関連付け関係に従って、当該データが書き込まれるべきユーザの仮想マシンのハード・ディスク・イメージのハード・ディスク・イメージ属性を決定し、当該決定されたハード・ディスク・イメージ属性が暗号化である場合、当該データが書き込まれるべきハード・ディスク・イメージの識別子および当該書き込むべきデータを暗号復号仮想マシンに送信するステップと、
当該制御モジュールにより、暗号復号仮想マシンが当該暗号化鍵を用いることによって当該書き込むべきデータを暗号化した後に取得された暗号化されたデータを受信するステップであって、当該暗号化鍵は、第１の関連付け関係に従って暗号復号仮想マシンにより決定された、当該データが書き込まれるべきハード・ディスク・イメージの識別子に対応する暗号化鍵である、ステップと、
当該制御モジュールにより、当該暗号化されたデータを当該データが書き込まれるべきハード・ディスク・イメージに書き込むステップと、
を含む。
【００１９】
第２の態様を参照して、第２の態様の第１の可能な実装方式では、第１の関連付け関係はさらにユーザの仮想マシンの識別子を含み、当該鍵はさらに復号化鍵を含み、当該方法はさらに、
当該制御モジュールにより、ユーザの仮想マシンによりトリガされる読取り要求を取得し、データを当該データがそこから読み取られるべきハード・ディスク・イメージから読み出し、当該読み出されたデータが暗号化されたデータであると判定し、復号化要求を暗号復号仮想マシンに送信するステップであって、当該復号化要求はユーザの仮想マシンの識別子、当該読み出された暗号化されたデータ、およびハード・ディスク・イメージの識別子を運搬する、ステップと、
当該制御モジュールにより、暗号復号仮想マシンにより返された復号化されたデータを受信するステップであって、第１の関連付け関係がユーザの仮想マシンの識別子とハード・ディスク・イメージの識別子の間の対応関係を含むと判定した後、暗号復号仮想マシンは、第１の関連付け関係に従って決定された、ハード・ディスク・イメージの識別子に対応する復号化鍵を用いて当該暗号化されたデータを復号化することによって当該復号化されたデータを取得する、ステップと、
当該制御モジュールにより、当該復号化されたデータをユーザの仮想マシンに返すステップと、
を含む。
【００２０】
第２の態様の第１の可能な実装方式を参照して、第２の態様の第２の可能な実装方式では、当該読み出されたデータが暗号化されていないデータであると判定されたとき、当該制御モジュールにより、当該読み出された暗号化されていないデータをユーザの仮想マシンに返す。
【００２１】
第２の態様を参照して、第２の態様の第３の可能な実装方式では、当該システムはさらに仮想マシン管理モジュールを備え、当該方法はさらに、
当該制御モジュールにより、当該仮想マシン管理モジュールにより送信された仮想マシン開始指示メッセージを受信するステップであって、当該仮想マシン開始指示メッセージは開始されたユーザの仮想マシンの識別子、および当該開始されたユーザの仮想マシンのハード・ディスク・イメージ識別子およびハード・ディスク・イメージ属性を運搬する、ステップと、
当該制御モジュールにより、当該開始されたユーザの仮想マシンのハード・ディスク・イメージ識別子およびハード・ディスク・イメージ属性を記録し、第２の関連付け関係を更新するステップと、
を含む。
【００２２】
第２の態様を参照して、第２の態様の第４の可能な実装方式では、当該制御モジュールにより、ユーザの仮想マシンの書き込むべきデータを取得するステップは、当該制御モジュールにより、デバイス・ドライバから、ユーザの仮想マシンによりトリガされた書込み要求を取得するステップであって、当該書込み要求は当該書き込むべきデータを運搬する、ステップを含む。
【００２３】
第３の態様によれば、本発明の１実施形態ではユーザの仮想マシン生成方法を提供する。当該方法は仮想化システムに適用され、当該仮想化システムはＶＭＭ、システム管理モジュール、および暗号復号仮想マシンを備え、当該ＶＭＭは仮想マシン管理モジュールを備え、当該方法は、
暗号復号仮想マシンにより、当該仮想マシン管理モジュールにより送信された仮想マシン生成指示メッセージを受信するステップであって、当該仮想マシン生成指示メッセージは、生成されたユーザの仮想マシンの識別子、当該生成されたユーザの仮想マシンに割り当てられたハード・ディスク・イメージ識別子、および当該割り当てられたハード・ディスク・イメージ識別子に対応するハード・ディスク・イメージ属性を運搬し、当該仮想マシン生成指示メッセージは特に、当該仮想マシン管理モジュールが当該システム管理モジュールにより送信された仮想マシン生成要求に従ってユーザの仮想マシンおよびハード・ディスク・イメージを生成した後に送信される、ステップと、
暗号復号仮想マシンにより、鍵を当該生成されたハード・ディスク・イメージに割り当て、当該生成されたユーザの仮想マシンの識別子、当該割り当てられたハード・ディスク・イメージ識別子、および当該鍵の間の第１の関連付け関係を確立するステップと、
暗号復号仮想マシンにより、仮想マシン生成応答メッセージを当該システム管理モジュールに送信するステップであって、当該仮想マシン生成応答メッセージは当該生成されたユーザの仮想マシンの識別子を含む、ステップと、
を含む。
【００２４】
第３の態様を参照して、第３の態様の第１の可能な実装方式では、当該方法はさらに、
暗号復号仮想マシンにより、当該仮想マシン管理モジュールにより送信されたハード・ディスク・イメージ追加指示メッセージを受信するステップであって、当該ハード・ディスク・イメージ追加指示メッセージは、ユーザの仮想マシンの識別子、およびユーザの仮想マシンに対して当該仮想マシン管理モジュールにより追加されたハード・ディスク・イメージの識別子およびハード・ディスク・イメージ属性を運搬し、ハード・ディスク・イメージ追加指示メッセージは特に、当該仮想マシン管理モジュールが、当該システム管理モジュールにより送信されたハード・ディスク・イメージ追加要求に従ってユーザの仮想マシンに対する当該新たに追加されたハード・ディスク・イメージを生成した後に送信される、ステップと、
暗号復号仮想マシンにより、鍵を当該新たに追加されたハード・ディスク・イメージに割り当て、第１の関連付け関係に対して、ユーザの仮想マシンの識別子、当該新たに追加されたハード・ディスク・イメージの識別子、および当該新たに追加されたハード・ディスク・イメージに割り当てられた当該鍵を更新するステップと、
を含む。
【００２５】
第３の態様を参照して、第３の態様の第２の可能な実装方式では、
当該ＶＭＭは制御モジュールを備え、当該方法はさらに、
当該制御モジュールが当該暗号化されたデータを当該データが書き込まれるべきハード・ディスク・イメージに書き込むように、暗号復号仮想マシンにより、当該制御モジュールにより送信された暗号化要求を受信し、第１の関連付け関係がユーザの仮想マシンの識別子と当該データが書き込まれるべきハード・ディスク・イメージの識別子との間の対応関係を含むかどうかを判定し、そうでない場合、暗号化失敗指示を当該制御モジュールに返し、またはそうである場合、第１の関連付け関係に従って、当該データが書き込まれるべきハード・ディスク・イメージの識別子に対応する暗号化鍵を決定し、当該暗号化鍵を用いることによって当該書き込むべきデータを暗号化して暗号化されたデータを取得し、当該暗号化されたデータを当該制御モジュールに送信するステップであって、当該暗号化要求はユーザの仮想マシンの識別子、データが書き込まれるべきハード・ディスク・イメージの識別子、および当該書き込むべきデータを運搬する、ステップ
を含む。
【００２６】
第３の態様の第２の可能な実装方式を参照して、第３の態様の第３の可能な実装方式では、当該方法はさらに、当該制御モジュールが当該復号化されたデータをユーザの仮想マシンに返すように、暗号復号仮想マシンにより、当該制御モジュールにより送信された復号化要求を受信し、第１の関連付け関係がユーザの仮想マシンの識別子とハード・ディスク・イメージの識別子の間の対応関係を含むかどうかを判定し、そうである場合、第１の関連付け関係から、ハード・ディスク・イメージの識別子に対応する復号化鍵を取得し、当該復号化鍵を用いることによって当該読み出された暗号化されたデータを復号化し、取得された復号化されたデータを当該制御モジュールに送信するステップであって、当該復号化要求はユーザの仮想マシンの識別子、読み出された暗号化されたデータ、およびハード・ディスク・イメージの識別子を運搬する、ステップを含む。
【００２７】
第４の態様によれば、本発明の１実施形態では、仮想化システム内の制御装置を提供する。当該制御装置は当該仮想化システムのＶＭＭ内に配置され、当該仮想化システムはさらに暗号復号仮想マシンを備え、当該暗号復号仮想マシンはハード・ディスク・イメージ識別子と鍵の間の第１の関連付け関係を記録し、当該鍵は暗号化鍵を含み、当該仮想化システムはハード・ディスク・イメージ識別子とハード・ディスク・イメージ属性の間の第２の関連付け関係を記録し、当該制御装置は、
ユーザの仮想マシンの書き込むべきデータを取得するように構成された取得ユニットと、
第２の関連付け関係に従って、当該データが書き込まれるべきユーザの仮想マシンのハード・ディスク・イメージのハード・ディスク・イメージ属性を決定するように構成された処理ユニットと、
当該処理ユニットにより決定されたハード・ディスク・イメージ属性が暗号化であるとき、当該データが書き込まれるべきハード・ディスク・イメージの識別子および当該書き込むべきデータを暗号復号仮想マシンに送信するように構成された送信ユニットと、
当該取得ユニットにより受信された当該暗号化されたデータを当該データが書き込まれるべきハード・ディスク・イメージに書き込むように構成された書込みユニットと、
を備え、
当該取得ユニットはさらに、暗号復号仮想マシンが当該暗号化鍵を用いることによって当該書き込むべきデータを暗号化した後に取得された暗号化されたデータを受信するように構成され、当該暗号化鍵は、第１の関連付け関係に従って暗号復号仮想マシンにより決定された、当該データが書き込まれるべきハード・ディスク・イメージの識別子に対応する暗号化鍵である。
【００２８】
第４の態様を参照して、第４の態様の第１の可能な実装方式では、当該鍵はさらに復号化鍵を含み、
当該取得ユニットはさらに、ユーザの仮想マシンによりトリガされる読取り要求を取得するように構成され、
当該処理ユニットはさらに、データを当該データがそこから読み出されるハード・ディスク・イメージから読み出し、当該読み出されたデータが暗号化されたデータであると判定するように構成され、
当該送信ユニットはさらに、当該読み出されたデータが当該暗号化されたデータであると当該処理ユニットが判定したとき、復号化要求を暗号復号仮想マシンに送信するように構成され、当該復号化要求はユーザの仮想マシンの識別子、当該読み出された暗号化されたデータ、およびハード・ディスク・イメージの識別子を運搬し、
当該取得ユニットはさらに、暗号復号仮想マシンにより返された復号化されたデータを受信するように構成され、第１の関連付け関係がユーザの仮想マシンの識別子とハード・ディスク・イメージの識別子の間の対応関係を含むと判定した後、暗号復号仮想マシンは、第１の関連付け関係に従って決定された、ハード・ディスク・イメージの識別子に対応する復号化鍵を用いて当該暗号化されたデータを復号化することによって当該復号化されたデータを取得し、
当該送信モジュールはさらに、当該取得ユニットにより受信された当該復号化されたデータをユーザの仮想マシンに返すように構成される。
【００２９】
第４の態様の第１の可能な実装方式を参照して、第４の態様の第２の可能な実装方式では、当該送信ユニットはさらに、当該読み出されたデータが暗号化されていないデータであると当該処理ユニットが判定したとき、当該読み出された暗号化されていないデータをユーザの仮想マシンに返すように構成される。
【００３０】
第４の態様を参照して、第４の態様の第３の可能な実装方式では、
当該取得ユニットはさらに、仮想マシン管理モジュールにより送信された仮想マシン開始指示メッセージを受信するように構成され、当該仮想マシン開始指示メッセージは開始されたユーザの仮想マシンの識別子、および当該開始されたユーザの仮想マシンのハード・ディスク・イメージ識別子およびハード・ディスク・イメージ属性を運搬し、
当該処理ユニットはさらに、当該開始されたユーザの仮想マシンのハード・ディスク・イメージ識別子およびハード・ディスク・イメージ属性を記録し、第２の関連付け関係を更新するように構成される。
【００３１】
第４の態様を参照して、第４の態様の第４の可能な実装方式では、当該取得ユニットは特に、デバイス・ドライバから、ユーザの仮想マシンによりトリガされた書込み要求を取得するように構成され、当該書込み要求は当該書き込むべきデータを運搬する。
【００３２】
第５の態様によれば、本発明の１実施形態では、仮想化システム内の暗号復号装置を提供する。当該暗号復号装置は当該仮想化システムに適用され、当該仮想化システムは当該暗号復号装置、ＶＭＭ、およびシステム管理モジュールを備え、当該ＶＭＭは仮想マシン管理モジュールを備え、当該暗号復号装置は、
当該仮想マシン管理モジュールにより送信された仮想マシン生成指示メッセージを受信するように構成された受信ユニットであって、当該仮想マシン生成指示メッセージは、生成されたユーザの仮想マシンの識別子、当該生成されたユーザの仮想マシンに割り当てられたハード・ディスク・イメージ識別子、および当該割り当てられたハード・ディスク・イメージ識別子に対応するハード・ディスク・イメージ属性を運搬し、当該仮想マシン生成指示メッセージは特に、当該仮想マシン管理モジュールが当該システム管理モジュールにより送信された仮想マシン生成要求に従ってユーザの仮想マシンおよびハード・ディスク・イメージを生成した後に送信される、受信ユニットと、
当該受信ユニットが当該仮想マシン生成指示メッセージを受信した後に、鍵を当該生成されたハード・ディスク・イメージに割り当て、当該生成されたユーザの仮想マシンの識別子、当該割り当てられたハード・ディスク・イメージ識別子、および当該鍵の間の第１の関連付け関係を確立するように構成された実行ユニットと、
仮想マシン生成応答メッセージを当該システム管理モジュールに送信するように構成されたメッセージ返却ユニットであって、当該仮想マシン生成応答メッセージは当該生成されたユーザの仮想マシンの識別子を含む、メッセージ返却ユニットと、
を備える。
【００３３】
第５の態様を参照して、第５の態様の第１の可能な実装方式では、
当該受信ユニットはさらに、当該仮想マシン管理モジュールにより送信されたハード・ディスク・イメージ追加指示メッセージを受信するように構成され、当該ハード・ディスク・イメージ追加指示メッセージは、ユーザの仮想マシンの識別子、およびユーザの仮想マシンに対して当該仮想マシン管理モジュールにより追加されたハード・ディスク・イメージの識別子およびハード・ディスク・イメージ属性を運搬し、当該ハード・ディスク・イメージ追加指示メッセージは特に、当該仮想マシン管理モジュールが、当該システム管理モジュールにより送信されたハード・ディスク・イメージ追加要求に従ってユーザの仮想マシンに対する当該新たに追加されたハード・ディスク・イメージを生成した後に送信され、
当該実行ユニットはさらに、当該受信ユニットがハード・ディスク・イメージ追加指示メッセージを受信した後、鍵を当該新たに追加されたハード・ディスク・イメージに割り当て、第１の関連付け関係に対して、ユーザの仮想マシンの識別子、当該新たに追加されたハード・ディスク・イメージの識別子、および当該新たに追加されたハード・ディスク・イメージに割り当てられた当該鍵を更新するように構成される。
【００３４】
第５の態様を参照して、第５の態様の第２の可能な実装方式では、
当該受信ユニットはさらに、当該制御モジュールにより送信された暗号化要求を受信するように構成され、当該暗号化要求はユーザの仮想マシンの識別子、データが書き込まれるべきハード・ディスク・イメージの識別子、および当該書き込むべきデータを運搬し、
当該実行ユニットはさらに、第１の関連付け関係が当該受信ユニットにより受信されたユーザの仮想マシンの識別子と当該データが書き込まれるべきハード・ディスク・イメージの識別子との間の対応関係を含むかどうかを判定し、そうである場合、第１の関連付け関係に従って、当該データが書き込まれるべきハード・ディスク・イメージの識別子に対応する暗号化鍵を決定し、当該暗号化鍵を用いて当該書き込むべきデータを暗号化して暗号化されたデータを取得するように構成され、
当該メッセージ返却ユニットはさらに、第１の関連付け関係がユーザの仮想マシンの識別子と当該データが書き込まれるべきハード・ディスク・イメージの識別子との間の対応関係を含まないと当該実行ユニットが判定したとき、暗号化失敗指示を当該制御モジュールに返し、第１の関連付け関係がユーザの仮想マシンの識別子と当該データが書き込まれるべきハード・ディスク・イメージの識別子の間の対応関係を含むと当該実行ユニットが判定したとき、当該暗号化されたデータを当該制御モジュールに送信するように構成される。
【００３５】
第５の態様の第２の可能な実装方式を参照して、第５の態様の第３の可能な実装方式では、
当該受信ユニットはさらに、当該制御モジュールにより送信された復号化要求を受信するように構成され、当該復号化要求はユーザの仮想マシンの識別子、読み出された暗号化されたデータ、およびハード・ディスク・イメージの識別子を運搬し、
当該実行ユニットはさらに、第１の関連付け関係が当該受信ユニットにより受信されたユーザの仮想マシンの識別子とハード・ディスク・イメージの識別子との間の対応関係を含むかどうかを判定し、そうである場合、第１の関連付け関係から、ハード・ディスク・イメージの識別子に対応する復号化鍵を取得し、当該復号化鍵を用いることによって当該読み出された暗号化されたデータを復号化して、復号化されたデータを取得するように構成され、
当該メッセージ返却ユニットはさらに、当該取得された復号化されたデータを当該制御モジュールに送信するように構成される。
【００３６】
第６の態様によれば、本発明の１実施形態では仮想化システム内の制御装置を提供する。当該装置はプロセッサ、メモリ、バス、および通信インタフェースを備え、
当該メモリは、コンピュータ実行命令を格納するように構成され、当該プロセッサは当該バスを用いることによって当該メモリに接続され、当該経路により管理された装置が実行したとき、当該プロセッサが当該メモリに格納された当該コンピュータ実行命令を実行し、その結果、当該仮想化システム内の当該制御装置が第２の態様または第３の態様の何れかにおける方法を実施する。
【００３７】
第７の態様によれば、本発明の１実施形態では、コンピュータのプロセッサがコンピュータ実行命令を実行するとき、当該コンピュータが第２の態様または第３の態様の何れかにおける方法を実施するような、当該コンピュータ実行命令を含むコンピュータ可読媒体を提供する。
【００３８】
本発明の諸実施形態では、暗号化および復号化に対する制御モジュールがＶＭＭに新たに追加される。当該制御モジュールがユーザの仮想マシンの書き込むべきデータを取得したとき、当該制御モジュールは、当該データをそこに書き込むべきハード・ディスク・イメージの属性に従って、当該書き込むべきデータを暗号化する必要があるかどうかを判定する。当該書き込むべきデータを暗号化する必要があるとき、当該制御モジュールは当該書き込むべきデータを暗号復号仮想マシンに送信する。暗号復号仮想マシンは暗号化処理を当該書き込むべきデータに実施し、暗号化されたデータを当該制御モジュールに返す。当該制御モジュールは当該暗号化されたデータを対応するハード・ディスク・イメージに書き込み、それにより暗号化方式でのユーザ・データの記憶を実装する。一方では、ＶＭＭ内の当該制御モジュールは、当該書き込むべきデータを暗号化し、当該書き込むべきデータを転送する必要があるかどうかを判定するように構成され、これが、機能を実装するのを容易にし、ＶＭＭのシステム複雑度を減らす。さらに、専用の暗号復号仮想マシンがＶＭＭ内のリソースを占有せずに本発明の当該実施形態における暗号化処理または復号化処理を実装するので、リソース衝突が回避され、システムの安定性が高まる。他方、暗号復号仮想マシンは異なるユーザの仮想マシンのハード・ディスク・イメージに異なる鍵を割り当ててもよく、暗号復号サービスを異なるソースからのデータ・フローに提供するかまたは提供せず、それによりユーザの仮想マシンに対するアクセス権制御が実装される。
【００３９】
本発明の諸実施形態または先行技術における技術的解決策をより明確に説明するために、以下では当該実施形態を説明するのに必要な添付図面を簡単に説明する。明らかに、以下の説明における添付図面は本発明の幾つかの実施形態を示すにすぎず、当業者は依然として創造的努力なしにこれらの添付図面から他の図面を導出することができる。
【図面の簡単な説明】
【００４０】
【図１】先行技術の仮想化システムにおける暗号復号技術を実装するための略構造図である。
【図２】本発明の１実施形態に従う仮想化システムの略構造図である。
【図３】本発明の１実施形態に従う別の仮想化システムの略構造図である。
【図４Ａ】本発明の１実施形態に従う仮想化システムにおける暗号復号方法の略流れ図である。
【図４Ｂ】本発明の１実施形態に従う仮想化システムにおける暗号復号方法の略流れ図である。
【図５】本発明の１実施形態に従う仮想化システムにおける別の暗号復号方法の略流れ図である。
【図６】本発明の１実施形態に従うユーザの仮想マシン生成方法の略流れ図である。
【図７】本発明の１実施形態に従う仮想化システムにおける制御装置の略構造図である。
【図８】本発明の１実施形態に従う仮想化システム内の暗号復号装置の略構造図である。
【図９】本発明の１実施形態に従う仮想化システム内の制御装置のハードウェア構成の略図である。
【発明を実施するための形態】
【００４１】
以下では、本発明の諸実施形態における添付図面を参照して本発明の諸実施形態における技術的解決策を明確かつ十分に説明する。明らかに、説明する実施形態は本発明の諸実施形態の一部にすぎず全部ではない。当業者が創造的努力なしに本発明の諸実施形態に基づいて得る他の全ての実施形態は本発明の保護範囲に入るものとする。
【００４２】
図２に示すように、図２は、本発明の１実施形態に従う仮想化システムの略構造図である。当該仮想化システムは、ＶＭＭ１１および暗号復号仮想マシン１３を備える。暗号復号仮想マシン１３はハード・ディスク・イメージ識別子と鍵の間の第１の関連付け関係を記録し、当該鍵は暗号化鍵を含み、ＶＭＭ１１は制御モジュール１１０を備え、当該仮想化システムはハード・ディスク・イメージ識別子とハード・ディスク・イメージ属性の間の第２の関連付け関係を記録する。以上の仮想化システム内の全てのコンポーネントと協調して、図２内のユーザの仮想マシン１２はデータをユーザの仮想マシン１２のハード・ディスク・イメージに書き込む。
【００４３】
制御モジュール１１０は、ユーザの仮想マシン１２の書き込むべきデータを取得し、第２の関連付け関係に従って、当該データが書き込まれるべきユーザの仮想マシン１２のハード・ディスク・イメージのハード・ディスク・イメージ属性を決定し、当該決定されたハード・ディスク・イメージ属性が暗号化である場合、当該データが書き込まれるべきハード・ディスク・イメージの識別子および当該書き込むべきデータを暗号復号仮想マシン１３に送信するように構成される。
【００４４】
暗号復号仮想マシン１３は、第１の関連付け関係に従って、当該データが書き込まれるべきハード・ディスク・イメージの識別子に対応する暗号化鍵を決定し、当該暗号化鍵を用いて当該書き込むべきデータを暗号化して暗号化されたデータを取得し、当該暗号化されたデータを制御モジュール１１０に送信するように構成される。
【００４５】
制御モジュール１１０はさらに、当該暗号化されたデータを当該データが書き込まれるべきハード・ディスク・イメージに書き込むように構成される。
【００４６】
本発明の当該実施形態では、暗号化および復号化に対する制御モジュールがＶＭＭに新たに追加される。当該制御モジュールがユーザの仮想マシンの書き込むべきデータを取得したとき、当該制御モジュールは、当該データをそこに書き込むべきハード・ディスク・イメージの属性に従って、当該書き込むべきデータを暗号化する必要があるかどうかを判定する。当該書き込むべきデータを暗号化する必要があるとき、当該制御モジュールは当該書き込むべきデータを暗号復号仮想マシンに送信する。暗号復号仮想マシンは暗号化処理を当該書き込むべきデータに実施し、暗号化されたデータを当該制御モジュールに返す。当該制御モジュールは当該暗号化されたデータを対応するハード・ディスク・イメージに書き込み、それにより暗号化方式でのユーザ・データの記憶を実装する。一方では、ＶＭＭ内の当該制御モジュールは、当該書き込むべきデータを暗号化し、当該書き込むべきデータを転送する必要があるかどうかを判定するように構成され、これが、機能を実装するのを容易にし、ＶＭＭのシステム複雑度を減らす。さらに、専用の暗号復号仮想マシンがＶＭＭ内のリソースを占有せずに本発明の当該実施形態における暗号化処理または復号化処理を実装するので、リソース衝突が回避され、システムの安定性が高まる。他方、暗号復号仮想マシンは異なるユーザの仮想マシンのハード・ディスク・イメージに異なる鍵を割り当ててもよく、暗号復号サービスを異なるソースからのデータ・フローに提供するかまたは提供せず、それによりユーザの仮想マシンに対するアクセス権制御が実装される。
【００４７】
さらに、特定の実装シナリオでは、図３に示すように、図３は、本発明の１実施形態に従う別の仮想化システムの略構造図である。当該仮想化システムはさらにシステム管理モジュール１４を備え、ＶＭＭ１１はさらに仮想マシン管理モジュール１１２を備える。
【００４８】
本発明の当該実施形態では、暗号復号仮想マシン１３が先ず生成される。暗号復号仮想マシン１３を生成するための具体的な方式が、既存の仮想マシン生成方式であってもよい。差異は、新たに生成された暗号復号仮想マシン１３は特に暗号化処理または復号化処理の責任を負い、当該暗号化処理または復号化処理が鍵割当ておよびデータの暗号化と復号化を含むことにある。特定の適用シナリオでは、暗号復号仮想マシン１３が暗号化処理または復号化処理専用となるように、暗号復号サービスに関連する権利管理プログラム、鍵管理プログラム、および暗号復号プログラムのような様々なプログラムを暗号復号仮想マシン１３にインストールしてもよい。具体的な実装形式は本発明では限定されない。
【００４９】
以上の手続きに対応して、本発明の当該実施形態ではさらに、ユーザの仮想マシン１２がデータを読み取る手続きを提供する。以上の暗号復号仮想マシン１３によりユーザの仮想マシン１２のハード・ディスク・イメージに割り当てられた鍵は暗号化鍵および復号化鍵を含む。当該鍵の具体的なタイプは本発明の当該実施形態では限定されない。
【００５０】
ユーザの仮想マシン１２がデータをハード・ディスク・イメージから読み取る必要があるとき、ユーザの仮想マシン１２は読取り要求をトリガする。当該読取り要求は読み取るべきデータの識別子を運搬する。デバイス・ドライバが当該読取り要求を取得し、当該デバイス・ドライバが制御モジュール１１０を起動して当該読取り要求を処理する。
【００５１】
制御モジュール１１０はさらに、ユーザの仮想マシンによりトリガされた当該読取り要求を取得し、データを当該データがそこから読み取られるべきハード・ディスク・イメージから読み取り、当該読み出されたデータが暗号化されたデータであると判定し、復号化要求を暗号復号仮想マシン１３に送信するように構成される。当該復号化要求は、ユーザの仮想マシンの識別子、当該読み出された暗号化されたデータ、およびハード・ディスク・イメージの識別子を運搬する。
【００５２】
暗号復号仮想マシン１３はさらに、当該復号化要求を受信し、第１の関連付け関係がハード・ディスク・イメージの識別子と当該読取り要求を送信したユーザの仮想マシンの識別子との間の対応関係を含むかどうかを判定し、そうである場合、第１の関連付け関係から、ハード・ディスク・イメージの識別子に対応する復号化鍵を取得し、当該復号化鍵を用いることによって当該読み出された暗号化されたデータを復号化し、取得された復号化されたデータを制御モジュール１１０に送信するように構成される。
【００５３】
制御モジュール１１０はさらに、当該復号化されたデータをユーザの仮想マシン１２に返すように構成される。
【００５４】
他方、制御モジュール１１０はさらに、当該読み出されたデータが暗号化されていないデータであると判定されたとき、当該読み出された暗号化されていないデータをユーザの仮想マシン１２に返すように構成される。
【００５５】
暗号復号仮想マシン１３は、ユーザの仮想マシンの識別子、ハード・ディスク・イメージ識別子、およびユーザの仮想マシン１２のハード・ディスク・イメージに割り当てられた鍵の間の第１の関連付け関係を記録する。読取り手続きおよび書込み手続きにおいて、暗号復号仮想マシン１３が、受信された暗号化要求または受信された復号化要求に従って、当該暗号化要求または当該復号化要求が対象とするハード・ディスク・イメージの鍵を決定してもよく、それにより暗号化処理または復号化処理を提供する。さらに、以下の方式では、本発明の当該実施形態ではさらに、ユーザの仮想マシン１２を生成するプロセスにおける以上の第１の関連付け関係を記録する方式を提供する。即ち、システム管理モジュール１４はさらに、仮想マシン生成要求を仮想マシン管理モジュール１１２に送信するように構成され、当該仮想マシン確立要求は生成すべきユーザの仮想マシン１２のハード・ディスク・イメージ属性を運搬し、仮想マシン管理モジュール１１２はさらに、当該仮想マシン生成要求を受信し、ユーザの仮想マシン１２を生成し、当該生成されたユーザの仮想マシン１２に対するハード・ディスク・イメージを生成し、ハード・ディスク・イメージ識別子を割り当て、当該仮想マシン生成要求に従って、当該割り当てられたハード・ディスク・イメージ識別子に対応するハード・ディスク・イメージ属性を決定し、仮想マシン生成指示メッセージを暗号復号仮想マシン１３に送信するように構成され、当該仮想マシン生成指示メッセージは、当該生成されたユーザの仮想マシン１２の識別子、当該割り当てられたハード・ディスク・イメージ識別子、および当該割り当てられたハード・ディスク・イメージ識別子に対応するハード・ディスク・イメージ属性を運搬し、暗号復号仮想マシン１３はさらに、当該仮想マシン生成指示メッセージを受信し、鍵を当該生成されたハード・ディスク・イメージに割り当て、当該生成されたユーザの仮想マシン１２の識別子、当該割り当てられたハード・ディスク・イメージ識別子、および当該鍵の間の第１の関連付け関係を確立するように構成される。
【００５６】
暗号復号仮想マシン１３はさらに、仮想マシン生成応答メッセージをシステム管理モジュール１４に送信するように構成され、当該仮想マシン生成応答メッセージは、当該生成されたユーザの仮想マシン１２の識別子を含む。
【００５７】
ユーザの仮想マシン１２により開始された書込み要求または読取り要求を処理するとき、本発明の当該実施形態で提供した制御モジュール１１０が、暗号化処理または復号化処理を読取り動作または書込み動作に必要なデータに実施する必要があるかどうかを判定する必要があり、当該暗号化処理または復号化処理を上述のデータに実施する必要があるとき、当該必要なデータを暗号復号仮想マシン１３に送信する。制御モジュール１１０は、上述の第２の関連付け関係に従って、当該暗号化処理または復号化処理を当該読取り動作または当該書込み動作に必要なデータに実施する必要があるかどうかを判定する。制御モジュール１１０は、ユーザの仮想マシン１２を開始するプロセスにおける上述の第２の関連付け関係を確立してもよく、具体的な手続きは以下を含む。システム管理モジュール１４は、仮想マシン開始要求を仮想マシン管理モジュール１１２に送信するように構成される。当該仮想マシン開始要求は開始すべきユーザの仮想マシン１２の識別子を運搬し、仮想マシン管理モジュール１１２は、当該仮想マシン開始要求を受信し、当該仮想マシン開始要求に従って当該開始すべきユーザの仮想マシン１２を開始し、当該開始されたユーザの仮想マシン１２のハード・ディスク・イメージ識別子およびハード・ディスク・イメージ属性を制御モジュール１１０に送信するように構成され、制御モジュール１１０はさらに、当該開始されたユーザの仮想マシン１２のハード・ディスク・イメージ識別子およびハード・ディスク・イメージ属性を受信および記録し、第２の関連付け関係を確立するように構成される。
【００５８】
特定の実装シナリオでは、当該システム管理モジュールが、特にクラウド・コンピューティング・オペレーティング・システム管理モジュールであってもよいことに留意すべきである。
【００５９】
図３に示すシステム構造を参照して、図４Ａおよび図４Ｂに示すように、図４Ａおよび図４Ｂは本発明の１実施形態に従う仮想化システム内の暗号復号方法の略流れ図である。当該方法は以下を含む
【００６０】
ステップ４０１：システム管理モジュールが仮想マシン生成要求を仮想マシン管理モジュールに送信する。当該仮想マシン生成要求はユーザの仮想マシンを生成するのを要求するために使用される。
【００６１】
特に、システム管理者が、管理インタフェースを用いることによって、生成すべきユーザの仮想マシンのハード・ディスク・イメージ属性を設定する。当該システム管理モジュールが当該仮想マシン生成要求を送信したとき、当該仮想マシン生成要求は、当該生成すべきユーザの仮想マシンのハード・ディスク・イメージ属性を運搬する。例えば、当該システム管理モジュールは、当該仮想マシン生成要求において、ユーザの仮想マシンに対する３つのハード・ディスク・イメージを生成することを示す。１つのハード・ディスク・イメージのハード・ディスク・イメージ属性は暗号化である。
【００６２】
ステップ４０２：当該仮想マシン管理モジュールが、当該仮想マシン生成要求を受信し、ユーザの仮想マシンを生成し、当該生成されたユーザの仮想マシンに対するハード・ディスク・イメージを生成し、ハード・ディスク・イメージ識別子を割り当て、当該仮想マシン生成要求に従って、当該割り当てられたハード・ディスク・イメージ識別子に対応するハード・ディスク・イメージ属性を決定する。
【００６３】
特に、ユーザの仮想マシンを生成するとき、当該仮想マシン管理モジュールは、仮想マシン識別子をユーザの仮想マシンに割り当て、メモリ、ＣＰＵ、およびネットワーク・アダプタのような情報を構成する。当該仮想マシン管理モジュールは、ハード・ディスク・イメージ識別子を当該生成されたハード・ディスク・イメージに割り当て、当該生成されたハード・ディスク・イメージのハード・ディスク・イメージ属性を当該仮想マシン生成要求で運搬される情報に従って決定し、ハード・ディスク・イメージをユーザの仮想マシンに接続する。例えば、当該仮想マシン管理モジュールは、当該生成されたユーザの仮想マシンに対する３つのハード・ディスク・イメージを生成し、当該仮想マシン生成要求に従って、１つのハード・ディスク・イメージのハード・ディスク・イメージ属性が暗号化であると判定する。
【００６４】
ステップ４０３：当該仮想マシン管理モジュールが仮想マシン生成指示メッセージを暗号復号仮想マシンに送信する。当該仮想マシン生成指示メッセージは、当該生成されたユーザの仮想マシンの識別子、当該生成されたユーザの仮想マシンに割り当てられたハード・ディスク・イメージ識別子、および当該生成されたユーザの仮想マシンのハード・ディスク・イメージ属性を運搬する。
【００６５】
ステップ４０４：暗号復号仮想マシンが、当該仮想マシン生成指示メッセージを受信し、鍵をユーザの仮想マシンのハード・ディスク・イメージに割り当て、ユーザの仮想マシンの識別子、ハード・ディスク・イメージ識別子、および当該鍵の間の第１の関連付け関係を記録する。
【００６６】
ステップ４０５：暗号復号仮想マシンが仮想マシン生成応答メッセージを当該システム管理モジュールに返す。当該仮想マシン生成応答メッセージは、当該生成されたユーザの仮想マシンの識別子を運搬する。
【００６７】
ステップ４０６：ハード・ディスク・イメージをユーザの仮想マシンに対して追加する必要があると当該システム管理モジュールが判定するとき、当該システム管理モジュールはハード・ディスク・イメージ追加要求を当該仮想マシン管理モジュールに送信する。当該ハード・ディスク・イメージ追加要求メッセージはユーザの仮想マシンの識別子および新たに追加されたハード・ディスク・イメージの属性を運搬する。
【００６８】
先行技術におけるハード・ディスク・イメージ追加手続きと異なり、本発明の当該実施形態では、ハード・ディスク・イメージ追加要求は、当該新たに追加されたハード・ディスク・イメージを暗号化する必要があるかどうかを示すために使用されるハード・ディスク・イメージ属性を運搬することに留意すべきである。
【００６９】
ステップ４０７：当該仮想マシン管理モジュールが、ハード・ディスク・イメージ追加要求メッセージを受信し、ユーザの仮想マシンに対する新たなハード・ディスク・イメージを生成し、ハード・ディスク・イメージ識別子を当該新たなハード・ディスク・イメージに割り当て、当該新たなハード・ディスク・イメージのハード・ディスク・イメージ属性をハード・ディスク・イメージ追加要求メッセージに従って設定し、当該新たなハード・ディスク・イメージをユーザの仮想マシンに接続し、当該新たなハード・ディスク・イメージをユーザの仮想マシンの追加のハード・ディスク・イメージとして使用する。
【００７０】
ステップ４０８：当該仮想マシン管理モジュールが、ユーザの仮想マシンの識別子、当該新たなハード・ディスク・イメージの識別子、および当該新たなハード・ディスク・イメージのハード・ディスク・イメージ属性を暗号復号仮想マシンに送信する。
【００７１】
ステップ４０９：暗号復号仮想マシンが、鍵を当該新たなハード・ディスク・イメージに割り当て、第１の関連付け関係を更新して、ユーザの仮想マシンの識別子、当該新たなハード・ディスク・イメージのハード・ディスク・イメージ識別子、および当該鍵の間の対応関係を記録する。
【００７２】
ステップ４１０：暗号復号仮想マシンが、ハード・ディスク・イメージ追加応答メッセージを当該システム管理モジュールに返す。当該ハード・ディスク・イメージ追加応答メッセージは、ユーザの仮想マシンの識別子およびユーザの仮想マシンに対して新たに追加されたハード・ディスク・イメージの識別子を運搬する。
【００７３】
ステップ４１１：当該システム管理モジュールが仮想マシン開始要求を当該仮想マシン管理モジュールに送信する。当該仮想マシン開始要求は開始すべきユーザの仮想マシンの識別子を運搬する。
【００７４】
ステップ４１２：当該仮想マシン管理モジュールが、ユーザの仮想マシンを開始し、ユーザの仮想マシンをハード・ディスク・イメージに接続する。
【００７５】
ステップ４１３：当該仮想マシン管理モジュールが、仮想マシン開始指示メッセージを当該制御モジュールに送信し、当該開始されたユーザの仮想マシンの識別子、ユーザの仮想マシンに属するハード・ディスク・イメージの識別子、および対応するハード・ディスク・イメージ属性を当該制御モジュールに送信する。
【００７６】
ステップ４１４：当該制御モジュールは、当該開始されたユーザの仮想マシンに属するハード・ディスク・イメージの識別子およびハード・ディスク・イメージ属性を記録して、第２の関連付け関係を確立する。
【００７７】
第２の関連付け関係がさらに当該開始されたユーザの仮想マシンの識別子を含んでもよいことに留意すべきである。
【００７８】
ステップ４１５：当該制御モジュールが仮想マシン開始応答メッセージを当該システム管理モジュールに送信する。当該仮想マシン開始応答メッセージは、ユーザの仮想マシンの識別子およびハード・ディスク・イメージの識別子を運搬する。
【００７９】
ステップ４１６：当該ユーザの仮想マシンがデータをハード・ディスク・イメージに書き込み、書込み要求をトリガしたとき、当該書込み要求は当該書き込むべきデータを運搬する。
【００８０】
特定の実装では、ユーザの仮想マシンがデータをユーザの仮想マシンに属するハード・ディスク・イメージに書き込むとき、デバイス・ドライバが当該書込み要求を取得し、当該デバイス・ドライバは当該制御モジュールを起動して当該書込み要求を処理する。
【００８１】
先行技術における方式が、ユーザの仮想マシンが当該データをハード・ディスク・イメージに書き込むプロセスで使用してもよく、本発明の当該実施形態では限定されない。本発明の当該実施形態では、当該データを書き込む以上のプロセスにおいて、当該デバイス・ドライバが当該制御モジュールを起動し、その結果、当該制御モジュールが、当該データが書き込まれるべきハード・ディスク・イメージの属性を決定でき、したがって当該書き込むべきデータを暗号化する必要があるとき、当該書き込むべきデータが暗号復号仮想マシンに転送され、当該書き込むべきデータの暗号化プロセスが完了することに留意すべきである。詳細を以下の手続きで説明する。
【００８２】
ステップ４１７：当該制御モジュールが当該書込み要求を取得し、第２の関連付け関係を問い合わせ、第２の関連付け関係に従って、当該データが書き込まれるべきユーザの仮想マシンのハード・ディスク・イメージのハード・ディスク・イメージ属性を決定し、当該決定されたハード・ディスク・イメージ属性が暗号化である場合、ステップ４１８を実施し、または、当該決定されたハード・ディスク・イメージ属性が非暗号化である場合、当該制御モジュールが、デバイス・ドライバを用いることによって、当該書き込むべきデータを、当該データが書き込まれるべきユーザの仮想マシンのハード・ディスク・イメージに送信する。
【００８３】
ステップ４１８：当該制御モジュールが暗号化要求を暗号復号仮想マシンに送信する。当該暗号化要求は当該書き込むべきデータおよび識別子ヘッダを運搬し、当該識別子ヘッダは、当該書き込むべきデータに対応するユーザの仮想マシンおよびハード・ディスク・イメージを区別するために使用される。特に、当該識別子ヘッダは、当該データが書き込まれるべきハード・ディスク・イメージの識別子およびハード・ディスク・イメージ属性を含む。さらに、当該識別子ヘッダがさらにハード・ディスク・イメージが属するユーザの仮想マシンの識別子を含んでもよい。
【００８４】
ステップ４１９：暗号復号仮想マシンが、当該暗号化要求を受信し、第１の関連付け関係に従って、当該データが書き込まれるべきハード・ディスク・イメージの識別子に対応する暗号化鍵を決定し、当該暗号化鍵を用いることによって当該書き込むべきデータを暗号化して、暗号化されたデータを取得する。
【００８５】
さらに、第１の関連付け関係がさらにユーザの仮想マシンの識別子を記録するとき、暗号復号仮想マシンが、当該書込み要求を開始したユーザの仮想マシンに権利管理を実施してもよい。特に、暗号復号仮想マシンは、第１の関連付け関係を問い合わせ、第１の関連付け関係が当該受信された識別子ヘッダ内の当該仮想マシンの識別子とハード・ディスク・イメージの識別子との間の対応関係を記録するかどうかを判定し、第１の関連付け関係が当該対応関係を記録する場合、認証は成功であり、ハード・ディスク・イメージの識別子に対応する暗号化鍵が取得され、第１の関連付け関係が当該対応関係を記録しない場合、ユーザの仮想マシンがハード・ディスク・イメージにマッチしないことを示し、ユーザの仮想マシンはデータをハード・ディスク・イメージに書き込む権利はない。
【００８６】
特に、特定の実装シナリオでは、暗号復号仮想マシンが鍵管理モジュールを備えてもよく、当該鍵管理モジュールは第１の関連付け関係における鍵を管理する。
【００８７】
ステップ４２０：暗号復号仮想マシンが、当該書き込むべきデータが暗号化である後に取得された暗号化されたデータを当該制御モジュールに返す。
【００８８】
ステップ４２１：当該制御モジュールが、当該デバイス・ドライバを起動して、当該暗号化されたデータをユーザの仮想マシンのハード・ディスク・イメージに書き込む。
【００８９】
ステップ４２２：ユーザの仮想マシンがデータをハード・ディスク・イメージから読み取り、読取り要求をトリガしたとき、当該書込み要求は読み取るべきデータの識別子を運搬する。
【００９０】
特定の実装では、データをユーザの仮想マシンのハード・ディスク・イメージから読み取ったとき、ユーザの仮想マシンは読取り要求をトリガし、デバイス・ドライバが当該読取り要求を取得し、当該デバイス・ドライバが制御モジュールを起動して当該読取り要求を処理する。
【００９１】
ステップ４２３：当該制御モジュールが、当該デバイス・ドライバの機能を起動して、当該データをユーザの仮想マシンのハード・ディスク・イメージから読み出し、当該読み出されたデータが暗号化されたデータである場合、ステップ４２４を実施する。
【００９２】
特に、ハード・ディスク・イメージが仮想マシンに接続されるとき、制御モジュールを含むデバイス・ドライバがロードされ、同時に、当該デバイス・ドライバ内の当該制御モジュールを初期化してもよい。当該制御モジュールは、既存のデバイス・ドライバの機能を起動して、要求されたデータのアドレッシングを実施し、ディスクから読み出す。当該デバイス・ドライバは要求されたデータをディスクから先行技術における様々な方式で読み出してもよく、本発明の当該実施形態では限定されない。本発明の当該実施形態では、当該制御モジュールは、デバイス・ドライバの機能を起動する能力を有するだけでよい。
【００９３】
当該制御モジュールが、ハード・ディスク・イメージ属性が暗号化であるかどうかを判定することによって、読み出されたデータが暗号化されたデータかどうかを判定してもよい。特に、データがそこから読み取られるべきハード・ディスク・イメージの属性が暗号化である場合、これは、当該制御モジュールにより読み取られたデータが暗号化されたデータであることを示し、ステップ４２４が実施され、その結果、暗号復号仮想マシンが当該読み出された暗号化されたデータを暗号化し、そこから読み取られるべきハード・ディスク・イメージの属性が非暗号化である場合、これは、当該制御モジュールにより読み出されたデータが暗号化されていないデータであることを示し、当該制御モジュールは、復号化を実施する必要なしに、当該読み出されたデータをユーザの仮想マシンに直接返す。
【００９４】
ステップ４２４：当該制御モジュールが復号化要求を暗号復号仮想マシンに送信する。当該復号化要求は、暗号化されたデータ、ユーザの仮想マシンの識別子、およびハード・ディスク・イメージの識別子を運搬する。
【００９５】
ステップ４２５：暗号復号仮想マシンが、ユーザの仮想マシンの受信された識別子とハード・ディスク・イメージの受信された識別子に従って第１の関連付け関係を問い合わせ、ユーザの仮想マシンのハード・ディスク・イメージの復号化鍵を取得し、当該復号化鍵を用いることによって、暗号化されたデータを復号化して平文を取得する。
【００９６】
特に、暗号復号仮想マシンが、ユーザの仮想マシンの識別子とハード・ディスク・イメージの識別子との間にある、暗号復号仮想マシンに格納された対応関係を探索し、ハード・ディスク・イメージの受信された識別子とハード・ディスク・イメージが属する仮想マシンの識別子とが当該対応関係に格納されているかどうかを判定し、ハード・ディスク・イメージの受信された識別子とハード・ディスク・イメージが属する仮想マシンの識別子とが当該対応関係に格納されている場合、ハード・ディスク・イメージの記録された識別子に対応する復号化鍵を取得する。
【００９７】
特に、暗号復号仮想マシン内の鍵管理モジュールは、各ユーザの仮想マシンのハード・ディスク・イメージに対応する復号化鍵を管理するように構成される。
【００９８】
ステップ４２６：暗号復号仮想マシンが、復号化の後に取得された平文を復号化応答に追加し、当該復号化応答を当該制御モジュールに返す。
【００９９】
ステップ４２７：当該制御モジュールが、復号化の後に取得された受信された平文をユーザの仮想マシンに返す。
【０１００】
ステップ４０１乃至４１０はユーザの仮想マシン生成手続きであり、この手続きにおいて、暗号復号仮想マシンは第１の関連付け関係を記録することに留意すべきである。ステップ４１１乃至４１５はユーザの仮想マシン開始手続きである。ユーザの仮想マシンが開始されたとき、当該仮想マシン管理モジュールは当該開始されたユーザの仮想マシンのハード・ディスク・イメージ識別子およびハード・ディスク・イメージ属性を当該制御モジュールに送信し、当該制御モジュールは第２の関連付け関係を記録する。ステップ４１６乃至４２１は書込み手続きである。ユーザの仮想マシンの書き込むべきデータを取得したとき、当該制御モジュールは当該データが書き込まれるべき対応するハード・ディスク・イメージの属性を決定し、当該書き込むべきデータを暗号化する必要がある場合、暗号復号仮想マシンは第１の関連付け関係に従って当該書き込むべきデータを暗号化する。ステップ４２２乃至４２７は読取り手続きである。当該制御モジュールがユーザの仮想マシンによりトリガされた読取り要求を取得したとき、当該読み出されたデータが暗号化されたデータである場合、当該制御モジュールは当該暗号化されたデータを復号化のために暗号復号仮想マシンに転送し、それにより平文を取得する。
【０１０１】
本発明の当該実施形態では、仮想化システムにおけるデータ暗号復号方法を提供する。本発明の当該実施形態では、一方では、専用の暗号復号仮想マシンは暗号復号処理の責任を負い、ユーザの仮想マシンを変更する必要はなく、他の支援ソフトウェアをインストールする必要もない。他方、暗号復号仮想マシンはユーザの仮想マシンの外部に配置され、ユーザの仮想マシンの非システム・ディスクを暗号化してもよく、ユーザの仮想マシンのシステム・ディスクを暗号化してもよい。
【０１０２】
本発明の当該実施形態では、共通仮想マシンと同様に、以上の暗号復号仮想マシンが必要とするメモリまたはＣＰＵのようなリソースを動的に割り当ててもよく、ホスト・オペレーティング・システムおよび仮想化ソフトウェアのリソース衝突が回避され、ホストの信頼性が高まる。有限のポートが暗号復号仮想マシンでオープンされ、別のアプリケーションのインストールが制限され、これもシステム安全性をさらに高めるのを支援する。さらに、具体的な製品の実装では、暗号復号仮想マシンの独立性のため、ウォッチドッグ技術、２プロセス技術、およびホット・バックアップ技術のような方式をさらに暗号復号仮想マシンに対して使用して信頼性を高めてもよく、アンチウィルス・ソフトウェア、アンチトロイの木馬ソフトウェア、およびファイアウォールのようなソフトウェアをインストールして安全性を高めてもよい。
【０１０３】
最適には、本発明の当該実施形態で提供する制御モジュールをＶＭＭのデバイス・ドライバにインストールしてもよい。当該制御モジュールが当該デバイス・ドライバの機能を起動してもよく、様々なタイプのハード・ディスク・イメージに暗号復号サービスを効果的に提供してもよく、同時に、ホスト・ソフトウェア・システムの生成、発行、インストール、開始等は影響されない。任意選択で、当該制御モジュールが当該デバイス・ドライバと独立であってもよい。この場合、当該制御モジュールはデバイス・ドライバの機能を起動する能力を有する。
【０１０４】
好適には、ハード・ディスク・イメージに割り当てられた鍵を暗号復号仮想マシンに格納してもよく、その結果、ホストも仮想化システムの外部も当該鍵を学習できず、より良い機密性が保証される。他方、ユーザの仮想マシン識別子、ハード・ディスク・イメージ識別子、関連するユーザ情報等を暗号復号仮想マシンに格納してもよい。異なる鍵を異なるユーザの仮想マシンのハード・ディスク・イメージに割り当ててもよい。異なるソースからのデータ・フローに対して、暗号復号サービスが提供されるかまたは提供されず、ユーザの仮想マシンに対するアクセス権制御が実装される。
【０１０５】
本発明の当該実施形態では、ハード・ディスク・イメージが、インターネット・スモール・コンピュータシステムインタフェース（ｉｎｔｅｒｎｅｔ  Ｓｍａｌｌ  Ｃｏｍｐｕｔｅｒ  Ｓｙｓｔｅｍ  Ｉｎｔｅｒｆａｃｅ、ｉＳＣＳＩ）プロトコルにより提供される大規模ファイル、ローカル・パーティション、ローカル・ブロック・デバイス、ネットワーク・ブロック・デバイス、共通インターネット・ファイル・システム（Ｃｏｍｍｏｎ  Ｉｎｔｅｒｎｅｔ  Ｆｉｌｅ  Ｓｙｓｔｅｍ、ＣＩＦＳ）プロトコルまたはネットワーク・ファイル・システム（Ｎｅｔ  Ｆｉｌｅ  Ｓｙｓｔｅｍ、ＮＦＳ）プロトコル等により提供される共有ファイルのようなタイプであってもよく、本発明の当該実施形態では限定されない。
【０１０６】
図５に示すように、図５は仮想化システムにおける別の暗号復号方法の略流れ図である。当該方法は当該仮想化システムに適用され、当該仮想化システムは仮想マシン・モニタＶＭＭおよび暗号復号仮想マシンを備え、ＶＭＭは制御モジュールを備え、暗号復号仮想マシンはハード・ディスク・イメージ識別子と鍵の間の第１の関連付け関係を記録し、当該鍵は暗号化鍵を含み、当該仮想化システムはハード・ディスク・イメージ識別子とハード・ディスク・イメージ属性の間の第２の関連付け関係を記録し、当該方法は以下を含む。
【０１０７】
ステップ５０１：当該制御モジュールが、ユーザの仮想マシンの書き込むべきデータを取得し、第２の関連付け関係に従って、当該データが書き込まれるべきユーザの仮想マシンのハード・ディスク・イメージのハード・ディスク・イメージ属性を決定し、当該決定されたハード・ディスク・イメージ属性が暗号化である場合、当該データが書き込まれるべきハード・ディスク・イメージの識別子および当該書き込むべきデータを暗号復号仮想マシンに送信する。
【０１０８】
ステップ５０２：当該制御モジュールが、暗号復号仮想マシンが当該暗号化鍵を用いることによって当該書き込むべきデータを暗号化した後に取得された暗号化されたデータを受信する。当該暗号化鍵は、第１の関連付け関係に従って暗号復号仮想マシンにより決定された、当該データが書き込まれるべきハード・ディスク・イメージの識別子に対応する暗号化鍵である。
【０１０９】
ステップ５０３：当該制御モジュールが当該暗号化されたデータを当該データが書き込まれるべきハード・ディスク・イメージに書き込む。
【０１１０】
本発明の当該実施形態では、暗号化および復号化に対する制御モジュールがＶＭＭに新たに追加される。当該制御モジュールがユーザの仮想マシンの書き込むべきデータを取得したとき、当該制御モジュールは、当該データをそこに書き込むべきハード・ディスク・イメージの属性に従って、当該書き込むべきデータを暗号化する必要があるかどうかを判定する。当該書き込むべきデータを暗号化する必要があるとき、当該制御モジュールは当該書き込むべきデータを暗号復号仮想マシンに送信する。暗号復号仮想マシンは暗号化処理を当該書き込むべきデータに実施し、暗号化されたデータを当該制御モジュールに返す。当該制御モジュールは当該暗号化されたデータを対応するハード・ディスク・イメージに書き込み、それにより暗号化方式でのユーザ・データの記憶を実装する。一方では、ＶＭＭ内の当該制御モジュールは、当該書き込むべきデータを暗号化し、当該書き込むべきデータを転送する必要があるかどうかを判定するように構成され、これが、機能を実装するのを容易にし、ＶＭＭのシステム複雑度を減らす。さらに、専用の暗号復号仮想マシンがＶＭＭ内のリソースを占有せずに本発明の当該実施形態における暗号化処理または復号化処理を実装するので、リソース衝突が回避され、システムの安定性が高まる。他方、暗号復号仮想マシンは異なるユーザの仮想マシンのハード・ディスク・イメージに異なる鍵を割り当ててもよく、暗号復号サービスを異なるソースからのデータ・フローに提供するかまたは提供せず、それによりユーザの仮想マシンに対するアクセス権制御が実装される。
【０１１１】
図６に示すように、図６はユーザの仮想マシン生成方法の略流れ図である。当該方法は仮想化システムに適用され、当該仮想化システムはＶＭＭ、システム管理モジュール、および暗号復号仮想マシンを備え、ＶＭＭは仮想マシン管理モジュールを備え、当該方法は以下を含む。
【０１１２】
ステップ６０１：暗号復号仮想マシンが、当該仮想マシン管理モジュールにより送信された仮想マシン生成指示メッセージを受信する。当該仮想マシン生成指示メッセージは、生成されたユーザの仮想マシンの識別子、当該生成されたユーザの仮想マシンに割り当てられたハード・ディスク・イメージ識別子、および当該割り当てられたハード・ディスク・イメージ識別子に対応するハード・ディスク・イメージ属性を運搬し、当該仮想マシン生成指示メッセージは特に、当該仮想マシン管理モジュールが当該システム管理モジュールにより送信された仮想マシン生成要求に従ってユーザの仮想マシンおよびハード・ディスク・イメージを生成した後に送信される。
【０１１３】
ステップ６０２：暗号復号仮想マシンが鍵を当該生成されたハード・ディスク・イメージに割り当て、当該生成されたユーザの仮想マシンの識別子、当該割り当てられたハード・ディスク・イメージ識別子、および当該鍵の間の第１の関連付け関係を確立する。
【０１１４】
ステップ６０３：暗号復号仮想マシンが仮想マシン生成応答メッセージを当該システム管理モジュールに送信する。当該仮想マシン生成応答メッセージは当該生成されたユーザの仮想マシンの識別子を含む。
【０１１５】
当該仮想マシンの生成が完了した後、新たなハード・ディスク・イメージをさらにユーザの仮想マシンに追加してもよく、鍵が当該新たに追加されたハード・ディスク・イメージに割り当てられる。具体的な手続きは以下を含む。
暗号復号仮想マシンにより、当該仮想マシン管理モジュールにより送信されたハード・ディスク・イメージ追加指示メッセージを受信するステップであって、当該ハード・ディスク・イメージ追加指示メッセージは、ユーザの仮想マシンの識別子、およびユーザの仮想マシンに対して当該仮想マシン管理モジュールにより追加されたハード・ディスク・イメージの識別子およびハード・ディスク・イメージ属性を運搬し、当該ハード・ディスク・イメージ追加指示メッセージは特に、当該仮想マシン管理モジュールが、当該システム管理モジュールにより送信されたハード・ディスク・イメージ追加要求に従ってユーザの仮想マシンに対する当該新たに追加されたハード・ディスク・イメージを生成した後に送信される、ステップと、
暗号復号仮想マシンにより、鍵を当該新たに追加されたハード・ディスク・イメージに割り当て、第１の関連付け関係に対して、ユーザの仮想マシンの識別子、当該新たに追加されたハード・ディスク・イメージの識別子、および当該新たに追加されたハード・ディスク・イメージに割り当てられた当該鍵を更新するステップと、
を含む。
【０１１６】
以上の仮想マシン生成プロセスでは、仮想マシン管理モジュールが、暗号復号サービスを提供する必要があるハード・ディスク・イメージを特定し、ユーザの仮想マシンの識別子およびハード・ディスク・イメージ識別子を暗号復号仮想マシンに送信する。暗号復号仮想マシンは、鍵を以上のハード・ディスク・イメージに割り当て、第１の関連付け関係を記録し、その結果、当該暗号復号仮想マシンが、以上のユーザの仮想マシンの以上のハード・ディスク・イメージの書き込むべきデータまたは読み取るべきデータに暗号化処理または復号化処理を実施することができる。
【０１１７】
以上のシステムおよび方法の実施形態に対応して、図７に示すように、図７は、仮想化システム内の制御装置の略構造図である。当該制御装置は当該仮想化システムのＶＭＭ内に配置され、当該仮想化システムはさらに暗号復号仮想マシンを備え、暗号復号仮想マシンはハード・ディスク・イメージ識別子と鍵の間の第１の関連付け関係を記録し、当該鍵は暗号化鍵を含み、当該仮想化システムはハード・ディスク・イメージ識別子とハード・ディスク・イメージ属性の間の第２の関連付け関係を記録し、当該制御装置は、
ユーザの仮想マシンの書き込むべきデータを取得するように構成された取得ユニット７０１と、
第２の関連付け関係に従って、当該データが書き込まれるべきユーザの仮想マシンのハード・ディスク・イメージのハード・ディスク・イメージ属性を決定するように構成された処理ユニット７０２と、
処理ユニット７０２により決定されたハード・ディスク・イメージ属性が暗号化であるとき、当該データが書き込まれるべきハード・ディスク・イメージの識別子および当該書き込むべきデータを暗号復号仮想マシンに送信するように構成された送信ユニット７０３と、
取得ユニット７０１により受信された当該暗号化されたデータを当該データが書き込まれるべきハード・ディスク・イメージに書き込むように構成された書込みユニット７０４と、
を備え、
取得ユニット７０１はさらに、暗号復号仮想マシンが当該暗号化鍵を用いることによって当該書き込むべきデータを暗号化した後に取得された暗号化されたデータを受信するように構成され、当該暗号化鍵は、第１の関連付け関係に従って暗号復号仮想マシンにより決定された、当該データが書き込まれるべきハード・ディスク・イメージの識別子に対応する暗号化鍵である。
【０１１８】
さらに、当該鍵はさらに復号化鍵を含む。
【０１１９】
取得ユニット７０１はさらに、ユーザの仮想マシンによりトリガされる読取り要求を取得するように構成される。
【０１２０】
処理ユニット７０２はさらに、データを当該データがそこから読み出されるハード・ディスク・イメージから読み出し、当該読み出されたデータが暗号化されたデータであると判定するように構成される。
【０１２１】
送信ユニット７０３はさらに、読み出されたデータが暗号化されたデータであると処理ユニット７０２が判定したとき、復号化要求を暗号復号仮想マシンに送信するように構成され、当該復号化要求はユーザの仮想マシンの識別子、当該読み出された暗号化されたデータ、およびハード・ディスク・イメージの識別子を運搬する。
【０１２２】
取得ユニット７０１はさらに、暗号復号仮想マシンにより返された復号化されたデータを受信するように構成され、第１の関連付け関係がユーザの仮想マシンの識別子とハード・ディスク・イメージの識別子の間の対応関係を含むと判定した後、暗号復号仮想マシンは、第１の関連付け関係に従って決定された、ハード・ディスク・イメージの識別子に対応する復号化鍵を用いて当該暗号化されたデータを復号化することによって当該復号化されたデータを取得する。
【０１２３】
送信ユニット７０３はさらに、取得ユニット７０１により受信された当該復号化されたデータをユーザの仮想マシンに返すように構成される。
【０１２４】
送信ユニット７０３はさらに、当該読み出されたデータが暗号化されていないデータであると処理ユニット７０２が判定したとき、当該読み出された暗号化されていないデータをユーザの仮想マシンに返すように構成される。
【０１２５】
取得ユニット７０１はさらに、仮想マシン管理モジュールにより送信された仮想マシン開始指示メッセージを受信するように構成され、当該仮想マシン開始指示メッセージは開始されたユーザの仮想マシンの識別子、および当該開始されたユーザの仮想マシンのハード・ディスク・イメージ識別子およびハード・ディスク・イメージ属性を運搬する。
【０１２６】
処理ユニット７０２はさらに、当該開始されたユーザの仮想マシンのハード・ディスク・イメージ識別子およびハード・ディスク・イメージ属性を記録し、第２の関連付け関係を更新するように構成される。
【０１２７】
取得ユニット７０１は特に、デバイス・ドライバから、ユーザの仮想マシンによりトリガされた書込み要求を取得するように構成され、当該書込み要求は書き込むべきデータを運搬する。
【０１２８】
図６の方法に対応して、図８に示すように、本発明の１実施形態ではさらに、仮想化システム内の暗号復号装置の略構造図を提供する。当該暗号復号装置は当該仮想化システムに適用され、当該仮想化システムは当該暗号復号装置、ＶＭＭ、およびシステム管理モジュールを備え、ＶＭＭは仮想マシン管理モジュールを備え、当該暗号復号装置は、
当該仮想マシン管理モジュールにより送信された仮想マシン生成指示メッセージを受信するように構成された受信ユニット８０１であって、当該仮想マシン生成指示メッセージは、生成されたユーザの仮想マシンの識別子、当該生成されたユーザの仮想マシンに割り当てられたハード・ディスク・イメージ識別子、および当該割り当てられたハード・ディスク・イメージ識別子に対応するハード・ディスク・イメージ属性を運搬し、当該仮想マシン生成指示メッセージは特に、当該仮想マシン管理モジュールが当該システム管理モジュールにより送信された仮想マシン生成要求に従ってユーザの仮想マシンおよびハード・ディスク・イメージを生成した後に送信される、受信ユニット８０１と、
受信ユニット８０１が当該仮想マシン生成指示メッセージを受信した後、鍵を当該生成されたハード・ディスク・イメージに割り当て、当該生成されたユーザの仮想マシンの識別子、当該割り当てられたハード・ディスク・イメージ識別子、および当該鍵の間の第１の関連付け関係を確立するように構成された実行ユニット８０２と、
仮想マシン生成応答メッセージを当該システム管理モジュールに送信するように構成されたメッセージ返却ユニット８０３であって、当該仮想マシン生成応答メッセージは当該生成されたユーザの仮想マシンの識別子を含む、メッセージ返却ユニット８０３と、
を備える。
【０１２９】
さらに、受信ユニット８０１はさらに、当該仮想マシン管理モジュールにより送信されたハード・ディスク・イメージ追加指示メッセージを受信するように構成される。当該ハード・ディスク・イメージ追加指示メッセージは、ユーザの仮想マシンの識別子、およびユーザの仮想マシンに対して当該仮想マシン管理モジュールにより追加されたハード・ディスク・イメージの識別子およびハード・ディスク・イメージ属性を運搬し、ハード・ディスク・イメージ追加指示メッセージは特に、当該仮想マシン管理モジュールが、当該システム管理モジュールにより送信されたハード・ディスク・イメージ追加要求に従ってユーザの仮想マシンに対する当該新たに追加されたハード・ディスク・イメージを生成した後に送信される。
【０１３０】
実行ユニット８０２はさらに、受信ユニット８０１がハード・ディスク・イメージ追加指示メッセージを受信した後、鍵を当該新たに追加されたハード・ディスク・イメージに割り当て、第１の関連付け関係に対して、ユーザの仮想マシンの識別子、当該新たに追加されたハード・ディスク・イメージの識別子、および当該新たに追加されたハード・ディスク・イメージに割り当てられた当該鍵を更新するように構成される。
【０１３１】
ＶＭＭは制御モジュールを備える。
【０１３２】
受信ユニット８０１はさらに、当該制御モジュールにより送信された暗号化要求を受信するように構成され、当該暗号化要求はユーザの仮想マシンの識別子、データが書き込まれるべきハード・ディスク・イメージの識別子、および当該書き込むべきデータを運搬する。
【０１３３】
実行ユニット８０２はさらに、第１の関連付け関係が受信ユニット８０１により受信されたユーザの仮想マシンの識別子と当該データが書き込まれるべきハード・ディスク・イメージの識別子との間の対応関係を含むかどうかを判定し、そうである場合、第１の関連付け関係に従って、当該データが書き込まれるべきハード・ディスク・イメージの識別子に対応する暗号化鍵を決定し、当該暗号化鍵を用いることによって当該書き込むべきデータを暗号化して、暗号化されたデータを取得するように構成される。
【０１３４】
メッセージ返却ユニット８０３はさらに、第１の関連付け関係がユーザの仮想マシンの識別子と当該データが書き込まれるべきハード・ディスク・イメージの識別子の間の対応関係を含まないと実行ユニット８０２が判定したとき、暗号化失敗指示を当該制御モジュールに返し、第１の関連付け関係がユーザの仮想マシンの識別子と当該データが書き込まれるべきハード・ディスク・イメージの識別子の間の対応関係を含むと当該実行ユニットが判定したとき、当該暗号化されたデータを当該制御モジュールに送信するように構成される。
【０１３５】
受信ユニット８０１はさらに、当該制御モジュールにより送信された復号化要求を受信するように構成され、当該復号化要求はユーザの仮想マシンの識別子、読み出された暗号化されたデータ、およびハード・ディスク・イメージの識別子を運搬する。
【０１３６】
実行ユニット８０２はさらに、第１の関連付け関係が受信ユニット８０１により受信されたユーザの仮想マシンの識別子とハード・ディスク・イメージの識別子との間の対応関係を含むかどうかを判定し、そうである場合、第１の関連付け関係から、ハード・ディスク・イメージの識別子に対応する復号化鍵を取得し、当該復号化鍵を用いることによって当該読み出された暗号化されたデータを復号化して、復号化されたデータを取得するように構成される。
【０１３７】
当該メッセージ返却ユニットはさらに、当該取得された復号化されたデータを当該制御モジュールに送信するように構成される。
【０１３８】
本発明の当該実施形態では、暗号化および復号化に対する制御モジュールがＶＭＭに新たに追加される。当該制御モジュールがユーザの仮想マシンの書き込むべきデータを取得したとき、当該制御モジュールは、当該データをそこに書き込むべきハード・ディスク・イメージの属性に従って、当該書き込むべきデータを暗号化する必要があるかどうかを判定する。当該書き込むべきデータを暗号化する必要があるとき、当該制御モジュールは当該書き込むべきデータを暗号復号仮想マシンに送信する。暗号復号仮想マシンは暗号化処理を当該書き込むべきデータに実施し、暗号化されたデータを当該制御モジュールに返す。当該制御モジュールは当該暗号化されたデータを対応するハード・ディスク・イメージに書き込み、それにより暗号化方式でユーザ・データの記憶を実装する。一方では、ＶＭＭ内の当該制御モジュールは、当該書き込むべきデータを暗号化し、当該書き込むべきデータを転送する必要があるかどうかを判定するように構成され、これが、機能を実装するのを容易にし、ＶＭＭのシステム複雑度を減らす。さらに、専用の暗号復号仮想マシンがＶＭＭ内のリソースを占有せずに本発明の当該実施形態における暗号化処理または復号化処理を実装するので、リソース衝突が回避され、システムの安定性が高まる。他方、暗号復号仮想マシンは異なるユーザの仮想マシンのハード・ディスク・イメージに異なる鍵を割り当ててもよく、暗号復号サービスを異なるソースからのデータ・フローに提供するかまたは提供せず、それによりユーザの仮想マシンに対するアクセス権制御が実装される。
【０１３９】
さらに、図９に示すように、図９は本発明の１実施形態に従う制御装置のハードウェア構成の略図である。特定の製品実装では、当該制御装置は、少なくとも１つのプロセッサ（例えば、ＣＰＵ）、少なくとも１つのネットワーク・インタフェースまたは別の通信インタフェース、メモリ、および少なくとも１つの通信バスを備え、以上の実施形態におけるコンポーネント間の接続および通信を実装するように構成される。当該プロセッサは、当該メモリに格納された実行可能モジュールを実行して、以上の実施形態における制御モジュール内の全てのコンポーネントの機能を実装するように構成される。当該メモリが高速ランダム・アクセス・メモリ（ＲＡＭ：Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）を含んでもよく、少なくとも１つの磁気ディスク・メモリのような不揮発性メモリ（ｎｏｎ−ｖｏｌａｔｉｌｅ  ｍｅｍｏｒｙ）を備えてもよい。当該少なくとも１つのネットワーク・インタフェース（有線または無線であってもよい）を用いることによって、当該制御モジュールおよび少なくとも１つの別のネットワーク要素の間にある通信および接続が実装される。インターネット、広域ネットワーク、ローカル・エリア・ネットワーク、メトロポリタン・エリア・ネットワーク等を使用してもよい。
【０１４０】
幾つかの実装方式では、プログラム命令がコンピュータ可読媒体に格納され、コンピュータ実行命令を含む。その結果、コンピュータのプロセッサが当該コンピュータ実行命令を実行するとき、当該コンピュータが以上の実施形態の何れか１つにおける仮想化システム内の暗号復号方法を実行する。当該プログラム命令が、本発明の以上の実施形態で指定された各コンポーネントを含んでもよい。各コンポーネントの特定の実装方式については、本発明の以上の実施形態における関連内容を参照してもよい。詳細についてはここでは再度説明しない。
【０１４１】
当該実装方式の以上の説明から、当該実施形態における方法の一部または全部のステップを必要な普遍的なハードウェア・プラットフォームに加えてソフトウェアにより実装してもよいことを当業者は明確に理解できることが分かりうる。かかる理解に基づいて、本発明の技術的解決策は本質的に、または、先行技術に寄与する部分を、ソフトウェア製品の形で実装してもよい。当該ソフトウェア製品を、ＲＯＭ／ＲＡＭ、磁気ディスク、または光ディスクのような記憶媒体に格納してもよく、当該実施形態で説明した方法または本発明の諸実施形態の幾つかの部分を実施するようにコンピュータ装置（パーソナル・コンピュータ、サーバ、またはメディア・ゲートウェイのようなネットワーク装置であってもよい）に指示するための幾つかの命令を含む。
【０１４２】
本明細書における諸実施形態は全て漸進的な方式で説明され、当該実施形態における同一または同様な部分については、これらの実施形態を参照してもよく、各実施形態は他の実施形態からの差異に着目していることに留意すべきである。本質的に、装置およびシステムの実施形態は基本的に方法の実施形態と同様であり、したがって簡潔に説明されている。関連部分については、方法の実施形態における部分的な説明を参照してもよい。説明した装置およびシステムの実施形態は例示的なものにすぎない。別々の部分として説明されたユニットが物理的に別々であってもなくてもよく、ユニットとして表示された部分が物理ユニットであってもなくてもよく、１つの位置に配置されてもよく、または、複数のネットワーク・ユニットに分散されてもよい。当該モジュールの一部または全部を、当該実施形態の解決策の目的を達成するための実際のニーズに従って選択してもよい。当業者は、創造的努力なしに本発明の諸実施形態を理解し実装することができる。
【０１４３】
手短に言うと、以上の説明は本発明の例示的な実施形態にすぎず、本発明の保護範囲を限定しようとするものではない。本発明の趣旨と原理から逸脱しない任意の修正、均等な置換え、または改良は本発明の保護範囲内に入るものとする。
【符号の説明】
【０１４４】
１２  ユーザ仮想マシン
１３  暗号復号仮想マシン
１４  システム管理モジュール
１１０  制御モジュール
１１２  仮想マシン管理モジュール
７０１  取得ユニット
７０２  処理ユニット
７０３  送信ユニット
７０４  書込みユニット
８０１  受信ユニット
８０２  実行ユニット
８０３  メッセージ返却ユニット
【図１】
0006414863.tif 000002
【図２】
0006414863.tif 000003
【図３】
0006414863.tif 000004
【図４Ａ】
0006414863.tif 000005
【図４Ｂ】
0006414863.tif 000006
【図５】
0006414863.tif 000007
【図６】
0006414863.tif 000008
【図７】
0006414863.tif 000009
【図８】
0006414863.tif 000010
【図９】
0006414863.tif 000011