CN103250163B - 用于加密和解密虚拟盘的计算机可读存储介质 - Google Patents

用于加密和解密虚拟盘的计算机可读存储介质 Download PDF

Info

Publication number
CN103250163B
CN103250163B CN201180059216.XA CN201180059216A CN103250163B CN 103250163 B CN103250163 B CN 103250163B CN 201180059216 A CN201180059216 A CN 201180059216A CN 103250163 B CN103250163 B CN 103250163B
Authority
CN
China
Prior art keywords
virtual disk
mirror image
deciphering
virtual
encryption
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
CN201180059216.XA
Other languages
English (en)
Other versions
CN103250163A (zh
Inventor
J·方迪格尼耶
C·马里内利
M·武勒米尔斯图克尔伯格
L·皮切蒂
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 CN103250163A publication Critical patent/CN103250163A/zh
Application granted granted Critical
Publication of CN103250163B publication Critical patent/CN103250163B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/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/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/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Storage Device Security (AREA)

Abstract

本公开涉及用于加密和解密虚拟盘的计算机可读存储介质。一种包含机器可执行指令的计算机可读存储介质(916),当所述机器可执行指令被处理器执行时,使处理器加密虚拟盘;其中该虚拟盘包括虚拟盘镜像;而且其中机器可执行指令的执行使处理器:接收(600)虚拟盘;增加(602)虚拟盘的大小;把解密主引导记录和解密程序写(604)到虚拟盘;加密(606)虚拟盘镜像的至少一部分,其中解密程序包括用于根据密码密钥(944)解密至少部分加密的虚拟盘镜像的解密机器可执行指令。

Description

用于加密和解密虚拟盘的计算机可读存储介质
技术领域
本发明涉及用于计算机系统的虚拟化软件。具体而言,本发明涉及通过加密和解密虚拟盘来保护虚拟盘的内容。
背景技术
利用常规的物理资源设置或安装大量具有特殊软件与应用的服务器和计算机系统变得越来越昂贵。近年来,这个过程通过使用虚拟化技术得到了简化,其中虚拟化技术向虚拟盘或操作系统提供预先配置好的软件包和系统配置。
如果需要大量相似配置的服务器,那么同一个虚拟盘可以一次又一次地重复使用。虚拟盘镜像可以经由互联网分发。但是,包含虚拟盘镜像的数据包可以包含关键数据和许可。此外,需要防止虚拟盘镜像的未授权使用。目前,整个盘镜像在分发之前被加密。
发明内容
在独立的权利要求中,本发明提供了包含用于加密虚拟盘的指令的计算机可读存储介质、包含用于解密加密的虚拟盘的指令的计算机可读存储介质,及包含虚拟盘的加密虚拟盘计算机可读存储介质。在从属权利要求中给出了实施例。
在分发之前加密整个虚拟盘镜像有数个缺陷。首先,如果不解密,一种格式的虚拟盘镜像不能被转换成另一种。其次,需要管理员来解密和安装虚拟盘镜像。这会是个问题,因为用于解密虚拟盘镜像的密码密钥或凭证需要提供给管理员。虚拟盘系统的终端用户或操作人员可能或者可能不希望与管理员共享该密码密钥或凭证。
通过与用于解密至少部分加密的虚拟盘镜像的解密程序一起在加密的虚拟盘镜像上放置加密主引导记录,本发明的实施例可以解决这些及其它问题。加密主引导记录是用于引导虚拟机的主引导记录。然后,虚拟机本身利用解密程序和密码凭证解密加密的虚拟盘镜像。这消除了向操作人员提供密码凭证的需求。
本发明的实施例可以具有虚拟盘可以从虚拟盘加密或解密的优点。本发明的实施例可以具有方法可以设置成只加密使用的块的优点。本发明的实施例可以具有虚拟盘可以动态实时(on the fly)加密和解密的优点。
此外,只有部分虚拟盘可以被加密。例如,虚拟盘的块可以有选择地加密。虚拟盘中包含特定于虚拟盘特定格式的数据或记录的部分可以留着不加密。这允许虚拟盘不需要解密虚拟盘的转换。
如在此所使用的计算机可读存储介质包含可以存储可以由计算设备的处理器执行的指令的任何有形存储介质。计算机可读存储介质可以被称为计算机可读非临时性存储介质。计算机可读存储介质还可以被称为有形计算机可读介质。在有些实施例中,计算机可读存储介质还可以能够存储能够被计算设备的处理器访问的数据。
计算机可读存储介质的例子包括但不限于:软盘、磁性硬盘驱动器、固态硬盘、闪存存储器、USB拇指驱动器、随机存取存储器(RAM)内存、只读存储器(ROM)内存、光盘、磁光盘及处理器的寄存器文件。光盘的例子包括压缩盘(CD)和数字多样化盘(DVD),例如CD-ROM、CD-RW、CD-R、DVD-ROM、DVD-RW或者DVD-R盘。术语“计算机可读存储介质”还指各种类型的能够由计算机设备经网络或通信链路访问的记录介质。例如,数据可以经调制解调器、经互联网或者经局域网被检索。
计算机内存是计算机存储介质的一个例子。计算机内存是处理器可以直接访问的任何存储器。计算机内存的例子包括但不限于:RAM内存、寄存器和寄存器文件。
计算机储存器是计算机可读存储介质的一个例子。计算机储存器是任何非易失性计算机可读存储介质。计算机储存器的例子包括但不限于:硬盘驱动器、USB拇指驱动器、软盘、智能卡、DVD、CD-ROM和固态硬驱。在有些实施例中,计算机储存器也可以是计算机内存或者反之亦然。
如在此所使用的计算设备或计算机系统指包括处理器的任何设备。如在此所使用的处理器包含能够执行程序或机器可执行指令的电子部件。对包括“处理器”的计算设备的引用应当解释为可能包含多于一个处理器。术语“计算设备”也应当解释为可能指每个都包括处理器的计算设备的集合或网络。许多程序都可以让多个处理器执行它们的指令,这些处理器可以在同一个计算设备中或者甚至可以跨多个计算设备分布。
如在此所使用的用户接口是允许用户或操作人员与计算机或计算机系统交互的接口。用户接口可以向操作人员提供信息或数据和/或从操作人员接收信息或数据。数据或信息在显示器或图形用户界面上的显示是向操作人员提供信息的一个例子。数据通过键盘、鼠标、轨迹球、触摸板、指示杆、绘图板、操纵杆、游戏手柄、网络摄像头、头戴式耳机、变速杆、方向盘、踏板、有线手套、跳舞毯、遥控器和加速计的接收全都是从操作人员接收信息或数据的例子。
如在此所使用的虚拟化软件、虚拟化程序和虚拟化模块全都指允许计算机系统运行虚拟计算机系统的软件或计算机可执行指令。如在此所使用的虚拟机或虚拟计算机系统包含由在计算机系统上运行的软件虚拟实现的或者模拟的计算机系统。
如在此所使用的密码密钥或密码凭证包含可以由解密算法用于解密数据文件的密钥、凭证或口令。
如在此所使用的虚拟盘包含可以由虚拟化程序用作虚拟盘镜像的数据。虚拟盘可以包含可以由虚拟化系统或虚拟系统访问的文件系统。虚拟盘还可以包含可引导的操作系统。
一方面,本发明提供了包含机器可执行指令的计算机可读存储介质,当所述机器可执行指令被处理器执行时,使处理器加密虚拟盘。该虚拟盘包括虚拟盘镜像。虚拟盘镜像是现有盘文件系统或者为了创建虚拟盘镜像而构造的盘文件系统的镜像。机器可执行指令的执行使处理器接收虚拟盘。机器可执行指令的执行进一步使处理器增加虚拟盘的大小。虚拟盘可以本质上是存储在计算机可读存储介质或者不同计算机可读存储介质上的文件。虚拟盘的大小可以通过在虚拟盘的开始或末尾添加块来增加。机器可执行指令的执行进一步使处理器把解密主引导记录和解密程序写到虚拟盘。解密主引导记录是在使用虚拟盘镜像时虚拟计算机或计算机系统引导进入的主引导记录。解密主引导记录允许虚拟计算机系统为了解密虚拟盘而运行解密程序。机器可执行指令的执行进一步使处理器加密虚拟盘镜像的至少一部分。解密程序包括用于根据密码密钥解密至少部分加密的虚拟盘镜像的解密机器可执行指令。虚拟盘镜像被加密,使得虚拟盘镜像可以根据所述密码密钥利用解密程序来解密。
在有些实施例中,整个虚拟盘镜像被加密。在其它实施例中,虚拟盘只有某些部分是加密的。例如,如果虚拟盘的部分不使用,那么盘镜像的这些部分就不需要加密。还有可能能够确定虚拟盘的某些部分是否包含期望通过加密来保护的敏感信息,例如应用程序或敏感数据。虚拟盘的解密可以通过选择性地使用虚拟盘需要保护的那些部分并且不加密不需要保护的那些部分来加速。
本发明的实施例有数个优点。例如,向虚拟盘和解密程序添加解密主引导记录使终端用户能够执行虚拟盘镜像的解密。这消除了管理员执行这种任务的需求。
在另一种实施例中,虚拟盘镜像被分成第一部分和第二部分。虚拟盘被分成第一、第二、第三、第四和第五部分。虚拟盘镜像最初跨虚拟盘的第一、第二和第三部分。虚拟盘镜像的第二部分存储在虚拟盘的第三部分中。指令的执行进一步使处理器把虚拟盘镜像的第一部分拷贝到虚拟盘的第四部分。虚拟盘镜像的第一部分从虚拟盘的第一部分和第二部分拷贝或移动到虚拟盘的第四部分。解密主引导记录写到虚拟盘的第一部分。当虚拟盘加载到虚拟系统中而且虚拟系统引导到虚拟盘中时,解密主引导记录将使虚拟系统运行解密程序。
解密程序写到虚拟盘的第二部分。如以上所提到的,虚拟盘镜像的第一部分是从虚拟盘的第一部分和第二部分拷贝的。在解密主引导记录和解密程序分别写到虚拟盘的第一部分和第二部分之前,虚拟盘镜像的第一部分从虚拟盘的第一部分和第二部分拷贝。指令的执行进一步使处理器至少部分地加密虚拟盘的第一部分和第二部分。虚拟盘的大小增加到创建虚拟盘的第四部分和虚拟盘的第五部分。第五部分的大小大于或等于第二部分的大小。第一部分和第二部分的组合大小小于或等于第四部分的大小。本发明的这种实施例可能是有利的,因为解密主引导记录是在第一部分中而且将使虚拟系统引导到解密程序中。
在另一种实施例中,虚拟盘镜像的第一部分是一起加密的。在这种实施例中,虚拟盘镜像的整个第一部分是作为单个加密的数据文件加密的。
在另一种实施例中,虚拟盘镜像的第二部分是一起加密的。在这种实施例中,虚拟盘镜像的第二部分是作为单个数据文件加密的。
在另一种实施例中,虚拟盘镜像被分成块。如在此所使用的,块是盘或虚拟盘镜像的数据的一部分或子划分。块中的数据可以由盘或虚拟盘寻址。块是根据预定的块加密列表有选择地加密的。块加密列表是在虚拟盘镜像加密过程中被加密的块的列表。例如,操作人员可以确定虚拟盘镜像的哪些块包含期望通过加密来保护的数据。例如,这些块可能包含敏感数据或信息。同样,这些块可能包含需要购买许可的应用。如果程序跨互联网发送,那么将期望保护代码或数据的可执行版本。
在另一种实施例中,虚拟盘镜像被分成块。指令的执行使处理器检查每个块并创建未使用块的列表。只有在未使用块列表中没有找到特定块的时候才加密它们。这种实施例特别有利,因为计算机可读存储介质避免加密不使用的块。由于块不被使用,所以没有必要保护它们。在有些虚拟文件系统中,未使用的数据可以是文件系统的一部分但不被使用。通过不加密文件系统的这些部分,虚拟盘可以更小。
以上提到的计算机可读存储介质的实施例还提供了本发明的其它方面。例如,根据本发明的一种实施例,本发明提供了一种计算机系统,该计算机系统包含或包括在计算机可读存储介质上包含的机器可读指令。同样,机器可执行指令的执行使处理器执行各种步骤或动作,这些步骤或动作也提供了方法和计算机实现的方法。计算机可读存储介质上的可执行指令还提供了计算机程序产品和/或计算机系统。
另一方面,本发明提供了包含机器可执行指令的计算机可读存储介质,当所述机器可执行指令被处理器执行时,使处理器解密加密的虚拟盘。虚拟盘包括解密主引导记录、解密程序和至少部分加密的虚拟盘镜像。解密程序包括用于根据密码密钥解密至少部分加密的虚拟盘镜像的解密机器可执行指令。机器可执行指令的执行使处理器接收加密的虚拟盘。
机器可执行指令的执行进一步使处理器利用解密主引导记录引导虚拟机。机器可执行指令的执行进一步使处理器接收密码密钥。接收密码密钥的次序不是关键的。例如,处理器可以在解密虚拟盘镜像之前的任何点接收密码密钥。机器可执行指令的执行进一步使处理器根据该密码密钥和解密程序解密至少部分加密的虚拟盘镜像。机器可执行指令使处理器经解密主引导记录把虚拟机引导到加密的虚拟盘上的操作系统中。然后,这使得虚拟机运行解密程序。然后,解密程序解密至少部分加密的虚拟盘镜像。密码密钥和解密程序都是解密至少部分加密的虚拟盘镜像所需的。
在另一种实施例中,至少部分加密的虚拟盘镜像的解密是在虚拟机部署过程中执行的。在本领域的当前状态中,管理员将接收加密的虚拟盘而且管理员负责解密它。但是,这在许多情况下是不期望的,因为虚拟机的终端用户或者操作人员依赖管理员来执行解密。本发明的实施例可以具有终端用户或操作人员可以自己执行解密的优点。
在另一种实施例中,虚拟盘包括包含解密主引导记录的第一部分。虚拟盘进一步包括包含解密程序的第二部分。虚拟盘进一步包括包含虚拟盘镜像第二部分的第三部分。虚拟盘进一步包括包含虚拟盘第一部分的第四部分。在有些实施例中,虚拟盘的第一部分可以包含用于引导到虚拟盘镜像中所包含的操作系统中的主引导记录。一旦至少部分加密的虚拟盘的解密完成,第四部分中的这种主引导记录就可以用于引导虚拟机。
虚拟盘包括包含存储空间的第五部分。第五部分的大小大于第二部分的大小。第一部分和第二部分的组合大小小于或等于第四部分的大小。第一部分和第二部分的组合大小小于或等于第四部分的大小。至少部分加密的盘镜像是通过解密虚拟盘镜像的第二部分来解密的。至少部分加密的虚拟盘镜像进一步通过把解密程序拷贝到虚拟盘的第五部分来解密。至少部分加密的虚拟盘镜像是通过解密虚拟盘镜像第一部分的一部分来解密的。
至少部分加密的虚拟盘镜像进一步通过把虚拟盘镜像第一部分的解密后的部分拷贝到虚拟盘的第二部分来解密。虚拟盘镜像进一步通过解密虚拟盘镜像第一部分的剩余部分来解密。虚拟盘镜像进一步通过把虚拟盘镜像第一部分的解密后的剩余部分拷贝到虚拟盘的第一部分来解密。以这种方式执行解密可以具有解密可以在任何时间点中断的优点。例如,第五部分可以包含维护解密过程状态的数据文件。
在另一种实施例中,指令的执行进一步使处理器在把虚拟盘镜像第一部分的解密后的剩余部分拷贝到虚拟盘的第一部分之后擦除虚拟盘第四和第五部分中的数据。
在另一种实施例中,指令的执行进一步使虚拟机在解密至少部分加密的虚拟盘镜像之后重新引导。
以上提到的计算机可读存储介质的实施例还提供本发明的其它方面。例如,根据本发明的一种实施例,本发明提供了一种计算机系统,该计算机系统包含或包括在计算机可读存储介质上包含的机器可读指令。同样,机器可执行指令的执行使处理器执行各种步骤或动作,这些步骤或动作也提供方法和计算机实现的方法。计算机可读存储介质上的可执行指令还提供计算机程序产品和/或计算机系统。
另一方面,本发明提供了包含虚拟盘的加密虚拟盘计算机可读存储介质。虚拟盘包括解密主引导记录、解密程序和至少部分加密的虚拟盘镜像。解密程序包括用于根据密码密钥解密至少部分加密的虚拟盘的机器可执行指令。换句话说,解密程序和密码密钥的组合用于解密至少部分加密的虚拟盘镜像。
解密程序包括机器可执行指令,当所述机器可执行指令被处理器执行时,使处理器接收密码密钥。在有些实施例中,密码密钥可以被解密程序提示输入或者密码密钥可以由另一个程序传递到解密程序。例如,用于运行虚拟计算机系统的虚拟化软件可以把密码密钥传递到解密程序。解密程序的机器可执行指令的进一步执行使处理器根据该密码密钥和解密程序解密至少部分加密的虚拟盘镜像。
在另一种实施例中,虚拟盘包括包含解密主引导记录的第一部分。虚拟盘进一步包括包含解密程序的第二部分。虚拟盘进一步包括包含虚拟盘镜像第二部分的第三部分。虚拟盘进一步包括包含虚拟盘第一部分的第四部分。虚拟盘进一步包括包含存储空间的第五部分。第五部分的大小大于或等于第二部分的大小。第一部分和第二部分的组合大小小于或等于第四部分的大小。
在另一种实施例中,至少部分加密的虚拟盘镜像是通过解密虚拟盘镜像的第二部分来解密的。虚拟盘进一步通过把解密程序拷贝到虚拟盘的第五部分来解密。虚拟盘镜像进一步通过解密虚拟盘镜像第一部分的一部分来解密。虚拟盘进一步通过把虚拟盘镜像第一部分的解密后的部分拷贝到虚拟盘的第二部分来解密。虚拟盘进一步通过把虚拟盘镜像第一部分的解密后的部分拷贝到虚拟盘的第二部分来解密。虚拟盘镜像进一步通过解密虚拟盘镜像第一部分的剩余部分来解密。虚拟盘镜像进一步通过把虚拟盘镜像第一部分的解密后的剩余部分拷贝到虚拟盘的第一部分来解密。
在另一种实施例中,虚拟盘包含用于存储至少部分加密的虚拟盘镜像解密进度的解密状态数据文件。解密程序的机器可执行指令的执行使处理器在至少部分加密的虚拟盘镜像的解密过程中更新该解密状态数据文件。解密程序的机器可执行指令的执行进一步使处理器在开始至少部分加密的虚拟盘镜像的解密时检查该解密状态数据文件。通过检查解密状态数据文件的状态,如果解密最初被中断了,解密可以在中间点开始。
在另一种实施例中,指令的执行进一步使处理器在把虚拟盘镜像第一部分的解密后的剩余部分拷贝到虚拟盘的第一部分之后擦除虚拟盘第四和第五部分中的数据。
在另一种实施例中,指令的执行进一步使虚拟机在解密至少部分加密的虚拟盘镜像之后执行解密程序,重新引导。
以上提到的计算机可读存储介质的实施例还提供了本发明的其它方面。例如,根据本发明的一种实施例,本发明提供了一种计算机系统,该计算机系统包含或包括在计算机可读存储介质上包含的机器可读指令。同样,机器可执行指令的执行使处理器执行各种步骤或动作,这些步骤或动作也提供了方法和计算机实现的方法。计算机可读存储介质上的可执行指令还提供了计算机程序产品和/或计算机系统。
附图说明
以下将参考附图仅仅作为例子更具体地描述本发明的优选实施例,附图中:
图1说明了根据本发明一种实施例的虚拟盘100的解密,
图2说明了虚拟系统导入过程中解密的例子,
图3说明了部署过程中虚拟盘镜像的解密,
图4a-4e说明了根据本发明一种实施例、基于块的虚拟盘镜像加密的方法,
图5a-5d说明了在图4a-4e中加密的虚拟盘镜像的解密,
图6示出了说明根据本发明另一种实施例加密虚拟盘镜像的方法的流程图,
图7示出了说明根据本发明另一种实施例解密虚拟盘镜像的方法的流程图,
图8示出了说明根据本发明另一种实施例解密虚拟盘镜像的方法的流程图,及
图9说明了用于加密虚拟盘的第一计算机系统和用于解密虚拟盘的第二计算机系统。
具体实施方式
以下,在这些图中,相同标号的元件或者是相似的元件或者执行等效的功能。如果功能等效,前面讨论过的元件在后面的图中不一定讨论。
图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的使用过程中,可能有两种不同的使用场景。在虚拟盘镜像102的导入过程中可以有解密或者在虚拟盘镜像102的部署过程中可以有解密。如果虚拟盘镜像102是在虚拟系统的导入过程中解密的,则操作人员知道凭证并且把其传递给用于管理虚拟系统的一个或多个程序。然后,用于管理虚拟系统的程序导入镜像并且动态实时地解密它。对于在部署过程中解密的第二种可能性,操作人员不知道凭证并且没有解密就请求导入镜像。虚拟盘镜像存储在虚拟系统的数据库中,在部署的时候,提示用户输入凭证。
图2示出了虚拟系统导入过程中解密的例子。图2中所示的是充当虚拟系统镜像服务器202的计算机系统200。当被操作人员208请求时,虚拟系统镜像服务器202提供虚拟系统的镜像。计算机系统200还存储的或者能够被其访问的是虚拟盘储存库204,这个储存库204是可以经虚拟系统镜像服务器202访问的虚拟盘的储存库。还有等效于图1中所示解密程序104的解密模块206。在步骤1中,操作人员208下载虚拟盘。在步骤2,212,中,操作人员请求把虚拟盘导入由虚拟系统镜像服务器202管理的系统中。在步骤3,214,中,虚拟系统镜像服务器202从操作人员208请求凭证或口令。在步骤4,216,中,操作人员把凭证或口令提供给虚拟系统镜像服务器202。在步骤5中,虚拟系统镜像服务器202从虚拟盘导入虚拟盘镜像并且利用操作人员208提供的凭证或口令动态实时地解密虚拟盘镜像。
图3说明了部署过程中虚拟盘镜像的解密。这个图中所示出的是具有虚拟系统镜像服务器202的计算机系统200,其中虚拟系统镜像服务器202管理存储在虚拟盘储存库204中的虚拟盘镜像。在图3所示的例子中,还有第二计算机系统300,该计算机系统300用于在虚拟盘镜像的部署过程中解密。第二计算机系统300是为了运行目标虚拟系统302。在目标系统302中的是操作系统部署工具301。提供操作系统部署工具301是为了部署虚拟盘镜像中的虚拟系统。
在目标虚拟系统中还有解密模块303。该解密模块是用于利用口令或解密凭证解密虚拟盘镜像的软件模块或解密程序。示出了操作人员304和用户306。在由标号308指示的第一步骤1中,操作人员304请求或触发虚拟系统在第二计算机系统300上的部署。在第二步骤2(由标号310指示)中,目标或虚拟系统在操作系统部署工具301上引导。在第三步骤3(由标号312指示)中,操作系统部署工具301从用户306请求密码口令或凭证。在第四步骤4(由标号314指示)中,用户306把密码口令或凭证提供给操作系统部署工具301。在第五步骤5(也称为316)中,操作工具利用该密码口令或凭证和解密模块303下载并解密虚拟盘镜像。在步骤6(也称为318)中,在虚拟盘镜像解密之后,虚拟系统的部署在解密后的虚拟盘镜像上继续。
图4a至4e说明了根据本发明一种实施例、基于块的虚拟盘镜像加密的方法。在图4a中,示出了虚拟盘400和虚拟盘镜像402。构成虚拟盘镜像的块标记为1-n。为了加密虚拟盘镜像,接下来用户启动加密工具或程序。在第一步骤中,解密工具增加虚拟盘的大小。这在图4b中说明。在虚拟盘400的末尾,创建空操作系统块404的区域。在下一步骤中,虚拟盘镜像被分成第一部分406和第二部分408。虚拟盘镜像的第一部分406拷贝到位于虚拟盘400末尾的空操作系统块404。
在图4d中,显示加密工具把解密主引导记录410和解密程序412拷贝到虚拟盘400的第一部分和第二部分。图4e说明了最后一步骤。加密工具或软件加密虚拟盘镜像的第一部分406’并且加密虚拟盘镜像的第二部分408’。加密后的虚拟盘镜像406’、408’的全部块都可以被加密或者块可以有选择地加密。在图4e中,还显示虚拟盘400被分成五个部分。虚拟盘的第一部分414包含解密主引导记录410。虚拟盘的第二部分416包含解密程序412。虚拟盘的第三部分418包含虚拟盘镜像加密后的第二部分408’。虚拟盘的第四部分420包含虚拟盘镜像加密后的第一部分406’。虚拟盘的第五部分422在虚拟盘400的末尾。在各种实施例中,第五部分422可以包含记录解密状态的数据、日志数据、解密中所使用的临时数据,及其组合。
图5a-5d说明了当从虚拟机引导时虚拟盘400的虚拟盘镜像406’、408’的解密。图5a与图4e完全相同。在第一步骤中,虚拟机在虚拟盘400上引导并且引导到虚拟盘主引导记录410中。接下来,主引导记录410加载解密程序412。然后,解密程序412请求用于解密加密的虚拟盘镜像406’、408’的密码凭证或口令。在图5b中,说明了解密过程。示出了虚拟盘400的两个不同视图。标记为500的块是虚拟盘镜像第二部分的解密后的块。标记为502的块是虚拟盘镜像第二部分的加密后的块。在图5b中所示的顶部视图中,只有标记为4的块是解密后的块500。虚拟盘镜像第二部分的剩余部分都是加密的。图5b的底部部分显示虚拟盘镜像第二部分408的所有块都是解密后的块500。
图5c示出了解密虚拟盘400过程中的进一步的进度。在虚拟盘镜像的第二部分408的所有块都解密之后,解密程序412拷贝到虚拟盘的第五部分422。接下来,虚拟盘镜像第一部分406’的一部分被解密并拷贝到虚拟盘的第二部分416。虚拟盘镜像第一部分406’的剩余部分506被解密并拷贝到虚拟盘的第一部分414。在这种实施例中,虚拟盘镜像第一部分的剩余部分506重写了主引导记录410。虚拟盘镜像加密的第一部分406’和解密程序412可以被重写,留下空操作系统块404。5d中所示的图与图4b中所示的图等效。这显示图5中所说明的方法如何用于解密虚拟盘400的至少部分加密的虚拟盘镜像402。
图6示出了说明加密根据本发明的虚拟盘的一种实施例的流程图。在步骤600中,接收虚拟盘。虚拟盘包括虚拟盘镜像。在步骤602中,增加虚拟盘的大小。在步骤604中,解密主引导记录和解密程序写到虚拟盘。在步骤606中,加密虚拟盘镜像的至少一部分。
图7示出了说明根据本发明一种实施例解密虚拟盘的方法的流程图。在步骤700中,接收加密的虚拟盘。在步骤702中,利用虚拟盘上所包含的解密主引导记录引导虚拟机。在步骤704中,接收密码密钥。虚拟盘包括至少部分加密的虚拟盘。在步骤706中,至少部分加密的虚拟盘是利用虚拟盘上的解密程序解密的。解密程序使用密码密钥来利用解密程序解密,用于执行至少部分加密的虚拟盘的解密。
图8示出了说明根据本发明另一种实施例解密加密的虚拟盘的方法的流程图。在步骤800中,接收加密的虚拟盘。在步骤802中,利用解密主引导记录引导虚拟机。在步骤804中,接收密码密钥。在步骤806中,虚拟盘镜像的第二部分利用该密码密钥和位于虚拟盘上的解密程序来解密。在步骤808中,解密程序拷贝到虚拟盘的第五部分。在步骤810中,解密虚拟盘镜像第一部分的一部分。在步骤812中,虚拟盘镜像第一部分的解密后的部分拷贝到虚拟盘的第二部分。在步骤814中,解密虚拟盘镜像第一部分的剩余部分。在步骤816中,虚拟盘镜像第一部分的解密后的剩余部分拷贝到虚拟盘的第一部分。在步骤818中,虚拟机重新引导。图8中所说明的方法与图5所说明的方法类似。
图9示出了两个计算机系统,用于加密虚拟盘的第一计算机系统900和用于解密虚拟盘的第二计算机系统902。在第一计算机系统900和第二计算机系统902之间有网络通信904。第一计算机系统900具有用于连接到计算机网络904的网络接口906而第二计算机系统902具有用于连接到计算机网络904的网络接口908。网络连接904可以是任何标准的计算机接口,例如以太网连接或互联网连接。第一计算机系统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是一个可选模块而且可以用于生成密码凭证。例如,密码凭证生成模块可以用于生成用于不对称加密算法的密码密钥对。
第二计算机系统902还包含处理器932。处理器932连接到网络接口908和用户接口934。处理器932还连接到计算机储存器936和计算机内存938。计算机储存器936包含来自第一计算机系统900的加密的虚拟盘924。在这种实施例中,网络连接904用于传输加密的虚拟盘924。在计算机储存器936中还有加密密码密钥944。计算机内存938包含虚拟化模块942。虚拟化模块942允许处理器932运行并操作虚拟计算机系统。如能够看出的,解密加密的虚拟盘924全部所需的就是虚拟化模块942和密码密钥944。这个图还说明终端用户如何能够在没有操作人员帮助的情况下解密加密的虚拟盘924。
标号列表

Claims (9)

1.一种用于加密包括虚拟盘镜像的虚拟盘的方法,该方法包括:
-接收(600)虚拟盘;
-增加(602)虚拟盘的大小;
-把解密主引导记录和解密程序写(604)到虚拟盘;
-加密(606)虚拟盘镜像的至少一部分,其中提供解密程序来根据密码密钥(944)解密至少部分加密的虚拟盘镜像;
-其中虚拟盘镜像被分成第一部分(406)和第二部分(408),其中虚拟盘镜像的第二部分存储在虚拟盘的第三部分(418)中,其中指令的执行进一步使处理器把虚拟盘镜像的第一部分拷贝到虚拟盘的第四部分(420);其中解密主引导记录写到虚拟盘的第一部分(414),其中解密程序写到虚拟盘的第二部分(416),其中虚拟盘镜像的第一部分是从虚拟盘的第一部分和第二部分拷贝的;其中指令的执行进一步使处理器至少部分地加密虚拟盘镜像的第一(406’)和第二(408’)部分,其中虚拟盘的大小增加到创建虚拟盘的第四部分和虚拟盘的第五部分(422),其中虚拟盘的第五部分的大小大于虚拟盘的第二部分的大小,而且其中虚拟盘的第一部分和第二部分的组合大小小于或等于虚拟盘的第四部分的大小;
-其中该虚拟盘包括:解密主引导记录、解密程序和至少部分加密的虚拟盘镜像;其中解密程序用于根据密码密钥(944)解密至少部分加密的虚拟盘镜像,包括:
-接收(700、800)加密的虚拟盘;
-利用解密主引导记录引导(702、802)虚拟机;
-接收(118、216、314、704、804)密码密钥;
-根据密码密钥和解密程序解密(120、218、316、706、806、808、810、812、814、816、818)至少部分加密的虚拟盘镜像。
2.如权利要求1所述的方法,其中虚拟盘镜像的第一部分是一起加密的和/或其中虚拟盘镜像的第二部分是一起加密的。
3.如权利要求1所述的方法,其中虚拟盘镜像被分成块,其中块是根据预定的块加密列表有选择地加密的。
4.如权利要求1、2或3所述的方法,其中虚拟盘镜像被分成块,其中指令的执行使处理器检查每个块并且创建未使用块的列表,而且其中只有在未使用块列表中没有找到特定块的时候才加密所述没有找到的特定块。
5.如权利要求4所述的方法,其中至少部分加密的虚拟盘镜像的解密是在虚拟机的部署过程中执行的。
6.如权利要求5所述的方法,其中虚拟盘包括包含解密主引导记录的第一部分、包含解密程序的第二部分、包含虚拟盘镜像第二部分的第三部分、包含虚拟盘第一部分的第四部分和包含存储空间的第五部分,其中虚拟盘的第五部分的大小大于或等于虚拟盘的第二部分的大小,其中虚拟盘的第一部分和第二部分的组合大小小于或等于虚拟盘的第四部分的大小,其中至少部分加密的虚拟盘镜像是通过以下解密的:
-解密(806)虚拟盘镜像的第二部分;
-把解密程序拷贝(808)到虚拟盘的第五部分;
-解密(810)虚拟盘镜像第一部分的一部分;
-把虚拟盘镜像第一部分的解密后的部分拷贝(812)到虚拟盘的第二部分;
-解密(814)虚拟盘镜像第一部分的剩余部分;及
-把虚拟盘镜像第一部分的解密后的剩余部分拷贝(816)到虚拟盘的第一部分。
7.如权利要求6所述的方法,其中进一步使处理器在把虚拟盘镜像第一部分的解密后的剩余部分拷贝到虚拟盘的第一部分之后擦除虚拟盘第四部分和第五部分中的数据。
8.如权利要求7所述的方法,其中进一步使虚拟机在解密至少部分加密的虚拟盘镜像之后重新引导。
9.一种用于加密包括虚拟盘镜像的虚拟盘的系统,该系统包括:
-用于接收(600)虚拟盘的装置;
-用于增加(602)虚拟盘的大小的装置;
-用于把解密主引导记录和解密程序写(604)到虚拟盘的装置;
-用于加密(606)虚拟盘镜像的至少一部分的装置,其中提供解密程序来根据密码密钥(944)解密至少部分加密的虚拟盘镜像;
-其中虚拟盘镜像被分成第一部分(406)和第二部分(408),其中虚拟盘镜像的第二部分存储在虚拟盘的第三部分(418)中,其中指令的执行进一步使处理器把虚拟盘镜像的第一部分拷贝到虚拟盘的第四部分(420);其中解密主引导记录写到虚拟盘的第一部分(414),其中解密程序写到虚拟盘的第二部分(416),其中虚拟盘镜像的第一部分是从虚拟盘的第一部分和第二部分拷贝的;其中指令的执行进一步使处理器至少部分地加密虚拟盘镜像的第一(406’)和第二(408’)部分,其中虚拟盘的大小增加到创建虚拟盘的第四部分和虚拟盘的第五部分(422),其中虚拟盘的第五部分的大小大于虚拟盘的第二部分的大小,而且其中虚拟盘的第一部分和第二部分的组合大小小于或等于虚拟盘的第四部分的大小;
-其中该虚拟盘包括:解密主引导记录、解密程序和至少部分加密的虚拟盘镜像;其中解密程序用于根据密码密钥(944)解密至少部分加密的虚拟盘镜像,包括:
-接收(700、800)加密的虚拟盘;
-利用解密主引导记录引导(702、802)虚拟机;
-接收(118、216、314、704、804)密码密钥;
-根据密码密钥和解密程序解密(120、218、316、706、806、808、810、812、814、816、818)至少部分加密的虚拟盘镜像。
CN201180059216.XA 2010-12-09 2011-11-03 用于加密和解密虚拟盘的计算机可读存储介质 Active CN103250163B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP10194400.7 2010-12-09
EP10194400 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
CN103250163A CN103250163A (zh) 2013-08-14
CN103250163B true CN103250163B (zh) 2016-08-10

Family

ID=44910207

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201180059216.XA Active CN103250163B (zh) 2010-12-09 2011-11-03 用于加密和解密虚拟盘的计算机可读存储介质

Country Status (6)

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

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
US9086892B2 (en) 2010-11-23 2015-07-21 International Business Machines Corporation Direct migration of software images with streaming technique
CN103250163B (zh) 2010-12-09 2016-08-10 国际商业机器公司 用于加密和解密虚拟盘的计算机可读存储介质
GB2499964B (en) 2010-12-13 2013-12-11 Ibm Upgrade of software images based on streaming technique
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
WO2016046222A1 (en) 2014-09-26 2016-03-31 British Telecommunications Public Limited Company Secure virtualised 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 삼성전자주식회사 선택적 암호화 방법 및 그를 이용한 전자 장치
GB2546803B (en) * 2016-01-29 2018-05-23 British Telecomm Disk encryption
US10719346B2 (en) 2016-01-29 2020-07-21 British Telecommunications Public Limited Company Disk encryption
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
US11537723B2 (en) 2016-01-29 2022-12-27 British Telecommunications Public Limited Company Secure data storage
GB2546802B (en) * 2016-01-29 2018-05-30 British Telecomm 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
WO2019223980A1 (en) 2018-05-24 2019-11-28 British Telecommunications Public Limited Company Cryptographic key generation using multiple random sources
EP3804211A1 (en) 2018-05-24 2021-04-14 British Telecommunications public limited company Cryptographic key generation and storage
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 라인플러스 주식회사 메모리상에서 실행 가능 이미지를 적재하는 방법 및 시스템

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1688981A (zh) * 2002-08-09 2005-10-26 网络装置公司 通过在文件系统上将虚拟盘对象分层进行存储虚拟化
US7428636B1 (en) * 2001-04-26 2008-09-23 Vmware, Inc. Selective encryption system and method for I/O operations

Family Cites Families (84)

* 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
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
US20040024580A1 (en) 2002-02-25 2004-02-05 Oak Technology, Inc. Server in a media 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
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
ATE365938T1 (de) 2005-01-07 2007-07-15 Ericsson Telefon Ab L M 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 日本電信電話株式会社 仮想端末を利用した検疫ネットワークシステム、仮想端末を検疫する方法、及び、仮想端末を検疫するためのプログラム
US9086917B1 (en) * 2006-10-17 2015-07-21 Manageiq, Inc. Registering and accessing virtual systems for use in a managed system
US9038062B2 (en) * 2006-10-17 2015-05-19 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
WO2008115012A1 (en) 2007-03-20 2008-09-25 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
EP2238535A4 (en) * 2007-12-20 2011-03-09 Virtual Computer Inc SYSTEMS AND METHODS FOR VIRTUAL COMPUTER MANAGEMENT
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 ストレージスイッチ、記憶領域サイズ変更方法
US8112505B1 (en) 2009-10-20 2012-02-07 Wanova Technologies, Ltd. On-demand block-level file system streaming to remote desktops
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
US9086892B2 (en) 2010-11-23 2015-07-21 International Business Machines Corporation Direct migration of software images with streaming technique
CN103250163B (zh) 2010-12-09 2016-08-10 国际商业机器公司 用于加密和解密虚拟盘的计算机可读存储介质
GB2499964B (en) 2010-12-13 2013-12-11 Ibm Upgrade of software images based on streaming technique
CN102567042B (zh) 2010-12-14 2015-04-15 国际商业机器公司 利用引导块重定位来管理多个软件镜像的方法和系统
JP5767565B2 (ja) 2010-12-14 2015-08-19 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation ソフトウェア・イメージの管理方法、コンピュータ・プログラム、およびシステム(共有メモリ・ブロックを用いた複数のソフトウェア・イメージの管理)

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7428636B1 (en) * 2001-04-26 2008-09-23 Vmware, Inc. Selective encryption system and method for I/O operations
CN1688981A (zh) * 2002-08-09 2005-10-26 网络装置公司 通过在文件系统上将虚拟盘对象分层进行存储虚拟化

Also Published As

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

Similar Documents

Publication Publication Date Title
CN103250163B (zh) 用于加密和解密虚拟盘的计算机可读存储介质
US7107459B2 (en) Secure CPU and memory management unit with cryptographic extensions
CN102156835B (zh) 内容管理软件的安全局部更新
CN102208001B (zh) 硬件支持的虚拟化密码服务
CN103221961B (zh) 包括用于保护多用户敏感代码和数据的架构的方法和装置
CN1312876C (zh) 用不可访问的唯一密钥对储存的数据进行加密/解密
JP5175856B2 (ja) セキュアデバイス・システムにおけるフラッシュメモリ・ブロックの保護と方法
US8660964B2 (en) Secure device licensing
CN102726027B (zh) 虚拟机全盘加密下预启动时的密钥传输方法和设备
JP2008103936A (ja) 秘密情報管理装置および秘密情報管理システム
US8595139B2 (en) Content distribution program, content distribution method, server, content utilization apparatus, and content utilization system
CN102073826A (zh) 利用轻量级数字水印添加组件的数字版权管理的系统和方法
TW200535815A (en) Information processing device and method, program, and recording medium
CN105468940B (zh) 软件保护方法及装置
US7336887B2 (en) Content play back, information processing, and play back restriction
CN103635911A (zh) 用于保护内容的存储器件和主机设备及其方法
JP2006039206A (ja) 暗号化装置および復号化装置
US20100325431A1 (en) Feature-Specific Keys for Executable Code
CN102460456B (zh) 用于内容的适应性保护的存储器器件和方法
US20080076355A1 (en) Method for Protecting Security Accounts Manager (SAM) Files Within Windows Operating Systems
CN102483699B (zh) 密码密钥的虚拟化
WO2020075396A1 (ja) 推論装置、推論方法及び推論プログラム
JP4670585B2 (ja) 設定装置および方法、並びにプログラム
CN100547598C (zh) 基于对称密钥加密保存和检索数据
CN109728912A (zh) 播放内容安全传输方法、系统以及终端

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant