JP5904505B2 - 仮想ディスクを暗号化及び復号するためのコンピュータ可読ストレージ媒体 - Google Patents

仮想ディスクを暗号化及び復号するためのコンピュータ可読ストレージ媒体 Download PDF

Info

Publication number
JP5904505B2
JP5904505B2 JP2013542433A JP2013542433A JP5904505B2 JP 5904505 B2 JP5904505 B2 JP 5904505B2 JP 2013542433 A JP2013542433 A JP 2013542433A JP 2013542433 A JP2013542433 A JP 2013542433A JP 5904505 B2 JP5904505 B2 JP 5904505B2
Authority
JP
Japan
Prior art keywords
virtual disk
disk image
decryption
encrypted
virtual
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2013542433A
Other languages
English (en)
Other versions
JP2014505286A (ja
Inventor
フォンティニー、ジャック
マリネッリ、クラウディオ
ビュイルマイヤー、シュテッケルベルク、マルク
ピケッティ、ルイジ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2014505286A publication Critical patent/JP2014505286A/ja
Application granted granted Critical
Publication of JP5904505B2 publication Critical patent/JP5904505B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1408Protection against unauthorised use of memory or access to memory by using cryptography
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/575Secure boot
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6209Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/72Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • G06F21/80Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in storage media based on magnetic or optical technology, e.g. disks with sectors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images
    • G06T7/593Depth or shape recovery from multiple images from stereo images
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/061Network architectures or network communication protocols for network security for supporting key management in a packet data network for key exchange, e.g. in peer-to-peer networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1052Security improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20021Dividing image into blocks, subimages or windows

Description

本発明は、コンピュータ・システムのための仮想化ソフトウェアに関する。具体的には、本発明は、仮想ディスクを暗号化及び復号することによって、仮想ディスクの内容を保護することに関する。
特定のソフトウェア及びアプリケーションを有する大量のサーバ及びコンピュータ・システムを、従来の物理リソースを用いてセットアップ又はインストールすることは、ますますコストがかかるようになっている。近年では、仮想化技術を用いて、予め設定されたソフトウェア・パッケージ及びシステム構成を仮想ディスク又はオペレーティング・システムに提供することによって、このプロセスは簡略化されている。
同様に設定される大量のサーバが必要な場合には、同じ仮想ディスクを何度も繰り返し用いることができる。仮想ディスク・イメージは、インターネットを介して配布される場合もある。しかしながら、仮想ディスク・イメージを含むパケットは、重要なデータ及びライセンスを含むことがある。さらに、仮想ディスク・イメージの不正な使用を防止する必要がある。現在、ディスク・イメージ全体は、配布される前に暗号化される。
配布前に仮想ディスク・イメージ全体を暗号化することは、幾つかの不利な点を有する。第一に、あるフォーマットの仮想ディスク・イメージが、復号されず、別のフォーマットに変換されない場合がある。第二に、仮想ディスク・イメージを復号及びインストールするために、管理者が必要である。これは、仮想ディスク・イメージを復号するための暗号鍵又は認証情報を管理者に提供する必要があるため、問題となる場合がある。仮想ディスク・システムのエンド・ユーザ又はオペレータは、暗号鍵又は認証情報を管理者と共有することを望む場合もあるし、望まない場合もある。
本発明は、仮想ディスクを暗号化するための命令を含むコンピュータ可読ストレージ媒体と、暗号化された仮想ディスクを復号するための命令を含むコンピュータ可読ストレージ媒体と、独立請求項における仮想ディスクを含む暗号化された仮想ディスクのコンピュータ可読ストレージ媒体とを提供する。実施形態は、従属請求項において与えられる。
本発明の実施形態は、これら及び他の問題を、少なくとも一部が暗号化された仮想ディスク・イメージを復号するための復号プログラムとともに、暗号化マスター・ブート・レコードを暗号化された仮想ディスク・イメージ上に配置することによって、解決することができる。暗号化マスター・ブート・レコードは、仮想マシンを起動するために用いられるマスター・ブート・レコードである。次に、仮想マシン自身が、復号プログラム及び暗号認証情報を用いて、暗号化された仮想ディスク・イメージを復号する。これによって、暗号認証情報をオペレータに提供する必要はなくなる。
本発明の実施形態は、仮想ディスクから仮想ディスクを暗号化又は復号することができるという利点を有する。本発明の実施形態は、使用済みブロックのみを暗号化するように本方法を設定することができるという利点を有する。このことによって、より速い暗号化と、暗号化するデータ量の減少とがもたらされる。本発明の実施形態は、仮想ディスクをオン・ザ・フライで暗号化及び復号することができるという利点を有する。
さらに、仮想ディスクの一部のみを暗号化することができる。例えば、仮想ディスクのブロックを選択的に暗号化することができる。仮想ディスクの特定のフォーマットに特有のデータ又はレコードを含む仮想ディスクの部分は、暗号化されないまま残しておくことができる。これによって、仮想ディスクを復号することなく仮想ディスクを変換することが可能になる。
本明細書において用いられるコンピュータ可読ストレージ媒体は、コンピュータ装置のプロセッサによって実行可能な命令を格納することができるいずれかの有形のストレージ媒体を含む。コンピュータ可読ストレージ媒体は、一時的でないコンピュータ可読ストレージ媒体と呼ばれることがある。コンピュータ可読ストレージ媒体は、有形のコンピュータ可読媒体と呼ばれることもある。幾つかの実施形態においては、コンピュータ可読ストレージ媒体は、コンピュータ装置のプロセッサがアクセスすることができるデータを格納することが可能なものとすることもできる。
コンピュータ可読ストレージ媒体の例として、フロッピー・ディスク、磁気ハード・ディスク・ドライブ、固体ハード・ディスク、フラッシュ・メモリ、USBサム・ドライブ、ランダム・アクセス・メモリ(RAM)、読み出し専用メモリ(ROM)、光ディスク、磁気光ディスク、及びプロセッサのレジスタ・ファイルを挙げられるが、これらに限定されるものではない。光ディスクの例として、例えばCD−ROM、CD−RW、CD−R、DVD−ROM、DVD−RW、又はDVD−Rディスクといった、コンパクト・ディスク(CD)及びデジタル多用途ディスク(DVD)が挙げられる。コンピュータ可読ストレージ媒体という用語はまた、コンピュータ装置がネットワーク又は通信リンクを介してアクセスすることができる種々のタイプの記録媒体を指す。例えば、モデム、インターネット、又はローカル・エリア・ネットワークを介して、データを取得することができる。
コンピュータ・メモリは、コンピュータ可読ストレージ媒体の一例である。コンピュータ・メモリは、プロセッサが直接的にアクセス可能ないずれかのメモリである。コンピュータ・メモリの例として、RAMメモリ、レジスタ、及びレジスタ・ファイルが挙げられるが、これらに限定されるものではない。
コンピュータ・ストレージは、コンピュータ可読ストレージ媒体の一例である。コンピュータ・ストレージは、いずれかの不揮発性コンピュータ可読ストレージ媒体である。コンピュータ・ストレージの例として、ハード・ディスク・ドライブ、USBサム・ドライブ、フロッピィ・ドライブ、スマート・カード、DVD、CD−ROM、及び固体ハード・ドライブが挙げられるが、これらに限定されるものではない。幾つかの実施形態においては、コンピュータ・ストレージは、コンピュータ・メモリである場合もあるし、その逆の場合もある。
本明細書において用いられるコンピュータ装置又はコンピュータ・システムは、プロセッサを含むいずれかの装置を指す。本明細書において用いられるプロセッサは、プログラム又は機械実行可能命令を実行することができる電子部品を含む。「プロセッサ」を含むコンピュータ装置というときには、1つより多くのプロセッサを含む場合があるものとして解釈されるべきである。コンピュータ装置という用語はまた、各々がプロセッサを含むコンピュータ装置の集合体又はネットワークを指す場合があるものとして解釈されるべきである。多くのプログラムは、同一のコンピュータ装置内に存在するか又は複数のコンピュータ装置にわたって分散する場合もある複数のプロセッサによって実行される命令を有する。
本明細書において用いられるユーザ・インターフェースは、ユーザ又はオペレータがコンピュータ又はコンピュータ・システムと対話できるようにするインターフェースである。ユーザ・インターフェースは、情報又はデータをオペレータに提供し、及び/又は、オペレータから情報又はデータを受信することができる。データ又は情報をディスプレイ又はグラフィカル・ユーザ・インターフェース上に表示することは、情報をオペレータに提供することの一例である。キーボード、マウス、トラックボール、タッチパッド、ポインティング・スティック、グラフィックス・タブレット、ジョイスティック、ゲームパッド、ウェブカム、ヘッドセット、ギア・スティック、ステアリング・ホイール、ペダル、有線グローブ、ダンス・パッド、リモート・コントロール、及び加速度計を通じてデータを受信することは全て、オペレータから情報又はデータを受信することの例である。
本明細書において用いられる仮想化ソフトウェア、仮想化プログラム、及び仮想化モジュールは全て、コンピュータ・システムが仮想コンピュータ・システムを動作させられるようにするソフトウェア又はコンピュータ実行可能命令を指す。本明細書において用いられる仮想マシン又は仮想コンピュータ・システムは、仮想的に実装されるコンピュータ・システム又はコンピュータ・システム上で動作しているソフトウェアによってシミュレートされるコンピュータ・システムを含む。
本明細書において用いられる暗号鍵又は暗号認証情報は、データ・ファイルを復号するために復号アルゴリズムが用いることができる鍵、認証情報、又はパスワードを含む。
本明細書において用いられる仮想ディスクは、仮想化プログラムが仮想ディスク・イメージとして用いることができるデータを含む。仮想ディスクは、仮想化システム又は仮想システムがアクセスすることができるファイル・システムを含む場合がある。仮想ディスクはまた、起動可能なオペレーティング・システムを含む場合がある。
1つの態様において、本発明は、プロセッサによって実行されたときにプロセッサに仮想ディスクを暗号化させる機械実行可能命令を含むコンピュータ可読ストレージ媒体を提供する。仮想ディスクは、仮想ディスク・イメージを含む。仮想ディスク・イメージは、既存のディスク・ファイル・システムのイメージ、又は仮想ディスク・イメージを作成する目的で構築されたディスク・ファイル・システムのイメージである。機械実行可能命令の実行によって、プロセッサが仮想ディスクを受信する。機械実行可能命令の実行によって、さらに、プロセッサが仮想ディスクのサイズを増やす。仮想ディスクは、実質的に、コンピュータ可読ストレージ媒体又は異なるコンピュータ可読ストレージ媒体上に格納されたファイルとすることができる。仮想ディスクのサイズは、仮想ディスクの最初又は最後にブロックを追加することによって、増やすことができる。機械実行可能命令の実行によって、さらに、プロセッサが復号マスター・ブート・レコード及び復号プログラムを仮想ディスクに書き込む。復号マスター・ブート・レコードは、仮想コンピュータ又はコンピュータ・システムが仮想ディスク・イメージを用いるときに起動するマスター・ブート・レコードである。復号マスター・ブート・レコードは、仮想コンピュータ・システムが仮想ディスクを復号するために復号プログラムを動作させることができるようにする。機械実行可能命令の実行によって、さらに、プロセッサが仮想ディスク・イメージの少なくとも一部を暗号化する。復号プログラムは、少なくとも一部が暗号化された仮想ディスク・イメージを暗号鍵によって復号するための復号用機械実行可能命令を含む。仮想ディスク・イメージは、暗号鍵に基づいて復号プログラムを用いて仮想ディスク・イメージを復号することができるように、暗号化される。
幾つかの実施形態においては、仮想ディスク・イメージ全体が暗号化される。他の実施形態においては、仮想ディスク・イメージの特定の部分のみが暗号化される。例えば、仮想ディスクの一部が未使用の場合には、ディスク・イメージのこれらの部分は暗号化する必要がない。仮想ディスクの特定の部分が、例えばアプリケーション・プログラム又は機密データといった暗号化によって保護されることが望ましい機密情報を含むかどうかを判定することも可能な場合がある。仮想ディスク・イメージの復号は、保護される必要がある仮想ディスクのこれらの部分を選択的に用い、保護される必要のない部分を暗号化しないことによって、高速化することができる。
本発明の実施形態は、幾つかの利点を有する。例えば、復号マスター・ブート・レコードを仮想ディスク及び復号プログラムに追加することによって、エンド・ユーザが仮想ディスク・イメージの復号を行うことができるようになる。これによって、管理者がこのタスクを行う必要がなくなる。
別の実施形態においては、仮想ディスク・イメージは、第1のパート及び第2のパートに分割される。仮想ディスクは、第1、第2、第3、第4、及び第5の部分に分割される。仮想ディスク・イメージは、元々、仮想ディスクの第1、第2、及び第3の部分にわたって存在する。仮想ディスク・イメージの第2のパートは、仮想ディスクの第3の部分に格納される。命令の実行によって、さらに、プロセッサが仮想ディスク・イメージの第1のパートを仮想ディスクの第4の部分にコピーする。仮想ディスク・イメージの第1のパートは、仮想ディスクの第1及び第2の部分から、仮想ディスクの第4の部分にコピー又は移動される。復号マスター・ブート・レコードは、仮想ディスクの第1の部分に書き込まれる。仮想ディスクが仮想システムにロードされ、仮想システムが仮想ディスクを起動するときに、復号マスター・ブート・レコードは、仮想システムに復号プログラムを動作させることになる。
復号プログラムは、仮想ディスクの第2の部分に書き込まれる。上述されたように、仮想ディスク・イメージの第1のパートは、仮想ディスクの第1及び第2の部分からコピーされる。仮想ディスク・イメージの第1のパートは、復号マスター・ブート・レコード及び復号プログラムがそれぞれ仮想ディスクの第1の部分及び第2の部分に書き込まれる前に、仮想ディスクの第1及び第2の部分からコピーされる。命令の実行によって、さらに、プロセッサが仮想ディスク・イメージの第1のパート及び第2のパートの少なくとも一部を暗号化する。仮想ディスクのサイズは、仮想ディスクの第4の部分と仮想ディスクの第5の部分とを作成するように増やされる。第5の部分のサイズは、第2の部分より大きいか又はこれと等しい。第1及び第2の部分を合わせたサイズは、第4の部分のサイズより小さいか又はこれと等しい。復号マスター・ブート・レコードが、第1の部分にあり、仮想システムに復号プログラムを起動させることになるため、本発明のこの実施形態は有利な場合がある。
別の実施形態においては、仮想ディスク・イメージの第1のパートは一緒に暗号化される。この実施形態においては、仮想ディスク・イメージの第1のパート全体は、単一の暗号化されたデータ・ファイルとして暗号化される。
別の実施形態においては、仮想ディスク・イメージの第2のパートは一緒に暗号化される。この実施形態においては、仮想ディスク・イメージの第2のパートは、単一のデータ・ファイルとして暗号化される。
別の実施形態においては、仮想ディスク・イメージは、ブロックに分割される。本明細書において用いられるブロックは、ディスク又は仮想ディスク・イメージのデータの一部又は下位部分である。ブロック内のデータは、ディスク又は仮想ディスクによってアドレス指定可能である。ブロックは、所定のブロック暗号化リストに従って選択的に暗号化される。ブロック暗号化リストは、仮想ディスク・イメージの暗号化の際に暗号化されるブロックのリストである。例えば、オペレータは、仮想ディスク・イメージのどのブロックが、暗号化によって保護されることが望ましいデータを含むかを判定することができる。例えば、これらのブロックは、機密のデータ又は情報を含む場合がある。同様に、これらのブロックは、ライセンスが購入されるアプリケーションを含む場合がある。プログラムがインターネット上で送信される場合には、コード又はデータの実行可能なバージョンを保護することが望ましい。
別の実施形態においては、仮想ディスク・イメージは、ブロックに分割される。命令の実行によって、プロセッサが、ブロックの各々を検査して未使用ブロックのリストを作成する。特定のブロックは、それらが未使用ブロックのリストにない場合にのみ暗号化される。コンピュータ可読ストレージ媒体は、使用されないブロックを暗号化することを避けるため、この実施形態は特に有利である。これらのブロックは使用されないので、これらを保護する必要はない。幾つかの仮想ファイル・システムにおいては、未使用データは、ファイル・システムの一部であるが使われない場合がある。ファイル・システムのこれらの部分を暗号化しないことによって、仮想ディスクをより小さくすることができる。
コンピュータ可読ストレージ媒体の前述の実施形態はまた、本発明の他の態様を提供する。例えば、本発明によって、本発明の一実施形態によるコンピュータ可読ストレージ媒体に収容された機械可読命令を収容する又は含むコンピュータ・システムが提供される。同様に、機械実行可能命令の実行によって、プロセッサが、同じく方法及びコンピュータ実装方法を提供する種々のステップ又はアクションを行う。コンピュータ可読ストレージ媒体の実行可能命令はまた、コンピュータ・プログラム製品及び/又はコンピュータ・システムを提供する。
別の態様においては、本発明は、プロセッサによって実行されたときにプロセッサに暗号化された仮想ディスクを復号させる機械実行可能命令を含むコンピュータ可読ストレージ媒体を提供する。仮想ディスクは、復号マスター・ブート・レコードと、復号プログラムと、少なくとも一部が暗号化された仮想ディスク・イメージとを含む。復号プログラムは、少なくとも一部が暗号化された仮想ディスク・イメージを暗号鍵によって復号するための復号用機械実行可能命令を含む。機械実行可能命令の実行によって、プロセッサが、暗号化された仮想ディスクを受信する。
機械実行可能命令の実行によって、さらに、プロセッサが復号マスター・ブート・レコードを用いて仮想マシンを起動する。機械実行可能命令の実行によって、さらに、プロセッサが暗号鍵を受信する。暗号鍵を受信する順序は重要ではない。例えば、プロセッサは、仮想ディスク・イメージが復号される前のいずれかの時点で、暗号鍵を受信することができる。機械実行可能命令の実行によって、さらに、プロセッサが、少なくとも一部が暗号化された仮想ディスク・イメージを暗号鍵及び復号プログラムによって復号する。機械実行可能命令によって、プロセッサが仮想ディスクを起動し、仮想ディスクは、復号マスター・ブート・レコードを介して、暗号化された仮想ディスク上のオペレーティング・システムを起動する。次いで、これによって、仮想マシンが復号プログラムを動作させる。次いで、復号プログラムは、少なくとも一部が暗号化された仮想ディスク・イメージを復号する。少なくとも一部が暗号化された仮想ディスク・イメージを復号するためには、暗号鍵と復号プログラムの両方が必要である。
別の実施形態においては、少なくとも一部が暗号化された仮想ディスク・イメージの復号は、仮想マシンの配置の際に行われる。現状の技術水準においては、管理者が、暗号化された仮想ディスクを受信し、それを復号することになる。しかしながら、これは、多くの場合、仮想マシンのエンド・ユーザ又はオペレータが復号の実施を管理者に依存することになるため望ましいことではない。本発明の実施形態は、エンド・ユーザ又はオペレータ自身が復号を行うことができるという利点を有する。
別の実施形態においては、仮想ディスクは、復号マスター・ブート・レコードを含む第1の部分を含む。仮想ディスクは、復号プログラムを含む第2の部分をさらに含む。仮想ディスクは、仮想ディスク・イメージの第2のパートを含む第3の部分をさらに含む。仮想ディスクは、仮想ディスク・イメージの第1のパートを含む第4の部分をさらに含む。幾つかの実施形態においては、仮想ディスク・イメージの第1のパートは、仮想ディスク・イメージに含まれたオペレーティング・システムを起動するためのマスター・ブート・レコードを含むことがある。少なくとも一部が暗号化された仮想ディスク・イメージの復号が完了すると、第4の部分におけるこのマスター・ブート・レコードを用いて、仮想マシンを起動することができる。
仮想ディスクは、ストレージ空間を含む第5の部分を含む。第5の部分のサイズは、第2の部分より大きい。第1及び第2の部分を合わせたサイズは、第4の部分のサイズより小さいか又はこれと等しい。少なくとも一部が暗号化された仮想ディスク・イメージは、仮想ディスク・イメージの第2のパートを復号することによって復号される。少なくとも一部が暗号化された仮想ディスク・イメージは、さらに、復号プログラムを仮想ディスクの第5の部分にコピーすることによって復号される。少なくとも一部が暗号化された仮想ディスク・イメージは、仮想ディスク・イメージの第1のパートの一部分を復号することによって復号される。
少なくとも一部が暗号化された仮想ディスク・イメージは、さらに、仮想ディスク・イメージの第1のパートの復号された部分を仮想ディスクの第2の部分にコピーすることによって復号される。仮想ディスク・イメージは、さらに、仮想ディスク・イメージの第1のパートの残りを復号することによって復号される。仮想ディスク・イメージは、さらに、仮想ディスク・イメージの第1のパートの復号された残りを仮想ディスクの第1の部分にコピーすることによって復号される。このように復号を行うことは、復号をいずれかの時点で中断することができるという利点を有する。例えば、第5の部分は、復号プロセスの状態を保持するデータ・ファイルを含むことができる。
別の実施形態においては、命令の実行によって、さらに、プロセッサが、仮想ディスク・イメージの第1のパートの復号された残りを仮想ディスクの第1の部分にコピーした後で、仮想ディスクの第4及び第5の部分におけるデータを消去する。
別の実施形態においては、命令の実行によって、さらに、少なくとも一部が暗号化された仮想ディスク・イメージを復号した後で、仮想マシンが再起動する。
コンピュータ可読ストレージ媒体の前述の実施形態はまた、本発明の他の態様を提供する。例えば、本発明によって、本発明の一実施形態によるコンピュータ可読ストレージ媒体に収容された機械可読命令を収容する又は含むコンピュータ・システムが提供される。同様に、機械実行可能命令の実行によって、プロセッサが、同じく方法及びコンピュータ実装方法を提供する種々のステップ又はアクションを行う。コンピュータ可読ストレージ媒体の実行可能命令はまた、コンピュータ・プログラム製品及び/又はコンピュータ・システムを提供する。
別の態様においては、本発明は、仮想ディスクを含む暗号化された仮想ディスクのコンピュータ可読ストレージ媒体を提供する。仮想ディスクは、復号マスター・ブート・レコードと、復号プログラムと、少なくとも一部が暗号化された仮想ディスク・イメージとを含む。復号プログラムは、少なくとも一部が暗号化された仮想ディスク・イメージを暗号鍵によって復号するための機械実行可能命令を含む。別の言い方をすれば、復号プログラムと暗号鍵との組み合わせを用いて、少なくとも一部が暗号化された仮想ディスク・イメージを復号する。
復号プログラムは、プロセッサによって実行されたときにプロセッサに暗号鍵を受信させる機械実行可能命令を含む。幾つかの実施形態においては、暗号鍵は、復号プログラムによって入力されるように指示される場合があり、又は、暗号鍵は、別のプログラムによって復号プログラムに渡される場合がある。例えば、仮想コンピュータ・システムを動作させるための仮想化ソフトウェアが、復号プログラムに暗号鍵を渡す場合がある。復号プログラムの機械実行可能命令の更なる実行によって、プロセッサが、少なくとも一部が暗号化された仮想ディスク・イメージを暗号鍵及び復号プログラムによって復号する。
別の実施形態においては、仮想ディスクは、復号マスター・ブート・レコードを含む第1の部分を含む。仮想ディスクは、復号プログラムを含む第2の部分をさらに含む。仮想ディスクは、仮想ディスク・イメージの第2のパートを含む第3の部分をさらに含む。仮想ディスクは、仮想ディスク・イメージの第1のパートを含む第4の部分をさらに含む。仮想ディスクは、ストレージ空間を含む第5の部分をさらに含む。第5の部分のサイズは、第2の部分より大きいか又はこれと等しい。第1及び第2の部分を合わせたサイズは、第4の部分のサイズより小さいか又はこれと等しい。
別の実施形態においては、少なくとも一部が暗号化された仮想ディスク・イメージは、仮想ディスク・イメージの第2のパートを復号することによって復号される。仮想ディスクは、さらに、復号プログラムを仮想ディスクの第5の部分にコピーすることによって復号される。仮想ディスク・イメージは、さらに、仮想ディスク・イメージの第1のパートの一部分を復号することによって復号される。仮想ディスクは、さらに、仮想ディスク・イメージの第1のパートの復号された部分を仮想ディスクの第2の部分にコピーすることによって復号される。仮想ディスクは、さらに、仮想ディスク・イメージの第1のパートの復号された部分を仮想ディスクの第2の部分にコピーすることによって復号される。仮想ディスク・イメージは、さらに、仮想ディスク・イメージの第1のパートの残りを復号することによって復号される。仮想ディスク・イメージは、さらに、仮想ディスク・イメージの第1のパートの復号された残りを仮想ディスクの第1の部分にコピーすることによって復号される。
別の実施形態においては、仮想ディスクは、少なくとも一部が暗号化された仮想ディスク・イメージの復号の進行を格納するための復号状態データ・ファイルを含む。復号プログラムの機械実行可能命令の実行によって、さらに、プロセッサが、少なくとも一部が暗号化された仮想ディスク・イメージの復号の際に復号状態データ・ファイルを更新する。復号プログラムの機械実行可能命令の実行によって、さらに、プロセッサが、少なくとも一部が暗号化された仮想ディスク・イメージの復号を開始するときに復号状態データ・ファイルをチェックする。復号状態データ・ファイルの状態をチェックすることによって、復号が元々中断されていた場合には、途中から復号を開始することができる。
別の実施形態においては、命令の実行によって、さらに、プロセッサが、仮想ディスク・イメージの第1のパートの復号された残りを仮想ディスクの第1の部分にコピーした後で、仮想ディスクの第4及び第5の部分のデータを消去する。
別の実施形態においては、命令の実行によって、さらに、少なくとも一部が暗号化された仮想ディスク・イメージを復号した後で、復号プログラムを実行する仮想マシンを再起動する。
コンピュータ可読ストレージ媒体の前述の実施形態はまた、本発明の他の態様を提供する。例えば、本発明によって、本発明の一実施形態によるコンピュータ可読ストレージ媒体に収容された機械可読命令を収容する又は含むコンピュータ・システムが提供される。同様に、機械実行可能命令の実行によって、プロセッサが、同じく方法及びコンピュータ実装方法を提供する種々のステップ又はアクションを行う。コンピュータ可読ストレージ媒体の実行可能命令はまた、コンピュータ・プログラム製品及び/又はコンピュータ・システムを提供する。
本発明の一実施形態による仮想ディスク100の復号を示す。 仮想システムのインポートの際における復号の例を示す。 配置の際における仮想ディスク・イメージの復号を示す。 本発明の一実施形態による仮想ディスク・イメージのブロック・ベースの暗号化の方法を示す。 本発明の一実施形態による仮想ディスク・イメージのブロック・ベースの暗号化の方法を示す。 本発明の一実施形態による仮想ディスク・イメージのブロック・ベースの暗号化の方法を示す。 本発明の一実施形態による仮想ディスク・イメージのブロック・ベースの暗号化の方法を示す。 本発明の一実施形態による仮想ディスク・イメージのブロック・ベースの暗号化の方法を示す。 図4において暗号化された仮想ディスク・イメージの復号を示す。 図4において暗号化された仮想ディスク・イメージの復号を示す。 図4において暗号化された仮想ディスク・イメージの復号を示す。 図4において暗号化された仮想ディスク・イメージの復号を示す。 本発明の更なる一実施形態による仮想ディスク・イメージを暗号化する方法を図示する流れ図を示す。 本発明の更なる一実施形態による仮想ディスク・イメージを復号する方法を説明する流れ図を示す。 本発明の更なる一実施形態による仮想ディスク・イメージを復号する方法を説明する流れ図を示す。 仮想ディスクを暗号化するための第1のコンピュータ・システムと、仮想ディスクを復号するための第2のコンピュータ・システムとを示す。
以下において、本発明の好ましい実施形態が、単なる例として、添付の図面への参照を行いながらより詳細に説明される。
以下において、これらの図面における同様の符号が付された要素は、類似の要素であるか、又は同等の機能を果たす。機能が同等の場合には、先に説明された要素が必ずしも後の図面で説明されるわけではない。
図1は、本発明の一実施形態による仮想ディスク100の復号を示す。仮想ディスク100は、暗号化されている仮想ディスク・イメージ102と、仮想ディスク・イメージ102を復号するための復号プログラム104とを含む。図には、仮想コンピュータ・システム又はマシンを動作させるための仮想化ソフトウェアを含むコンピュータ・システム106も示される。図1には、オペレータ108及びユーザ110が示される。図1に示される図は、本発明の一実施形態による仮想ディスク100を用いるときに、オペレータ108及びユーザ110によって取られるアクションを説明している。図1に示されるステップは、仮想ディスク及びその復号を最初に起動するためのものである。ステップ1は、112と表記される。このステップにおいて、オペレータ108は、仮想ディスク100をコンピュータ・システム106に格納する。ステップ2すなわち114において、ユーザ110は、コンピュータ・システム106の仮想化ソフトウェアを用いて仮想マシンを起動する。ステップ3すなわち116において、復号プログラム104が開始され、ユーザ110に認証情報又はパスワードを要求する。ステップ4すなわち118において、ユーザ110は、認証情報又はパスワードを復号プログラム104に提供する。ステップ5すなわち120において、復号プログラム104は、認証情報又はパスワードを用いて、仮想ディスク・イメージ102を復号する。ステップ6すなわち122において、仮想マシンは再起動し、このとき仮想マシンは、復号された仮想ディスク・イメージ102から起動する。
本発明の一実施形態による仮想ディスク100を用いる際には、2つの異なる使用シナリオが可能である。仮想ディスク・イメージ102のインポートの際に復号が行われる場合があり、仮想ディスク・イメージ102の配置の際に復号が行われる場合もある。仮想システムのインポートの際に仮想ディスク・イメージ102が復号される場合には、オペレータは、認証情報を知っており、これを、仮想システムを管理するための1つ又は複数のプログラムに渡す。次いで、仮想システムを管理するためのプログラムは、イメージをインポートし、それをオン・ザ・フライで復号する。配置の際に復号を行う第2の可能性の場合には、オペレータは、認証情報を知らず、復号せずにイメージをインポートするよう求める。仮想ディスク・イメージは、ユーザが認証情報について指示される配置時に、仮想システムのデータベースに格納される。
図2は、仮想システムのインポートの際の復号の例を示す。図2においては、仮想システム・イメージ・サーバ202として機能するコンピュータ・システム200が示される。仮想システム・イメージ・サーバ202は、オペレータ208によって要求されたときに、仮想システムのイメージを提供する。同じく格納されるか、又はコンピュータ・システム200によってアクセス可能であるのは、仮想システム・イメージ・サーバ202を介してアクセス可能な仮想ディスクのリポジトリである仮想ディスク・リポジトリ204である。図1に示される復号プログラム104と同等の復号モジュール206も存在する。ステップ1において、オペレータ208は、仮想ディスクをダウンロードする。ステップ2すなわち212において、オペレータは、仮想システム・イメージ・サーバ202によって管理されるシステムへの仮想ディスクのインポートを要求する。ステップ3すなわち214において、仮想システム・イメージ・サーバ202は、オペレータ208に認証情報又はパスワードを要求する。ステップ4すなわち216において、オペレータ208は、認証情報又はパスワードを仮想システム・イメージ・サーバ202に提供する。ステップ5において、仮想システム・イメージ・サーバ202は、仮想ディスクから仮想ディスク・イメージをインポートし、オペレータ208によって提供された認証情報又はパスワードを用いて、仮想ディスク・イメージをオン・ザ・フライで復号する。
図3は、配置の際における仮想ディスク・イメージの復号を示す。この図において示されるのは、仮想ディスク・リポジトリ204に格納された仮想ディスク・イメージを管理する仮想システム・イメージ・サーバ202を伴うコンピュータ・システム200である。図3に示される例においては、仮想ディスク・イメージの配置の際における復号に用いられる第2のコンピュータ・システム300が存在する。第2のコンピュータ・システム300は、ターゲット仮想システム302を動作させるためのものである。ターゲット・システム302内には、オペレーティング・システム配置ツール301がある。オペレーティング・システム配置ツール301は、仮想ディスク・イメージ内の仮想システムを配置するために設けられる。
ターゲット仮想システム内には、復号モジュール303もある。復号モジュールは、パスワード又は暗号認証情報を用いて仮想ディスク・イメージを復号するためのソフトウェア・モジュール又は復号プログラムである。オペレータ304及びユーザ306が示される。参照符号308で示される第1のステップにおいて、オペレータ304は、第2のコンピュータ・システム300への仮想システムの配置を要求又は始動させる。第2のステップ2(参照符号310で示される)において、ターゲット又は仮想システムは、オペレーティング・システム配置ツール301上で起動する。第3のステップ3(参照符号312で示される)において、オペレーティング・システム配置ツール301は、ユーザ306に暗号パスワード又は認証情報を要求する。第4のステップ4(参照符号314で示される)において、ユーザ306は、暗号パスワード又は認証情報をオペレーティング・システム配置ツール301に提供する。第5のステップ5(316としても参照される)において、オペレーティング・システム配置ツールは、仮想ディスク・イメージをダウンロードし、これを、暗号パスワード又は認証情報と復号モジュール303とを用いて復号する。ステップ6(318としても参照される)において、仮想ディスク・イメージが復号された後で、仮想システムの配置は、復号された仮想ディスク・イメージ上で続行する。
図4aから図4eは、本発明の一実施形態による仮想ディスク・イメージのブロック・ベースの暗号化の方法を示す。図4aにおいては、仮想ディスク400及び仮想ディスク・イメージ402が示される。仮想ディスク・イメージを構成するブロックは、1〜nと表記される。次に、ユーザは、仮想ディスク・イメージを暗号化するために、暗号化ツール又はプログラムを開始させる。第1のステップにおいて、暗号化ツールは、仮想ディスクのサイズを増やす。このことが、図4bに示されている。仮想ディスク400の最後に、空のオペレーティング・システム・ブロック404の領域が作成される。次のステップにおいて、仮想ディスク・イメージは、第1のパート406と第2のパート408とに分割される。仮想ディスク・イメージの第1のパート406は、仮想ディスク・イメージ400の最後にある空のオペレーティング・システム・ブロック404にコピーされる。
図4dにおいて、暗号化ツールが復号マスター・ブート・レコード410及び復号プログラム412を仮想ディスク400の第1のパート及び第2のパートにコピーすることが示される。図4eは、最終ステップを示す。暗号化ツール又はソフトウェアは、仮想ディスク・イメージの第1のパート406’を暗号化し、仮想ディスク・イメージの第2のパート408’を暗号化する。暗号化された仮想ディスク・イメージ406’、408’のブロックの全てが暗号化されることもあり、ブロックが選択的に暗号化されることもある。図4eにおいては、仮想ディスク400が5つの部分に分割されていることも示される。仮想ディスクの第1の部分414は、復号マスター・ブート・レコード410を含む。仮想ディスクの第2の部分416は、復号プログラム412を含む。仮想ディスクの第3の部分418は、仮想ディスク・イメージの暗号化された第2のパート408’を含む。仮想ディスクの第4の部分420は、仮想ディスク・イメージの暗号化された第1のパート406’を含む。仮想ディスクの第5の部分422は、仮想ディスク400の最後に位置する。種々の実施形態においては、第5の部分422は、復号状態を記録したデータ、ジャーナル・データ、復号において用いられる一時データ、及びそれらの組み合わせを含むことができる。
図5a〜図5dは、仮想マシンから起動されたときの仮想ディスク400の仮想ディスク・イメージ406’、408’の復号を示す。図5aは、図4eと同一である。第1のステップにおいて、仮想マシンは、仮想ディスク400上で起動し、仮想ディスクのマスター・ブート・レコード410を起動する。次に、マスター・ブート・レコード410は、復号プログラム412をロードする。次いで、復号プログラム412は、暗号化された仮想ディスク・イメージ406’、408’を復号するために用いる暗号認証情報又はパスワードを要求する。図5bにおいては、復号プロセスが示される。仮想ディスク400の2つの異なる図が示されている。500と表記されたブロックは、仮想ディスク・イメージの第2のパートにおける復号されたブロックである。502と表記されたブロックは、仮想ディスク・イメージの第2のパートにおける暗号化されたブロックである。図5bに示される上の図では、4と表記されたブロックのみが復号されたブロック500である。仮想ディスク・イメージの第2のパートの残りは、暗号化されている。図5bの下の部分は、仮想ディスク・イメージの第2のパート408の全てのブロックが復号されたブロック500であることを示す。
図5cは、仮想ディスク400の復号の更なる進行を示す。仮想ディスク・イメージの第2のパート408の全てのブロックが復号された後で、復号プログラム412は、仮想ディスクの第5の部分422にコピーされる。次に、仮想ディスク・イメージの第1のパート406’の一部が復号され、仮想ディスクの第2の部分416にコピーされる。仮想ディスク・イメージの第1のパート406’の残り506が復号され、仮想ディスクの第1の部分414にコピーされる。この実施形態においては、仮想ディスク・イメージの第1のパートの残り506は、マスター・ブート・レコード410を上書きした。仮想ディスク・イメージの暗号化された第1のパート406’及び復号プログラム412は上書きされ、空のオペレーティング・システム・ブロック404が残る場合がある。5dに示される図は、図4bに示されるものと同等である。これは、仮想ディスク400の少なくとも一部が暗号化された仮想ディスク・イメージ402を復号するために、図5に示される方法をどのように用いたかを示している。
図6は、本発明による仮想ディスク・イメージを暗号化する実施形態を説明する流れ図を示す。ステップ600において、仮想ディスクが受信される。仮想ディスクは、仮想ディスク・イメージを含む。ステップ602において、仮想ディスクのサイズが増やされる。ステップ604において、復号マスター・ブート・レコード及び復号プログラムが仮想ディスクに書き込まれる。ステップ606において、仮想ディスク・イメージの少なくとも一部が暗号化される。
図7は、本発明の一実施形態による仮想ディスクを復号する方法を説明する流れ図を示す。ステップ700において、暗号化された仮想ディスクが受信される。ステップ702において、仮想ディスクに含まれる復号マスター・ブート・レコードを用いて、仮想マシンが起動される。ステップ704において、暗号鍵が受信される。仮想ディスクは、少なくとも一部が暗号化された仮想ディスク・イメージを含む。ステップ706において、少なくとも一部が暗号化された仮想ディスク・イメージが、仮想ディスク上にある復号プログラムを用いて復号される。復号プログラムは、復号するために、少なくとも一部が暗号化された仮想ディスク・イメージの復号を行うための復号プログラムと共に、暗号鍵を用いる。
図8は、本発明の更なる実施形態による、暗号化された仮想ディスクを復号する方法を説明する流れ図を示す。ステップ800において、暗号化された仮想ディスクが受信される。ステップ802において、復号マスター・ブート・レコードを用いて、仮想マシンが起動される。ステップ804において、暗号鍵が受信される。ステップ806において、仮想ディスク・イメージの第2のパートが、暗号鍵と仮想ディスク上に配置された復号プログラムとを用いて復号される。ステップ808において、復号プログラムが仮想ディスクの第5の部分にコピーされる。ステップ810において、仮想ディスク・イメージの第1のパートの一部分が復号される。ステップ812において、仮想ディスク・イメージの第1のパートの復号された部分が、仮想ディスクの第2の部分にコピーされる。ステップ814において、仮想ディスク・イメージの第1のパートの残りが復号される。ステップ816において、仮想ディスク・イメージの第1のパートの復号された残りが、仮想ディスクの第1の部分にコピーされる。ステップ818において、仮想マシンが再起動される。図8において示される方法は、図5によって示される方法と同様のものである。
図9は、2つのコンピュータ・システム、すなわち、仮想ディスクを暗号化するための第1のコンピュータ・システム900と、仮想ディスクを復号するための第2のコンピュータ・システム902とを示す。第1のコンピュータ・システム900と第2のコンピュータ・システム902との間には、ネットワーク通信904が存在する。第1のコンピュータ・システムは、コンピュータ・ネットワーク904に接続するためのネットワーク・インターフェース906を有し、第2のコンピュータ・システム902は、コンピュータ・インターフェース904に接続するためのネットワーク・インターフェース908を有する。ネットワーク接続904は、イーサネット接続又はインターネット接続のような、いずれかの標準的なコンピュータ・インターフェースとすることができる。第1のコンピュータ・システム900は、ユーザ・インターフェース912及びネットワーク・インターフェース906に接続されたプロセッサ910を有する。プロセッサ910は、コンピュータ・ストレージ914及びコンピュータ・メモリ916にも接続される。
コンピュータ・ストレージ914内には、暗号化されていない仮想ディスク918がある。暗号化されていない仮想ディスクは、暗号化されていない仮想ディスク・イメージを含む。同じくコンピュータ・ストレージ914内には、復号マスター・ブート・レコード920がある。同じくコンピュータ・ストレージ914内には、復号プログラム922がある。同じくコンピュータ・ストレージ914内には、暗号化された仮想ディスク924がある。暗号化された仮想ディスク924は、復号マスター・ブート・レコード920と、復号プログラム922と、少なくとも一部が暗号化された仮想ディスク・イメージ923とを含む。暗号化された仮想ディスク924はまた、少なくとも一部が暗号化された仮想ディスク・イメージを含むこともある。コンピュータ・メモリ916は、暗号化ツール926を含む。暗号化ツール926は、プロセッサ910に、暗号化されていない仮想ディスク918と、復号マスター・ブート・レコード920と、復号プログラム922とを用いて、暗号化された仮想ディスク924を作成させる機械実行可能命令を含む、ソフトウェア・モジュール又はプログラムである。暗号化ツール926を用いて、図4及び図6に示される方法を実装することができる。幾つかの実施形態においては、コンピュータ・メモリ916は、暗号モジュール928と、暗号認証情報生成モジュール930とを含む。暗号モジュール928は、暗号化されていない仮想ディスク918を暗号化するために用いられる。暗号認証情報生成モジュール930は、任意のモジュールであり、暗号認証情報を生成するために用いることができる。例えば、暗号認証情報生成モジュールを用いて、非対称暗号化アルゴリズムのための暗号鍵ペアを生成することができる。
第2のコンピュータ・システム902はまた、プロセッサ932を含む。プロセッサ932は、ネットワーク・インターフェース908及びユーザ・インターフェース934に接続される。プロセッサ932は、コンピュータ・ストレージ936及びコンピュータ・メモリ938にも接続される。コンピュータ・ストレージ936は、第1のコンピュータ・システム900からの暗号化された仮想ディスク924を含む。この実施形態においては、ネットワーク接続904を用いて、暗号化された仮想ディスク924を転送した。また、コンピュータ・ストレージ936内には、暗号化用暗号鍵944がある。コンピュータ・メモリ938は、仮想化モジュール942を含む。仮想化モジュール942は、プロセッサ932が、仮想コンピュータ・システムを動作させ、操作できるようにする。図に示されるように、暗号化された仮想ディスク924を復号するのに必要なのは、仮想化モジュール942及び暗号鍵944だけである。この図面はまた、エンド・ユーザが、暗号化された仮想ディスク924をオペレータの支援なしにどのように復号することができるかを示している。
100:仮想ディスク
102:仮想ディスク・イメージ
104:復号プログラム
106:コンピュータ・システム
108:オペレータ
110:ユーザ
112:ステップ1
114:ステップ2
116:ステップ3
118:ステップ4
120:ステップ5
122:ステップ6
200:コンピュータ・システム
202:仮想システム・イメージ・サーバ
204:仮想ディスク・リポジトリ
206:復号モジュール
208:オペレータ
210:ステップ1
212:ステップ2
214:ステップ3
216:ステップ4
218:ステップ5
300:第2のコンピュータ・システム
301:オペレーティング・システム配置ツール
302:ターゲット仮想システム
303:復号モジュール
304:オペレータ
306:ユーザ
308:ステップ1
310:ステップ2
312:ステップ3
314:ステップ4
316:ステップ5
318:ステップ6
400:仮想ディスク
402:仮想ディスク・イメージ
404:空のオペレーティング・システム・ブロック
406:仮想ディスク・イメージの第1のパート
406’:仮想ディスク・イメージの暗号化された第1のパート
408:仮想ディスク・イメージの第2のパート
408’:仮想ディスク・イメージの暗号化された第2のパート
410:復号マスター・ブート・レコード
412:復号プログラム
414:仮想ディスクの第1の部分
416:仮想ディスクの第2の部分
418:仮想ディスクの第3の部分
420:仮想ディスクの第4の部分
422:仮想ディスクの第5の部分
500:仮想ディスク・イメージの第2のパートの復号されたブロック
502:仮想ディスク・イメージの第2のパートの暗号化されたブロック
504:仮想ディスク・イメージの第1のパートの一部分
506:仮想ディスク・イメージの第1のパートの残り
900:第1のコンピュータ・システム
902:第2のコンピュータ・システム
904:ネットワーク接続
906:ネットワーク・インターフェース
908:ネットワーク・インターフェース
910:プロセッサ
912:ユーザ・インターフェース
914:コンピュータ・ストレージ
916:コンピュータ・メモリ
918:暗号化されていない仮想ディスク
920:復号マスター・ブート・レコード
922:復号プログラム
923:暗号化された仮想ディスク・イメージ
924:暗号化された仮想ディスク
926:暗号化ツール
928:暗号モジュール
930:暗号認証情報生成モジュール
931:暗号鍵ペア
932:プロセッサ
934:ユーザ・インターフェース
936:コンピュータ・ストレージ
938:コンピュータ・メモリ
940:復号された仮想ディスク
942:仮想化モジュール
944:復号用暗号鍵

Claims (17)

  1. 少なくとも一部の仮想ディスク・イメージを暗号化する機械実行可能命令を含むコンピュータ・プログラムであって仮想ディスクは前記仮想ディスク・イメージを含み、前記機械実行可能命令の実行によって、前記暗号化するためのコンピュータ・システムに
    前記仮想ディスクを受信するステップと、
    前記仮想ディスクのサイズを増やすステップと、
    復号マスター・ブート・レコード及び復号プログラムを前記仮想ディスクに書き込むステップと、
    前記仮想ディスク・イメージの少なくとも一部を暗号化するステップであって、前記復号プログラムは、前記少なくとも一部が暗号化された仮想ディスク・イメージを暗号鍵によって復号するための機会実行可能命令を含む、前記書き込むステップ
    を実行させる、前記コンピュータ・プログラム。
  2. 前記仮想ディスク・イメージは第1のパート及び第2のパートに分割され、前記仮想ディスク・イメージの前記第2のパートは、前記仮想ディスクの第3の部分に格納され、
    前記コンピュータ・プログラムの実行によって、さらに、前記コンピュータ・システムに、前記仮想ディスク・イメージの前記第1のパートを前記仮想ディスクの第4の部分にコピーするステップを実行させ、
    前記復号マスター・ブート・レコードは前記仮想ディスクの第1の部分に書き込まれ、前記復号プログラムは前記仮想ディスクの第2の部分に書き込まれ、前記仮想ディスク・イメージの前記第1のパートは前記仮想ディスクの前記第1及び第2の部分からコピーされ、
    前記コンピュータ・プログラムの実行よって、さらに、前記コンピュータ・システムに、前記仮想ディスクの前記第1のパート及び第2のパートの少なくとも一部を暗号化するステップを実行させ、
    前記仮想ディスクのサイズは前記仮想ディスクの前記第4の部分と前記仮想ディスクの第5の部分とを作成するように増やされ、前記第5の部分のサイズは前記第2の部分より大きく、前記第1及び第2の部分を合わせたサイズは前記第4の部分のサイズより小さいか又はこれと等しい、
    請求項1に記載のコンピュータ・プログラム。
  3. 前記仮想ディスク・イメージの前記第1のパートは一緒に暗号化される、及び/又は、前記仮想ディスク・イメージの前記第2のパートは一緒に暗号化される、請求項1又2に記載のコンピュータ・プログラム。
  4. 前記仮想ディスク・イメージはブロックに分割され、前記ブロックは、所定のブロック暗号化リストに従って選択的に暗号化される、請求項1又2に記載のコンピュータ・プログラム。
  5. 前記仮想ディスク・イメージは複数のブロックに分割され、
    前記コンピュータ・プログラムの実行によって、前記コンピュータ・システムに、前記ブロックの各々を検査して未使用ブロックのリストを作成するステップを実行させ、
    特定のブロックは、それらが未使用ブロックの前記リストにない場合にのみ暗号化される、
    請求項1、2、又は4に記載のコンピュータ・プログラム。
  6. 少なくとも一部が暗号化された仮想ディスク・イメージを復号する機械実行可能命令を含むコンピュータ・プログラムであって、想ディスクは、復号マスター・ブート・レコードと、復号プログラムと、前記少なくとも一部が暗号化された仮想ディスク・イメージとを含み、前記復号プログラムは、前記少なくとも一部が暗号化された仮想ディスク・イメージを暗号鍵によって復号するための機械実行可能命令を含み、前記復号プログラムの実行によって、前記復号するためのコンピュータ・システムに
    前記少なくとも一部が暗号化された仮想ディスク・イメージを含む記仮想ディスクを受信するステップと、
    前記復号マスター・ブート・レコードを用いて仮想マシンを起動するステップと、
    前記暗号鍵を受信するステップと、
    前記少なくとも一部が暗号化された仮想ディスク・イメージを前記暗号鍵及び前記復号プログラムによって復号するステップ
    実行させる、前記コンピュータ・プログラム。
  7. 前記少なくとも一部が暗号化された仮想ディスク・イメージの前記復号は、前記仮想マシンの配置の際に行われる、請求項6に記載のコンピュータ・プログラム。
  8. 前記仮想ディスクは、前記復号マスター・ブート・レコードを含む第1の部分と、前記復号プログラムを含む第2の部分と、前記仮想ディスク・イメージの第2のパートを含む第3の部分と、前記仮想ディスク・イメージの第1のパートを含む第4の部分と、ストレージ空間を含む第5の部分とを含み、前記第5の部分のサイズは前記第2の部分より大きいか又はこれと等しく、前記第1及び第2の部分を合わせたサイズは前記第4の部分のサイズより小さいか又はこれと等しく、前記少なくとも一部が暗号化された仮想ディスク・イメージは、
    前記仮想ディスク・イメージの前記第2のパートを復号することと、
    前記復号プログラムを前記仮想ディスクの前記第5の部分にコピーすることと、
    前記仮想ディスク・イメージの前記第1のパートの一部分を復号することと、
    前記仮想ディスク・イメージの前記第1のパートの前記復号された部分を前記仮想ディスクの前記第2の部分にコピーすることと、
    前記仮想ディスク・イメージの前記第1のパートの残りを復号することと、
    前記仮想ディスク・イメージの前記第1のパートの前記復号された残りを前記仮想ディスクの前記第1の部分にコピーすることと
    によって復号される、請求項6又7に記載のコンピュータ・プログラム。
  9. 前記命令の実行によって、さらに、前記コンピュータ・システムに、前記仮想ディスク・イメージの前記第1のパートの前記復号された残りを前記仮想ディスクの前記第1の部分にコピーした後で、前記仮想ディスクの前記第4及び第5の部分におけるデータを消去するステップを実行させる、請求項8に記載のコンピュータ・プログラム。
  10. 前記命令の実行によって、さらに、前記コンピュータ・システムに、前記少なくとも一部が暗号化された仮想ディスク・イメージを復号した後で、前記仮想マシンが再起動するステップを実行させる、請求項6〜9のいずれか1項に記載のコンピュータ・プログラム。
  11. コンピュータ可読ストレージ媒体であって、仮想ディスクは、復号マスター・ブート・レコードと、復号プログラムと、少なくとも一部が暗号化された仮想ディスク・イメージとを含み、前記復号プログラムは、前記少なくとも一部が暗号化された仮想ディスク・イメージを暗号鍵によって復号するための機械実行可能命令を含み、前記復号プログラムの実行によって、前記復号するためのコンピュータ・システムに、
    前記暗号鍵を受信するステップと、
    前記少なくとも一部が暗号化された仮想ディスク・イメージを前記暗号鍵及び前記復号プログラムによって復号するステップ
    を実行させる前記コンピュータ可読ストレージ媒体。
  12. 前記仮想ディスクは、
    前記復号マスター・ブート・レコードを含む第1の部分と、
    前記復号プログラムを含む第2の部分と、
    前記仮想ディスク・イメージの第2のパートを含む第3の部分と、
    前記仮想ディスク・イメージの第1のパートを含む第4の部分と、
    ストレージ空間を含む第5の部分と
    を含み、
    前記第5の部分のサイズは、前記第2の部分より大きいか又はこれと等しく、
    前記第1及び第2の部分を合わせたサイズは、前記第4の部分のサイズより小さいか又はこれと等しい、
    請求項11に記載コンピュータ可読ストレージ媒体。
  13. 前記少なくとも一部が暗号化された仮想ディスク・イメージは、
    前記仮想ディスク・イメージの前記第2のパートを復号することと、
    前記復号プログラムを前記仮想ディスクの前記第5の部分にコピーすることと、
    前記仮想ディスク・イメージの前記第1のパートの一部分を復号することと、
    前記仮想ディスク・イメージの前記第1のパートの前記復号された部分を前記仮想ディスクの前記第2の部分にコピーすることと、
    前記仮想ディスク・イメージの前記第1のパートの残りを復号することと、
    前記仮想ディスク・イメージの前記第1のパートの前記復号された残りを前記仮想ディスクの前記第1の部分にコピーすることと
    によって復号される、請求項12に記載コンピュータ可読ストレージ媒体。
  14. 少なくとも一部の仮想ディスク・イメージを暗号化するための方法であって、仮想ディスクは前記仮想ディスク・イメージを含み、前記方法は、前記暗号化するためのコンピュータ・システムが、
    前記仮想ディスクを受信するステップと、
    前記仮想ディスクのサイズを増やすステップと、
    復号マスター・ブート・レコード及び復号プログラムを前記仮想ディスクに書き込むステップと、
    前記仮想ディスク・イメージの少なくとも一部を暗号化するステップであって、前記復号プログラムは、前記少なくとも一部が暗号化された仮想ディスク・イメージを暗号鍵によって復号するための機会実行可能命令を含む、前記書き込むステップ
    を実行する、前記方法。
  15. 少なくとも一部が暗号化された仮想ディスク・イメージを復号化するための方法であって、仮想ディスクは、復号マスター・ブート・レコードと、復号プログラムと、前記少なくとも一部が暗号化された仮想ディスク・イメージとを含み、前記復号プログラムは、前記少なくとも一部が暗号化された仮想ディスク・イメージを暗号鍵によって復号するための復号用機械実行可能命令を含み、前記復号するためのコンピュータ・システムが、
    前記少なくとも一部が暗号化された仮想ディスク・イメージを含む前記仮想ディスクを受信するステップと、
    前記復号マスター・ブート・レコードを用いて仮想マシンを起動するステップと、
    前記暗号鍵を受信するステップと、
    前記少なくとも一部が暗号化された仮想ディスク・イメージを前記暗号鍵及び前記復号プログラムによって復号するステップと
    を実行する、前記方法。
  16. 少なくとも一部の仮想ディスク・イメージを暗号化するためのコンピュータ・システムであって、仮想ディスクは前記仮想ディスク・イメージを含み、前記コンピュータ・システムは、
    プロセッサと、
    コンピュータ・メモリと、
    前記プロセッサによって実行されることにより前記プロセッサに前記仮想ディスク・イメージを暗号化させる機械実行可能命令を含むコンピュータ・プログラムを格納したコンピュータ・ストレージと
    を備えており、
    前記プロセッサが、請求項1〜5のいずれか一項に記載の各ステップを実行する、前記コンピュータ・システム。
  17. 少なくとも一部が暗号化された仮想ディスク・イメージを復号するためのコンピュータ・システムであって、仮想ディスクは、復号マスター・ブート・レコードと、復号プログラムと、前記少なくとも一部が暗号化された仮想ディスク・イメージとを含み、前記復号プログラムは、前記少なくとも一部が暗号化された仮想ディスク・イメージを暗号鍵によって復号するための復号用機械実行可能命令を含み、前記コンピュータ・システムは、
    プロセッサと、
    コンピュータ・メモリと、
    前記プロセッサによって実行されることにより前記プロセッサに前記暗号化された仮想ディスク・イメージを復号させるための機械実行可能命令を含むコンピュータ・プログラムを格納したコンピュータ・ストレージと
    を備えており、
    前記プロセッサが、請求項6〜10のいずれか一項に記載の各ステップを実行する、前記コンピュータ・システム。
JP2013542433A 2010-12-09 2011-11-03 仮想ディスクを暗号化及び復号するためのコンピュータ可読ストレージ媒体 Active JP5904505B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP10194400 2010-12-09
EP10194400.7 2010-12-09
PCT/EP2011/069323 WO2012076266A1 (en) 2010-12-09 2011-11-03 Computer-readable storage mediums for encrypting and decrypting a virtual disc

Publications (2)

Publication Number Publication Date
JP2014505286A JP2014505286A (ja) 2014-02-27
JP5904505B2 true JP5904505B2 (ja) 2016-04-13

Family

ID=44910207

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013542433A Active JP5904505B2 (ja) 2010-12-09 2011-11-03 仮想ディスクを暗号化及び復号するためのコンピュータ可読ストレージ媒体

Country Status (6)

Country Link
US (3) US9230118B2 (ja)
JP (1) JP5904505B2 (ja)
CN (1) CN103250163B (ja)
DE (1) DE112011104325B4 (ja)
GB (1) GB2499963B (ja)
WO (1) WO2012076266A1 (ja)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8996667B2 (en) 2010-04-27 2015-03-31 International Business Machines Corporation Deploying an operating system
CN103221921B (zh) 2010-11-23 2016-06-22 国际商业机器公司 利用流技术的软件映像的直接迁移
GB2499963B (en) 2010-12-09 2014-03-26 Ibm Computer-readable storage mediums for encrypting and decrypting a virtual disc
JP5911504B2 (ja) 2010-12-13 2016-05-11 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation ストリーミング技術に基づくソフトウェア・イメージのアップグレード
JP5767565B2 (ja) 2010-12-14 2015-08-19 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation ソフトウェア・イメージの管理方法、コンピュータ・プログラム、およびシステム(共有メモリ・ブロックを用いた複数のソフトウェア・イメージの管理)
CN102726027B (zh) * 2011-12-28 2014-05-21 华为技术有限公司 虚拟机全盘加密下预启动时的密钥传输方法和设备
US10078754B1 (en) * 2013-09-24 2018-09-18 Amazon Technologies, Inc. Volume cryptographic key management
CN103516728B (zh) * 2013-10-14 2016-08-31 武汉大学 一种防止云平台虚拟机非法启动的镜像加解密方法
US9864874B1 (en) * 2014-05-21 2018-01-09 Amazon Technologies, Inc. Management of encrypted data storage
US8990589B1 (en) 2014-09-18 2015-03-24 Kaspersky Lab Zao System and method for robust full-drive encryption
US10505721B2 (en) 2014-09-26 2019-12-10 British Telecommunications Public Limited Company Secure virtualized data volumes
CN105989306B (zh) * 2015-02-13 2020-04-28 中兴通讯股份有限公司 操作系统的文件签名方法、文件校验方法及装置
CN104780048B (zh) * 2015-04-13 2018-04-10 中国电子科技集团公司第二十八研究所 一种轻量级的镜像文件加密系统和方法
US20160314294A1 (en) * 2015-04-24 2016-10-27 Hand Held Products, Inc. Secure unattended network authentication
US9894061B2 (en) 2015-10-16 2018-02-13 International Business Machines Corporation Method for booting and dumping a confidential image on a trusted computer system
KR102428461B1 (ko) * 2015-10-19 2022-08-03 삼성전자주식회사 선택적 암호화 방법 및 그를 이용한 전자 장치
EP3408778B1 (en) 2016-01-29 2020-08-19 British Telecommunications public limited company Disk encryption
WO2017129657A1 (en) * 2016-01-29 2017-08-03 British Telecommunications Public Limited Company Disk encryption
GB2546802B (en) * 2016-01-29 2018-05-30 British Telecomm Disk encryption
GB2546803B (en) * 2016-01-29 2018-05-23 British Telecomm Disk encryption
US11537723B2 (en) 2016-01-29 2022-12-27 British Telecommunications Public Limited Company Secure data storage
US10719346B2 (en) 2016-01-29 2020-07-21 British Telecommunications Public Limited Company Disk encryption
US10534921B2 (en) 2017-08-23 2020-01-14 Red Hat, Inc. Copy and decrypt support for encrypted virtual machines
EP3785409B1 (en) 2018-04-25 2023-08-02 British Telecommunications public limited company Data message sharing
WO2019223979A1 (en) 2018-05-24 2019-11-28 British Telecommunications Public Limited Company Cryptographic key generation and storage
EP3804212A1 (en) 2018-05-24 2021-04-14 British Telecommunications public limited company Cryptographic key generation using multiple random sources
CN109376119B (zh) * 2018-10-30 2021-10-26 郑州云海信息技术有限公司 一种创建磁盘镜像文件加密快照、使用的方法及存储介质
US10970100B2 (en) 2019-03-08 2021-04-06 International Business Machines Corporation Starting a secure guest using an initial program load mechanism
KR20210151077A (ko) * 2019-05-03 2021-12-13 라인플러스 주식회사 메모리상에서 실행 가능 이미지를 적재하는 방법 및 시스템

Family Cites Families (86)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6075858A (en) 1995-10-27 2000-06-13 Scm Microsystems (U.S.) Inc. Encryption key system and method
US5991876A (en) 1996-04-01 1999-11-23 Copyright Clearance Center, Inc. Electronic rights management and authorization system
US6098158A (en) 1997-12-18 2000-08-01 International Business Machines Corporation Software-enabled fast boot
US6567774B1 (en) 1998-01-30 2003-05-20 Compaq Computer Corporation Method and system for configuring and updating networked client stations using a virtual disk and a snapshot disk
US6385721B1 (en) 1999-01-22 2002-05-07 Hewlett-Packard Company Computer with bootable hibernation partition
US6973447B1 (en) 2000-03-23 2005-12-06 International Business Machines Corporation System apparatus and method for supporting multiple partitions including multiple systems in boot code
US8140683B2 (en) 2000-12-07 2012-03-20 International Business Machines Corporation Method and system for selecting an operating system at user login on a target device
US6920555B1 (en) 2001-03-10 2005-07-19 Powerquest Corporation Method for deploying an image into other partition on a computer system by using an imaging tool and coordinating migration of user profile to the imaged computer system
US7428636B1 (en) * 2001-04-26 2008-09-23 Vmware, Inc. Selective encryption system and method for I/O operations
FR2824646B1 (fr) 2001-05-09 2003-08-15 Canal Plus Technologies Procede de selection d'une image de logiciel executable
US7103747B2 (en) 2001-06-28 2006-09-05 Hewlett-Packard Development Company, L.P. Memory table and memory manager for use in managing memory
US20030126242A1 (en) 2001-12-28 2003-07-03 Chang Albert H. Network boot system and method using remotely-stored, client-specific boot images created from shared, base snapshot image
US20030191623A1 (en) 2002-02-25 2003-10-09 Oak Technology, Inc. Computer system capable of executing a remote operating system
US7379982B2 (en) 2002-04-15 2008-05-27 Bassam Tabbara System and method for custom installation of an operating system on a remote client
JP2003316595A (ja) 2002-04-23 2003-11-07 Casio Comput Co Ltd インストール方法、ファイル更新方法、プログラム及びコンピュータシステム
US7313793B2 (en) 2002-07-11 2007-12-25 Microsoft Corporation Method for forking or migrating a virtual machine
US7107385B2 (en) * 2002-08-09 2006-09-12 Network Appliance, Inc. Storage virtualization by layering virtual disk objects on a file system
US7062517B2 (en) 2002-08-14 2006-06-13 Hitachi, Ltd. Method and apparatus for centralized computer management
US6857011B2 (en) 2002-10-31 2005-02-15 Paragon Development Systems, Inc. Method of remote imaging
JP2004192329A (ja) 2002-12-11 2004-07-08 Fuji Photo Film Co Ltd プログラム書換え方法および端末装置
US6857069B1 (en) 2003-03-24 2005-02-15 Cisco Technology, Inc. Modified operating system boot sequence for iSCSI device support
US7360072B1 (en) 2003-03-28 2008-04-15 Cisco Technology, Inc. iSCSI system OS boot configuration modification
US6925533B2 (en) 2003-05-07 2005-08-02 International Business Machines Corporation Virtual disk image system with local cache disk for iSCSI communications
US7281247B2 (en) 2003-06-24 2007-10-09 Microsoft Corporation Software image creation in a distributed build environment
EP1692614A2 (en) 2003-11-06 2006-08-23 intuwave Limited A method of rapid software application development for a wireless mobile device
US20050160150A1 (en) 2004-01-20 2005-07-21 Su-Hwa Kao Apparatus and method for managing and transporting virtual disks over a network to networked stations
JP4900760B2 (ja) 2004-03-31 2012-03-21 株式会社日立製作所 Osイメージのデプロイメントマシン及び方法
JP4604543B2 (ja) 2004-04-30 2011-01-05 日本電気株式会社 計算機、計算機起動方法、管理サーバ装置およびプログラム
US8230095B2 (en) 2004-05-07 2012-07-24 Wyse Technology, Inc. System and method for integrated on-demand delivery of operating system and applications
US7424601B2 (en) 2004-07-07 2008-09-09 Yongyong Xu Methods and systems for running multiple operating systems in a single mobile device
US7664834B2 (en) 2004-07-09 2010-02-16 Maxsp Corporation Distributed operating system management
US7269722B1 (en) 2004-07-26 2007-09-11 Sun Microsystems, Inc. Preview of UNIX boot process from multi-user level
US8346886B2 (en) 2004-09-08 2013-01-01 Red Hat, Inc. System, method, and medium for configuring client computers to operate disconnected from a server computer while using a master instance of the operating system
JP2006085209A (ja) 2004-09-14 2006-03-30 Hitachi Ltd 計算機システムのデプロイメント方式
US7490197B2 (en) 2004-10-21 2009-02-10 Microsoft Corporation Using external memory devices to improve system performance
DE602005001497T2 (de) 2005-01-07 2008-03-13 Telefonaktiebolaget Lm Ericsson (Publ) Aktualisierung von Speicherinhalt in einem Datenverarbeitungssystem
US7509530B2 (en) 2005-01-19 2009-03-24 Sonic Solutions Method and system for use in restoring an active partition
US7512833B1 (en) 2005-05-09 2009-03-31 Adam C. Murphy Universal imaging utility program
US7536541B2 (en) 2006-03-07 2009-05-19 Novell Inc. Parallelizing multiple boot images with virtual machines
US7653794B2 (en) 2006-05-08 2010-01-26 Microsoft Corporation Converting physical machines to virtual machines
JP2007310508A (ja) 2006-05-16 2007-11-29 Nippon Telegraph & Telephone East Corp シンクライアントシステムおよびシンクライアント端末用プログラム
US8234359B2 (en) 2006-05-24 2012-07-31 Absolute Software Corp. System and method for remotely re-imaging a computer system
JP4725798B2 (ja) 2006-06-21 2011-07-13 日本電気株式会社 コンピュータシステム、ネットワークブートシステム、osイメージ切替方法、osイメージ切替プログラム
JP4584196B2 (ja) 2006-06-27 2010-11-17 九州日本電気ソフトウェア株式会社 情報処理システム、情報処理方法、およびプログラム
US9003000B2 (en) 2006-07-25 2015-04-07 Nvidia Corporation System and method for operating system installation on a diskless computing platform
US7809919B2 (en) 2006-07-26 2010-10-05 Hewlett-Packard Development Company, L.P. Automatic data block misalignment detection and correction in a computer system utilizing a hard disk subsystem
JP4366698B2 (ja) 2006-07-27 2009-11-18 日本電気株式会社 計算機、計算機システム、及びディスクイメージ配布方法
US8387038B2 (en) 2006-08-14 2013-02-26 Caterpillar Inc. Method and system for automatic computer and user migration
JP2008090546A (ja) 2006-09-29 2008-04-17 Toshiba Corp マルチプロセッサシステム
JP4818868B2 (ja) 2006-10-05 2011-11-16 日本電信電話株式会社 仮想端末を利用した検疫ネットワークシステム、仮想端末を検疫する方法、及び、仮想端末を検疫するためのプログラム
US9038062B2 (en) 2006-10-17 2015-05-19 Manageiq, Inc. Registering and accessing virtual systems for use in a managed system
US9086917B1 (en) * 2006-10-17 2015-07-21 Manageiq, Inc. Registering and accessing virtual systems for use in a managed system
US8032351B2 (en) 2006-11-30 2011-10-04 Symantec Corporation Running a virtual machine directly from a physical machine using snapshots
US20080141015A1 (en) 2006-12-06 2008-06-12 Glen Edmond Chalemin System and method for operating system deployment in a peer-to-peer computing environment
US8312115B2 (en) 2006-12-21 2012-11-13 1E Limited Network booting apparatus and method
US20100107163A1 (en) 2007-03-20 2010-04-29 Sanggyu Lee Movable virtual machine image
US8331366B2 (en) 2007-04-11 2012-12-11 Dell Products L.P. System and method for deployment of a software image to a plurality of target devices
US8245022B2 (en) 2007-06-01 2012-08-14 Dell Products L.P. Method and system to support ISCSI boot through management controllers
US20090049160A1 (en) 2007-08-14 2009-02-19 Dell Products L.P. System and Method for Deployment of a Software Image
CN101399696B (zh) 2007-09-24 2011-09-21 国际商业机器公司 通过网络为客户机安装软件的方法、系统及相应的客户机
US8375440B2 (en) * 2007-10-15 2013-02-12 Microsoft Corporation Secure bait and switch resume
US8782637B2 (en) 2007-11-03 2014-07-15 ATM Shafiqul Khalid Mini-cloud system for enabling user subscription to cloud service in residential environment
WO2009085977A2 (en) * 2007-12-20 2009-07-09 Virtual Computer, Inc. Virtual computing management systems and methods
US7953833B2 (en) 2008-01-31 2011-05-31 Wanova Technologies Ltd. Desktop delivery for a distributed enterprise
CN100578461C (zh) 2008-03-12 2010-01-06 中兴通讯股份有限公司 一种引导程序的备份方法及其备份装置
US20090240953A1 (en) 2008-03-19 2009-09-24 Safenet, Inc. On-disk software image encryption
JP5062687B2 (ja) 2008-03-31 2012-10-31 Eugrid株式会社 情報処理装置
WO2009145274A1 (ja) 2008-05-29 2009-12-03 株式会社シー・オー・コンヴ ネットワークブートシステム
SG158757A1 (en) 2008-07-10 2010-02-26 Fast And Safe Technology Pte L Method and apparatus for protecting data in computers
US8434093B2 (en) 2008-08-07 2013-04-30 Code Systems Corporation Method and system for virtualization of software applications
US8510352B2 (en) 2008-10-24 2013-08-13 Microsoft Corporation Virtualized boot block with discovery volume
US8701106B2 (en) 2008-11-30 2014-04-15 Red Hat Israel, Ltd. Hashing storage images of a virtual machine
US20100174894A1 (en) 2009-01-07 2010-07-08 Lenovo (Singapore) Pte, Ltd. Method, Apparatus, and System for Configuring an Operating System on a Target Computer
US8429639B2 (en) 2009-02-10 2013-04-23 Microsoft Corporation Image-based software update
JP2010231567A (ja) 2009-03-27 2010-10-14 Fujitsu Ltd ストレージスイッチ、記憶領域サイズ変更方法
US8639917B1 (en) 2009-10-20 2014-01-28 Vmware, Inc. Streaming a desktop image over wide area networks in which the desktop image is segmented into a prefetch set of files, streaming set of files and leave-behind set of files
US9130912B2 (en) 2010-03-05 2015-09-08 International Business Machines Corporation System and method for assisting virtual machine instantiation and migration
US8312296B2 (en) * 2010-03-10 2012-11-13 Dell Products L.P. System and method for recovering from an interrupted encryption and decryption operation performed on a volume
US8996667B2 (en) 2010-04-27 2015-03-31 International Business Machines Corporation Deploying an operating system
US8407662B2 (en) 2010-06-25 2013-03-26 Wyse Technology Inc. Apparatus and method for network driver injection into target image
US8560825B2 (en) 2010-06-30 2013-10-15 International Business Machines Corporation Streaming virtual machine boot services over a network
CN103221921B (zh) 2010-11-23 2016-06-22 国际商业机器公司 利用流技术的软件映像的直接迁移
GB2499963B (en) 2010-12-09 2014-03-26 Ibm Computer-readable storage mediums for encrypting and decrypting a virtual disc
JP5911504B2 (ja) 2010-12-13 2016-05-11 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation ストリーミング技術に基づくソフトウェア・イメージのアップグレード
JP5767565B2 (ja) 2010-12-14 2015-08-19 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation ソフトウェア・イメージの管理方法、コンピュータ・プログラム、およびシステム(共有メモリ・ブロックを用いた複数のソフトウェア・イメージの管理)
CN102567042B (zh) 2010-12-14 2015-04-15 国际商业机器公司 利用引导块重定位来管理多个软件镜像的方法和系统

Also Published As

Publication number Publication date
GB2499963A (en) 2013-09-04
JP2014505286A (ja) 2014-02-27
CN103250163A (zh) 2013-08-14
CN103250163B (zh) 2016-08-10
US20130232329A1 (en) 2013-09-05
WO2012076266A1 (en) 2012-06-14
GB2499963B (en) 2014-03-26
DE112011104325T5 (de) 2013-09-26
US9626302B2 (en) 2017-04-18
US20160048461A1 (en) 2016-02-18
US9230118B2 (en) 2016-01-05
US20140380035A1 (en) 2014-12-25
DE112011104325B4 (de) 2020-08-06
US9230113B2 (en) 2016-01-05
GB201311724D0 (en) 2013-08-14

Similar Documents

Publication Publication Date Title
JP5904505B2 (ja) 仮想ディスクを暗号化及び復号するためのコンピュータ可読ストレージ媒体
TWI540453B (zh) 以區段映射表為基礎之快速資料加密策略順從
JP4799067B2 (ja) プログラムコードの安全な実行のためのシステムおよび方法
TWI544332B (zh) 用於以經加密塊為基礎之快速資料加密策略順從的方法與電腦儲存媒體
US8307215B2 (en) System and method for an autonomous software protection device
KR101081118B1 (ko) 보안되는 프로그램을 복원하는 컴퓨터 구현 방법, 정보 처리 시스템 및 컴퓨터 판독 가능한 기록 매체
Rosenthal Emulation & virtualization as preservation strategies
EP3408778B1 (en) Disk encryption
US20090132804A1 (en) Secured live software migration
JP5980050B2 (ja) 情報処理装置
US20090240953A1 (en) On-disk software image encryption
KR20140051350A (ko) 디지털 서명 권한자 의존형 플랫폼 기밀 생성 기법
US9881142B2 (en) Method and apparatus for preventing and investigating software piracy
US9075999B2 (en) Memory device and method for adaptive protection of content
US11829454B2 (en) Method and apparatus for preventing and investigating software piracy
CN112805698A (zh) 呈现由多个drm保护的内容
KR101604892B1 (ko) 안드로이드 기반 어플리케이션의 부정사용 방지 방법 및 장치
JP2018526720A (ja) 仮想マシンの状態情報の保護
TWI682296B (zh) 映像檔打包方法及映像檔打包系統
EP3408780B1 (en) Disk encryption
US20240045933A1 (en) Method and apparatus for preventing and investigating software piracy
EP3408779B1 (en) Disk encryption
JP2017058711A (ja) ライセンス管理装置、ライセンス管理システム、ライセンス管理プログラムおよびライセンス管理方法
GB2546802A (en) Disk encryption

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140610

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150414

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150512

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20150803

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150803

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20150803

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20150804

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160218

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20160222

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20160222

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160308

R150 Certificate of patent or registration of utility model

Ref document number: 5904505

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150