(57)【特許請求の範囲】
【請求項１】
少なくとも一部の仮想ディスク・イメージを暗号化する機械実行可能命令を含むコンピュータ・プログラムであって、仮想ディスクは前記仮想ディスク・イメージを含み、前記機械実行可能命令の実行によって、前記暗号化するためのコンピュータ・システムに、
前記仮想ディスクを受信するステップと、
前記仮想ディスクのサイズを増やすステップと、
復号マスター・ブート・レコード及び復号プログラムを前記仮想ディスクに書き込むステップと、
前記仮想ディスク・イメージの少なくとも一部を暗号化するステップであって、前記復号プログラムは、前記少なくとも一部が暗号化された仮想ディスク・イメージを暗号鍵によって復号するための機会実行可能命令を含む、前記書き込むステップと
を実行させる、前記コンピュータ・プログラム。
【請求項２】
前記仮想ディスク・イメージは第１のパート及び第２のパートに分割され、前記仮想ディスク・イメージの前記第２のパートは、前記仮想ディスクの第３の部分に格納され、
前記コンピュータ・プログラムの実行によって、さらに、前記コンピュータ・システムに、前記仮想ディスク・イメージの前記第１のパートを前記仮想ディスクの第４の部分にコピーするステップを実行させ、
前記復号マスター・ブート・レコードは前記仮想ディスクの第１の部分に書き込まれ、前記復号プログラムは前記仮想ディスクの第２の部分に書き込まれ、前記仮想ディスク・イメージの前記第１のパートは前記仮想ディスクの前記第１及び第２の部分からコピーされ、
前記コンピュータ・プログラムの実行よって、さらに、前記コンピュータ・システムに、前記仮想ディスクの前記第１のパート及び第２のパートの少なくとも一部を暗号化するステップを実行させ、
前記仮想ディスクのサイズは前記仮想ディスクの前記第４の部分と前記仮想ディスクの第５の部分とを作成するように増やされ、前記第５の部分のサイズは前記第２の部分より大きく、前記第１及び第２の部分を合わせたサイズは前記第４の部分のサイズより小さいか又はこれと等しい、
請求項１に記載のコンピュータ・プログラム。
【請求項３】
前記仮想ディスク・イメージの前記第１のパートは一緒に暗号化される、及び／又は、前記仮想ディスク・イメージの前記第２のパートは一緒に暗号化される、請求項１又は２に記載のコンピュータ・プログラム。
【請求項４】
前記仮想ディスク・イメージはブロックに分割され、前記ブロックは、所定のブロック暗号化リストに従って選択的に暗号化される、請求項１又は２に記載のコンピュータ・プログラム。
【請求項５】
前記仮想ディスク・イメージは複数のブロックに分割され、
前記コンピュータ・プログラムの実行によって、前記コンピュータ・システムに、前記ブロックの各々を検査して未使用ブロックのリストを作成するステップを実行させ、
特定のブロックは、それらが未使用ブロックの前記リストにない場合にのみ暗号化される、
請求項１、２、又は４に記載のコンピュータ・プログラム。
【請求項６】
少なくとも一部が暗号化された仮想ディスク・イメージを復号する機械実行可能命令を含むコンピュータ・プログラムであって、仮想ディスクは、復号マスター・ブート・レコードと、復号プログラムと、前記少なくとも一部が暗号化された仮想ディスク・イメージとを含み、前記復号プログラムは、前記少なくとも一部が暗号化された仮想ディスク・イメージを暗号鍵によって復号するための機械実行可能命令を含み、前記復号プログラムの実行によって、前記復号するためのコンピュータ・システムに、
前記少なくとも一部が暗号化された仮想ディスク・イメージを含む前記仮想ディスクを受信するステップと、
前記復号マスター・ブート・レコードを用いて仮想マシンを起動するステップと、
前記暗号鍵を受信するステップと、
前記少なくとも一部が暗号化された仮想ディスク・イメージを前記暗号鍵及び前記復号プログラムによって復号するステップと
を実行させる、前記コンピュータ・プログラム。
【請求項７】
前記少なくとも一部が暗号化された仮想ディスク・イメージの前記復号は、前記仮想マシンの配置の際に行われる、請求項６に記載のコンピュータ・プログラム。
【請求項８】
前記仮想ディスクは、前記復号マスター・ブート・レコードを含む第１の部分と、前記復号プログラムを含む第２の部分と、前記仮想ディスク・イメージの第２のパートを含む第３の部分と、前記仮想ディスク・イメージの第１のパートを含む第４の部分と、ストレージ空間を含む第５の部分とを含み、前記第５の部分のサイズは前記第２の部分より大きいか又はこれと等しく、前記第１及び第２の部分を合わせたサイズは前記第４の部分のサイズより小さいか又はこれと等しく、前記少なくとも一部が暗号化された仮想ディスク・イメージは、
前記仮想ディスク・イメージの前記第２のパートを復号することと、
前記復号プログラムを前記仮想ディスクの前記第５の部分にコピーすることと、
前記仮想ディスク・イメージの前記第１のパートの一部分を復号することと、
前記仮想ディスク・イメージの前記第１のパートの前記復号された部分を前記仮想ディスクの前記第２の部分にコピーすることと、
前記仮想ディスク・イメージの前記第１のパートの残りを復号することと、
前記仮想ディスク・イメージの前記第１のパートの前記復号された残りを前記仮想ディスクの前記第１の部分にコピーすることと
によって復号される、請求項６又は７に記載のコンピュータ・プログラム。
【請求項９】
前記命令の実行によって、さらに、前記コンピュータ・システムに、前記仮想ディスク・イメージの前記第１のパートの前記復号された残りを前記仮想ディスクの前記第１の部分にコピーした後で、前記仮想ディスクの前記第４及び第５の部分におけるデータを消去するステップを実行させる、請求項８に記載のコンピュータ・プログラム。
【請求項１０】
前記命令の実行によって、さらに、前記コンピュータ・システムに、前記少なくとも一部が暗号化された仮想ディスク・イメージを復号した後で、前記仮想マシンが再起動するステップを実行させる、請求項６〜９のいずれか１項に記載のコンピュータ・プログラム。
【請求項１１】
コンピュータ可読ストレージ媒体であって、仮想ディスクは、復号マスター・ブート・レコードと、復号プログラムと、少なくとも一部が暗号化された仮想ディスク・イメージとを含み、前記復号プログラムは、前記少なくとも一部が暗号化された仮想ディスク・イメージを暗号鍵によって復号するための機械実行可能命令を含み、前記復号プログラムの実行によって、前記復号するためのコンピュータ・システムに、
前記暗号鍵を受信するステップと、
前記少なくとも一部が暗号化された仮想ディスク・イメージを前記暗号鍵及び前記復号プログラムによって復号するステップと
を実行させる、前記コンピュータ可読ストレージ媒体。
【請求項１２】
前記仮想ディスクは、
前記復号マスター・ブート・レコードを含む第１の部分と、
前記復号プログラムを含む第２の部分と、
前記仮想ディスク・イメージの第２のパートを含む第３の部分と、
前記仮想ディスク・イメージの第１のパートを含む第４の部分と、
ストレージ空間を含む第５の部分と
を含み、
前記第５の部分のサイズは、前記第２の部分より大きいか又はこれと等しく、
前記第１及び第２の部分を合わせたサイズは、前記第４の部分のサイズより小さいか又はこれと等しい、
請求項１１に記載のコンピュータ可読ストレージ媒体。
【請求項１３】
前記少なくとも一部が暗号化された仮想ディスク・イメージは、
前記仮想ディスク・イメージの前記第２のパートを復号することと、
前記復号プログラムを前記仮想ディスクの前記第５の部分にコピーすることと、
前記仮想ディスク・イメージの前記第１のパートの一部分を復号することと、
前記仮想ディスク・イメージの前記第１のパートの前記復号された部分を前記仮想ディスクの前記第２の部分にコピーすることと、
前記仮想ディスク・イメージの前記第１のパートの残りを復号することと、
前記仮想ディスク・イメージの前記第１のパートの前記復号された残りを前記仮想ディスクの前記第１の部分にコピーすることと
によって復号される、請求項１２に記載のコンピュータ可読ストレージ媒体。
【請求項１４】
少なくとも一部の仮想ディスク・イメージを暗号化するための方法であって、仮想ディスクは前記仮想ディスク・イメージを含み、前記方法は、前記暗号化するためのコンピュータ・システムが、
前記仮想ディスクを受信するステップと、
前記仮想ディスクのサイズを増やすステップと、
復号マスター・ブート・レコード及び復号プログラムを前記仮想ディスクに書き込むステップと、
前記仮想ディスク・イメージの少なくとも一部を暗号化するステップであって、前記復号プログラムは、前記少なくとも一部が暗号化された仮想ディスク・イメージを暗号鍵によって復号するための機会実行可能命令を含む、前記書き込むステップと
を実行する、前記方法。
【請求項１５】
少なくとも一部が暗号化された仮想ディスク・イメージを復号化するための方法であって、仮想ディスクは、復号マスター・ブート・レコードと、復号プログラムと、前記少なくとも一部が暗号化された仮想ディスク・イメージとを含み、前記復号プログラムは、前記少なくとも一部が暗号化された仮想ディスク・イメージを暗号鍵によって復号するための復号用機械実行可能命令を含み、前記復号するためのコンピュータ・システムが、
前記少なくとも一部が暗号化された仮想ディスク・イメージを含む前記仮想ディスクを受信するステップと、
前記復号マスター・ブート・レコードを用いて仮想マシンを起動するステップと、
前記暗号鍵を受信するステップと、
前記少なくとも一部が暗号化された仮想ディスク・イメージを前記暗号鍵及び前記復号プログラムによって復号するステップと
を実行する、前記方法。
【請求項１６】
少なくとも一部の仮想ディスク・イメージを暗号化するためのコンピュータ・システムであって、仮想ディスクは前記仮想ディスク・イメージを含み、前記コンピュータ・システムは、
プロセッサと、
コンピュータ・メモリと、
前記プロセッサによって実行されることにより前記プロセッサに前記仮想ディスク・イメージを暗号化させる機械実行可能命令を含むコンピュータ・プログラムを格納したコンピュータ・ストレージと
を備えており、
前記プロセッサが、請求項１〜５のいずれか一項に記載の各ステップを実行する、前記コンピュータ・システム。
【請求項１７】
少なくとも一部が暗号化された仮想ディスク・イメージを復号するためのコンピュータ・システムであって、仮想ディスクは、復号マスター・ブート・レコードと、復号プログラムと、前記少なくとも一部が暗号化された仮想ディスク・イメージとを含み、前記復号プログラムは、前記少なくとも一部が暗号化された仮想ディスク・イメージを暗号鍵によって復号するための復号用機械実行可能命令を含み、前記コンピュータ・システムは、
プロセッサと、
コンピュータ・メモリと、
前記プロセッサによって実行されることにより前記プロセッサに前記暗号化された仮想ディスク・イメージを復号させるための機械実行可能命令を含むコンピュータ・プログラムを格納したコンピュータ・ストレージと
を備えており、
前記プロセッサが、請求項６〜１０のいずれか一項に記載の各ステップを実行する、前記コンピュータ・システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータ・システムのための仮想化ソフトウェアに関する。具体的には、本発明は、仮想ディスクを暗号化及び復号することによって、仮想ディスクの内容を保護することに関する。
【背景技術】
【０００２】
特定のソフトウェア及びアプリケーションを有する大量のサーバ及びコンピュータ・システムを、従来の物理リソースを用いてセットアップ又はインストールすることは、ますますコストがかかるようになっている。近年では、仮想化技術を用いて、予め設定されたソフトウェア・パッケージ及びシステム構成を仮想ディスク又はオペレーティング・システムに提供することによって、このプロセスは簡略化されている。
【０００３】
同様に設定される大量のサーバが必要な場合には、同じ仮想ディスクを何度も繰り返し用いることができる。仮想ディスク・イメージは、インターネットを介して配布される場合もある。しかしながら、仮想ディスク・イメージを含むパケットは、重要なデータ及びライセンスを含むことがある。さらに、仮想ディスク・イメージの不正な使用を防止する必要がある。現在、ディスク・イメージ全体は、配布される前に暗号化される。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
配布前に仮想ディスク・イメージ全体を暗号化することは、幾つかの不利な点を有する。第一に、あるフォーマットの仮想ディスク・イメージが、復号されず、別のフォーマットに変換されない場合がある。第二に、仮想ディスク・イメージを復号及びインストールするために、管理者が必要である。これは、仮想ディスク・イメージを復号するための暗号鍵又は認証情報を管理者に提供する必要があるため、問題となる場合がある。仮想ディスク・システムのエンド・ユーザ又はオペレータは、暗号鍵又は認証情報を管理者と共有することを望む場合もあるし、望まない場合もある。
【課題を解決するための手段】
【０００５】
本発明は、仮想ディスクを暗号化するための命令を含むコンピュータ可読ストレージ媒体と、暗号化された仮想ディスクを復号するための命令を含むコンピュータ可読ストレージ媒体と、独立請求項における仮想ディスクを含む暗号化された仮想ディスクのコンピュータ可読ストレージ媒体とを提供する。実施形態は、従属請求項において与えられる。
【０００６】
本発明の実施形態は、これら及び他の問題を、少なくとも一部が暗号化された仮想ディスク・イメージを復号するための復号プログラムとともに、暗号化マスター・ブート・レコードを暗号化された仮想ディスク・イメージ上に配置することによって、解決することができる。暗号化マスター・ブート・レコードは、仮想マシンを起動するために用いられるマスター・ブート・レコードである。次に、仮想マシン自身が、復号プログラム及び暗号認証情報を用いて、暗号化された仮想ディスク・イメージを復号する。これによって、暗号認証情報をオペレータに提供する必要はなくなる。
【０００７】
本発明の実施形態は、仮想ディスクから仮想ディスクを暗号化又は復号することができるという利点を有する。本発明の実施形態は、使用済みブロックのみを暗号化するように本方法を設定することができるという利点を有する。このことによって、より速い暗号化と、暗号化するデータ量の減少とがもたらされる。本発明の実施形態は、仮想ディスクをオン・ザ・フライで暗号化及び復号することができるという利点を有する。
【０００８】
さらに、仮想ディスクの一部のみを暗号化することができる。例えば、仮想ディスクのブロックを選択的に暗号化することができる。仮想ディスクの特定のフォーマットに特有のデータ又はレコードを含む仮想ディスクの部分は、暗号化されないまま残しておくことができる。これによって、仮想ディスクを復号することなく仮想ディスクを変換することが可能になる。
【０００９】
本明細書において用いられるコンピュータ可読ストレージ媒体は、コンピュータ装置のプロセッサによって実行可能な命令を格納することができるいずれかの有形のストレージ媒体を含む。コンピュータ可読ストレージ媒体は、一時的でないコンピュータ可読ストレージ媒体と呼ばれることがある。コンピュータ可読ストレージ媒体は、有形のコンピュータ可読媒体と呼ばれることもある。幾つかの実施形態においては、コンピュータ可読ストレージ媒体は、コンピュータ装置のプロセッサがアクセスすることができるデータを格納することが可能なものとすることもできる。
【００１０】
コンピュータ可読ストレージ媒体の例として、フロッピー・ディスク、磁気ハード・ディスク・ドライブ、固体ハード・ディスク、フラッシュ・メモリ、ＵＳＢサム・ドライブ、ランダム・アクセス・メモリ（ＲＡＭ）、読み出し専用メモリ（ＲＯＭ）、光ディスク、磁気光ディスク、及びプロセッサのレジスタ・ファイルを挙げられるが、これらに限定されるものではない。光ディスクの例として、例えばＣＤ−ＲＯＭ、ＣＤ−ＲＷ、ＣＤ−Ｒ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＷ、又はＤＶＤ−Ｒディスクといった、コンパクト・ディスク（ＣＤ）及びデジタル多用途ディスク（ＤＶＤ）が挙げられる。コンピュータ可読ストレージ媒体という用語はまた、コンピュータ装置がネットワーク又は通信リンクを介してアクセスすることができる種々のタイプの記録媒体を指す。例えば、モデム、インターネット、又はローカル・エリア・ネットワークを介して、データを取得することができる。
【００１１】
コンピュータ・メモリは、コンピュータ可読ストレージ媒体の一例である。コンピュータ・メモリは、プロセッサが直接的にアクセス可能ないずれかのメモリである。コンピュータ・メモリの例として、ＲＡＭメモリ、レジスタ、及びレジスタ・ファイルが挙げられるが、これらに限定されるものではない。
【００１２】
コンピュータ・ストレージは、コンピュータ可読ストレージ媒体の一例である。コンピュータ・ストレージは、いずれかの不揮発性コンピュータ可読ストレージ媒体である。コンピュータ・ストレージの例として、ハード・ディスク・ドライブ、ＵＳＢサム・ドライブ、フロッピィ・ドライブ、スマート・カード、ＤＶＤ、ＣＤ−ＲＯＭ、及び固体ハード・ドライブが挙げられるが、これらに限定されるものではない。幾つかの実施形態においては、コンピュータ・ストレージは、コンピュータ・メモリである場合もあるし、その逆の場合もある。
【００１３】
本明細書において用いられるコンピュータ装置又はコンピュータ・システムは、プロセッサを含むいずれかの装置を指す。本明細書において用いられるプロセッサは、プログラム又は機械実行可能命令を実行することができる電子部品を含む。「プロセッサ」を含むコンピュータ装置というときには、１つより多くのプロセッサを含む場合があるものとして解釈されるべきである。コンピュータ装置という用語はまた、各々がプロセッサを含むコンピュータ装置の集合体又はネットワークを指す場合があるものとして解釈されるべきである。多くのプログラムは、同一のコンピュータ装置内に存在するか又は複数のコンピュータ装置にわたって分散する場合もある複数のプロセッサによって実行される命令を有する。
【００１４】
本明細書において用いられるユーザ・インターフェースは、ユーザ又はオペレータがコンピュータ又はコンピュータ・システムと対話できるようにするインターフェースである。ユーザ・インターフェースは、情報又はデータをオペレータに提供し、及び／又は、オペレータから情報又はデータを受信することができる。データ又は情報をディスプレイ又はグラフィカル・ユーザ・インターフェース上に表示することは、情報をオペレータに提供することの一例である。キーボード、マウス、トラックボール、タッチパッド、ポインティング・スティック、グラフィックス・タブレット、ジョイスティック、ゲームパッド、ウェブカム、ヘッドセット、ギア・スティック、ステアリング・ホイール、ペダル、有線グローブ、ダンス・パッド、リモート・コントロール、及び加速度計を通じてデータを受信することは全て、オペレータから情報又はデータを受信することの例である。
【００１５】
本明細書において用いられる仮想化ソフトウェア、仮想化プログラム、及び仮想化モジュールは全て、コンピュータ・システムが仮想コンピュータ・システムを動作させられるようにするソフトウェア又はコンピュータ実行可能命令を指す。本明細書において用いられる仮想マシン又は仮想コンピュータ・システムは、仮想的に実装されるコンピュータ・システム又はコンピュータ・システム上で動作しているソフトウェアによってシミュレートされるコンピュータ・システムを含む。
【００１６】
本明細書において用いられる暗号鍵又は暗号認証情報は、データ・ファイルを復号するために復号アルゴリズムが用いることができる鍵、認証情報、又はパスワードを含む。
【００１７】
本明細書において用いられる仮想ディスクは、仮想化プログラムが仮想ディスク・イメージとして用いることができるデータを含む。仮想ディスクは、仮想化システム又は仮想システムがアクセスすることができるファイル・システムを含む場合がある。仮想ディスクはまた、起動可能なオペレーティング・システムを含む場合がある。
【００１８】
１つの態様において、本発明は、プロセッサによって実行されたときにプロセッサに仮想ディスクを暗号化させる機械実行可能命令を含むコンピュータ可読ストレージ媒体を提供する。仮想ディスクは、仮想ディスク・イメージを含む。仮想ディスク・イメージは、既存のディスク・ファイル・システムのイメージ、又は仮想ディスク・イメージを作成する目的で構築されたディスク・ファイル・システムのイメージである。機械実行可能命令の実行によって、プロセッサが仮想ディスクを受信する。機械実行可能命令の実行によって、さらに、プロセッサが仮想ディスクのサイズを増やす。仮想ディスクは、実質的に、コンピュータ可読ストレージ媒体又は異なるコンピュータ可読ストレージ媒体上に格納されたファイルとすることができる。仮想ディスクのサイズは、仮想ディスクの最初又は最後にブロックを追加することによって、増やすことができる。機械実行可能命令の実行によって、さらに、プロセッサが復号マスター・ブート・レコード及び復号プログラムを仮想ディスクに書き込む。復号マスター・ブート・レコードは、仮想コンピュータ又はコンピュータ・システムが仮想ディスク・イメージを用いるときに起動するマスター・ブート・レコードである。復号マスター・ブート・レコードは、仮想コンピュータ・システムが仮想ディスクを復号するために復号プログラムを動作させることができるようにする。機械実行可能命令の実行によって、さらに、プロセッサが仮想ディスク・イメージの少なくとも一部を暗号化する。復号プログラムは、少なくとも一部が暗号化された仮想ディスク・イメージを暗号鍵によって復号するための復号用機械実行可能命令を含む。仮想ディスク・イメージは、暗号鍵に基づいて復号プログラムを用いて仮想ディスク・イメージを復号することができるように、暗号化される。
【００１９】
幾つかの実施形態においては、仮想ディスク・イメージ全体が暗号化される。他の実施形態においては、仮想ディスク・イメージの特定の部分のみが暗号化される。例えば、仮想ディスクの一部が未使用の場合には、ディスク・イメージのこれらの部分は暗号化する必要がない。仮想ディスクの特定の部分が、例えばアプリケーション・プログラム又は機密データといった暗号化によって保護されることが望ましい機密情報を含むかどうかを判定することも可能な場合がある。仮想ディスク・イメージの復号は、保護される必要がある仮想ディスクのこれらの部分を選択的に用い、保護される必要のない部分を暗号化しないことによって、高速化することができる。
【００２０】
本発明の実施形態は、幾つかの利点を有する。例えば、復号マスター・ブート・レコードを仮想ディスク及び復号プログラムに追加することによって、エンド・ユーザが仮想ディスク・イメージの復号を行うことができるようになる。これによって、管理者がこのタスクを行う必要がなくなる。
【００２１】
別の実施形態においては、仮想ディスク・イメージは、第１のパート及び第２のパートに分割される。仮想ディスクは、第１、第２、第３、第４、及び第５の部分に分割される。仮想ディスク・イメージは、元々、仮想ディスクの第１、第２、及び第３の部分にわたって存在する。仮想ディスク・イメージの第２のパートは、仮想ディスクの第３の部分に格納される。命令の実行によって、さらに、プロセッサが仮想ディスク・イメージの第１のパートを仮想ディスクの第４の部分にコピーする。仮想ディスク・イメージの第１のパートは、仮想ディスクの第１及び第２の部分から、仮想ディスクの第４の部分にコピー又は移動される。復号マスター・ブート・レコードは、仮想ディスクの第１の部分に書き込まれる。仮想ディスクが仮想システムにロードされ、仮想システムが仮想ディスクを起動するときに、復号マスター・ブート・レコードは、仮想システムに復号プログラムを動作させることになる。
【００２２】
復号プログラムは、仮想ディスクの第２の部分に書き込まれる。上述されたように、仮想ディスク・イメージの第１のパートは、仮想ディスクの第１及び第２の部分からコピーされる。仮想ディスク・イメージの第１のパートは、復号マスター・ブート・レコード及び復号プログラムがそれぞれ仮想ディスクの第１の部分及び第２の部分に書き込まれる前に、仮想ディスクの第１及び第２の部分からコピーされる。命令の実行によって、さらに、プロセッサが仮想ディスク・イメージの第１のパート及び第２のパートの少なくとも一部を暗号化する。仮想ディスクのサイズは、仮想ディスクの第４の部分と仮想ディスクの第５の部分とを作成するように増やされる。第５の部分のサイズは、第２の部分より大きいか又はこれと等しい。第１及び第２の部分を合わせたサイズは、第４の部分のサイズより小さいか又はこれと等しい。復号マスター・ブート・レコードが、第１の部分にあり、仮想システムに復号プログラムを起動させることになるため、本発明のこの実施形態は有利な場合がある。
【００２３】
別の実施形態においては、仮想ディスク・イメージの第１のパートは一緒に暗号化される。この実施形態においては、仮想ディスク・イメージの第１のパート全体は、単一の暗号化されたデータ・ファイルとして暗号化される。
【００２４】
別の実施形態においては、仮想ディスク・イメージの第２のパートは一緒に暗号化される。この実施形態においては、仮想ディスク・イメージの第２のパートは、単一のデータ・ファイルとして暗号化される。
【００２５】
別の実施形態においては、仮想ディスク・イメージは、ブロックに分割される。本明細書において用いられるブロックは、ディスク又は仮想ディスク・イメージのデータの一部又は下位部分である。ブロック内のデータは、ディスク又は仮想ディスクによってアドレス指定可能である。ブロックは、所定のブロック暗号化リストに従って選択的に暗号化される。ブロック暗号化リストは、仮想ディスク・イメージの暗号化の際に暗号化されるブロックのリストである。例えば、オペレータは、仮想ディスク・イメージのどのブロックが、暗号化によって保護されることが望ましいデータを含むかを判定することができる。例えば、これらのブロックは、機密のデータ又は情報を含む場合がある。同様に、これらのブロックは、ライセンスが購入されるアプリケーションを含む場合がある。プログラムがインターネット上で送信される場合には、コード又はデータの実行可能なバージョンを保護することが望ましい。
【００２６】
別の実施形態においては、仮想ディスク・イメージは、ブロックに分割される。命令の実行によって、プロセッサが、ブロックの各々を検査して未使用ブロックのリストを作成する。特定のブロックは、それらが未使用ブロックのリストにない場合にのみ暗号化される。コンピュータ可読ストレージ媒体は、使用されないブロックを暗号化することを避けるため、この実施形態は特に有利である。これらのブロックは使用されないので、これらを保護する必要はない。幾つかの仮想ファイル・システムにおいては、未使用データは、ファイル・システムの一部であるが使われない場合がある。ファイル・システムのこれらの部分を暗号化しないことによって、仮想ディスクをより小さくすることができる。
【００２７】
コンピュータ可読ストレージ媒体の前述の実施形態はまた、本発明の他の態様を提供する。例えば、本発明によって、本発明の一実施形態によるコンピュータ可読ストレージ媒体に収容された機械可読命令を収容する又は含むコンピュータ・システムが提供される。同様に、機械実行可能命令の実行によって、プロセッサが、同じく方法及びコンピュータ実装方法を提供する種々のステップ又はアクションを行う。コンピュータ可読ストレージ媒体の実行可能命令はまた、コンピュータ・プログラム製品及び／又はコンピュータ・システムを提供する。
【００２８】
別の態様においては、本発明は、プロセッサによって実行されたときにプロセッサに暗号化された仮想ディスクを復号させる機械実行可能命令を含むコンピュータ可読ストレージ媒体を提供する。仮想ディスクは、復号マスター・ブート・レコードと、復号プログラムと、少なくとも一部が暗号化された仮想ディスク・イメージとを含む。復号プログラムは、少なくとも一部が暗号化された仮想ディスク・イメージを暗号鍵によって復号するための復号用機械実行可能命令を含む。機械実行可能命令の実行によって、プロセッサが、暗号化された仮想ディスクを受信する。
【００２９】
機械実行可能命令の実行によって、さらに、プロセッサが復号マスター・ブート・レコードを用いて仮想マシンを起動する。機械実行可能命令の実行によって、さらに、プロセッサが暗号鍵を受信する。暗号鍵を受信する順序は重要ではない。例えば、プロセッサは、仮想ディスク・イメージが復号される前のいずれかの時点で、暗号鍵を受信することができる。機械実行可能命令の実行によって、さらに、プロセッサが、少なくとも一部が暗号化された仮想ディスク・イメージを暗号鍵及び復号プログラムによって復号する。機械実行可能命令によって、プロセッサが仮想ディスクを起動し、仮想ディスクは、復号マスター・ブート・レコードを介して、暗号化された仮想ディスク上のオペレーティング・システムを起動する。次いで、これによって、仮想マシンが復号プログラムを動作させる。次いで、復号プログラムは、少なくとも一部が暗号化された仮想ディスク・イメージを復号する。少なくとも一部が暗号化された仮想ディスク・イメージを復号するためには、暗号鍵と復号プログラムの両方が必要である。
【００３０】
別の実施形態においては、少なくとも一部が暗号化された仮想ディスク・イメージの復号は、仮想マシンの配置の際に行われる。現状の技術水準においては、管理者が、暗号化された仮想ディスクを受信し、それを復号することになる。しかしながら、これは、多くの場合、仮想マシンのエンド・ユーザ又はオペレータが復号の実施を管理者に依存することになるため望ましいことではない。本発明の実施形態は、エンド・ユーザ又はオペレータ自身が復号を行うことができるという利点を有する。
【００３１】
別の実施形態においては、仮想ディスクは、復号マスター・ブート・レコードを含む第１の部分を含む。仮想ディスクは、復号プログラムを含む第２の部分をさらに含む。仮想ディスクは、仮想ディスク・イメージの第２のパートを含む第３の部分をさらに含む。仮想ディスクは、仮想ディスク・イメージの第１のパートを含む第４の部分をさらに含む。幾つかの実施形態においては、仮想ディスク・イメージの第１のパートは、仮想ディスク・イメージに含まれたオペレーティング・システムを起動するためのマスター・ブート・レコードを含むことがある。少なくとも一部が暗号化された仮想ディスク・イメージの復号が完了すると、第４の部分におけるこのマスター・ブート・レコードを用いて、仮想マシンを起動することができる。
【００３２】
仮想ディスクは、ストレージ空間を含む第５の部分を含む。第５の部分のサイズは、第２の部分より大きい。第１及び第２の部分を合わせたサイズは、第４の部分のサイズより小さいか又はこれと等しい。少なくとも一部が暗号化された仮想ディスク・イメージは、仮想ディスク・イメージの第２のパートを復号することによって復号される。少なくとも一部が暗号化された仮想ディスク・イメージは、さらに、復号プログラムを仮想ディスクの第５の部分にコピーすることによって復号される。少なくとも一部が暗号化された仮想ディスク・イメージは、仮想ディスク・イメージの第１のパートの一部分を復号することによって復号される。
【００３３】
少なくとも一部が暗号化された仮想ディスク・イメージは、さらに、仮想ディスク・イメージの第１のパートの復号された部分を仮想ディスクの第２の部分にコピーすることによって復号される。仮想ディスク・イメージは、さらに、仮想ディスク・イメージの第１のパートの残りを復号することによって復号される。仮想ディスク・イメージは、さらに、仮想ディスク・イメージの第１のパートの復号された残りを仮想ディスクの第１の部分にコピーすることによって復号される。このように復号を行うことは、復号をいずれかの時点で中断することができるという利点を有する。例えば、第５の部分は、復号プロセスの状態を保持するデータ・ファイルを含むことができる。
【００３４】
別の実施形態においては、命令の実行によって、さらに、プロセッサが、仮想ディスク・イメージの第１のパートの復号された残りを仮想ディスクの第１の部分にコピーした後で、仮想ディスクの第４及び第５の部分におけるデータを消去する。
【００３５】
別の実施形態においては、命令の実行によって、さらに、少なくとも一部が暗号化された仮想ディスク・イメージを復号した後で、仮想マシンが再起動する。
【００３６】
コンピュータ可読ストレージ媒体の前述の実施形態はまた、本発明の他の態様を提供する。例えば、本発明によって、本発明の一実施形態によるコンピュータ可読ストレージ媒体に収容された機械可読命令を収容する又は含むコンピュータ・システムが提供される。同様に、機械実行可能命令の実行によって、プロセッサが、同じく方法及びコンピュータ実装方法を提供する種々のステップ又はアクションを行う。コンピュータ可読ストレージ媒体の実行可能命令はまた、コンピュータ・プログラム製品及び／又はコンピュータ・システムを提供する。
【００３７】
別の態様においては、本発明は、仮想ディスクを含む暗号化された仮想ディスクのコンピュータ可読ストレージ媒体を提供する。仮想ディスクは、復号マスター・ブート・レコードと、復号プログラムと、少なくとも一部が暗号化された仮想ディスク・イメージとを含む。復号プログラムは、少なくとも一部が暗号化された仮想ディスク・イメージを暗号鍵によって復号するための機械実行可能命令を含む。別の言い方をすれば、復号プログラムと暗号鍵との組み合わせを用いて、少なくとも一部が暗号化された仮想ディスク・イメージを復号する。
【００３８】
復号プログラムは、プロセッサによって実行されたときにプロセッサに暗号鍵を受信させる機械実行可能命令を含む。幾つかの実施形態においては、暗号鍵は、復号プログラムによって入力されるように指示される場合があり、又は、暗号鍵は、別のプログラムによって復号プログラムに渡される場合がある。例えば、仮想コンピュータ・システムを動作させるための仮想化ソフトウェアが、復号プログラムに暗号鍵を渡す場合がある。復号プログラムの機械実行可能命令の更なる実行によって、プロセッサが、少なくとも一部が暗号化された仮想ディスク・イメージを暗号鍵及び復号プログラムによって復号する。
【００３９】
別の実施形態においては、仮想ディスクは、復号マスター・ブート・レコードを含む第１の部分を含む。仮想ディスクは、復号プログラムを含む第２の部分をさらに含む。仮想ディスクは、仮想ディスク・イメージの第２のパートを含む第３の部分をさらに含む。仮想ディスクは、仮想ディスク・イメージの第１のパートを含む第４の部分をさらに含む。仮想ディスクは、ストレージ空間を含む第５の部分をさらに含む。第５の部分のサイズは、第２の部分より大きいか又はこれと等しい。第１及び第２の部分を合わせたサイズは、第４の部分のサイズより小さいか又はこれと等しい。
【００４０】
別の実施形態においては、少なくとも一部が暗号化された仮想ディスク・イメージは、仮想ディスク・イメージの第２のパートを復号することによって復号される。仮想ディスクは、さらに、復号プログラムを仮想ディスクの第５の部分にコピーすることによって復号される。仮想ディスク・イメージは、さらに、仮想ディスク・イメージの第１のパートの一部分を復号することによって復号される。仮想ディスクは、さらに、仮想ディスク・イメージの第１のパートの復号された部分を仮想ディスクの第２の部分にコピーすることによって復号される。仮想ディスクは、さらに、仮想ディスク・イメージの第１のパートの復号された部分を仮想ディスクの第２の部分にコピーすることによって復号される。仮想ディスク・イメージは、さらに、仮想ディスク・イメージの第１のパートの残りを復号することによって復号される。仮想ディスク・イメージは、さらに、仮想ディスク・イメージの第１のパートの復号された残りを仮想ディスクの第１の部分にコピーすることによって復号される。
【００４１】
別の実施形態においては、仮想ディスクは、少なくとも一部が暗号化された仮想ディスク・イメージの復号の進行を格納するための復号状態データ・ファイルを含む。復号プログラムの機械実行可能命令の実行によって、さらに、プロセッサが、少なくとも一部が暗号化された仮想ディスク・イメージの復号の際に復号状態データ・ファイルを更新する。復号プログラムの機械実行可能命令の実行によって、さらに、プロセッサが、少なくとも一部が暗号化された仮想ディスク・イメージの復号を開始するときに復号状態データ・ファイルをチェックする。復号状態データ・ファイルの状態をチェックすることによって、復号が元々中断されていた場合には、途中から復号を開始することができる。
【００４２】
別の実施形態においては、命令の実行によって、さらに、プロセッサが、仮想ディスク・イメージの第１のパートの復号された残りを仮想ディスクの第１の部分にコピーした後で、仮想ディスクの第４及び第５の部分のデータを消去する。
【００４３】
別の実施形態においては、命令の実行によって、さらに、少なくとも一部が暗号化された仮想ディスク・イメージを復号した後で、復号プログラムを実行する仮想マシンを再起動する。
【００４４】
コンピュータ可読ストレージ媒体の前述の実施形態はまた、本発明の他の態様を提供する。例えば、本発明によって、本発明の一実施形態によるコンピュータ可読ストレージ媒体に収容された機械可読命令を収容する又は含むコンピュータ・システムが提供される。同様に、機械実行可能命令の実行によって、プロセッサが、同じく方法及びコンピュータ実装方法を提供する種々のステップ又はアクションを行う。コンピュータ可読ストレージ媒体の実行可能命令はまた、コンピュータ・プログラム製品及び／又はコンピュータ・システムを提供する。
【図面の簡単な説明】
【００４５】
【図１】本発明の一実施形態による仮想ディスク１００の復号を示す。
【図２】仮想システムのインポートの際における復号の例を示す。
【図３】配置の際における仮想ディスク・イメージの復号を示す。
【図４Ａ】本発明の一実施形態による仮想ディスク・イメージのブロック・ベースの暗号化の方法を示す。
【図４Ｂ】本発明の一実施形態による仮想ディスク・イメージのブロック・ベースの暗号化の方法を示す。
【図４Ｃ】本発明の一実施形態による仮想ディスク・イメージのブロック・ベースの暗号化の方法を示す。
【図４Ｄ】本発明の一実施形態による仮想ディスク・イメージのブロック・ベースの暗号化の方法を示す。
【図４Ｅ】本発明の一実施形態による仮想ディスク・イメージのブロック・ベースの暗号化の方法を示す。
【図５Ａ】図４において暗号化された仮想ディスク・イメージの復号を示す。
【図５Ｂ】図４において暗号化された仮想ディスク・イメージの復号を示す。
【図５Ｃ】図４において暗号化された仮想ディスク・イメージの復号を示す。
【図５Ｄ】図４において暗号化された仮想ディスク・イメージの復号を示す。
【図６】本発明の更なる一実施形態による仮想ディスク・イメージを暗号化する方法を図示する流れ図を示す。
【図７】本発明の更なる一実施形態による仮想ディスク・イメージを復号する方法を説明する流れ図を示す。
【図８】本発明の更なる一実施形態による仮想ディスク・イメージを復号する方法を説明する流れ図を示す。
【図９】仮想ディスクを暗号化するための第１のコンピュータ・システムと、仮想ディスクを復号するための第２のコンピュータ・システムとを示す。
【発明を実施するための形態】
【００４６】
以下において、本発明の好ましい実施形態が、単なる例として、添付の図面への参照を行いながらより詳細に説明される。
【００４７】
以下において、これらの図面における同様の符号が付された要素は、類似の要素であるか、又は同等の機能を果たす。機能が同等の場合には、先に説明された要素が必ずしも後の図面で説明されるわけではない。
【００４８】
図１は、本発明の一実施形態による仮想ディスク１００の復号を示す。仮想ディスク１００は、暗号化されている仮想ディスク・イメージ１０２と、仮想ディスク・イメージ１０２を復号するための復号プログラム１０４とを含む。図には、仮想コンピュータ・システム又はマシンを動作させるための仮想化ソフトウェアを含むコンピュータ・システム１０６も示される。図１には、オペレータ１０８及びユーザ１１０が示される。図１に示される図は、本発明の一実施形態による仮想ディスク１００を用いるときに、オペレータ１０８及びユーザ１１０によって取られるアクションを説明している。図１に示されるステップは、仮想ディスク及びその復号を最初に起動するためのものである。ステップ１は、１１２と表記される。このステップにおいて、オペレータ１０８は、仮想ディスク１００をコンピュータ・システム１０６に格納する。ステップ２すなわち１１４において、ユーザ１１０は、コンピュータ・システム１０６の仮想化ソフトウェアを用いて仮想マシンを起動する。ステップ３すなわち１１６において、復号プログラム１０４が開始され、ユーザ１１０に認証情報又はパスワードを要求する。ステップ４すなわち１１８において、ユーザ１１０は、認証情報又はパスワードを復号プログラム１０４に提供する。ステップ５すなわち１２０において、復号プログラム１０４は、認証情報又はパスワードを用いて、仮想ディスク・イメージ１０２を復号する。ステップ６すなわち１２２において、仮想マシンは再起動し、このとき仮想マシンは、復号された仮想ディスク・イメージ１０２から起動する。
【００４９】
本発明の一実施形態による仮想ディスク１００を用いる際には、２つの異なる使用シナリオが可能である。仮想ディスク・イメージ１０２のインポートの際に復号が行われる場合があり、仮想ディスク・イメージ１０２の配置の際に復号が行われる場合もある。仮想システムのインポートの際に仮想ディスク・イメージ１０２が復号される場合には、オペレータは、認証情報を知っており、これを、仮想システムを管理するための１つ又は複数のプログラムに渡す。次いで、仮想システムを管理するためのプログラムは、イメージをインポートし、それをオン・ザ・フライで復号する。配置の際に復号を行う第２の可能性の場合には、オペレータは、認証情報を知らず、復号せずにイメージをインポートするよう求める。仮想ディスク・イメージは、ユーザが認証情報について指示される配置時に、仮想システムのデータベースに格納される。
【００５０】
図２は、仮想システムのインポートの際の復号の例を示す。図２においては、仮想システム・イメージ・サーバ２０２として機能するコンピュータ・システム２００が示される。仮想システム・イメージ・サーバ２０２は、オペレータ２０８によって要求されたときに、仮想システムのイメージを提供する。同じく格納されるか、又はコンピュータ・システム２００によってアクセス可能であるのは、仮想システム・イメージ・サーバ２０２を介してアクセス可能な仮想ディスクのリポジトリである仮想ディスク・リポジトリ２０４である。図１に示される復号プログラム１０４と同等の復号モジュール２０６も存在する。ステップ１において、オペレータ２０８は、仮想ディスクをダウンロードする。ステップ２すなわち２１２において、オペレータは、仮想システム・イメージ・サーバ２０２によって管理されるシステムへの仮想ディスクのインポートを要求する。ステップ３すなわち２１４において、仮想システム・イメージ・サーバ２０２は、オペレータ２０８に認証情報又はパスワードを要求する。ステップ４すなわち２１６において、オペレータ２０８は、認証情報又はパスワードを仮想システム・イメージ・サーバ２０２に提供する。ステップ５において、仮想システム・イメージ・サーバ２０２は、仮想ディスクから仮想ディスク・イメージをインポートし、オペレータ２０８によって提供された認証情報又はパスワードを用いて、仮想ディスク・イメージをオン・ザ・フライで復号する。
【００５１】
図３は、配置の際における仮想ディスク・イメージの復号を示す。この図において示されるのは、仮想ディスク・リポジトリ２０４に格納された仮想ディスク・イメージを管理する仮想システム・イメージ・サーバ２０２を伴うコンピュータ・システム２００である。図３に示される例においては、仮想ディスク・イメージの配置の際における復号に用いられる第２のコンピュータ・システム３００が存在する。第２のコンピュータ・システム３００は、ターゲット仮想システム３０２を動作させるためのものである。ターゲット・システム３０２内には、オペレーティング・システム配置ツール３０１がある。オペレーティング・システム配置ツール３０１は、仮想ディスク・イメージ内の仮想システムを配置するために設けられる。
【００５２】
ターゲット仮想システム内には、復号モジュール３０３もある。復号モジュールは、パスワード又は暗号認証情報を用いて仮想ディスク・イメージを復号するためのソフトウェア・モジュール又は復号プログラムである。オペレータ３０４及びユーザ３０６が示される。参照符号３０８で示される第１のステップにおいて、オペレータ３０４は、第２のコンピュータ・システム３００への仮想システムの配置を要求又は始動させる。第２のステップ２（参照符号３１０で示される）において、ターゲット又は仮想システムは、オペレーティング・システム配置ツール３０１上で起動する。第３のステップ３（参照符号３１２で示される）において、オペレーティング・システム配置ツール３０１は、ユーザ３０６に暗号パスワード又は認証情報を要求する。第４のステップ４（参照符号３１４で示される）において、ユーザ３０６は、暗号パスワード又は認証情報をオペレーティング・システム配置ツール３０１に提供する。第５のステップ５（３１６としても参照される）において、オペレーティング・システム配置ツールは、仮想ディスク・イメージをダウンロードし、これを、暗号パスワード又は認証情報と復号モジュール３０３とを用いて復号する。ステップ６（３１８としても参照される）において、仮想ディスク・イメージが復号された後で、仮想システムの配置は、復号された仮想ディスク・イメージ上で続行する。
【００５３】
図４ａから図４ｅは、本発明の一実施形態による仮想ディスク・イメージのブロック・ベースの暗号化の方法を示す。図４ａにおいては、仮想ディスク４００及び仮想ディスク・イメージ４０２が示される。仮想ディスク・イメージを構成するブロックは、１〜ｎと表記される。次に、ユーザは、仮想ディスク・イメージを暗号化するために、暗号化ツール又はプログラムを開始させる。第１のステップにおいて、暗号化ツールは、仮想ディスクのサイズを増やす。このことが、図４ｂに示されている。仮想ディスク４００の最後に、空のオペレーティング・システム・ブロック４０４の領域が作成される。次のステップにおいて、仮想ディスク・イメージは、第１のパート４０６と第２のパート４０８とに分割される。仮想ディスク・イメージの第１のパート４０６は、仮想ディスク・イメージ４００の最後にある空のオペレーティング・システム・ブロック４０４にコピーされる。
【００５４】
図４ｄにおいて、暗号化ツールが復号マスター・ブート・レコード４１０及び復号プログラム４１２を仮想ディスク４００の第１のパート及び第２のパートにコピーすることが示される。図４ｅは、最終ステップを示す。暗号化ツール又はソフトウェアは、仮想ディスク・イメージの第１のパート４０６’を暗号化し、仮想ディスク・イメージの第２のパート４０８’を暗号化する。暗号化された仮想ディスク・イメージ４０６’、４０８’のブロックの全てが暗号化されることもあり、ブロックが選択的に暗号化されることもある。図４ｅにおいては、仮想ディスク４００が５つの部分に分割されていることも示される。仮想ディスクの第１の部分４１４は、復号マスター・ブート・レコード４１０を含む。仮想ディスクの第２の部分４１６は、復号プログラム４１２を含む。仮想ディスクの第３の部分４１８は、仮想ディスク・イメージの暗号化された第２のパート４０８’を含む。仮想ディスクの第４の部分４２０は、仮想ディスク・イメージの暗号化された第１のパート４０６’を含む。仮想ディスクの第５の部分４２２は、仮想ディスク４００の最後に位置する。種々の実施形態においては、第５の部分４２２は、復号状態を記録したデータ、ジャーナル・データ、復号において用いられる一時データ、及びそれらの組み合わせを含むことができる。
【００５５】
図５ａ〜図５ｄは、仮想マシンから起動されたときの仮想ディスク４００の仮想ディスク・イメージ４０６’、４０８’の復号を示す。図５ａは、図４ｅと同一である。第１のステップにおいて、仮想マシンは、仮想ディスク４００上で起動し、仮想ディスクのマスター・ブート・レコード４１０を起動する。次に、マスター・ブート・レコード４１０は、復号プログラム４１２をロードする。次いで、復号プログラム４１２は、暗号化された仮想ディスク・イメージ４０６’、４０８’を復号するために用いる暗号認証情報又はパスワードを要求する。図５ｂにおいては、復号プロセスが示される。仮想ディスク４００の２つの異なる図が示されている。５００と表記されたブロックは、仮想ディスク・イメージの第２のパートにおける復号されたブロックである。５０２と表記されたブロックは、仮想ディスク・イメージの第２のパートにおける暗号化されたブロックである。図５ｂに示される上の図では、４と表記されたブロックのみが復号されたブロック５００である。仮想ディスク・イメージの第２のパートの残りは、暗号化されている。図５ｂの下の部分は、仮想ディスク・イメージの第２のパート４０８の全てのブロックが復号されたブロック５００であることを示す。
【００５６】
図５ｃは、仮想ディスク４００の復号の更なる進行を示す。仮想ディスク・イメージの第２のパート４０８の全てのブロックが復号された後で、復号プログラム４１２は、仮想ディスクの第５の部分４２２にコピーされる。次に、仮想ディスク・イメージの第１のパート４０６’の一部が復号され、仮想ディスクの第２の部分４１６にコピーされる。仮想ディスク・イメージの第１のパート４０６’の残り５０６が復号され、仮想ディスクの第１の部分４１４にコピーされる。この実施形態においては、仮想ディスク・イメージの第１のパートの残り５０６は、マスター・ブート・レコード４１０を上書きした。仮想ディスク・イメージの暗号化された第１のパート４０６’及び復号プログラム４１２は上書きされ、空のオペレーティング・システム・ブロック４０４が残る場合がある。５ｄに示される図は、図４ｂに示されるものと同等である。これは、仮想ディスク４００の少なくとも一部が暗号化された仮想ディスク・イメージ４０２を復号するために、図５に示される方法をどのように用いたかを示している。
【００５７】
図６は、本発明による仮想ディスク・イメージを暗号化する実施形態を説明する流れ図を示す。ステップ６００において、仮想ディスクが受信される。仮想ディスクは、仮想ディスク・イメージを含む。ステップ６０２において、仮想ディスクのサイズが増やされる。ステップ６０４において、復号マスター・ブート・レコード及び復号プログラムが仮想ディスクに書き込まれる。ステップ６０６において、仮想ディスク・イメージの少なくとも一部が暗号化される。
【００５８】
図７は、本発明の一実施形態による仮想ディスクを復号する方法を説明する流れ図を示す。ステップ７００において、暗号化された仮想ディスクが受信される。ステップ７０２において、仮想ディスクに含まれる復号マスター・ブート・レコードを用いて、仮想マシンが起動される。ステップ７０４において、暗号鍵が受信される。仮想ディスクは、少なくとも一部が暗号化された仮想ディスク・イメージを含む。ステップ７０６において、少なくとも一部が暗号化された仮想ディスク・イメージが、仮想ディスク上にある復号プログラムを用いて復号される。復号プログラムは、復号するために、少なくとも一部が暗号化された仮想ディスク・イメージの復号を行うための復号プログラムと共に、暗号鍵を用いる。
【００５９】
図８は、本発明の更なる実施形態による、暗号化された仮想ディスクを復号する方法を説明する流れ図を示す。ステップ８００において、暗号化された仮想ディスクが受信される。ステップ８０２において、復号マスター・ブート・レコードを用いて、仮想マシンが起動される。ステップ８０４において、暗号鍵が受信される。ステップ８０６において、仮想ディスク・イメージの第２のパートが、暗号鍵と仮想ディスク上に配置された復号プログラムとを用いて復号される。ステップ８０８において、復号プログラムが仮想ディスクの第５の部分にコピーされる。ステップ８１０において、仮想ディスク・イメージの第１のパートの一部分が復号される。ステップ８１２において、仮想ディスク・イメージの第１のパートの復号された部分が、仮想ディスクの第２の部分にコピーされる。ステップ８１４において、仮想ディスク・イメージの第１のパートの残りが復号される。ステップ８１６において、仮想ディスク・イメージの第１のパートの復号された残りが、仮想ディスクの第１の部分にコピーされる。ステップ８１８において、仮想マシンが再起動される。図８において示される方法は、図５によって示される方法と同様のものである。
【００６０】
図９は、２つのコンピュータ・システム、すなわち、仮想ディスクを暗号化するための第１のコンピュータ・システム９００と、仮想ディスクを復号するための第２のコンピュータ・システム９０２とを示す。第１のコンピュータ・システム９００と第２のコンピュータ・システム９０２との間には、ネットワーク通信９０４が存在する。第１のコンピュータ・システムは、コンピュータ・ネットワーク９０４に接続するためのネットワーク・インターフェース９０６を有し、第２のコンピュータ・システム９０２は、コンピュータ・インターフェース９０４に接続するためのネットワーク・インターフェース９０８を有する。ネットワーク接続９０４は、イーサネット接続又はインターネット接続のような、いずれかの標準的なコンピュータ・インターフェースとすることができる。第１のコンピュータ・システム９００は、ユーザ・インターフェース９１２及びネットワーク・インターフェース９０６に接続されたプロセッサ９１０を有する。プロセッサ９１０は、コンピュータ・ストレージ９１４及びコンピュータ・メモリ９１６にも接続される。
【００６１】
コンピュータ・ストレージ９１４内には、暗号化されていない仮想ディスク９１８がある。暗号化されていない仮想ディスクは、暗号化されていない仮想ディスク・イメージを含む。同じくコンピュータ・ストレージ９１４内には、復号マスター・ブート・レコード９２０がある。同じくコンピュータ・ストレージ９１４内には、復号プログラム９２２がある。同じくコンピュータ・ストレージ９１４内には、暗号化された仮想ディスク９２４がある。暗号化された仮想ディスク９２４は、復号マスター・ブート・レコード９２０と、復号プログラム９２２と、少なくとも一部が暗号化された仮想ディスク・イメージ９２３とを含む。暗号化された仮想ディスク９２４はまた、少なくとも一部が暗号化された仮想ディスク・イメージを含むこともある。コンピュータ・メモリ９１６は、暗号化ツール９２６を含む。暗号化ツール９２６は、プロセッサ９１０に、暗号化されていない仮想ディスク９１８と、復号マスター・ブート・レコード９２０と、復号プログラム９２２とを用いて、暗号化された仮想ディスク９２４を作成させる機械実行可能命令を含む、ソフトウェア・モジュール又はプログラムである。暗号化ツール９２６を用いて、図４及び図６に示される方法を実装することができる。幾つかの実施形態においては、コンピュータ・メモリ９１６は、暗号モジュール９２８と、暗号認証情報生成モジュール９３０とを含む。暗号モジュール９２８は、暗号化されていない仮想ディスク９１８を暗号化するために用いられる。暗号認証情報生成モジュール９３０は、任意のモジュールであり、暗号認証情報を生成するために用いることができる。例えば、暗号認証情報生成モジュールを用いて、非対称暗号化アルゴリズムのための暗号鍵ペアを生成することができる。
【００６２】
第２のコンピュータ・システム９０２はまた、プロセッサ９３２を含む。プロセッサ９３２は、ネットワーク・インターフェース９０８及びユーザ・インターフェース９３４に接続される。プロセッサ９３２は、コンピュータ・ストレージ９３６及びコンピュータ・メモリ９３８にも接続される。コンピュータ・ストレージ９３６は、第１のコンピュータ・システム９００からの暗号化された仮想ディスク９２４を含む。この実施形態においては、ネットワーク接続９０４を用いて、暗号化された仮想ディスク９２４を転送した。また、コンピュータ・ストレージ９３６内には、暗号化用暗号鍵９４４がある。コンピュータ・メモリ９３８は、仮想化モジュール９４２を含む。仮想化モジュール９４２は、プロセッサ９３２が、仮想コンピュータ・システムを動作させ、操作できるようにする。図に示されるように、暗号化された仮想ディスク９２４を復号するのに必要なのは、仮想化モジュール９４２及び暗号鍵９４４だけである。この図面はまた、エンド・ユーザが、暗号化された仮想ディスク９２４をオペレータの支援なしにどのように復号することができるかを示している。
【符号の説明】
【００６３】
１００：仮想ディスク
１０２：仮想ディスク・イメージ
１０４：復号プログラム
１０６：コンピュータ・システム
１０８：オペレータ
１１０：ユーザ
１１２：ステップ１
１１４：ステップ２
１１６：ステップ３
１１８：ステップ４
１２０：ステップ５
１２２：ステップ６
２００：コンピュータ・システム
２０２：仮想システム・イメージ・サーバ
２０４：仮想ディスク・リポジトリ
２０６：復号モジュール
２０８：オペレータ
２１０：ステップ１
２１２：ステップ２
２１４：ステップ３
２１６：ステップ４
２１８：ステップ５
３００：第２のコンピュータ・システム
３０１：オペレーティング・システム配置ツール
３０２：ターゲット仮想システム
３０３：復号モジュール
３０４：オペレータ
３０６：ユーザ
３０８：ステップ１
３１０：ステップ２
３１２：ステップ３
３１４：ステップ４
３１６：ステップ５
３１８：ステップ６
４００：仮想ディスク
４０２：仮想ディスク・イメージ
４０４：空のオペレーティング・システム・ブロック
４０６：仮想ディスク・イメージの第１のパート
４０６’：仮想ディスク・イメージの暗号化された第１のパート
４０８：仮想ディスク・イメージの第２のパート
４０８’：仮想ディスク・イメージの暗号化された第２のパート
４１０：復号マスター・ブート・レコード
４１２：復号プログラム
４１４：仮想ディスクの第１の部分
４１６：仮想ディスクの第２の部分
４１８：仮想ディスクの第３の部分
４２０：仮想ディスクの第４の部分
４２２：仮想ディスクの第５の部分
５００：仮想ディスク・イメージの第２のパートの復号されたブロック
５０２：仮想ディスク・イメージの第２のパートの暗号化されたブロック
５０４：仮想ディスク・イメージの第１のパートの一部分
５０６：仮想ディスク・イメージの第１のパートの残り
９００：第１のコンピュータ・システム
９０２：第２のコンピュータ・システム
９０４：ネットワーク接続
９０６：ネットワーク・インターフェース
９０８：ネットワーク・インターフェース
９１０：プロセッサ
９１２：ユーザ・インターフェース
９１４：コンピュータ・ストレージ
９１６：コンピュータ・メモリ
９１８：暗号化されていない仮想ディスク
９２０：復号マスター・ブート・レコード
９２２：復号プログラム
９２３：暗号化された仮想ディスク・イメージ
９２４：暗号化された仮想ディスク
９２６：暗号化ツール
９２８：暗号モジュール
９３０：暗号認証情報生成モジュール
９３１：暗号鍵ペア
９３２：プロセッサ
９３４：ユーザ・インターフェース
９３６：コンピュータ・ストレージ
９３８：コンピュータ・メモリ
９４０：復号された仮想ディスク
９４２：仮想化モジュール
９４４：復号用暗号鍵
【図１】
0005904505.tif 000002
【図２】
0005904505.tif 000003
【図３】
0005904505.tif 000004
【図４Ａ】
0005904505.tif 000005
【図４Ｂ】
0005904505.tif 000006
【図４Ｃ】
0005904505.tif 000007
【図４Ｄ】
0005904505.tif 000008
【図４Ｅ】
0005904505.tif 000009
【図５Ａ】
0005904505.tif 000010
【図５Ｂ】
0005904505.tif 000011
【図５Ｃ】
0005904505.tif 000012
【図５Ｄ】
0005904505.tif 000013
【図６】
0005904505.tif 000014
【図７】
0005904505.tif 000015
【図８】
0005904505.tif 000016
【図９】
0005904505.tif 000017